Technology

Switched Hugo

I switched to Hugo as static site generator for my blog on last Sunday. I was using Stagen, a static site generator wrote myself in Node.js, from March of 2016. Why I Abandoned Stagen? One reason is, I wanted to add further features to it, like sitemap generation, taxonomy, etc. However I am not getting enough free time to spare. Also, it is written in Node.js. I found it doesn’t feel comfortable writing JavaScript for this purpose, it looks like event driven nature of JS is not suitable for regular application development.

Switched to Jekyll

I switched to Jekyll from Wordpress for this blog and my website. Why? I was mainly seeking simplicity in blogging. When using Wordress, I have to manage its running, updates, etc, and most of them were not necessary as my sites were not using much features of Wordpress other than publishing of posts. Jekyll has several advantages. Below are some of them that are attractive for using it. Advantages No Programming Language It does not require any specific programming language support to write and publish posts.

ഉബുണ്ടു 14.04 ട്രസ്റ്റി താഹ്ർ

ഉബുണ്ടു 14.04 ഇൻസ്റ്റാൾ ചെയ്തു. ഒരു പൂർണ്ണമായ വിശകലനത്തിന് മുതിരുന്നില്ല. ചില കാര്യങ്ങൾ മാത്രം കുറിക്കാൻ ശ്രമിക്കുന്നു. സ്ഥിരമായി ലിനക്സിലേക്ക് മാറിയപ്പോൾ തുടങ്ങിയതാണ് ഉബുണ്ടു ഉപയോഗം. മറ്റുള്ള വിതരണങ്ങളിലേക്ക് മാറണമെന്നൊക്കെ ഇടക്ക് തോന്നാറുണ്ടെങ്കിലും ഉബുണ്ടു വിട്ടുപിടിക്കാൻ ഇതുവരെ കഴിഞ്ഞിട്ടില്ല. ഇടക്ക് കുറച്ച്കാലം ഡെബിയൻ 7 ഉപയോഗിച്ചു, അത്ര തൃപ്തിതോന്നിയില്ല. പ്രധാനമായും ചില ആപ്ലിക്കേഷനുകൾക്കുള്ള സപ്പോർട്ടിന്റെ അഭാവമാണ് കാരണം. ഇതിനു മുൻപ് 13.10 ആയിരുന്നു കമ്പ്യൂട്ടറിൽ. അതുമാറ്റി 14.04 ഫ്രഷ് ഇൻസ്റ്റാൾ ചെയ്തു. പതിവുപോലെ 10 മിനുട്ടിൽ താഴെ എടുത്തുള്ളൂ ഇൻസ്റ്റാളേഷൻ പൂർത്തിയാവാൻ. ഇൻസ്റ്റാളേഷൻ തൊട്ടുശേഷം തന്നെ അപ്ഡേറ്റുകളും ഉണ്ടായിരുന്നു! ‘Additional Drivers’ പ്രോഗ്രാം വഴി Nvidia GT 740M ന്റെ ഗ്രാഫിക്സ് കാർഡ് ഡ്രൈവറും ഇൻസ്റ്റാൾ ചെയ്യാൻ സാധിച്ചു.

അംഹാറിക്ക് ഭാഷ

