ദിവസം പതിനെട്ടു മണിക്കൂറോളം കംപ്യൂട്ടറിനുമുന്നിൽ തപസ്സിരുന്ന വർഷങ്ങൾ – 1997 മുതൽ ഇന്നുവരെ – പത്തുവർഷം മുൻപത്തെ ഒന്നോ രണ്ടോ ബ്രേക്കുകൾ ഒഴികെ. ![]()
അന്ന് 1990 കളുടെ അവസാനം.
ഒന്നോ രണ്ടോ പുസ്തകങ്ങൾ വെച്ച് തനിയെ പഠിച്ച C, C++, DOS internals…
അക്കാലത്ത് തൃശൂർ ഫുട്പാത്തിൽനിന്നും ഒരു നിയോഗം പോലെ കിട്ടിയ പഴയൊരു കോഡിങ് സിംഹത്തിന്റെ പുസ്തകം – “Turbo C: Memory Resident Utilities, Screen I/O and Programming Techniques” by Al Stevens. പ്രോഗ്രാമിങ്ങിലെ ആദ്യ ഗുരു… 🙏
ഇന്റർനെറ്റൊന്നുമില്ലാതിരുന്ന അക്കാലത്ത് ആ പുസ്തകത്തിലെ കോഡ് മൊത്തം (ഒരു 4000 LoC വരും) കൈ കൊണ്ട് ടൈപ്പുചെയ്തുണ്ടാക്കിയത് ഇന്നും കയ്യിലുണ്ട്.
അതിൽ നിന്നും അരച്ച് കലക്കി പഠിച്ച DOS ലെ TSR പ്രോഗ്രാമുകൾ ഹരമായിരുന്ന സമയം. DOS ഇന്ററപ്റ്റുകളും ഓരോന്നിന്റെയും രജിസ്റ്റർ വാല്യൂകളും കാണാപ്പാഠമായിരുന്ന സമയം..
TSR കോൺസെപ്റ്റുകൾ ഉപയോഗിച്ച് ഒരു ഗ്രാഫിക്സ് വിൻഡോ മാനേജർ ഉണ്ടാക്കി DOS-ഇൽ എങ്ങനെ ഒരു multitasking OS സിമുലേറ്റ് ചെയ്യാം എന്നതായിരുന്നു അവസാന വർഷ സെമിനാർ ടോപ്പിക്… with working, demo-able prototype… അന്നത്തെ നമ്മുടെ ഇംഗ്ളീഷ് പ്രാവീണ്യവും മാരക സ്റ്റേജ് പ്രെസെൻസും കാരണം സെമിനാർ കേട്ട ഒരു മനുഷ്യനും ഒന്നും മനസ്സിലായില്ല എന്നത് വേറെക്കാര്യം!
എന്തൊക്കെയായാലും അതൊക്കെയായിരുന്നു സുവർണ്ണകാലം… കുട്ടിക്കാലം മുതൽ ഇലക്ട്രോണിക്സിൽ കമ്പം മൂത്ത് സോൾഡറിങ് അയേൺ ചൂടായ മണമില്ലാതെ ഉറങ്ങാനാവാതിരുന്ന ഒരുത്തൻ, എഞ്ചിനീറിങ്ങിനു മറ്റൊരു കോളേജിൽ കിട്ടിയ കംപ്യൂട്ടർ സയൻസ് അഡ്മിഷൻ വേണ്ടെന്നുവെച്ച് തൃശൂർ എഞ്ചിനീറിങ് കോളേജിൽ ഇലക്ട്രോണിക്സ് തെരഞ്ഞെടുത്ത് പഠിക്കാനിറങ്ങി, പിന്നീട് പൂർണ്ണമായും പ്രോഗ്രാമിങിലേയ്ക്കും DOS-ലേയ്ക്കും പിന്നീട് ലിനക്സിലേയ്ക്കും തിരിഞ്ഞ ബി-ടെക്കിന്റെ അവസാന വർഷങ്ങൾ…
ആ ഇലക്രോണിക്സ് ബാക്ഗ്രൗണ്ട് ഈ കമ്പ്യൂട്ടർ എൻജിനീയർക്കു നൽകിയ ഗുണങ്ങൾ ചില്ലറയൊന്നുമല്ല എന്നത് വേറെക്കാര്യം.
അങ്ങനെ ഏതാണ്ട് കാൽ നൂറ്റാണ്ടു മുമ്പ് – അക്കാലത്ത് ആകെയുണ്ടായിരുന്ന ഡെവലപ്മെന്റ് ടൂൾ ആയ Turbo-C യിൽ, അതിന്റെ ഗ്രാഫിക്സ് പാക്കേജ് ആയ BGI (ബോർലാൻഡ് ഗ്രാഫിക്സ് ഇന്റർഫേസ്) ഉപയോഗിച്ച് ഞാൻ എഴുതിയുണ്ടാക്കിയ ഒരു 16-bit പ്രോഗ്രാം ഇന്ന് ലിനക്സിലെ DOS ഇമുലേറ്ററിൽ ഓടുന്നതാണ് ഈ വീഡിയോയിൽ. ഭാവനയും പ്രോഗ്രാമിങ്ങും തമ്മിലുള്ള ഒരു മാരക സംഗമം! 😁
മ്യൂസിക്കും താഴെക്കാണുന്ന രണ്ടു വരികളും ഇന്ന് മിക്സ് ചെയ്തതാണ്. ആ ‘മരങ്ങൾ’ ഫ്രാക്ടൽസ് ആണ് (ചില recursive ഫങ്ഷൻസ് ഉപയോഗിച്ച് എഴുതിയത്). ബാക്കിയൊക്കെ വരയും വൃത്തവും കുത്തുകളും ഫിൽ-കളറും മാത്രം. എല്ലാത്തിനെയും കൂട്ടി ആനിമേറ്റ് ചെയ്യാനായി ഒരു സിമ്പിൾ ടൈമിംഗ് ലൂപ്പ്.