തീവണ്ടി ഒഴിവാക്കി ബൂര്ഷ്വയായി ഫ്ലൈറ്റാക്കിയിട്ടും ഇപ്രാവശ്യം അത്രയേ കിട്ടുള്ളൂ
ഒക്കെ ശരിയായാല് ശനിയാഴ്ച പത്തുമണിയാകുമ്പോഴേക്ക് വീട്ടിലെത്താം
ഞായര്, തിങ്കള്, ചൊവ്വ, ബുധന്, വ്യാഴം
വെള്ളിയാഴ്ച പകല് തിരിക്കണം
പണ്ട് വണ്ടിയില് വരുന്ന കാലത്ത് ഇതിലും രസമായിരുന്നു കാര്യം. വെള്ളിയാഴ്ച വരെ പരീക്ഷയുണ്ടാകും. ശനിയാഴ്ച രാവിലെ ഏതെങ്കിലും ആണ്ടിവണ്ടിയില് കേറി ഝാന്സിയിലേക്ക്. അവടന്ന് മംഗളയില് കേറിയാല് തിങ്കളാഴ്ച രാവിലെ കോഴിക്കോട്ടെത്താം. വീട്ടിലെത്തിയാല് ആദ്യത്തെ പരിപാടി തൂക്കം നോക്കലാണ്. അദ്ഭുതങ്ങളൊന്നും സംഭവിച്ചിട്ടില്ലെങ്കില് രണ്ടുമൂന്ന് കിലോയെങ്കിലും കുറഞ്ഞിട്ടുണ്ടാകും. (എപ്പോഴെങ്കിലും വെയിറ്റ് കൂടി വീട്ടിലെത്തുക എന്നതാണ് എന്റെ സുന്ദരമായ നടക്കാത്ത സ്വപ്നങ്ങളിലൊന്ന്). അഡ്ജസ്റ്റ് ചെയ്യാന് വേണ്ടി ഉണ്ടാക്കണ്ട കോഴിബിരിയാണിയുടെ കണക്ക് ഉമ്മ റെഡിയാക്കി പ്രാവര്ത്തികമാക്കി വരുമ്പഴേക്ക് വെള്ളിയാഴ്ചയാകും. പ്രാകിപ്രാകി ഒരു മടക്കയാത്ര... ഇതിനിടെ ആകെ ചെയ്യാന് എന്താ പറ്റുക?
കാട്ടുമാക്കാന്റെ കൂടെ ഒരു നടത്തം. കുന്നു കയറിയിറങ്ങി രണ്ടുമൂന്നു കിലോമീറ്റര് ദൂരെ വരെയുള്ള ഒരുവിധം സ്ഥലമെല്ലാം കണ്ട്, ആനന്ദിന്റെയോ സുജാതട്ടീച്ചറുടെയോ വീട്ടില് ഒന്ന് കയറിയിറങ്ങി ഒരു രണ്ടുമൂന്ന് മണിക്കൂര് അങ്ങനെ. അതിലപ്പറം നടക്കാന് സ്റ്റാമിനയുണ്ട് - പക്ഷെ അസറിനും മഗ്രിബിനുമിടക്ക് അത്രയേ സമയമുള്ളൂ. മറ്റു വൈകുന്നേരങ്ങളില് ക്രിക്കറ്റോ ബാഡ്മിന്റണോ മറ്റ് കോപ്രായങ്ങളോ ഒക്കെ. ഒരു പകല് സ്കൂളില് പോയി ടീച്ചര്മാരെയൊക്കെ കാണും. ഒരു ദിവസം അമ്മായിയുടെ വീട്ടില് പോവുകയോ അവര് ഇങ്ങോട്ടു വരുകയോ ചെയ്യും.
പ്ലാന് എന്നു പറയാന് ഇത്രയൊക്കെയേ ഉള്ളൂ. കൂട്ടുകാരൊന്നും ഇല്ലാത്തതുകൊണ്ട് ആ രീതിയിലുള്ള പോക്കുവരവുകളില്ല. ബാക്കി കുടുംബക്കാരെ അത്ര ഫ്രീക്വന്റായി സന്ദര്ശിക്കാറുമില്ല. ബാക്കി സമയം കെനെറ്റ്വാക്ക്, വിക്കിപീഡീയ, ക്യാമറ ട്രിക്കുകള്, ഞമ്മളെ പഴയ സ്കൂളില് നിന്നും ഉമ്മയുടെ നിലവിലെ സ്കൂളില് നിന്നും വരുത്തുന്ന ചെറുകഥാസമാഹാരങ്ങളുടെ (ഇടക്കൊക്കെ നോവലുകളും) വായന, തീറ്റ, ഉറക്കം.
ഇതൊക്കെ മതിയാകും വരെ ചെയ്ത് തീരും മുമ്പാണ് മടക്കം.
അഞ്ചര > നാല്
പിന്നെന്തിനാണ് ഞാന് പ്രാകുന്നത്? കാരണങ്ങള് :
1) ഇപ്രാവശ്യം വെള്ളിയാഴ്ച ക്ലാസ്സില്ല. മുമ്പേ പറഞ്ഞിരുന്നെങ്കില് ഒരു ദിവസം നേരത്തെ ടിക്കറ്റ് ബുക്ക് ചെയ്യാമായിരുന്നു. സെമസ്റ്റര് തുടങ്ങും വരെ ടൈംടെബിള് ഇടില്ല, വെള്ളിയാഴ്ചത്തെ ക്ലാസ്സൊഴിവാക്കുന്ന കാര്യം രണ്ട് ദിവസം മുമ്പല്ലാതെ പറയുകയുമില്ല.
2) സുഖസുന്ദരമായി ഞായറാഴ്ച തിരിച്ചുപോകാമെന്നായിരുന്നു ആദ്യം പ്ലാന്. അപ്പളാണ് പ്രതിഭാ പാട്ടിലിന് ആറാം തീയതി ജുഗുനു ടീമിനെ കാണാന് മുട്ടിയത്. വെറും പ്രാന്താണ്. ഇന്സ്റ്റിറ്റ്യൂട്ടിലാകെ ഒരു മണിക്കൂറോ മറ്റോ മാത്രമേ നിക്കൂ. അതില്ത്തന്നെ പ്രധാന പണി ഏതോ ഗുളിക കുഴിച്ചിടലാണ് (വാര്ത്ത വായിച്ച് ഉപഗ്രഹത്തെപ്പറ്റി വലിയ ആരാധനയൊന്നും തോന്നണ്ട. ഇപ്പറയുന്നപോലെ വെള്ളപ്പൊക്കവും ഭൂമികുലുക്കവും ഖിയാമത്തും ഒന്നും അത് പ്രവചിക്കാന് പോണില്ല). അഞ്ചുമിനിറ്റ് കൂടെനിന്ന് ഫോട്ടോയെടുത്തിട്ട് എന്തുകാര്യം എന്ന് പടച്ചോനറിയാം. ഇന്നുവരെ ആ വഴിക്ക് വരാത്ത പണ്ടാരങ്ങളും അന്നവിടെ കാണുമെന്നതുകൊണ്ട് ഫോട്ടോ ശരിയാകുമെന്ന ആശയുമില്ല. വല്ല കലാമോ മറ്റോ ആയിരുന്നെങ്കില് പ്രൊജക്ടിനെപ്പറ്റി അഭിപ്രായം പറയുമെന്നും മാര്ഗ്ഗദര്ശനം നല്കുമെന്നും വിചാരിക്കാനും വകുപ്പുണ്ട്. ഇവിടെ അങ്ങനത്തെ ഗുണം പ്രതീക്ഷിക്കാനുള്ള പ്രാന്തൊന്നും എനിക്കില്ല.
അതാണ് ദേഷ്യം. മതിലുകളും അഗ്രഹാരത്തില് കഴുതൈയും ഒക്കെ കണ്ട് ദേഷ്യം തീര്ക്കാനാണ് പരിപാടി.
ഇപ്രാവശ്യം വീട്ടില് ചെന്നിട്ടുള്ള പരിപാടി:
1) മാര്ച്ച് മാസത്തേക്ക് ജ്യോതിശാസ്ത്രകവാടം ശരിയാക്കുക
2) ഓരോ ദിവസം ഓരോ വിഷയം പഠിക്കുക : ബീജഗണിതത്തില് ഗാലിയന്, ഹെര്സ്റ്റീന്, ആര്ട്ടിന്; സാംഖ്യികബലതന്ത്രത്തില് ചൗധുരി : പുസ്തകങ്ങളിലെ ചോദ്യങ്ങളൊക്കെ ചെയ്യുക. ക്വാണ്ടം ബലതന്ത്രത്തിന് ശങ്കര്, ശുക്ല; സാംഖ്യികബലതന്ത്രത്തിന് റൈഫ്, ചൗധുരി, ശുക്ല; മാത്തമാറ്റിക്കല് ഫിസിക്സിന് ശുക്ല; പ്രക്ഷുബ്ധതയ്ക്ക് ബാച്ചിലര് : ഈ പുസ്തകങ്ങള് വായിക്കുക
(ഇവിടെ ശുക്ല ഭൗതികശാസ്ത്രസംബന്ധിയായ എല്ലാ വിഷയത്തിലും പുസ്തകങ്ങളെഴുതുന്ന പുലിയല്ല. എല്ലാ ക്ലാസിലും ഭീകരമായ നോട്ടുകളെഴുതുന്ന പുലിയാണ്. മൂപ്പരുടെ കാരുണ്യം കൊണ്ടാണ് ഫിസിക്സ് ബാച്ചില് പകുതിയും മര്യാദക്കുള്ള മാര്ക്ക് വാങ്ങുന്നത്)
3) പ്രക്ഷുബ്ധതയ്ക്കുള്ള തരംഗ് കോഡ് ക്യൂഡയിലാക്കുന്ന പണി മുന്നോട്ടുകൊണ്ടുപോവുക
4) റ്റു കില് എ മോക്കിങ്ങ്ബേര്ഡ് പൂര്ത്തിയാക്കുക
ഇതൊക്കെ തീര്ത്തിട്ടുതന്നെ കാര്യം. കഴിഞ്ഞ മിഡ്സെമ്മിന് ഇതുപോലെ എടുത്തിരുന്ന തീരുമാനങ്ങള്:
1) ജര്മ്മന് അസൈന്മെന്റ് പൂര്ത്തിയാക്കുക
2) വരാനുള്ള പരീക്ഷയ്ക്ക് എല്ലാ വിഷയങ്ങളും പഠിക്കുക
3) ഉദാത്ത ബലതന്ത്രത്തിന്റെ ക്ലെപ്നര് പുസ്തകത്തിലെ വര്ത്തുളചലനവുമായി ബന്ധപ്പെട്ട ചോദ്യങ്ങള്ക്കൊക്കെ ഉത്തരം കാണുക
4) വിക്കിപീഡിയ
ക്ലെപ്നര് ചോദ്യങ്ങള് ഒരു മുപ്പതു് ശതമാനത്തോളം ചെയ്തു. ജര്മ്മന് അസൈന്മെന്റ് കുറച്ചുമാത്രം ചെയ്തിട്ടതുകൊണ്ട് ഫ്ലൈറ്റില് വച്ച് പൂര്ത്തിയാക്കേണ്ടി വന്നു. വിക്കിപീഡിയ മാത്രം മര്യാദയ്ക്ക് മുന്നോട്ട് പോയി (അതില് പിന്നെ പഠിക്കാന് സമയം കിട്ടുന്നില്ല എന്ന അര്ത്ഥത്തില് എന്ത് പറഞ്ഞാലും കുക്കിപീഡിയയുമായി ഇരുന്നിട്ടല്ലേ എന്നാണ് വീട്ടില് നിന്ന് മറുപടി). ബാക്കി വിഷയങ്ങളുടെ പഠിത്തത്തെക്കുറിച്ച് നോക്വസ്റ്റ്യന്സ് നോ ആന്സേഴ്സ്.
ഇപ്രാവശ്യം ശരിക്ക് എന്താകുമെന്ന് പടച്ചോനറിയാം. എന്തായാലും ഒരു കാര്യം ഉറപ്പാണ്. ഇപ്രാവശ്യം ബുക്കൊക്കെ ലാപു്ടോപ്പിലാക്കിയതുകൊണ്ട് വായിക്കാനല്ലെങ്കില് കണ്ട പുസ്തകമൊക്കെ കെട്ടിപ്പേറി എടുത്തോണ്ടുവരുന്നതെന്തിനാ എന്ന ചോദ്യമെങ്കിലും കേള്ക്കേണ്ടിവരില്ല.
Thursday 25 February 2010
Thursday 18 February 2010
ഡീബഗ്ഗിങ്ങ്
മുന്നറിയിപ്പ് : ഈ പോസ്റ്റിന്റെ ചില ഭാഗങ്ങള് മനസ്സിലാകണമെങ്കില് അല്പം ലോകവിവരം വേണ്ടിവരും. ലിങ്കുകള് വായിക്കുക. മനസ്സിലാകുന്നില്ലെങ്കില് വിട്ടേക്കുക.
രണ്ടുമൂന്ന് മാസമായി ഈ വഴിക്ക് വന്നിട്ട്.
ആഗ്രഹമില്ലാഞ്ഞിട്ടല്ല - വല്ലാത്ത തിരക്കായിരുന്നു.
ജീവിതം ലാവിഷായി നായ നക്കിക്കൊണ്ടുമിരിക്കുന്നു.
ഈ ഓണംകേറാമൂലയിലേക്ക് വന്നതില്പ്പിന്നെ ആദ്യമായി പരീക്ഷകളെല്ലാംകൂടി എന്നെ വളഞ്ഞിട്ട് തല്ലാന് തുടങ്ങി. മാര്ക്ക് എഴുപത് ശതമാനത്തില് കുറഞ്ഞാല് ബി.പി. കൂടുന്ന എനിക്ക് ബീജഗണിതത്തില് അതിന്റെ പകുതിയേ കിട്ടിയുള്ളൂ. ഈ പോസ്റ്റ് എട്ടുപത്തു തവണ വായിക്കേണ്ടി വന്നു. ഒന്നുരണ്ടു വിഷയത്തില് പഠിപ്പിക്കുന്നതൊന്നും കുത്തിയിരുന്ന് ചിന്തിച്ച് മനസ്സിലാക്കാന് സമയം കിട്ടുന്നില്ല. മനസ്സിലാകുന്ന വിഷയത്തിന്റെ ഗതി ഇങ്ങനെയും.
വിക്കിപീഡിയയില് കാലുകുത്താന് തന്നെ പറ്റുന്നില്ല. ഇപ്പോള് എഴുതുന്ന സാധനം തീരുമ്പോഴേക്ക് വിക്കിയില് ഒരിരുപതിനായിരം ലേഖനമെങ്കിലും ആകുമെന്ന സ്ഥിതിയാണ്.
പ്രൊജക്റ്റുകളുടെ കാര്യം അതിലും രസം. ക്യൂഡയും പാരലല് പ്രോഗ്രാമിംഗും ഒക്കെ വച്ച് പ്രക്ഷുബ്ധതയെക്കുറിച്ച് പഠിക്കാനായി എഴുതുന്ന കോഡ് തുടങ്ങിയിടത്തുനിന്ന് അനങ്ങുന്നില്ല. ഫിലോസഫി പ്രൊജക്റ്റ് പ്രൊപ്പോസ് ചെയ്തതില് പിന്നെ പ്രൊഫസറുടെ മുഖം പോലും കാണാന് പറ്റിയിട്ടില്ല. ജര്മ്മന് ക്ലാസ്സില് കയറിച്ചെല്ലുമ്പോള് ടീച്ചര്ക്ക് മാവേലിയെ കണ്ട ആഘോഷമാണ്.
ഇന്സ്റ്റിറ്റ്യൂട്ടിന്റെ ടെക്നിക്കല് ഫെസ്റ്റിവലില് ഇപ്രാവശ്യം കാര്യമായി ഒന്നും ജയിക്കാന് സാധിച്ചില്ല. അമേരിക്കയിലേക്ക് നുഴഞ്ഞ് കയറാനുള്ള പരിപാടിയിലെ നൂലാമാലകള് വേറെയും.
ആകെപ്പാടെ പരമസുഖം - കഴിഞ്ഞ നാലഞ്ച് സെമസ്റ്റര് ആര്മ്മാദിച്ചത് നിരപ്പാകുന്നത് ഇങ്ങനെയാണ്.
ഇനി കാര്യത്തിലേക്ക്. ഇതിനൊക്കെ പുറമെ ഇവിടെ ചെയ്യുന്ന വേറൊരു പരിപാടിയാണ് ജുഗുനു. ഈ കലാപങ്ങള്ക്കൊക്കെ ഇടയില് ഇതില് തലയിടാതെ മുങ്ങി നടക്കാറാണ് സാധാരണ പതിവ്. കുറേപേര് ഇക്കാര്യത്തില് എന്നെപ്പോലെയായതിനാലും പരിപാടി അല്പം വിഷമമുള്ളതായതിനാലും ഒടുവില് വാണം വിടുന്ന ഡേറ്റ് ഇങ്ങനെ നീണ്ടുനീണ്ടുപോവുകയാണ്. ഇതിന്റെ പിന്നില് പ്രവര്ത്തിച്ച ഒരു സെറ്റ് വിദ്യാര്ത്ഥികള് ഈ സെമസ്റ്റര് തീരുമ്പോഴേക്ക് മൂത്തുനരച്ച് പാസൗട്ടാകാന് പോകുകയാണെന്നതുകൊണ്ട് ഒരുവിധം കൊണ്ടുപിടിച്ച് പണി നടക്കുന്നുണ്ട്. എന്നെ മിന്നാമിനുങ്ങന്മാര്ക്ക് വല്ല്യ വിശ്വാസമായതിനാല് ഇടയ്ക്കിടെ ഓരോ പണി ചെയ്യാന് തരും. കോഡിങ്ങാണ് അധികവും. മൈക്രോകണ്ട്രോളറുകളെ എനിക്ക് കാര്യമായി പരിചയമില്ലാത്തതുകൊണ്ട് സാധാരണ സിയില് കോഡ് ചെയ്യുന്നു - അത് മൈക്രോകണ്ട്രോളറിലേക്ക് പോര്ട്ട് ചെയ്യുന്ന കാര്യം ബാക്കിയുള്ളവര് നോക്കിക്കോളും.
ഇന്ന് അതുപോലൊരു പണി കിട്ടി. ചെയ്യാന് നോക്കിയപ്പോള് ശരിക്കും പണികിട്ടി. കാര്യം സിമ്പിളായിരുന്നു. ബഹിരാകാശത്തിരിക്കുന്ന ഉപഗ്രഹത്തിന് ഹലോ പറയാനുള്ള കോഡെഴുതണം. അതിന് ഓരോ പ്രോട്ടോകോളും കോപ്പും. അവസാനം എല്ലാ പ്രോട്ടോകോള് നിയമങ്ങളും അനുസരിച്ച് ഡാറ്റ പാക്കറ്റാക്കി സൈക്ലിക് റിഡണ്ടന്സി ചെക്കും ചേര്ത്ത് ബിറ്റ് സ്റ്റഫ് ചെയ്ത് അയക്കണം. ഒക്കെ ശരിയാണെങ്കില് റിസീവ് ചെയ്യുന്നിടത്ത് ബിറ്റ് സ്റ്റഫ്ഫൊക്കെ ഒഴിവാക്കി വരുമ്പോഴേക്ക് അയച്ച സാധനം തന്നെ കിട്ടണം.
പക്ഷെ നടക്കുന്നില്ല. ചിലപ്പോള് പാക്കറ്റുകള് നഷ്ടമാകുന്നു. ചിലപ്പോള് അയക്കുന്നതല്ല കിട്ടുന്നത്. കുറേ ദിവസമായി ഒ.ബി.സി (ഓണ് ബോര്ഡ് കമ്പ്യൂട്ടിങ്ങ് - അല്ലാതെ റിസര്വേഷനുമായി യാതൊരു ബന്ധവുമില്ല) സബ്സിസ്റ്റത്തിലെ മൂന്നാലുപേര് ഓരോ മൂലക്ക് പിടിച്ച് നേരെയാക്കാന് നോക്കിക്കൊണ്ടിരിക്കുകയാണ്. ഇന്നിത് തീര്ത്തിട്ടേയുള്ളൂ എന്ന് ഞാനും സബ്സിസ്റ്റം തലവന് അങ്കുഷ് ദേശായിയും തീരുമാനിച്ചു. സൈഡില് മാന്വല് ലേബര് ചെയ്യാനായി മിത്തല് സിസ്റ്റഴ്സും (എനിക്ക് ഹാര്ഡ്വെയറിനെക്കുറിച്ച് അഞ്ചുപൈസക്ക് വിവരമില്ലാത്തതുകൊണ്ട് കോഡിങ്ങിതര പരിപാടികള് ബാക്കിയുള്ളവര്ക്ക് വിട്ടുകൊടുക്കുകയാണ് പതിവ്).
കോഡ് കുത്തിയിരുന്ന് വായിച്ചുനോക്കാന് തുടങ്ങി. അഞ്ചു മിനിറ്റിന് ഒരു ലോജിക്കല് എറര് വച്ച് പൊന്തിവരാന് തുടങ്ങി. അവസാനം ഒപ്റ്റിമൈസേഷനും സിംപ്ലിഫിക്കേഷനും ഒക്കെ കഴിഞ്ഞ് രണ്ടാളും കോഡ് ശരിയാണെന്ന ധാരണയിലെത്തി. പക്ഷെ ഇതുകൊണ്ട് മാത്രം കാര്യമില്ല - ഇതിനുമുമ്പ് നാലഞ്ച് തവണയെങ്കിലും ഇതുപോലെ ധാരണയിലെത്തിയതും റിസീവര് വിസമ്മതിച്ചതും ഒക്കെ ആയിരുന്നു. അതുകൊണ്ട് ടെസ്റ്റ് ചെയ്യാന് മിത്തല് സിസ്റ്റഴ്സിന് വിട്ടുകൊടുത്തു. പ്രതീക്ഷിച്ചതുപോലെ റിസീവര് അതേപടി.
മൈക്രോകണ്ട്രോളറിന്റെ മേല് ഒരു ദിവസം എന്നെക്കൊണ്ട് നേരിട്ട് പണിയെടുപ്പിക്കുമെന്ന് അങ്കുഷ് ദൃഢപ്രതിജ്ഞയെടുത്തിട്ട് മാസങ്ങളായി. ഞാനാ വഴിക്ക് ഇതുവരെ പോയിട്ടില്ല. ഇന്ന് പക്ഷെ വേറെ വഴിയില്ല. കോഡിലും ഔട്പുട്ടിലും കണ്ണുമിഴിച്ച് നോക്കിയിരിക്കാന് തുടങ്ങി. അവസാനം പിടികിട്ടി. കോഡ് പുതിയത് എഴുതിയെങ്കിലും പഴയതാണ് റണ് ചെയ്തിരിക്കുന്നത്. പുതിയ കോഡ് റണ് ചെയ്ത് ഔട്പുട്ടെങ്ങനെയുണ്ടെന്ന് നോക്കാന് പറഞ്ഞു.
ഇതുപോലൊരു എറര് സാധാരണ പിടിക്കാന് പറ്റിയാല് ബാക്കിയൊക്കെ ശരിയാകേണ്ടതാണ്. ടെസ്റ്റിങ്ങ് ശരിയായെന്ന വാര്ത്തയുമായി മിത്തല് സിസ്റ്റഴ്സ് വരുന്നതും കാത്ത് ഞാനിരുന്നു. പക്ഷെ റിസീവറാരാ മോന്? ഓരോ രണ്ടാമത്തെ പാക്കറ്റും വിഴുങ്ങിയിരിക്കുന്നു.
ഞാന് ഡിറ്റക്റ്റീവ് മോഡിലേക്ക് മാറി. തെറ്റ് വല്ലതും കണ്ടാല് കുട്ടികളുടെ കോഡ് വായിച്ച് അതിന് കാരണം കണ്ടെത്തുകയായിരുന്നു ഒളിമ്പ്യാഡ് കാമ്പില് എന്റെ പ്രധാന പണി. ഇവിടെയും അതുതന്നെ ചെയ്യണം. അവസാനം കാര്യം മനസ്സിലായി - ബിറ്റ് സ്റ്റഫിങ്ങ് നടക്കുന്ന പാക്കറ്റുകളാണ് നഷ്ടമാകുന്നത്. ഡിഡക്റ്റീവ് റീസണിങ്ങ് വഴി തെറ്റും മനസ്സിലാക്കാന് പറ്റി - ബിറ്റ് സ്റ്റഫ് ചെയ്ത് അവസാനം വരുന്ന അര-മുക്കാല് ബൈറ്റ് ആരും അയക്കുന്നില്ല, റിസീവറിലെ കോഡ് അതിനെ പ്രോസസ് ചെയ്യുന്നതും മര്യാദയ്ക്കല്ല. കോഡ് ഞാന് ശരിയാക്കി. ബൈറ്റുകള് മൊത്തം അയക്കാന് സിസ്റ്റഴ്സിനോട് പറയുകയും ചെയ്തു.
എന്നിട്ടും നീ റണ്ണീലല്ലോ...
എനിക്ക് പ്രാന്താവാന് തുടങ്ങി. കോഡ് മൊത്തം വീണ്ടും വീണ്ടും വായിച്ചു. അസൈന്മെന്റ് ചെയ്യാനുണ്ടെന്ന് പറഞ്ഞ് മിത്തല് സിസ്റ്റഴ്സും മുങ്ങി. അങ്കുഷ് മാത്രം ഫെറാറി വില്ക്കാന് പോലുമില്ലാത്ത സന്യാസിയെപ്പോലെ (കടപ്പാട് : സിദ്ധാര്ത്ഥ് മോങ്ങ) കൂളായിരിക്കുന്നു. ഒടുവില് ഞങ്ങള്ക്ക് തോന്നി :പ്രശ്നം റിസീവറിന്റെ കോഡിലായിരിക്കില്ല, അയക്കുന്ന പാക്കറ്റ് തന്നെ തെറ്റായിരിക്കാം. അങ്കുഷ് പോയി നോക്കി. അയക്കുന്ന ക്യാരക്ടറുകളുടെ ലിസ്റ്റില് പുതുതായി ചേര്ക്കാന് പറഞ്ഞ 0x00 കൂടി ചേര്ത്തിരിക്കുന്നതായി കാണിച്ചുതന്നു.
രണ്ടുപേരും കാന്റീനിലേക്ക് പോയി ഓരോ ചിക്കന് ബര്ഗറടിച്ച് തിരിച്ചുവന്നു. ഇതിനിടയില് ഒരുവിധം ഇന്ററപ്റ്റുകളുടെയും ഡിലേകളുടെയും ഒക്കെ തിയറി മൊത്തം ഡിസ്കസ് ചെയ്ത് പ്രശ്നം അവിടെയൊന്നുമല്ലെന്ന് ഉറപ്പിച്ചിരുന്നു. പിന്നെ കോഡ് റീവാമ്പ് ചെയ്യലായി പണി. പ്രോസസിങ്ങ് സമയം തുല്യമായി വിഭജിക്കുന്ന രീതിയില് കോഡ് മാറ്റുകപോലും ചെയ്തു. ഒടുവില് കാച്ചിക്കുറുക്കി കോഡ് വല്ല കവിതാമത്സരത്തിനും അയക്കാമെന്ന സ്ഥിതിയായി.
പക്ഷെ റിസീവര് മാത്രം വഴങ്ങുന്നില്ല. കൂട്ടക്കൊലയ്ക്കൊരു വഴിയും കൊല്ലേണ്ട ആളുകളുടെ പട്ടികയുമായി പിന്നെ എന്റെ ചിന്താവിഷയം. വിദേശസര്വകലാശാലകള് ഉപഗ്രഹമുണ്ടാക്കുന്നതു മാത്രം ഇന്ത്യയില് റിപീറ്റ് ചെയ്താല് പോരല്ലോ, വെര്ജീനിയ ടെകിനും ഇന്ത്യയില് ഒരു അപരന് വേണ്ടേ? അതും എവിടേം എത്തുന്നില്ല എന്നായപ്പോഴാണ് പെട്ടെന്ന് തലയില് ബള്ബ് മിന്നിയത്. പാക്കറ്റ് അയക്കുന്ന കോഡ് ഒന്നുകൂടി വായിച്ചുനോക്കി. അയക്കുന്ന ക്യാരക്ടറുകളുടെ ലിസ്റ്റില് പുതുതായി 0x00 ചേര്ത്തിരിക്കുന്നെങ്കിലും ക്യാരക്റ്ററുകളുടെ എണ്ണം കൂട്ടാത്തതുകൊണ്ട് അത് അയക്കപ്പെടുന്നില്ല. തല ചുമരിലടിച്ച് പൊളിക്കാനുള്ള പ്രലോഭനമൊഴിവാക്കാന് ഞാന് പോയി ബീന്ബാഗിലേക്ക് വീണു. "ഇത് വര്ക്ക് ചെയ്യുകയാണെങ്കില് എന്നെ കൊല്ലരുത്", അങ്കുഷ് പറഞ്ഞു. കൊല്ലുന്നതിനെപ്പറ്റി ആലോചിക്കേണ്ടി വന്നില്ല.
ഗുണപാഠം :
1. ഡീബഗ് ചെയ്യുമ്പോള് ഒരൈഡിയയും കിട്ടുന്നില്ലെങ്കില് പ്രധാനപ്പെട്ട ഡാറ്റയൊക്കെ ഒന്ന് ഔട്പുട്ട് ചെയ്തുനോക്കുക. പാക്കറ്റിനു പുറമെ റിജക്റ്റഡായ ക്യാരക്റ്ററുകളും കൂടി എവിടെയെങ്കിലും സ്ടോര് ചെയ്തുവച്ചിരുന്നെങ്കില് മൂന്നാലു മണിക്കൂര് വെയിസ്റ്റാകില്ലായിരുന്നു.
2. കമ്പ്യൂട്ടര് സയന്സിനു പകരം ഫിസിക്സെടുത്തത് നന്നായി. ഇടയ്ക്കിടെ ഒരു പ്രോഗ്രാമിംഗ് കോണ്ടസ്റ്റ് ഒക്കെ സഹിക്കാം, പക്ഷെ മുഴുവന് സമയവും ഇതുതന്നെ ചെയ്തുകൊണ്ടിരുന്നാല് ഞാന് പി.എച്.ഡി കുതിരവട്ടത്ത് ചെയ്യേണ്ടിവരും (ഇങ്ങനെയൊക്കെയാണെങ്കിലും ഞാന് ഏറ്റവുമധികം ചെയ്യുന്നത് കോഡിങ്ങാണെന്നത് വേറെ കാര്യം)
രണ്ടുമൂന്ന് മാസമായി ഈ വഴിക്ക് വന്നിട്ട്.
ആഗ്രഹമില്ലാഞ്ഞിട്ടല്ല - വല്ലാത്ത തിരക്കായിരുന്നു.
ജീവിതം ലാവിഷായി നായ നക്കിക്കൊണ്ടുമിരിക്കുന്നു.
ഈ ഓണംകേറാമൂലയിലേക്ക് വന്നതില്പ്പിന്നെ ആദ്യമായി പരീക്ഷകളെല്ലാംകൂടി എന്നെ വളഞ്ഞിട്ട് തല്ലാന് തുടങ്ങി. മാര്ക്ക് എഴുപത് ശതമാനത്തില് കുറഞ്ഞാല് ബി.പി. കൂടുന്ന എനിക്ക് ബീജഗണിതത്തില് അതിന്റെ പകുതിയേ കിട്ടിയുള്ളൂ. ഈ പോസ്റ്റ് എട്ടുപത്തു തവണ വായിക്കേണ്ടി വന്നു. ഒന്നുരണ്ടു വിഷയത്തില് പഠിപ്പിക്കുന്നതൊന്നും കുത്തിയിരുന്ന് ചിന്തിച്ച് മനസ്സിലാക്കാന് സമയം കിട്ടുന്നില്ല. മനസ്സിലാകുന്ന വിഷയത്തിന്റെ ഗതി ഇങ്ങനെയും.
വിക്കിപീഡിയയില് കാലുകുത്താന് തന്നെ പറ്റുന്നില്ല. ഇപ്പോള് എഴുതുന്ന സാധനം തീരുമ്പോഴേക്ക് വിക്കിയില് ഒരിരുപതിനായിരം ലേഖനമെങ്കിലും ആകുമെന്ന സ്ഥിതിയാണ്.
പ്രൊജക്റ്റുകളുടെ കാര്യം അതിലും രസം. ക്യൂഡയും പാരലല് പ്രോഗ്രാമിംഗും ഒക്കെ വച്ച് പ്രക്ഷുബ്ധതയെക്കുറിച്ച് പഠിക്കാനായി എഴുതുന്ന കോഡ് തുടങ്ങിയിടത്തുനിന്ന് അനങ്ങുന്നില്ല. ഫിലോസഫി പ്രൊജക്റ്റ് പ്രൊപ്പോസ് ചെയ്തതില് പിന്നെ പ്രൊഫസറുടെ മുഖം പോലും കാണാന് പറ്റിയിട്ടില്ല. ജര്മ്മന് ക്ലാസ്സില് കയറിച്ചെല്ലുമ്പോള് ടീച്ചര്ക്ക് മാവേലിയെ കണ്ട ആഘോഷമാണ്.
ഇന്സ്റ്റിറ്റ്യൂട്ടിന്റെ ടെക്നിക്കല് ഫെസ്റ്റിവലില് ഇപ്രാവശ്യം കാര്യമായി ഒന്നും ജയിക്കാന് സാധിച്ചില്ല. അമേരിക്കയിലേക്ക് നുഴഞ്ഞ് കയറാനുള്ള പരിപാടിയിലെ നൂലാമാലകള് വേറെയും.
ആകെപ്പാടെ പരമസുഖം - കഴിഞ്ഞ നാലഞ്ച് സെമസ്റ്റര് ആര്മ്മാദിച്ചത് നിരപ്പാകുന്നത് ഇങ്ങനെയാണ്.
ഇനി കാര്യത്തിലേക്ക്. ഇതിനൊക്കെ പുറമെ ഇവിടെ ചെയ്യുന്ന വേറൊരു പരിപാടിയാണ് ജുഗുനു. ഈ കലാപങ്ങള്ക്കൊക്കെ ഇടയില് ഇതില് തലയിടാതെ മുങ്ങി നടക്കാറാണ് സാധാരണ പതിവ്. കുറേപേര് ഇക്കാര്യത്തില് എന്നെപ്പോലെയായതിനാലും പരിപാടി അല്പം വിഷമമുള്ളതായതിനാലും ഒടുവില് വാണം വിടുന്ന ഡേറ്റ് ഇങ്ങനെ നീണ്ടുനീണ്ടുപോവുകയാണ്. ഇതിന്റെ പിന്നില് പ്രവര്ത്തിച്ച ഒരു സെറ്റ് വിദ്യാര്ത്ഥികള് ഈ സെമസ്റ്റര് തീരുമ്പോഴേക്ക് മൂത്തുനരച്ച് പാസൗട്ടാകാന് പോകുകയാണെന്നതുകൊണ്ട് ഒരുവിധം കൊണ്ടുപിടിച്ച് പണി നടക്കുന്നുണ്ട്. എന്നെ മിന്നാമിനുങ്ങന്മാര്ക്ക് വല്ല്യ വിശ്വാസമായതിനാല് ഇടയ്ക്കിടെ ഓരോ പണി ചെയ്യാന് തരും. കോഡിങ്ങാണ് അധികവും. മൈക്രോകണ്ട്രോളറുകളെ എനിക്ക് കാര്യമായി പരിചയമില്ലാത്തതുകൊണ്ട് സാധാരണ സിയില് കോഡ് ചെയ്യുന്നു - അത് മൈക്രോകണ്ട്രോളറിലേക്ക് പോര്ട്ട് ചെയ്യുന്ന കാര്യം ബാക്കിയുള്ളവര് നോക്കിക്കോളും.
ഇന്ന് അതുപോലൊരു പണി കിട്ടി. ചെയ്യാന് നോക്കിയപ്പോള് ശരിക്കും പണികിട്ടി. കാര്യം സിമ്പിളായിരുന്നു. ബഹിരാകാശത്തിരിക്കുന്ന ഉപഗ്രഹത്തിന് ഹലോ പറയാനുള്ള കോഡെഴുതണം. അതിന് ഓരോ പ്രോട്ടോകോളും കോപ്പും. അവസാനം എല്ലാ പ്രോട്ടോകോള് നിയമങ്ങളും അനുസരിച്ച് ഡാറ്റ പാക്കറ്റാക്കി സൈക്ലിക് റിഡണ്ടന്സി ചെക്കും ചേര്ത്ത് ബിറ്റ് സ്റ്റഫ് ചെയ്ത് അയക്കണം. ഒക്കെ ശരിയാണെങ്കില് റിസീവ് ചെയ്യുന്നിടത്ത് ബിറ്റ് സ്റ്റഫ്ഫൊക്കെ ഒഴിവാക്കി വരുമ്പോഴേക്ക് അയച്ച സാധനം തന്നെ കിട്ടണം.
പക്ഷെ നടക്കുന്നില്ല. ചിലപ്പോള് പാക്കറ്റുകള് നഷ്ടമാകുന്നു. ചിലപ്പോള് അയക്കുന്നതല്ല കിട്ടുന്നത്. കുറേ ദിവസമായി ഒ.ബി.സി (ഓണ് ബോര്ഡ് കമ്പ്യൂട്ടിങ്ങ് - അല്ലാതെ റിസര്വേഷനുമായി യാതൊരു ബന്ധവുമില്ല) സബ്സിസ്റ്റത്തിലെ മൂന്നാലുപേര് ഓരോ മൂലക്ക് പിടിച്ച് നേരെയാക്കാന് നോക്കിക്കൊണ്ടിരിക്കുകയാണ്. ഇന്നിത് തീര്ത്തിട്ടേയുള്ളൂ എന്ന് ഞാനും സബ്സിസ്റ്റം തലവന് അങ്കുഷ് ദേശായിയും തീരുമാനിച്ചു. സൈഡില് മാന്വല് ലേബര് ചെയ്യാനായി മിത്തല് സിസ്റ്റഴ്സും (എനിക്ക് ഹാര്ഡ്വെയറിനെക്കുറിച്ച് അഞ്ചുപൈസക്ക് വിവരമില്ലാത്തതുകൊണ്ട് കോഡിങ്ങിതര പരിപാടികള് ബാക്കിയുള്ളവര്ക്ക് വിട്ടുകൊടുക്കുകയാണ് പതിവ്).
കോഡ് കുത്തിയിരുന്ന് വായിച്ചുനോക്കാന് തുടങ്ങി. അഞ്ചു മിനിറ്റിന് ഒരു ലോജിക്കല് എറര് വച്ച് പൊന്തിവരാന് തുടങ്ങി. അവസാനം ഒപ്റ്റിമൈസേഷനും സിംപ്ലിഫിക്കേഷനും ഒക്കെ കഴിഞ്ഞ് രണ്ടാളും കോഡ് ശരിയാണെന്ന ധാരണയിലെത്തി. പക്ഷെ ഇതുകൊണ്ട് മാത്രം കാര്യമില്ല - ഇതിനുമുമ്പ് നാലഞ്ച് തവണയെങ്കിലും ഇതുപോലെ ധാരണയിലെത്തിയതും റിസീവര് വിസമ്മതിച്ചതും ഒക്കെ ആയിരുന്നു. അതുകൊണ്ട് ടെസ്റ്റ് ചെയ്യാന് മിത്തല് സിസ്റ്റഴ്സിന് വിട്ടുകൊടുത്തു. പ്രതീക്ഷിച്ചതുപോലെ റിസീവര് അതേപടി.
മൈക്രോകണ്ട്രോളറിന്റെ മേല് ഒരു ദിവസം എന്നെക്കൊണ്ട് നേരിട്ട് പണിയെടുപ്പിക്കുമെന്ന് അങ്കുഷ് ദൃഢപ്രതിജ്ഞയെടുത്തിട്ട് മാസങ്ങളായി. ഞാനാ വഴിക്ക് ഇതുവരെ പോയിട്ടില്ല. ഇന്ന് പക്ഷെ വേറെ വഴിയില്ല. കോഡിലും ഔട്പുട്ടിലും കണ്ണുമിഴിച്ച് നോക്കിയിരിക്കാന് തുടങ്ങി. അവസാനം പിടികിട്ടി. കോഡ് പുതിയത് എഴുതിയെങ്കിലും പഴയതാണ് റണ് ചെയ്തിരിക്കുന്നത്. പുതിയ കോഡ് റണ് ചെയ്ത് ഔട്പുട്ടെങ്ങനെയുണ്ടെന്ന് നോക്കാന് പറഞ്ഞു.
ഇതുപോലൊരു എറര് സാധാരണ പിടിക്കാന് പറ്റിയാല് ബാക്കിയൊക്കെ ശരിയാകേണ്ടതാണ്. ടെസ്റ്റിങ്ങ് ശരിയായെന്ന വാര്ത്തയുമായി മിത്തല് സിസ്റ്റഴ്സ് വരുന്നതും കാത്ത് ഞാനിരുന്നു. പക്ഷെ റിസീവറാരാ മോന്? ഓരോ രണ്ടാമത്തെ പാക്കറ്റും വിഴുങ്ങിയിരിക്കുന്നു.
ഞാന് ഡിറ്റക്റ്റീവ് മോഡിലേക്ക് മാറി. തെറ്റ് വല്ലതും കണ്ടാല് കുട്ടികളുടെ കോഡ് വായിച്ച് അതിന് കാരണം കണ്ടെത്തുകയായിരുന്നു ഒളിമ്പ്യാഡ് കാമ്പില് എന്റെ പ്രധാന പണി. ഇവിടെയും അതുതന്നെ ചെയ്യണം. അവസാനം കാര്യം മനസ്സിലായി - ബിറ്റ് സ്റ്റഫിങ്ങ് നടക്കുന്ന പാക്കറ്റുകളാണ് നഷ്ടമാകുന്നത്. ഡിഡക്റ്റീവ് റീസണിങ്ങ് വഴി തെറ്റും മനസ്സിലാക്കാന് പറ്റി - ബിറ്റ് സ്റ്റഫ് ചെയ്ത് അവസാനം വരുന്ന അര-മുക്കാല് ബൈറ്റ് ആരും അയക്കുന്നില്ല, റിസീവറിലെ കോഡ് അതിനെ പ്രോസസ് ചെയ്യുന്നതും മര്യാദയ്ക്കല്ല. കോഡ് ഞാന് ശരിയാക്കി. ബൈറ്റുകള് മൊത്തം അയക്കാന് സിസ്റ്റഴ്സിനോട് പറയുകയും ചെയ്തു.
എന്നിട്ടും നീ റണ്ണീലല്ലോ...
എനിക്ക് പ്രാന്താവാന് തുടങ്ങി. കോഡ് മൊത്തം വീണ്ടും വീണ്ടും വായിച്ചു. അസൈന്മെന്റ് ചെയ്യാനുണ്ടെന്ന് പറഞ്ഞ് മിത്തല് സിസ്റ്റഴ്സും മുങ്ങി. അങ്കുഷ് മാത്രം ഫെറാറി വില്ക്കാന് പോലുമില്ലാത്ത സന്യാസിയെപ്പോലെ (കടപ്പാട് : സിദ്ധാര്ത്ഥ് മോങ്ങ) കൂളായിരിക്കുന്നു. ഒടുവില് ഞങ്ങള്ക്ക് തോന്നി :പ്രശ്നം റിസീവറിന്റെ കോഡിലായിരിക്കില്ല, അയക്കുന്ന പാക്കറ്റ് തന്നെ തെറ്റായിരിക്കാം. അങ്കുഷ് പോയി നോക്കി. അയക്കുന്ന ക്യാരക്ടറുകളുടെ ലിസ്റ്റില് പുതുതായി ചേര്ക്കാന് പറഞ്ഞ 0x00 കൂടി ചേര്ത്തിരിക്കുന്നതായി കാണിച്ചുതന്നു.
രണ്ടുപേരും കാന്റീനിലേക്ക് പോയി ഓരോ ചിക്കന് ബര്ഗറടിച്ച് തിരിച്ചുവന്നു. ഇതിനിടയില് ഒരുവിധം ഇന്ററപ്റ്റുകളുടെയും ഡിലേകളുടെയും ഒക്കെ തിയറി മൊത്തം ഡിസ്കസ് ചെയ്ത് പ്രശ്നം അവിടെയൊന്നുമല്ലെന്ന് ഉറപ്പിച്ചിരുന്നു. പിന്നെ കോഡ് റീവാമ്പ് ചെയ്യലായി പണി. പ്രോസസിങ്ങ് സമയം തുല്യമായി വിഭജിക്കുന്ന രീതിയില് കോഡ് മാറ്റുകപോലും ചെയ്തു. ഒടുവില് കാച്ചിക്കുറുക്കി കോഡ് വല്ല കവിതാമത്സരത്തിനും അയക്കാമെന്ന സ്ഥിതിയായി.
പക്ഷെ റിസീവര് മാത്രം വഴങ്ങുന്നില്ല. കൂട്ടക്കൊലയ്ക്കൊരു വഴിയും കൊല്ലേണ്ട ആളുകളുടെ പട്ടികയുമായി പിന്നെ എന്റെ ചിന്താവിഷയം. വിദേശസര്വകലാശാലകള് ഉപഗ്രഹമുണ്ടാക്കുന്നതു മാത്രം ഇന്ത്യയില് റിപീറ്റ് ചെയ്താല് പോരല്ലോ, വെര്ജീനിയ ടെകിനും ഇന്ത്യയില് ഒരു അപരന് വേണ്ടേ? അതും എവിടേം എത്തുന്നില്ല എന്നായപ്പോഴാണ് പെട്ടെന്ന് തലയില് ബള്ബ് മിന്നിയത്. പാക്കറ്റ് അയക്കുന്ന കോഡ് ഒന്നുകൂടി വായിച്ചുനോക്കി. അയക്കുന്ന ക്യാരക്ടറുകളുടെ ലിസ്റ്റില് പുതുതായി 0x00 ചേര്ത്തിരിക്കുന്നെങ്കിലും ക്യാരക്റ്ററുകളുടെ എണ്ണം കൂട്ടാത്തതുകൊണ്ട് അത് അയക്കപ്പെടുന്നില്ല. തല ചുമരിലടിച്ച് പൊളിക്കാനുള്ള പ്രലോഭനമൊഴിവാക്കാന് ഞാന് പോയി ബീന്ബാഗിലേക്ക് വീണു. "ഇത് വര്ക്ക് ചെയ്യുകയാണെങ്കില് എന്നെ കൊല്ലരുത്", അങ്കുഷ് പറഞ്ഞു. കൊല്ലുന്നതിനെപ്പറ്റി ആലോചിക്കേണ്ടി വന്നില്ല.
ഗുണപാഠം :
1. ഡീബഗ് ചെയ്യുമ്പോള് ഒരൈഡിയയും കിട്ടുന്നില്ലെങ്കില് പ്രധാനപ്പെട്ട ഡാറ്റയൊക്കെ ഒന്ന് ഔട്പുട്ട് ചെയ്തുനോക്കുക. പാക്കറ്റിനു പുറമെ റിജക്റ്റഡായ ക്യാരക്റ്ററുകളും കൂടി എവിടെയെങ്കിലും സ്ടോര് ചെയ്തുവച്ചിരുന്നെങ്കില് മൂന്നാലു മണിക്കൂര് വെയിസ്റ്റാകില്ലായിരുന്നു.
2. കമ്പ്യൂട്ടര് സയന്സിനു പകരം ഫിസിക്സെടുത്തത് നന്നായി. ഇടയ്ക്കിടെ ഒരു പ്രോഗ്രാമിംഗ് കോണ്ടസ്റ്റ് ഒക്കെ സഹിക്കാം, പക്ഷെ മുഴുവന് സമയവും ഇതുതന്നെ ചെയ്തുകൊണ്ടിരുന്നാല് ഞാന് പി.എച്.ഡി കുതിരവട്ടത്ത് ചെയ്യേണ്ടിവരും (ഇങ്ങനെയൊക്കെയാണെങ്കിലും ഞാന് ഏറ്റവുമധികം ചെയ്യുന്നത് കോഡിങ്ങാണെന്നത് വേറെ കാര്യം)
Subscribe to:
Posts (Atom)