അംഹാറിക്ക് ഭാഷ1 എഴുതാനുള്ള പിന്തുണ നാരായത്തിൽ ചേർക്കുന്നതാരംഭിച്ചു. നാരായം പിന്തുണക്കുന്ന ആദ്യത്തെ ആഫ്രിക്കൻ ഭാഷയാണ് അംഹാറിക്ക്. യൂണികോഡിൽ 560 കോഡ് പോയിന്റുകൾ അനുവദിക്കപ്പെട്ടിട്ടുള്ള എത്യോപ്യൻ ലിപിയിലാണ്2 അംഹാറിക്ക് എഴുതുന്നത്. ഇന്ത്യൻ ലിപികളിൽ നിന്നുമൊക്കെ വ്യത്യസ്തമായി വ്യഞ്ജനങ്ങൾ സ്വരങ്ങളുമായി ചേരുന്ന ഒരോ രൂപത്തിനും പ്രത്യേകം കോഡ് പോയിന്റുകളുണ്ട്. അതിനാൽ തന്നെ എത്യോപ്യൻ ലിപിയുടെ യൂണികോഡ് പട്ടിക വലുതാണ്. സാധാരണ ആവശ്യങ്ങൾക്കുള്ളവയ്ക്കായി 384 കോഡ് പോയിന്റുകൾ അനുവദിക്കപ്പെട്ടിരിക്കുന്നു, അതുകൂടാതെ മറ്റാവശ്യങ്ങൾക്കുള്ള 176 കോഡ് പോയിന്റുകൾ കൂടി നീക്കിവയ്ക്കപ്പെട്ടിരിക്കുന്നു. അംഹാറിക്ക് ഭാഷയിൽ പൂജ്യമില്ല എന്നതാണെന്നെ അത്ഭുതപ്പെടുത്തിയ ഒരു കാര്യം, അവർ പൂജ്യത്തെ “ശൂന്യം” അഥവാ “ബാഡോ” (bado) എന്ന് സൂചിപ്പിക്കുക മാത്രം ചെയ്യുന്നു. മറ്റൊന്ന് അവർ സംഖ്യകൾ എഴുതുന്ന രീതിയും വ്യത്യസ്തമാണ്, അവർ സംഖ്യകൾ എഴുതുന്നത് നമ്മൾ വിദ്യാലയങ്ങളിൽ പഠിച്ചപോലെ വലിയ സംഖ്യകൾ ഘടകങ്ങളാക്കുന്നതിനു സമാനമാണ്.

ഐറീറൈറ്റർ: മീഡിയവിക്കി എക്സ്റ്റൻഷൻ

ഷിജുവിന്റെ പ്രേരണ മൂലം വിക്കിയിലൊക്കെ ഉപയോഗിച്ചിരിക്കുന്ന എഴുത്തുപകരണത്തിന്റെ ഒരു മീഡിയ വിക്കി എക്സ്റ്റൻഷൻ പതിപ്പ് വികസിപ്പിച്ചു. അത് ഇവിടെ: http://testwiki.junaidpv.in , ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട് (http://testwiki.junaidpv.in/wiki/Special:Version). പരീക്ഷിച്ചു നോക്കുക. ഇപ്പോൾ വിക്കിയിൽ നിന്നുള്ളതിൽ നിന്നും വ്യത്യസ്തമായി ഒരു ചെക്ക്ബോക്സ് മാത്രമേ ഉണ്ടാകൂ. കൂടാതെ എഴുത്തുപകരണം സജീവമായിരിക്കുമ്പോൾ ഇൻപുട്ട് ബോക്സുകളിൽ നിറവ്യത്യാസം വരുന്ന രീതിയിലാക്കിയിട്ടുണ്ട്. ലോഗിൻ ചെയ്യുന്നതിനുള്ള പാസ്‌വേർഡ് ടൈപ്പ് ചെയ്യുന്ന ഭാഗം, ഫയൽ തിരഞ്ഞെടുക്കുന്ന ഭാഗം അങ്ങനെ ചില ഇൻപുട്ട് ബോക്സുകളെ എഴുത്തുപകരണ പ്രവർത്തിക്കുന്നതിൽ നിന്നും ഒഴിവാക്കിയിട്ടുണ്ട്. അതല്ലാത്ത മിക്കവാറും ഇൻപുട്ട് ബോക്സുകളിലും ഇതുപയോഗിച്ച് വ്യത്യസ്ത ഭാഷ ടൈപ്പിങ്ങ് സാധ്യമാകും. ഇനി ആവശ്യമുള്ള വിക്കികൾക്ക് (വിക്കിപീഡിയയടക്കം) ഈ എക്സ്റ്റൻഷൻ ഇൻസ്റ്റാൾ ചെയ്താൽ മറ്റുപകരണ സഹായമില്ലാതെ ആവശ്യമുള്ള ഭാഷകൾ ടൈപ്പ് ചെയ്യാനുള്ള സൗകര്യം ഉൾപ്പെടുത്താൻ സാധിക്കും.

ക്രോമിൽ H.264 ന് സ്വാഭാവിക പിന്തുണയുണ്ടാവില്ല

എച്ച്.ടി.എം.എല്ലിന്റെ അഞ്ചാം പതിപ്പിലുള്ള വീഡിയോ ടാഗ് വഴി H.264 ഫോർമാറ്റിലുള്ള വീഡിയോകൾക്ക് പിന്തുണ ഉണ്ടാവില്ലെന്ന് ഗൂഗിൾ: http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html ഫയർഫോക്സ്, ഓപ്പറ എന്നിവയെപോലെ വെബ്എം, ഓഗ്ഗ് തിയോറ എന്നിവയ്ക്കാണ് സ്വാഭവിക പിന്തുണയുണ്ടാകുക. മൈക്രോസോഫ്റ്റിന്റെ ഐ.ഇയും, ആപ്പിളിന്റെ സഫാരിയും H.264 നെ പിന്തുണക്കുന്നവയാണ്. സ്വതന്ത്രമല്ലാത്ത വീഡിയോ ഫോർമാറ്റാണ് H.264. ഡീവിഡികളിലും, ഉയർന്ന റെസല്യൂഷൻ പ്രക്ഷേപണ വിതരണ രംഗങ്ങളിലും വ്യാപകമായി ഇത് ഉപയോഗിക്കപ്പെടുന്നുണ്ട്. പക്ഷെ അവരെല്ലാം അതിന് കരം (? റോയൽറ്റി) നൽകുന്നുണ്ട്/നൽകേണ്ടതാണ്, H.264 വീഡിയോ ഫോർമാറ്റ് പിന്തുണക്കുന്ന ഹാർഡ്‌വെയർ നിർമ്മാതാക്കളും ഇതുപോലെ കരം നൽകുന്നുണ്ട്. ഇതിന്റെ പേറ്റന്റ് കൈവശമുള്ള MPEG Licensing Authority യിൽ അംഗങ്ങളാണ് മൈക്രോസോഫ്റ്റും ആപ്പിളും. നമ്മളറിയുന്നില്ലെങ്കിലും വീഡിയോ പ്ലെയർ, ഡീവിഡി തുടങ്ങിയവ വാങ്ങുമ്പോൾ വിലയായി നൽകുന്നതിന്റെ ഒരു പങ്ക് (നാമമാത്രമായിരിക്കാം) ഈ കരം നൽകാൻ ഉപയോഗിക്കപ്പെടുന്നു.

എന്റേയും ഉബുണ്ടു

കുറേ നാളായി ലിനക്സിലേക്ക് മാറണമെന്ന് വിചാരിക്കുന്നു. ലിനക്സ് സാമ്രാജ്യത്തിൽ പേർസണൽ കമ്പ്യൂട്ടിങ്ങിന് നിലവിൽ ഏറ്റവും പ്രചാരത്തിലുള്ളത് ഉബുണ്ടു ആയതിനാൽ അതുപയോഗിക്കാൻ തന്നെയായിരുന്നു ഉദ്ദേശ്യം. ലിനക്സ് ആദ്യമായൊന്നുമല്ല ഉപയോഗിക്കുന്നത്. ആദ്യമായി ലിനക്സ് ഉപയോഗിച്ചത് 2004 തുടക്കത്തിലാണെന്ന് തോന്നുന്നു. ആദ്യം ലിക്സിന്റെ പുസ്തകം വാങ്ങുകയായിരുന്നു അന്ന് ചെയ്തത്. ലിനക്സിലെ കമാന്റൊക്കെ പഠിച്ചെടുത്തേക്കാം എന്നൊന്നു ഉദ്ദേശിച്ചായിരുന്നില്ല, റെഡ്ഹാറ്റ് ലിനക്സിന്റെ ഡി.വി.ഡി. സൗജന്യമായി കിട്ടുമെന്നതുകൊണ്ടാണ് അത് വാങ്ങിയത്. കിട്ടിയത് റെഡ്ഹാറ്റ് ലിനക്സ് 7.3 ആണെന്നുതോന്നു. കിട്ടിയ ഡി.വി.ഡിക്കോ എന്റെ ഡി.വി.ഡി. ഡ്രൈവിനോ എന്തോ കുഴപ്പം ഉണ്ടായിരുന്നതിനാൽ ബൂട്ട് ചെയ്ത് കിട്ടിയതുതന്നെ കുറേ ശ്രമത്തിനുശേഷമാണ്. എന്തോ പ്രശ്നം കാരണം ഷെൽ വഴിയുള്ള തുറക്കലേ അന്ന് സാധിച്ചുള്ളൂ. പിന്നീട് കോളേജ് ലൈബ്രറിയിലെ പുസ്തകങ്ങൾ, മാഗസിനുകൾ തുടങ്ങിയവയിൽ നിന്നാണ് ലിനക്സിന്റെ സി.

ടംബ്ലറിലേക്ക്

വലിയ ബ്ലോഗറൊന്നുമല്ല, എന്നു പറഞ്ഞാലും പോര; ആകെ രണ്ട് പോസ്റ്റുമാത്രമാണ് കാര്യമായി എഴുതിയത്, അതും ഒരേ വിഷയം. കുറേ എഴുതണമെന്നൊക്കെ വിചാരിക്കാറുണ്ട്, ഒന്നു വരാറില്ലെന്നുമാത്രം. അതുപോട്ടെ പറയാൻ വന്നത് എഴുതാം. ഗൂഗിളിന്റെ സേവനങ്ങൾ നന്നായി ഉപയോഗിക്കുന്നുണ്ട്, ഏറ്റവും പ്രധാനപ്പെട്ടത് ജിമെയിൽ തന്നെ. പിന്നെ ഗ്രൂപ്പ്സ്, ഡോക്സ്, കലണ്ടർ അങ്ങനെ പോകുന്നു. ഇങ്ങനെ പോയാൽ ശരിയാവില്ല എന്നു തോന്നുന്നു. എല്ലാം ഗൂഗിളിനെ തന്നെ ഏൽപ്പിക്കരുത് എന്നില്ല. എങ്കിലും ആശ്രയിക്കുന്നത് കുറച്ചെങ്കിലും കുറക്കണമെന്ന് വിചാരിക്കാറുണ്ട്. നിലവിൽ ഗൂഗിളിന്റെ സേവനങ്ങൾ വളരെ മികച്ചതാണ്, മികച്ചതാണെന്ന് പറഞ്ഞാൽ ഇന്റർനെറ്റിലെ സേവനത്തിന്റെ കാര്യത്തിൽ ഗൂഗിൾ തന്നെയാണ് ഒന്നാമതും. എന്നിരുന്നാലും ഒരാൾ തന്നെ ഇന്റർനെറ്റ് എന്ന ഒരു മേഖലയിൽ മേൽക്കോയ്മ നേടുന്നത് നല്ലതിനായേക്കില്ല.

മലയാളത്തിനായുള്ള ലിപ്യന്തരണം

കഴിഞ്ഞ പോസ്റ്റിൽ ലിപ്യന്തരണത്തിനുള്ള ജാവസ്ക്രിപ്റ്റ് പ്രോഗ്രാം നിർമ്മിച്ചതിനെകുറിച്ച് പറഞ്ഞിരുന്നു. പൊതുപയോഗത്തിനുള്ളതും ഏതെങ്കിലും ഭാഷയുമായി ബന്ധിക്കപ്പെട്ടതല്ലത്തതുമായ പ്രോഗ്രാമാണത്. ഏത് ഭാഷയിലേക്കുള്ള ലിപ്യന്തരമാണോ ഉദ്ദേശിക്കുന്നത് അതിനനുസരിച്ചുള്ള റെഗുലർ എക്സ്പ്രഷൻ നിയമങ്ങളുടെ പട്ടിക തയ്യാറാക്കി നൽകി പ്രോഗ്രാമിനു നൽകേണ്ടതുണ്ട്. കഴിഞ്ഞ പോസ്റ്റെഴുതുമ്പോൾ തന്നെ മലയാളത്തിനുള്ള പട്ടിക ഉൾപ്പെടുത്തിയിരുന്നുവെങ്കിലും അത് പൂർണ്ണമായിരുന്നില്ല. നിലവിൽ ആ പട്ടിക മെച്ചപ്പെടുത്തുകയും പൂർണ്ണമാക്കുകയും ചെയ്തു. കഴിഞ്ഞ പതിപ്പിൽ മലയാളം നിയമങ്ങളുടെ പട്ടിക പ്രധാന പ്രോഗ്രാമിന്റെ അതേ ഫയലയിൽ മുകൾ ഭാഗത്തായാണ് നൽകിയിരുന്നത്. പ്രോഗ്രാമിന് ഭാഷയുമായി ബന്ധമില്ലാത്തതിനാൽ തന്നെ ആ പട്ടിക നീക്കം ചെയ്ത് പുതിയ ഫയലിലാക്കി. ഒന്നിലധികം ഭാഷകളിലേക്കുള്ള ലിപ്യന്തരണം ഒരേ സമയത്ത് ലഭ്യമാക്കുന്നതിനുള്ള മുന്നോടിയായാണ് അങ്ങനെ ചെയ്തിരിക്കുന്നത് (ചില കീ കോമ്പിനേഷനുകൾ വഴി ഭാഷ മാറ്റാനുള്ള സൗകര്യം ചേർക്കാൻ ആലോചനയുണ്ട്).

ലിപ്യന്തരണം

ഇംഗ്ലീഷ് അക്ഷരങ്ങളുപയോഗിച്ച് മലയാളവാക്കുകൾ ടൈപ്പ് ചെയ്യുന്നതിനുള്ള ഒരു ലിപ്യന്തരണ ഉപാധി ഉണ്ടാക്കി. പൂർണ്ണമായും ഒരു പുതിയ സൃഷ്ടിയാണിത്, അതായത് ഇതേ കാര്യം സാധിച്ചുതരുന്ന സമാന ഉപകരണങ്ങളിൽ നിന്നുള്ള കോഡ് ശകലങ്ങൾ ഇതിലേക്ക് കടം കൊണ്ടിട്ടില്ല. വളരെ ലളിതമായതും പ്രശ്നത്തെ വിഭജിച്ച് പരിഹരിക്കുന്ന രീതീയിലുള്ളതുമായ ഒരു അൽഗോരിതമാണ് പ്രവർത്തനത്തിനായി തിരഞ്ഞെടുത്തിരിക്കുന്നത്. പ്രോഗ്രാമിനെ ലിപ്യന്തരണത്തിന് സഹായിക്കുന്നത് തുടക്കത്തിൽ ചേർത്തിരിക്കുന്ന റെഗുലർ എക്സ്പ്രഷൻ നിയമങ്ങളുടെ ഒരു പട്ടികയാണ് (പ്രോഗ്രാമിലെ ഒരു അസോസിയേറ്റീവ് അറേ). ഏതെങ്കിലും ഒരു ഭാഷയുമായി ബന്ധപ്പെട്ടല്ല ഈ പ്രോഗ്രാം പ്രവർത്തിക്കുന്നത്. ടൈപ്പ് ചെയ്യുന്ന അക്ഷരവും ടൈപ്പ് ചെയ്യുന്ന സ്ഥാനത്ത് നിലവിലുള്ള അക്ഷരങ്ങളും ചേർത്ത് എന്ത് നിയമമാണോ പട്ടികയിലുള്ളത് അതിനനുസരിച്ച് ടെക്സ്റ്റ്ബോസ്കിൽ മാറ്റം വരുത്തുകയാണ് ചെയ്യുന്നത്.