December 25, 2013

കലണ്ടറുകൾ

ഒരു ഗൂഗിൾ പ്ലസ് പോസ്റ്റ് കണ്ടപ്പോൾ കലണ്ടറുകൾ എത്ര പ്രാവശ്യം വരുമെന്ന് നോക്കണമെന്നു തോന്നി. ഇതാണ് റിസൽട്ട്:
എഡി 1 മുതൽ 5000 വരെയുള്ള കലണ്ടറുകൾ ഓരോന്നും എത്രപ്രാവശ്യം വരുമെന്നെ കണക്ക് ഇതാ:
      1 bd30d102085f9899cb6c2c2060307f85
    167 36f01bef85a89cc8e951955441653a4e
    167 c197d36fcec25aced5da1e93368aa8c3
    168 f93d80b2ff5e304125310452ea18560e
    175 17e88e8be482fd24e98d2de1234b62ea
    177 048b5d0fc88e9f6768bfdc2d7580d8c7
    185 22465bceeda7b12a8e1dbfb8f8ce605d
    185 d4d9912ad523f8bcab60ee8a247e40eb
    535 8cf2c8f2157920ab14211ef3d51829de
    537 1a2b91b95b224758a3f2a88d60f96a89
    537 1ab991e95f86b6efa9364b926cff539c
    537 d50d4d721243c8b0163795fb8dfd3a3c
    538 b450c6e75884ad695c5f8a512b366414
    545 651a68a9dbc555d8629dc50dbdb23a54
    546 08c08487b9fed33686e68872ad833150
ആദ്യത്തെ അക്കം ഒരു കലണ്ടർ എത്ര പ്രാവശ്യം വരുന്നു എന്നും രണ്ടാമത്തേത് കലണ്ടറിന്റെ md5sum-ഉം ആണ്. ഇതനുസരിച്ച് ആകപ്പാടെ 15 കലണ്ടറുകൾ മാത്രമേ ഉള്ളൂ എന്നു കാണാം. 1752ലെ പരിഷ്കാരമില്ലാതിരുന്നെങ്കിൽ 14 എണ്ണമേ ഉണ്ടാകുമായിരുന്നുള്ളൂ. ഇരുന്നൂറിൽ കുറഞ്ഞ എണ്ണമുള്ള കലണ്ടറുകൾ അധിവർഷങ്ങളുടേതാണ്.

md5sum-ഉം കലണ്ടറുമായുള്ള മാപ്പിങ്, ആദ്യം md5sum, രണ്ടാമത് വർഷം എന്ന ക്രമത്തിൽ:
1a2b91b95b224758a3f2a88d60f96a89  - 1
d50d4d721243c8b0163795fb8dfd3a3c  - 2
b450c6e75884ad695c5f8a512b366414  - 3
048b5d0fc88e9f6768bfdc2d7580d8c7  - 4
651a68a9dbc555d8629dc50dbdb23a54  - 5
8cf2c8f2157920ab14211ef3d51829de  - 6
d4d9912ad523f8bcab60ee8a247e40eb  - 8
08c08487b9fed33686e68872ad833150  - 9
1ab991e95f86b6efa9364b926cff539c  - 10
22465bceeda7b12a8e1dbfb8f8ce605d  - 12
17e88e8be482fd24e98d2de1234b62ea  - 16
36f01bef85a89cc8e951955441653a4e  - 20
c197d36fcec25aced5da1e93368aa8c3  - 24
f93d80b2ff5e304125310452ea18560e  - 28
bd30d102085f9899cb6c2c2060307f85  - 1752

ഇത് എങ്ങനെ കണ്ടുപിടിച്ചു എന്ന് ചിന്തിക്കുന്നവർക്ക് വേണ്ടി:
ഒന്നു മുതൽ 5000 വരെയുള്ള കലണ്ടറുകളുടെ md5sum കണ്ടുപിടിക്കാൻ :
for i in `seq 5000`
do
        md5Sum=`cal $i | tail -n +2 | md5sum`
        echo "$md5Sum $i"
done > res

കലണ്ടറുകൾ ഓരോന്നും എത്രപ്രാവശ്യം വരുമെന്ന് കണ്ടുപിടിക്കാൻ :
awk -F"-" '{print $1}' res |sort  |uniq -c  |sort -n

md5sum-ഉം കലണ്ടറുമായുള്ള മാപ്പിങ് :
for m in `awk -F"-" '{print $1}' res |sort  |uniq`; do grep "$m" res | head -1  ; done | sort -n -k 3

വമ്പിച്ച ന്യൂഇയർ ഓഫർ :
വിൻഡോസിൽ ഇതുപോലെ പത്തുമിനിട്ടുകൊണ്ട് ഈ ഡേറ്റ കണ്ടുപിടിക്കാനുള്ള ബാച്ച് ഫയൽ ഉണ്ടാക്കുന്നവരുടെ ലാപ്‌‌ടോപ് ബാംഗ്ലൂരിൽ എത്തിച്ചാൽ ഫ്രീയായി ലിനക്സ് ഇൻസ്റ്റാൾ ചെയ്തു തരുന്നതാണ്

December 18, 2013

Fedora 20 installation

Fedora 20 was released yesterday and I managed to download the DVD by this morning. Pretty soon I found myself installing it in a virtual machine.

The installation procedure was mostly smooth. Few annoyances from Fedora 19 still lingers. When I was installing Fedora 19 for the first time, I clicked "Installation Destination" expecting to see some mechanisms to partition the disk; couldn't find it there. You have to click "Done" to see that - not very intuitive. The story is no different in Fedora 20. You can partition it either automatically or manually once you get that screen.

The software selection is still a bit of disappointment. There are some pre-configured profiles/environments/settings. It is difficult to customize the software selection from here. I guess I need to try this part once again to see how selecting software from different profiles/environments works. Since I use KDE, went with KDE Plasma Workspaces. I remember selecting Firefox somewhere but it was not installed!

The installation process went through without problems. However it took a while (about 10 to 15mins) in the post-installation setup tasks though - may be because it was running in VirtualBox.

After a reboot, I was able to log in to KDE (4.11.3).  Within few minutes of logging in, package kit told me that updates were available for 177 packages :)

Didn't try the new installation much, but will be testing it bit more in the coming days.














December 12, 2013

ID3 Blues

I primarily use Amarok to play my music. One of my long standing gripe about Amarok is it's inability to read the lyrics from the id3 tags. This was not a major issue since the Amarok's lyrics plugins were able to fetch the lyrics from some external sites. However the online retrieval didn't work when I was listening to some new Malayalam songs[1] as the lyrics was not available online. That was when I tried to modify an Amarok plug in to read lyrics from the tags.

Since I had no experience with Qt Script, extracting lyrics using Qt Script  within the plug in was out of question. I thought of extracting the lyrics from the id3 tags using some utilities to a file and read it from the plug in. Tried to extract the lyrics using id3info and id3v2 but no lyrics[2]! Then I briefly considered writing my on program to extract the USLT frame scrapped the idea when I realized how crazy  the id3 format was.

Now I know why Amarok developers haven't implemented the feature to read the lyrics from the id3 tag. No wonder people consider it is easy to fetch lyrics from online instead of reading from the tags[3]. While reading about the id3 tags, I came across this post from Coding Horror - http://www.codinghorror.com/blog/2006/08/a-spec-tacular-failure.html I couldn't agree more. I guess it is high time someone come up with something simple tagging format instead of the id3 mess.

[1] The songs are from http://onam.eenam.com/. It is a nice album released under CC-BY-NC-ND license.
[2] To my surprise exiftool was able to extract the lyrics from the mp3 files. However I could not find a way to trigger the script that extract the lyrics. Finally I had to trigger the script from conky and the plugin was able to read the extracted lyrics from the output file. Since this was very inefficient, I manually copied the lyrics to Amarok's lyrics tab and solved the problem for the time being.
[3] Clementine & mpd fetch lyrics from online lyrics databases.

November 25, 2013

Create smaller pdf files from pdf files that were generated out of images

Wrote this script a while back to shrink the pdf files provided by Kerala Sahitya Akademi, which were made entirely out of image files.
License : GPLv3

https://github.com/primejyothi/shrinkImgPdf

November 24, 2013

Script to extract list of Wikipedia users

userList.sh is a Bash script to download a XML file that lists the user names from the Malayalam Wikipedia with at least one edit. With appropriate change in the URL, it can be used for other languages Wiki's where the API is supported.

https://github.com/primejyothi/wikiUsers

September 24, 2013

സ്വതന്ത്ര സോഫ്റ്റ്‌‌വേർ

ഒരു ഗൂഗ്ഗിൾ പ്ലസ്സ് പോസ്റ്റിൽ എഴുതിയ കമന്റ് പോസ്റ്റാക്കിമാറ്റുന്നു.

സോഫ്റ്റ്‌‌വെയർ സ്വാതന്ത്ര്യം എന്നത് ദൃഷ്ടിഗോചരമായ മറ്റൂള്ള വസ്തുക്കളുടെ വിപണനവും കോപ്പിറൈറ്റും ആയി താരതമ്യം ചെയ്യതാൽ സ്വതന്ത്ര സോഫ്റ്റ്‌‌വേർ എന്ന ആശയം കുറച്ച് കടന്ന കൈ ആണെന്നു തോന്നും. ഞാൻ ഉണ്ടാക്കിയ ഒരു സാധനം വില തരാതെ മറ്റാരെങ്കിലും എടുത്തുകൊണ്ട് പോയി ഉപയോഗിക്കുന്നതു പോലെ. പക്ഷേ സോഫ്റ്റ്‌‌വേർ എന്നത് അറിവ് എന്ന രീതിയിൽ കണ്ടാൽ കാര്യങ്ങൾ മാറും. അറിവ് മൂടിവയ്ക്കാനുള്ളതല്ല, പങ്കുവയ്ക്കാനുള്ളതാണ് നിലയ്ക് നോക്കിയാൽ ഈ പ്രശ്നമുണ്ടോ?

അപ്പോൾ സാമ്പത്തികം എന്ന പ്രശ്നം വരും. സ്വതന്ത്ര സോഫ്റ്റ്‌‌വേറിൽ നിന്നും പണം ഉണ്ടാക്കാൻ പറ്റില്ല എന്നല്ല, സപ്പോർട്ടും മറ്റുമായി പണം ഉണ്ടാക്കാം. റെഡ്ഹാറ്റ് ആണ് നല്ലൊരുദാഹരണം. എല്ലാവർക്കും റെഡ്ഹാറ്റിനെ പോലെ പണമുണ്ടാക്കാൻ പറ്റുമോ എന്നും എങ്ങനെ എന്നും ചോദിച്ചാൽ പറ്റില്ല എന്നും എനിക്ക് കൃത്യമായി അറിയല്ല എന്നും ആയിരിക്കും എന്റെ ഉത്തരം.

മുമ്പൊരിക്കലുമില്ലാത്ത വിധത്തിൽ സോഫ്റ്റ്‌‌വെയർ നമ്മുടെ ജീവിതത്തെ സ്വാധീനിച്ചുകൊണ്ടിരിക്കുകയാണ്. റെഫ്രിജറേറ്റർ, ടിവി, മൊബൈൽ ഫോൺ എന്നിവയിൽ തുടങ്ങി  സൂപ്പർകമ്പ്യൂട്ടറിൽ വരെ ഓടുന്ന ലിനക്സ് സ്വത്രന്ത്രമല്ലായിരുന്നെങ്കിൽ എങ്ങനെയുണ്ടാകും? ഏതെങ്കിലും കമ്പനി ഉണ്ടാക്കുന്ന സാധനം കാശുകൊടുത്ത് വാങ്ങി ഉപയോഗിക്കേണ്ടി വരും. പൈസ കൊടുക്കുന്നത് ഏറ്റവും ചെറിയ പ്രശ്നമാണ്. ആ സോഫ്റ്റ്‌‌വേറിൽ എന്തെങ്കിലും പ്രശ്നമുണ്ടെങ്കിൽ ഉണ്ടാക്കിയ കമ്പനി കനിയണം. പോരാത്തതിന് അവരുടെ നൂറുകൂട്ടം നിബന്ധനകളും കാണും. ഒന്നു രണ്ട് ഉദാഹരണങ്ങൾ പറയാം. പല സോഫ്റ്റ്‌‌വേറുകളും വില മെഷീനിലെ പ്രോസസ്സറുകളുടെ എണ്ണമനുസ്സരിച്ചാണ് നിർണ്ണയിക്കുന്നത്. പ്രോഗ്രാം എഴുതുന്ന കാര്യമെടുത്താൽ രണ്ടു പ്രോസസ്സറും ഇരുപത് പ്രോസസ്സറും അതിനൊരുപോലെ ആയിരിക്കും. അപ്പോൾ പിന്നെ ഒരേ സാധനം ഞാൻ ഉപയോഗിക്കുന്ന രീതിയനുസ്സരിച്ച് വിലയിടുന്നതിൽ എന്തു ന്യായം? സാമ്പാറിലിടാനാണെങ്കിൽ മുളകിന് അഞ്ചു രൂപ, ചിക്കൻ കറിയിലിടാനാണെങ്കിൽ 7 രൂപ, ബിരിയാണിയിലിടാനാണെങ്കിൽ 10 രൂപ എന്നൊക്കെ പറയുന്നതു പോലെ അല്ലേ? അല്ലെങ്കിൽ വയ്ക്കാനുപയോഗിക്കുന്ന പാത്രത്തിന്റെ അളവു നോക്കി വിലയിട്ടാലോ?

ഇതാ മറ്റൊരു കിടിലം ഐറ്റം. ഓറാക്കിൾ ഡേറ്റാബേസിന്റെ പെർഫോർമൻസ് വിവരങ്ങൾ ഒറാക്കിൾ കമ്പനിയുടെ അനുമതിയില്ലാതെ പ്രസിദ്ധപ്പെടുത്തുവാൻ പാടില്ല. http://www.oracle.com/technetwork/licenses/standard-license-152015.html എന്ന പേജിൽ നിന്നും - "You may not: ... - disclose results of any program benchmark tests without our prior consent." മൈക്രോസോഫ്റ്റിന്റെ എസ് ക്യു എൽ സെർവറിനും ഇതുപോലൊരു നിബന്ധനയുണ്ടായിരുന്നു, ഇപ്പോൾ ഉണ്ടോ എന്നു തീർച്ചയില്ല. (http://contracts.onecle.com/aristotle-international/microsoft-eula.shtml, Performance or Benchmark Testing. You may not disclose the results of any benchmark test of either the Server Software or Client Software for Microsoft SQL Server, Microsoft Exchange Server, or Microsoft Proxy Server to any third party without Microsoft's prior written approval) എന്തെങ്കിലും ഒരു സാധനം കൊള്ളാമോ ഇല്ലയോ എന്ന് ഉണ്ടാക്കിയവൻ അപ്രൂവ് ചെയ്ത റിവ്യൂ നോക്കി തീരുമാനിക്കണം. സാധനം കൊള്ളാമോ ഇല്ലയോ എന്ന് പൊതുജന മധ്യത്തിൽ പറയാൻ പാടില്ല. അത്യാവശ്യമാണെങ്കിൽ കാശുകൊടുത്ത് വാങ്ങി ടെസ്റ്റ് ചെയ്തു നോക്കണം. അത് നമ്മുടെ ആവശ്യത്തിനനുസരിച്ച് ഓടിയാൽ ഊട്ടി ഇല്ലെങ്കിൽ ചട്ടി.  നമ്മുടെ സിനിമാക്കാർ ഇതൊന്നും കാണാതിരിക്കട്ടെ, അല്ലെങ്കിൽ സിനിമ കണ്ട് സത്യസന്ധമായ റിവ്യൂ എഴുതുന്ന പരിപാടി നിന്നുപോകും.

മറ്റൊരുകാര്യം - സപ്പോർട്ട്. സോഫ്റ്റ്‌‌വെയർ എത്രകാലം സപ്പോർട്ട് ചെയ്യണമെന്ന് അതുണ്ടാക്കുന്ന കമ്പനികൾ തീരുമാനിക്കും. ഇനി കഷ്ടകാലത്തിനോ/നല്ലകാലത്തിനോ നമ്മൾ പുതിയ മെഷീൻ വാങ്ങുകയോ, ഓപ്പറേറ്റിങ് സിസ്റ്റം അപ്‌‌ഗ്രേഡ് ചെയ്യുകയോ ചെയ്താൽ നേരത്തേ വാങ്ങിയ സോഫ്റ്റ്‌‌വേർ പുതിയ മെഷീനിൽ/ഓഎസിൽ പ്രവർത്തിക്കുമോ എന്ന് ഒരു ഉറപ്പുമില്ല. ചിലപ്പോൾ സോഫ്റ്റ്‌‌വേറിന്റെ പുതിയ വെർഷൻ ഓടണമെങ്കിൽ പുതിയ മെഷീൻ വാങ്ങേണ്ടി വരും. ഞാൻ പണ്ട് വാങ്ങിയ ഒരു സ്കാനർ ഉണ്ട് കൈയ്യിൽ, ഇപ്പോഴും കുഴപ്പമൊന്നുമില്ല. വിൻഡോസ് വിസ്റ്റ ഉള്ള ഒരു ലാപ്‌‌ടോപ്പ് വാങ്ങിയപ്പോൾ ചെറിയ ഒരു പ്രശ്നം. സ്കാനറിന്റെ ഡ്രൈവർ വിസ്റ്റ സപ്പോർട്ട് ചെയ്യില്ല. അതു കാരണം ഇപ്പോഴും ഒരു പഴയ വിൻഡോസ് ഉപയോഗിക്കാൻ ഞാൻ നിർബന്ധിതനായിരിക്കുന്നു.

സ്വതന്ത്ര സോഫ്റ്റ്‌‌വേറുകളുടെ മറ്റൊരു ഗുണം അവയുടെ സോഴ്സ് കോഡ് ആർക്കുവേണമെങ്കിലും വായിക്കുകയും മാറ്റം വരുത്തുകയും ചെയ്യാമെന്നാണ്. ഒരു സാധനം എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നത് കണ്ടുപിടിക്കുന്നത് വളരെയധികം ഉപയോഗമുള്ള കാര്യമാണ്. ഒരു കാർ/ബൈക്ക് എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്ന് ആരെങ്കിലും പറഞ്ഞു തരുന്നതും അത് ഓടിച്ചു നോക്കി അല്ലെങ്കിൽ അഴിച്ചു നോക്കി മനസ്സിലാക്കുന്നതും പോലെയുള്ള വ്യത്യാസം. ഇങ്ങനെ ഒരു കാര്യം മനസ്സിലാക്കാൻ വേണ്ടി ഇറങ്ങിപ്പുറപ്പെടുമ്പോൾ പഠിക്കുന്ന മറ്റുകാര്യങ്ങൾ ബോണസ്സും. കുറച്ചു നാൾ മുമ്പ് ഞാൻ ടാബിലും കംപ്യൂട്ടറിലുമായി ഉപയോഗിക്കുന്ന രണ്ട് സോഫ്റ്റ്‌‌വേറുകളുടെ ഡേറ്റാബേസുകൾ തമ്മിൽ സിങ്ക് ചെയ്യാൻ ഒരു യൂട്ടിലിറ്റി എഴുതി. ഈ പറഞ്ഞ രണ്ടു സോഫ്റ്റ്‌‌വേറുകളും ഓപ്പൺ സോഴ്സ് ആയിരുന്നതിനാൽ അതിന്റെ കോഡ് വായിച്ച് വിശദ വിവരങ്ങൾ മനസ്സിലാക്കാൻ പറ്റിയതിനാൽ യൂട്ടിലിറ്റി ഉണ്ടാക്കാൻ പറ്റി. അല്ലായിരുന്നെങ്കിൽ ഒന്നും നടക്കില്ലായിരുന്നു.

ഇനിയും വളരെയധികം കാരണങ്ങളുണ്ട്. കൂടുതൽ വിവരങ്ങൾക്ക് http://www.gnu.org/philosophy/philosophy.html, http://www.gnu.org/philosophy/why-free.html, http://www.gnu.org/philosophy/pragmatic.html എന്നിവ കാണുക.

September 7, 2013

റിമൈന്ററുകൾ

ചില കമാന്റുകൾ കൃത്യസമയത്ത് എക്സിക്യൂട്ട് ചെയ്തില്ലെങ്കിൽ നമ്മുടെ ജീവിതം കട്ടപ്പൊകയായേക്കും. ഉദാ:
"അടുപ്പത്തിരിക്കുന്ന കൂക്കർ ഏഴെട്ടു മിനിട്ടു കഴിഞ്ഞ് ഓഫ് ചെയ്തേക്കണേ, ഞാൻ കടയിൽ പോയിട്ടു വരാം" അല്ലെങ്കിൽ "പാൽ തണുക്കാൻ വച്ചിട്ടുണ്ട്, പത്തുമിനിട്ട് കഴിഞ്ഞിട്ട് കൊച്ചിനു കൊടുക്കണം കേട്ടോ?"

എന്തെങ്കിലും കാര്യമായി ചെയ്തുകൊണ്ടിക്കുന്ന സമയത്ത് ഇങ്ങനയുള്ളവയ്ക്ക് റിമൈന്റെർ വച്ചില്ലെങ്കിൽ മറന്നുപോവുകയാണ് പതിവ്. ആദ്യമൊക്കെ ഒരു ഷെല്ലിൽ sleep 5m, sleep 10m എന്നൊക്കെ കൊടുത്തിരുന്നെങ്കിലും ടൈമൗട്ട് ആയോന്നറിയാൻ ടെർമിനൽ വിൻഡോയിൽ ഇടയ്ക്ക് പോകണമായിരുന്നു. (ഹാർഡ്വെയർ പ്രശ്നം കാരണം എക്കോ ഉപയോഗിച്ച് ബീപ് ചെയ്യാൻ എന്റെ മെഷീനിൽ പറ്റില്ല). പിന്നെ ഉള്ള ഒരു മാർഗ്ഗം ഏതെങ്കിലും കലണ്ടർ/റ്റു ഡു ആപ്ലിക്കേഷനിൽ റിമൈന്റർ സെറ്റു ചെയ്യുക എന്നതായിരുന്നു. ആപ്ലിക്കേഷനൊക്കെ ഓപ്പൺ ചെയ്തിട്ട്, റിമൈന്റർ സെറ്റ് ചെയ്യാൻ 5:55 നോട് എഴല്ലെങ്കിൽ എട്ട് മിനിട്ട് കൂട്ടിയാൽ അഞ്ച് അറുത്തിരണ്ട് അല്ലെങ്കിൽ അഞ്ച് അറുപത്തി മൂന്നിന് എന്നൊക്കെ കണക്കുകൂട്ടി ഒരു തീരുമാനമാകുമ്പോഴേയ്ക്കും കൊച്ചിനെ അടുപ്പത്തു നിന്നിറക്കിവയ്ക്കാനാണോ അതോ കുക്കറിനു പാലുകൊടുക്കാനാണോ റിമൈന്റർ സെറ്റ് ചെയ്യേണ്ടതെന്നു കൺഫ്യൂഷനാകും. അപ്പോൾ പിന്നെ പെട്ടെന്നു ചെയ്യാൻ പറ്റൂന്നത് ഒരു മെസ്സേജ് പോപ്അപ് ചെയ്യിക്കുക എന്നതാണ്. xmessage ആണ് ഇതിനായി ആദ്യം ഉപയോഗിച്ചു നോക്കിയത്.
sleep 7m; xmessage "Some text"
ഇതിലെ പ്രശ്നം എന്തെന്നാൽ xmessage ന്റെ വിൻഡോ വളരെ ചെറുതായതിനാൽ അത് വരുന്നത് ശ്രദ്ധയിൽപെടില്ല എന്നതാണ്. പകരം ഉപയോഗിക്കാൻ പറ്റുമെന്നു തോന്നിയ dialog കമാന്റിന്റെ മാൻ പേജ് കണ്ടു പേടിച്ചു, kdialog നു മാൻ പേജുണ്ടായിരുന്നുമില്ല. അവസാനം zenityയാണ് നമുക്ക് പറ്റിയതെന്ന തീരുമാനത്തിലെത്തി.
zenity --info --text "Some message" അത്യാവശ്യം നല്ല ഒരു മെസ്സേജ് കാണിക്കുന്നുണ്ടായിരുന്നു. പിന്നെ താമസിച്ചില്ല താഴെ കാണുന്ന ഷെൽ സ്ക്രിപ്റ്റ് remind.sh എന്ന പേരിൽ എഴുതി വച്ചു:
#! /usr/bin/bash
# Script to pop up a message after predefined time

if [[ $# -lt 2 ]]
then
        echo "Usage : `basename $0` time message"
        exit 1
fi
sleepTime=$1
shift

(sleep ${sleepTime}; zenity --info --text "$*") &
ഈ സ്ക്രിപ്റ്റ് ഹോം ഫോൾഡറിലെ bin എന്ന ഫോൾഡറിലാണുള്ളതെങ്കിൽ krunner ഇൽ (alt+f2 in KDE) ~/bin/remind.sh 5m "how are you?" എന്നു കൊടുത്താൽ അഞ്ചുമിനിട്ടു കഴിഞ്ഞ് മെസ്സേജ് വരും.

കുറിപ്പ് 1: ഇത് ടെർമിനലിൽ നിന്നും റൺ ചെയ്താൽ റൺ ചെയ്ത ശേഷം ടെർമിനൽ ക്ലോസ് ചെയ്തില്ലെങ്കിൽ മെസ്സേജ് കാണാൻ വേണ്ടി ആ ടെർമിനലിലേക്ക് തന്നെ പോകേണ്ടി വരുന്നുണ്ട്. അതുകൊണ്ട് ടെർമിനലിൽ നിന്നും റൺ ചെയ്യുകയാണെങ്കിൽ ആ ടെർമിനൽ ക്ലോസ് ചെയ്യുക.

കുറിപ്പ് 2 : ഇതിനേക്കാൾ എളുപ്പമുള്ള വഴികൾ ഉണ്ടെങ്കിൽ ദയവായി പറയുക.

September 2, 2013

ഗൂഗിൾ പിക്കാസ - പകരം എന്ത്?

പണ്ട് വിൻഡോസ് ഉപയോഗിക്കുന്ന കാലം മുതൽ ഫോട്ടോ കളക്ഷൻ മാനേജ് ചെയ്യാൻ ഉപയോഗിച്ചിരുന്നത് പിക്കാസയായിരുന്നു. മുഴുവനായി ലിനക്സിലേക്ക് മാറിയപ്പോഴും പിക്കാസയുടെ ലിനക്സ് വെർഷനായിരുന്നു ഉപയോഗിച്ചിരുന്നത്. കുറച്ചു കാലം മുമ്പ് ഗൂഗിൾ, പിക്കാസയുടെ ലിനക്സ് സപ്പോർട്ട് നിർത്തലാക്കിയെങ്കിലും വൈ‌‌ൻ ഉപയോഗിച്ച് പിക്കാസ ഫെഡോറയിൽ ഉപയോഗിച്ചിരുന്നു. അടുത്ത കാലത്ത് ഞാൻ ഫെഡോറ 19ലേക്ക് അപ്‌‌ഗ്രേഡ് ചെയ്തപ്പോൾ പിക്കാസ വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്യേണ്ടി വന്നു. സിസ്റ്റത്തിലെ ഐഡികൾക്കെല്ലാം ഉപയോഗിക്കാവുന്ന വിധത്തിൽ പൊതുവായ ഒരു പിക്കാസ സെറ്റപ് ഉണ്ടാക്കുന്നത് വലിയ പണിയായതിനാൽ ഓരോ ഐഡികളിലും വൈൻ ഉപയോഗിച്ച് പിക്കാസ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടി വന്നു. ഈ ബുദ്ധിമുട്ടുകാരണം പിക്കാസയ്ക്കു പകരം ഉപയോഗിക്കാവുന്ന സോഫ്റ്റ്വേറുകളെ കുറിച്ച് വീണ്ടും അന്വേഷണം തുടങ്ങി. മുമ്പ് F-Spot, gThumb, digiKam, Shotwell, Darktable ഒക്കെ നോക്കിയെങ്കിലും അതൊന്നും പിക്കാസ പോലെയാകുന്നുണ്ടായിരിന്നില്ല.

മുമ്പ് ഉപയോഗിച്ചു നോക്കിയവയിൽ ഏറ്റവും നല്ലതെന്നു തോന്നിയത് digiKam (http://digikam.org/) ആയിരുന്നു. അന്ന് അത് ഉപയോഗിക്കാതിരിക്കാനുള്ള കാരണം ഫോട്ടോകൾ എല്ലാം അത് ഒരു ഫോൾഡറിലേക്ക് ഇമ്പോർട്ട് ചെയ്യുമെന്നുള്ളതു കൊണ്ടാണ്. ഇമ്പോർട്ട് ചെയ്യാതെ നിലവലുള്ള ഫോൾഡറുക‌‌ൾ തന്നെ digiKamന് ഉപയോഗിക്കാൻ പറ്റുമെന്ന് മനസ്സിലായത് അടുത്തകാലത്താണ് (Settings -> Configure Digikam -> Collections -> Local Collections -> Add Collections). പിന്നെ താമസിച്ചില്ല, ഫോട്ടോകൾ മുഴുവനും ഡിജികാമിലേക്ക് കൊണ്ടുവന്നു.

പിക്കാസയുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ ഡിജികാമിന്റെ എനിക്കിഷ്ടപ്പെട്ട ചില ഫീച്ചറുകൾ
  • ഫോട്ടോകളിലോ, ഫോൾഡറുകളിലോ മാറ്റങ്ങൾ വരുത്തുന്നില്ല. ഏതെങ്കിലും ഫോട്ടോ സ്റ്റാർ മാർക്ക് ചെയ്താൽ പിക്കാസ ആ ഫോട്ടോയുടെ ഫോൾഡറിൽ ഒരു ഫയൽ ഉണ്ടാക്കും. ഡിജികാം അതിന്റെ ഡേറ്റാബേസിലാണ് ഇത്തരം വിവരങ്ങൾ സൂക്ഷിക്കുക.
  • പിക്കാസയിൽ റോ ഫയലുകൾ കാണുമ്പോൾ  പിക്കാസ തന്നെ അതിൽ ചില കറക്ഷനുകൾ വരുത്തിയിട്ടാണ് ഡിസ്പ്ലേ ചെയ്യുക. ഈ കറക്ഷനുകളിൽ നമുക്ക് മാറ്റം വരുത്തുവാൻ പറ്റുമെന്നു തോന്നുന്നില്ല. ഡിജികാമിൽ ഇങ്ങനെ ഒരു പ്രശ്നമില്ല.
  • റോ ഫയലുകൾ പിക്കാസ* സെർച്ച് : പിക്കാസയിൽ ഉള്ളതിനേക്കാൾ വളരെ കൂടുതൽ സെർച്ച് ഓപ്ഷനുകൾ ഡിജികാമിനുണ്ട്. ഫോൾഡറിന്റെ പേരിന്റെ എവിടെനിന്നെങ്കിലുമുള്ളാ ഒരു ഭാഗം മാത്രം കൊടുത്താലും ഡിജികാം അതു കണ്ടുപിടിച്ചു തരും. Exif ഡേറ്റ ഉപയോഗിച്ചും സെർച്ച് ചെയ്യാവുന്നതാണ് (Search -> Advanced Search -> Photograp Information).
  • ചിത്രങ്ങൾ പിക്കാസ/ഫ്ലിക്കർ ഫേസ്ബുക്ക് എന്നിവയിലേക്ക് അപ്‌‌ലോഡ് ചെയ്യുക : ഡിജികാമുപയോഗിച്ച് വളരെയധികം സോഷ്യൽ നെറ്റ്വർക്ക് /ഫോട്ടോ ഷെയറിങ്ങ് സൈറ്റുകളിലേക്ക് ഫോട്ടോകൾ അപ്‌‌ലോഡ് ചെയ്യാൻ പറ്റും. ലിനക്സിൽ പിക്കാസയുടെ ലേറ്റസ്റ്റ് വെർഷനിൽ പിക്കാസ വെബിലേക്ക് അപ്‌‌ലോഡ് ചെയ്യാൻ പറ്റൂന്നില്ല എന്നുകൂടെ പറഞ്ഞുകൊള്ളട്ടേ.
  •  വീഡിയോകൾ : പിക്കാസയുടെ ലിനക്സ് വെർഷനിൽ വീഡിയോകൾ കാണാൻ പറ്റില്ലായിരുന്നു. ഡിജികാമിൽ നല്ല സുന്ദരമായി വീഡിയോകാണാം. വീഡിയോയുടെ തമ്പ്നെയിലുകൾ കാണണമെങ്കിൽ kffmpegthumbnailer അല്ലെങ്കിൽ  ffmpegthumbnailer എന്ന പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യണം.
* അത്യാവശ്യം നല്ല വിധത്തിൽ ഇമേജ് ഏഡിറ്റിങും ചെയ്യാം.

August 9, 2013

DIY Bookends

I've been thinking of making some bookends out of Aluminum/Steel sheets to prevent the books in my bookshelf from falling sideways. As I didn't have right tools to cut the sheets the idea remained idea itself. Today when I saw one of the bicycle spokes I got for a DIY project, I got an idea and implemented it. Here are the steps :
  1. Get enough 12 inch bicycle spokes. (Apparently the bicycle spokes are still measured in inches).
  2. Cut away the 90 degree fold if present and file away the sharp edges.
  3. Make three equally spaced marking (1, 2 & 3) along the spokes dividing it into four equal parts.
  4. Bend the spoke at the marking at the middle (marking 2) to 30 to 45 degrees. If you are not careful, you might bend the spoke at the other places as well. To prevent this, use two empty pens to hold the spoke as shown in the photo.
  5. Now bend the spokes at marking 1 & 3 perpendicular to the plane of the bend at marking 2.
  6. Adjust the angles if necessary.
  7. No more falling books :)

June 15, 2013

ഫോട്ടോ റീസൈസിങ് - കമാന്റ് ലൈനിൽ നിന്നും

ഇമേജ് മാജിക് (ImageMagick) പാക്കേജിൽ ഉൾപ്പെട്ട ഒരു യൂട്ടിലിറ്റിയാണ് convert.
കമാന്റ്‌‌ ലൈനിൽ നിന്നും convert ഉപയോഗിച്ച് ഫോട്ടോകൾ റീസൈസ് ചെയ്യാൻ വളരെ എളുപ്പമാണ്. ഉദാഹരണത്തിന് 3888x2592 ഉള്ള big.jpg നെ 1200x800 ഉള്ള  small.jpg ആക്കുവാൻ താഴെ പറയുന്ന കമാന്റ് ഉപയോഗിക്കുക :

convert -resize 1200x800 big.jpg small.jpg

പ്രത്യേക ശ്രദ്ധയ്ക്ക് : രണ്ടാമത് കൊടുക്കുന്ന പേരിൽ ഫയൽ നിലവിലുണ്ടെങ്കിൽ അത് ഓവർറൈറ്റ് ചെയ്യപ്പെടും, അങ്ങനെ സംഭവിച്ചാൽ നേരത്തേയുണ്ടായിരുന്ന ഫയൽ പുന:സ്ഥാപിക്കാൻ പറ്റിയെന്നുവരില്ല.

June 13, 2013

യൂട്യൂബ് വീഡിയോ ഡൗൺലോഡ് - കമാന്റ് ലൈനിൽ നിന്നും


കംപ്യൂട്ടർ പ്രോഗ്രാമുകളെക്കുറിച്ചുള്ള (ഉദാ. KDE, GNOME) വീഡിയോകൾ യൂട്യൂബിൽ കാണുമ്പോൾ, സ്ക്രീൻ വ്യക്തമായി കാണാൻ നമുക്ക് ഹൈ ക്വാളിറ്റി വീഡിയോയിലേക്ക് മാറേണ്ടി വരും. ബാൻഡ്‌‌വിഡ്ത് പ്രശ്നങ്ങൾ കാരണം പലപ്പോഴും വീഡിയോകൾ സ്മൂത്തായി പ്ലേ ചെയ്യില്ല. ഒരു പോംവഴി വീഡിയോ pause ചെയ്ത് മുഴുവൻ ഡൗൺലോഡായ ശേഷം കാണുക എന്നതായിരുന്നു. കുറച്ചു കാലമായി pause ചെയ്താൽ വീഡിയോ മുഴുവനും ഡൗൺലോഡാകാതിരിക്കുകയും തൽഫലമായി മിസ്റ്റർ ശങ്കർ വീണ്ടും തെങ്ങിലേക്ക് പോവുകയും ചെയ്തു. മറ്റൊരുവഴി ഏതെങ്കിലും ഫയർഫോക്സ് എക്സ്റ്റൻഷൻ ഉപയോഗിക്കുക എന്നതായിരുന്നു. വല്ലപ്പോഴും ഒരു വീഡിയോ ഡൗൺലോഡ് ചെയ്യാൻ വേണ്ടിമാത്രം ഒരു എക്സ്റ്റൻഷൻ ഇൻസ്റ്റാൾ ചെയ്യുന്നത് ഒരു കടന്നകൈയ്യല്ലേ എന്നോർത്ത് വേറെ മാർഗ്ഗങ്ങളന്വേഷിച്ചപ്പോഴാണ് youtube-dl നെ കുറിച്ച് അറിഞ്ഞത്. youtube-dl ന്റെ ഒരു മെച്ചം നമുക്ക് അതുപയോഗിക്കുന്ന ബാൻഡ്‌‌വിഡ്ത് നിയന്ത്രിക്കാം എന്നാണ്.

ആദ്യത്തെ പരിപാടി youtube-dl ഇൻസ്റ്റാൾ ചെയ്യുക എന്നതാണ്
ഉബുണ്ടു : sudo apt-get install youtube-dl എന്ന് ടെർമിനലിൽ നിന്നും റൺ ചെയ്യുക.
ഫെഡോറ : sudo yum install youtube-dl എന്ന് ടെർമിനലിൽ നിന്നും റൺ ചെയ്യുക.

ഒരു വീഡിയോ youtube-dl ഉപയോഗിച്ച് ഡൗൺലോഡ് ചെയ്യുന്നതെങ്ങനെ എന്നു നോക്കാം. ഇതിനായി KDE 4.10നെ കുറിച്ചുള്ള KDE 4.10: The Fastest And Most Polished KDE Ever എന്ന വീഡിയോ നമുക്ക് ഡൗൺലോഡ് ചെയ്യാം.
(Edit : പോസ്റ്റ് ചെയ്തപ്പോൾ യൂട്യൂബ് ലിങ്കുകൾ ശരിയായി കാണുന്നില്ല അതിനാൽ ഈ പോസ്റ്റിൽ ഷോർട്ട് യുആർഎൽ ഉപയോഗിക്കുന്നു)

ആദ്യം ഏതൊക്കെ ഫോർമാറ്റ്/സൈസ് വീഡിയോ ഉണ്ടെന്നു കണ്ടുപിടിക്കണം. youtube-dl -F  http://goo.gl/8Dwfx  എന്ന കമാന്റ് റൺ ചെയ്താൽ താഴെക്കാണുന്നതുപോലെ ഔട്ട്പുട്ട് കിട്ടും :
[prime@ford lm]$ youtube-dl -F KDE 4.10: The Fastest And Most Polished KDE Ever
[youtube] Setting language
[youtube] Fqe5ZcXJUHI: Downloading video webpage
[youtube] Fqe5ZcXJUHI: Downloading video info webpage
[youtube] Fqe5ZcXJUHI: Extracting video information
Available formats:
46      :       webm    [1080x1920]
37      :       mp4     [1080x1920]
45      :       webm    [720x1280]
22      :       mp4     [720x1280]
44      :       webm    [480x854]
35      :       flv     [480x854]
43      :       webm    [360x640]
34      :       flv     [360x640]
18      :       mp4     [360x640]
5       :       flv     [240x400]
17      :       mp4     [144x176]

നമുക്ക് 720x1280 സൈസിലുള്ള mp4 വീഡിയോ ആണ് വേണ്ടതെന്നു കരുതുക. അത് ഡൗൺലോഡ് ചെയ്യാൻ youtube-dl -f 22  http://goo.gl/8Dwfx എന്നു റൺ ചെയ്താൽ, വീഡിയോ ഡൗൺലോഡാകാൻ തുടങ്ങും:
[prime@ford lm]$ youtube-dl -f 22 KDE 4.10: The Fastest And Most Polished KDE Ever
[youtube] Setting language
[youtube] Fqe5ZcXJUHI: Downloading video webpage
[youtube] Fqe5ZcXJUHI: Downloading video info webpage
[youtube] Fqe5ZcXJUHI: Extracting video information
[download] Destination: Fqe5ZcXJUHI.mp4
[download]   0.8% of 70.17M at  120.36k/s ETA 09:51

ഈ കമാന്റിൽ ചെറിയ എഫ് (മുമ്പത്തേതിൽ ക്യാപ്പിറ്റൽ എഫ് ആയിരുന്നു) ഓപ്ഷനു ശേഷം കൊടുത്ത 22 മുമ്പ് റൺ ചെയ്ത കമാന്റിലെ ഔട്ട്പുട്ടിൽ കണ്ട 720x1280 mp4 നെ സൂചിപ്പിക്കുന്നു. 22നു പകരം മറ്റു നമ്പരേതെങ്കിലും കൊടുത്താൽ അതിനനുസൃതമായ വീഡിയോ ഡൗൺലോഡ് ചെയ്യും. ഇവിടെ "[download] Destination: Fqe5ZcXJUHI.mp4" എന്നു പറഞ്ഞിരിക്കുന്നതു പ്രകാരം Fqe5ZcXJUHI.mp4 എന്ന പേരിലായിരിക്കും വീഡിയോ ഡൗൺലോഡ് ചെയ്തിട്ടുണ്ടാകുക. ഈ പേര് കണ്ടാൽ വീഡിയോ ഏതാണെന്നറിയാൻ പറ്റില്ലല്ലോ? നമുക്ക് ഒരു കമാന്റ്‌‌ ലൈനിൽ നിന്നോ, ഫയൽ മാനേജറുപയോഗിച്ചോ പേരു മാറ്റാം, പക്ഷേ -t എന്ന ഓപ്ഷൻ ‌കൊടുത്താൽ വീഡിയോയുടെ ടൈറ്റിൽ തന്നെ ഫയലിന്റെ പേരായി വരും.
[prime@ford lm]$ youtube-dl -t -f 22 KDE 4.10: The Fastest And Most Polished KDE Ever
[youtube] Setting language
[youtube] Fqe5ZcXJUHI: Downloading video webpage
[youtube] Fqe5ZcXJUHI: Downloading video info webpage
[youtube] Fqe5ZcXJUHI: Extracting video information
[download] Destination: KDE 4.10 - The Fastest And Most Polished KDE Ever-Fqe5ZcXJUHI.mp4
[download]   0.2% of 70.17M at  118.79k/s ETA 10:03

ഇപ്പോൾ ഫയലിന്റെ പേര് KDE 4.10 - The Fastest And Most Polished KDE Ever-Fqe5ZcXJUHI.mp4 എന്നായിട്ടുണ്ട്, Fqe5ZcXJUHI.mp4 നേക്കാൾ മെച്ചമാണ്.

നമ്മൾ ഡൗൺലോഡ് പകുതിവഴിയിൽ  എന്തെങ്കിലും കാരണവശാൽ നിന്നു പോയി എന്നു കരുതുക. വീണ്ടും ഡൗൺലോഡ് ചെയ്യുമ്പോൾ -c എന്ന ഓപ്ഷൻ കൊടുത്താൽ നിന്നുപോയ സ്ഥലത്തുനിന്നും തുടരും.
youtube-dl -c -t -f 22  http://goo.gl/8Dwfx

സാധാരണഗതിയിൽ youtube-dl ലഭ്യമായ മുഴുവൻ ബാൻഡ്‌‌വിഡ്തും ഉപയോഗിക്കും. ആ സമയത്ത് നമുക്ക് ബ്രൗസ് ചെയ്യാൻ ബുദ്ധിമുട്ടായിരിക്കും. -r എന്ന ഓപ്ഷനുപയോഗിക്കുകയാണെങ്കിൽ youtube-dl ഉപയോഗിക്കുന്ന ബാൻഡ്‌‌വിഡ്ത് പരിമിതപ്പെടുത്തുവാൻ സാധിക്കും. ഉദാ:
youtube-dl -r 30 -c -t -f 22  http://goo.gl/8Dwfx ഇവിടെ -r ഉപയോഗിച്ച് സ്പീഡ് 30k ആയി പരിമിതപ്പെടുത്തിയിരിക്കുകയാണ്. ഞാൻ ശ്രദ്ധിച്ച ഒരു കാര്യം, ഒന്നു വച്ചാൽ രണ്ടെന്നെ പോലെ 30 കൊടുത്താൽ 60ൽ ആണ് സ്പീഡ് ലിമിറ്റ് ആകുനെന്നാണ്. 30 വേണമെങ്കിൽ 15 കൊടുക്കേണ്ടി വന്നേയ്കും. ഇതെന്തുകൊണ്ടാണെന്ന് എനിക്കിപ്പോൾ അറിയില്ല.

കുറിപ്പ്:
youtube-dl ന്റെ പേരിൽ KDE യെ പ്രമോട്ട് ചെയ്യുന്നതാരും ശ്രദ്ധിച്ചില്ലെന്നു വിശ്വസിക്കുന്നു.

Edit 2014-April-08

ഉബുണ്ടുവിന്റെ പഴയ വെർഷനുകളിൽ youtube-dl ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ അതിന്റെ പഴയ വെർഷനുകൾ ഇൻസ്റ്റാൾ ചെയ്യപ്പെടുന്നതായാണ് കണ്ടിട്ടുള്ളത്. അതിനാൽ അവ ശരിയായി പ്രവർത്തിക്കണമെന്നില്ല. അങ്ങനെവരികയാണെങ്കിൽ youtube-dl -U  എന്നു കൊടുത്ത് youtube-dl അപ്ഡേറ്റ് ചെയ്തു നോക്കുക.

ഡയസ്പോറയിൽ ഇതു പോസ്റ്റ് ചെയ്തപ്പോൾ സർവശ്രീ Anoop Narayanan, Akhilan | അഖിലൻ **, Jishnu ** എന്നിവർ പങ്കുവെച്ച കൂടുതൽ വിവരങ്ങൾ ചേർക്കുന്നു.
youtube-dl ഇല്ലാത്തവർക്ക് http://www.keepvid.com എന്ന സൈറ്റിൽ പോയാൽ വീഡിയോകൾ ഇതുപോലെ ഡൗൺലോഡ് ചെയ്യാനുള്ള സൗകര്യം ലഭിക്കുന്നതാണ്.

youtube-dl ല്‍ പ്ലേലിസ്റ്റ് ഡൗണ്‍ലോഡ് ചെയ്യുമ്പോള്‍ ഓഡര്‍ പോലെ പേരിനുമുമ്പില്‍ സംഖ്യ കൊടുക്കുവാന്‍ സാധിക്കും. -A --autonumber-size 3 ഇങ്ങനെ കൊടുത്താല്‍ 001, 002... എന്നു് ഫയലിന് prepend ചെയ്തു് വരുന്നതാണ്.
വളരെ ഉപയോഗപ്രദമായ audio conversion ആണ് -x ഓപ്ഷൻ :  -x --audio-format mp3 --audio-quality 0 default ആയി audio extract ചെയ്താല്‍ വീഡിയോ ഫയല്‍ ഡിലീറ്റ് ചെയ്യും -k കൊടുത്താല്‍ അത് ചെയ്യില്ല.

June 3, 2013

കമാന്റ്‌‌ ലൈനിൽ നിന്നും ഓഡിയോ റിക്കോർഡിങ്

 കുറച്ചു ദിവസം മുമ്പ് പ്ലേ ചെയ്തുകൊണ്ടിരിക്കുന്ന ഓഡിയോ കുറച്ച് റിക്കോർഡ് ചെയ്യേണ്ട ആവശ്യമുണ്ടായി. സൗണ്ട് സിസ്റ്റം കുറച്ചുനാൾ മുമ്പ് പണിഞ്ഞ് ഒരു വഴിക്കാക്കിയതിനാൽ  audacityയിൽ കാര്യം നടന്നില്ല. എന്നാൽ പിന്നെ കമാന്റ് ലൈൻ തന്നെ ശരണം എന്നു കരുതി ആ വഴിക്ക് അന്വേഷണം തുടങ്ങി. അവസാനം pacat & sox ഉപയോഗിച്ച് താഴെ പറയുന്നതു പോലെ ഓഡിയോ റെക്കോർഡ് ചെയ്യാമെന്ന് ഒരിടത്തു കണ്ടു.
1. ഓഡിയോ ഡിവൈസ് കണ്ടുപിടിക്കുക : ടെർമിനലിൽ നിന്ന്
pacmd list |grep monitor എന്നു റൺ ചെയ്യുക. ഈ കമാന്റ്‌‌ റൺ ചെയ്യുമ്പോൾ താഴെ കാണുന്നവിധം ഔട്ട്പുട്ട് കിട്ടും. അതിൽ  "alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" എന്നതാണ് നമുക്ക് വേണ്ട സിങ്ക് സോഴ്സ്.
        monitor source: 0
        name:
        monitor_of: 0
                device.class = "monitor"
                alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#0: Monitor of Internal Audio Analog Stereo

2. pacat --record -d  alsa_output.pci-0000_00_1b.0.analog-stereo.monitor| sox -t raw -r 44100 -e signed-integer -L -b 16 -c 2 - "output.ogg" എന്ന കമാന്റിൽ -d ക്കു ശേഷം നേരത്തേ കണ്ടുപിടിച്ച സിങ്ക് സോഴ്സ് കൊടുത്ത് റൺ ചെയ്താൽ ആ സമയത്ത് കമ്പ്യൂട്ടർ പ്ലേ ചെയ്തുകൊണ്ടിരിക്കുന്ന ഓഡിയോ output.ogg എന്ന ഫയലിൽ കിട്ടും. റിക്കോർഡിങ് നിർത്താൻ ctrl+c അമർത്തുക.

ഇനി ഈ .ogg ഫയൽ mp3 ആക്കണമെങ്കിൽ ffmpeg -i output.ogg output.mp3 എന്ന കമാന്റ്‌‌ റൺ ചെയ്താൽ output.mp3 എന്ന mp3 ഫയൽ കിട്ടും.

May 27, 2013

ഓഫ്‌‌ലൈൻ മലയാളം നിഘണ്ടു

ഏതാനും ദിവസങ്ങൾക്ക് മുമ്പ് olam.in റിലീസ് ചെയ്ത (http://olam.in/open/datuk/‌‌) മലയാളം പദസമുച്ചയമുപയോഗിക്കുന്ന ഒരു ഓഫ്‌‌ലൈൻ മലയാളം - മലയാളം നിഘണ്ടു നിങ്ങൾക്കായി സമർപ്പിക്കുന്നു. ലിനക്സിനു വേണ്ടി എഴുതിയ ഈ പ്രോഗ്രാം വിൻഡോസിലേക്ക് ക്രോസ് കമ്പൈൽ ചെയ്തിട്ടുണ്ട്. അതിനാൽ വിൻഡോസിൽ ചില്ലറ കുഴപ്പങ്ങളുണ്ടായേക്കാം. താഴെ നല്കിയിട്ടുള്ള ലിങ്കുകളിൽ നിന്ന് ലിനക്സ്/വിൻഡോസ് വെർഷനുകൾ ഡൗൺലോഡ് ചെയ്യാവുന്നതാണ്.

ലിനക്സ് : http://goo.gl/yvCC9  (https://drive.google.com/folderview?id=0Bzw-OGqyq_FwTklzR0NCaDc1QVU&usp=sharing)

വിൻഡോസ് : http://goo.gl/B4R7l (https://drive.google.com/folderview?id=0Bzw-OGqyq_FwSTVxbGlSSlc3Y28&usp=sharing)

SQLite ഡേറ്റാബേസിലേക്ക് ഇംപോർട്ട് ചെയ്യാനുള്ള സ്ക്രിപ്റ്റുകൾ : http://goo.gl/fXhxr  (https://drive.google.com/folderview?id=0Bzw-OGqyq_FwTGsyZE02QWM5aDA&usp=sharing) ദതുക് കോർപ്പസ് ഫയലിൽ നിന്നും SQLite ലേക്ക് ഇംപോർട്ട് ചെയ്യുവാൻ മാത്രമേ ഈ സ്ക്രിപ്റ്റകൾ ആവശ്യമുള്ളൂ. നിഘണ്ടു പ്രോഗ്രാമിന് ഇവ ആവശ്യമില്ല.

Source code under GPL Licence : https://github.com/primejyothi/mlDict



May 13, 2013

ഡാറ്റാ റിക്കവറി പ്രോഗ്രാം

എസ് ഡി കാർഡിൽ നിന്നൊക്കെ ഫോട്ടോ, വീഡിയോ എന്നിവ റിക്കവർ ചെയാൻ : http://www.cgsecurity.org/wiki/PhotoRec

ഇതുപയോഗിച്ച് കറപ്റ്റായ ഒരു മൈക്രോ എസ് ഡി കാർഡിൽ നിന്നും ഫോട്ടോകളും വീഡിയോകളും പ്രശ്നമൊന്നുമില്ലാതെ റിക്കവർ ചെയ്തു. ഒരേ ഒരു പ്രശ്നം റിക്കവർ ചെയ്ത ഫയലുകളുടെ പേരുകൾ ഒരു വിധമായിരിക്കുമെന്നാണ്. exiftool ഉപയോഗിച്ച് ഫോട്ടോകളിൽ നിന്നും ഫോട്ടോ എടുത്ത സമയം എക്സ്റ്റ്രാറ്റ് ചെയ്ത് റീനേം ചെയ്ത്, ടൈം സ്റ്റാമ്പ് ഫോട്ടോ ഏടുത്ത സമയമാക്കി അപ്ഡേറ്റ് ചെയ്യാൻ ഒരു സ്ക്രിപ്റ്റെഴുതി ആ പ്രശ്നം സോൾവാക്കി.

സ്ക്രിപ്റ്റ് ആവശ്യമുള്ളവർക്ക് അത് ഇവിടെ നിന്ന് ഏടുക്കാം‌: http://goo.gl/Ud6IY

May 8, 2013

Blackened new windows and pop up menus in Linux

I was facing this strange problem of new windows and pop up menus blackening after my Fedora 17 system has run for couple of hours. To recover, I have to disable the KDE desktop effects. Once the desktop effects are turned off, things went to normal. However I was unable to turn on the desktop effects until I restart KDE using ctrl + alt + back space. I was thinking that it was a KDE issue, my searches did not yield any results.

Few days back I found that there was an error “intel(0): Failed to submit batch buffer, expect rendering corruption: Resource deadlock avoided” in the Xorg.0.log. Further searches indicated that the blackening is happening due to the bug in Intel video driver and the work around is to use SNA for 3D acceleration. Adding the following line in the “Device” section of /etc/X11/xorg.conf resolved the problem.

Option "AccelMethod" "sna

April 30, 2013

Connecting Android to Linux using MTP

Among the features those were lost during the upgrade from Ice Cream Sandwich to Jelly Bean, the one which I miss most was USB Mass Storage mode. It was the preferred method to backup the files from the Tab and sync the e-books to the Tab from Calibre Library. Calibre was pretty fast to provide support for MTP and syncing e-books were back to normal real soon.

However I was missing the USB mass storage mode as I could not access the files in the tab from the Linux command line for backing up the files. Finally I managed to get it working using mtpfs. The configuration was pretty straight forward but I could not get it work reliably. Most of the time I used to get the message "Transport endpoint is not connected" when trying to access the Tab from the command line. Finally found that mtpfs was crashing with core dump. Looks like the mtpfs for Fedora is broken. Even compiling the latest sources didn't help. Finally managed to get things going using go-mtpfs.

If you are trying to get mtpfs working in Fedora, try go-mtpfs : https://github.com/hanwen/go-mtpfs
Binaries of go-mtpfs are here : http://hanwen.home.xs4all.nl/public/software/go-mtpfs/

April 10, 2013

rsync ഉപയോഗിച്ചുള്ള ഡാറ്റാ ബാക്കപ്

നിങ്ങളുടെ ഡാറ്റയുടെ ബാക്കപ് എടുക്കണമെന്ന് ആഗ്രഹമുണ്ടോ? നിങ്ങൾ പതിവായി ഡാറ്റാ ബാക്കപ് ചെയ്യാറുണ്ടോ? എപ്പോഴെങ്കിലും കമ്പ്യൂട്ടറിന്റെയോ, ഡിസ്കിന്റെയോ തകരാർ കാരണം വിലപിടിച്ച ഡാറ്റാ നഷ്ടപെട്ടിട്ടുണ്ടോ? ഈ ചോദ്യങ്ങളിൽ ഒന്നിനെങ്കിലും അതെ എന്നാണ് നിങ്ങളുടെ ഉത്തരമെങ്കിൽ തുടർന്നു വായിക്കുക. എക്സ്റ്റേണൽ ഡ്രൈവൊക്കെ വാങ്ങി ബാക്കപ്പെടുക്കുന്നതൊക്കെ ചെലവുള്ള പണിയാണെന്നു വിചാരിക്കുന്നവരോട് ഒരു ചോദ്യം കൂടി - നിങ്ങളുടെ ഡാറ്റയാണോ എക്സ്റ്റേണൽ ഡ്രൈവാണോ കൂടുതൽ വിലപിടിച്ചത്?

ഡയറക്ടറികളും ഫയലുകളും മറ്റൊരു സ്ഥലത്തേക്ക് synchronize ചെയ്യുന്ന ഒരു പ്രോഗ്രാമാണ് rsync. മറ്റൊരു സ്ഥലമെന്നത് ഒരേ സിസ്റ്റത്തിലെ വ്യത്യസ്ത ഡയറക്ടറികളോ, രണ്ടു സിസ്റ്റങ്ങളിലെ ഡയറക്ടറികളോ തമ്മിലാകാം. rsync ഉപയോഗിച്ച്, സിസ്റ്റത്തിൽ ചേർത്തിട്ടുള്ള എക്സ്റ്റേണൽ ഡ്രൈവിലേക്ക് ഡാറ്റാ ബാക്കപ്പെടുക്കുന്നത് എങ്ങനെ എന്നാണ് ഈ പോസ്റ്റിൽ വിശദീകരിക്കുന്നത്.

/home/prime/data  എന്ന ഡയറക്ടറിയും അതിലെ ഉള്ളടക്കവും  /externaldrive/backup എന്ന ഡയറക്ടറിയിലേക്ക് ബാക്കപ്പെടുക്കുന്നത് എങ്ങനെ എന്നു നോക്കാം.

rsync -a /home/prime/data  /externaldrive/backup എന്ന കമാന്റ് റൺ ചെയ്താൽ ഡാറ്റ മുഴുവൻ /externaldrive/backup എന്ന ഡയറക്ടറിയിൽ എത്തിയിട്ടുണ്ടാകും. കുഴപ്പമൊന്നുമില്ലെങ്കിൽ ഈ കമാന്റ് നിശബ്ദമായി ഫയലുകൾ ലക്ഷ്യസ്ഥാനത്തേക്ക് പകർത്തും.  -a എന്നത് ആർക്കൈവ് മോഡിൽ ഡേറ്റാ പകർത്തുന്നതിനാണ്.  വളരെയധികം ഫയലുകൾ പകർത്തുമ്പോൾ rsync കുറച്ചധികം സമയമെടുത്തേക്കും. അപ്പോൾ rsync എന്താണ് ചെയ്യുന്നതെന്നറിയാൻ -v എന്ന കമാന്റ് ലൈൻ പരാമീറ്റർ കൊടുത്താൽ മതിയാകും.

rsync -av /home/prime/data  /externaldrive/backup  ഇപ്പോൾ ഫയലുകൾ പകർത്തുന്ന മുറയ്ക്ക് അവയെകുറിച്ചുള്ള വിവരങ്ങൾ rsync ടെമിനലിലേക്ക് എഴുതും.
rsync -av /home/prime/data  /externaldrive/backup > backup.log 2>&1 എന്നാക്കിയാൽ മെസ്സേജുകൾ backup.log എന്ന ഫയലിലേക്ക് എഴുതും.

rsync ആദ്യം ഒരു ഡയറക്ടറിയുടെ ബാക്കപ്പെടുക്കുമ്പോൾ കുറച്ചധികം സമയമെടുക്കും. പിന്നീടുള്ള ബാക്കപ്പുകളിൽ പുതിയ ഫയലുകളും മാറ്റമുള്ള ഫയലുകളും മാത്രം പകർത്തുമെന്നതിനാൽ കൂടുതൽ വേഗത്തിൽ ബാക്കപ് നടക്കും. പുതിയ ഫയലുകളും മാറ്റമുള്ള ഫയലുകളും  rsync തന്നെ കണ്ടുപിടിക്കുമെന്നതിനാൽ യൂസറിന് അതിനെക്കുറിച്ചാലോചിച്ച് ബുദ്ധിമുട്ടേണ്ടതില്ല. ഈ തരത്തിൽ ബാക്കപ്പെടുക്കുമ്പോൾ മാറിയ ഫയലുകൾ ലക്ഷ്യസ്ഥാനത്തുള്ള ഫയലുകളെ മാറ്റുമെന്നതിനാൽ മാറ്റങ്ങളും  പകർത്തപ്പെടും. ഉദാഹരണത്തിന് ബിരിയാണി എന്ന ഫയലിൽ പത്ത് വരികൾ ഉണ്ടായിരുന്നെന്നു കരുതുക. ആദ്യത്തെ ബാക്കപ്പിനു ശേഷം അബദ്ധവശാൽ അതിലെ നാലു വരികൾ മായ്കക്കപ്പെട്ടു എന്നു കരുതുക. അടുത്ത പ്രാവശ്യം rsync ചെയ്യുമ്പോൾ ലക്ഷ്യസ്ഥാനത്തിലെ പത്തു വരിയുള്ള ബിരിയാണി ആറു വരികളുള്ള ബിരിയാണിയായി മാറും. --backup, --backup-dir --suffix എന്നീ ഓപ്ഷനുകളുപയോഗിച്ച് താഴെ പറയുന്ന രീതിയിൽ ഈ പ്രശ്നം ഒരു പരിധിവരെ പരിഹരിക്കാവുന്നതാണ്.

rsync -av --backup --backup-dir=/externaldrive/changes --suffix=.bkup /home/prime/data  /externaldrive/backup

ഇപ്പോൾ മാറ്റമുള്ള ഫയലുകളുടെ പഴയ കോപ്പികൾ /externaldrive/changes എന്ന ഡയറക്ടറിയിൽ .bkup എന്ന എക്സ്റ്റൻഷനോടെ  ഉണ്ടാകും. changes ഡയറക്ടറിയുടെ ഘടന /home/prime/data എന്ന ഡയറക്ടറിയുടേതു പോലെ ആയിരിക്കും. നേരത്തേ പറഞ്ഞ നമ്മുടെ ബിരിയാണി ഫയൽ /home/prime/data/recipe/biriyani എന്നാണെങ്കിൽ ആറുവരിയുള്ള പുതിയ ബിരിയാണി ഫയൽ  /externaldrive/backup/data/recipe/biriyani ആയും  /externaldrive/backup/data/recipe/biriyani ഇൽ നേരത്തേ ഉണ്ടായിരുന്ന പത്തു വരി ബിരിയാണി  /externaldrive/changes/data/recipe/biriyani.bkup എന്ന പേരിലും ഉണ്ടാകും. ഓരോ തവണയും suffix .bkup എന്നായതിനാൽ /externaldrive/changes ഡയറക്ടറിയിൽ തൊട്ടുമുമ്പത്തെ വെർഷൻ മാത്രമേ ഉണ്ടാകൂ. .bkup എന്നതിനു പകരം ഡേറ്റും സമയവും   --suffix ആയി ഉപയോഗിച്ചാൽ എല്ലാ വെർഷനും കിട്ടും.

rsync -av --backup --backup-dir=/externaldrive/changes --suffix= .bkup.`date "+%Y%m%d%H%M%S"` /home/prime/data  /externaldrive/backup

ഇപ്പോൾ ബാക്കപ്പുകൾക്ക് .bkup.YYYYMMDDHHMISS എന്ന രീതിയിൽ എക്സ്റ്റൻഷനുണ്ടാകും.

വെവ്വേറെ ഡയറക്ടറികളുടെ ബാക്കപ്പെടുക്കാൻ ഡയറക്ടറികളുടെ പേരു മാറ്റി rsync റൺ ചെയ്താൽ മതിയാകും. ഇനി ഇതെല്ലാം കൂടി ഒരു ഫയലിലാക്കി കിട്ടിയാൽ കൊള്ളാമെന്നുണ്ടെങ്കിൽ ചെറിയ വ്യത്യാസങ്ങളോടു കൂടി backupScript.sh എന്ന പേരിൽ സംഭവം ഇവിടെ (http://goo.gl/rUdqe) ഉണ്ട്[1].  പല ഡയറക്ടറികൾ സപ്പോർട്ട് ചെയ്യാനായി വിവരങ്ങൾ ഒരു പ്രൊഫൈൽ ഫയലിൽ നിന്ന് റീഡ് ചെയ്യുന്നു. പല ഡിസ്കുകൾക്കായി വെവ്വേറെ പ്രൊഫൈൽ ഫയലുകൾ ഉണ്ടാക്കാവുന്നതാണ്. ഒരു സാമ്പിൾ ഫയൽ extDrive.profile എന്ന പേരിൽ ഇവിടെയുണ്ട് : http://goo.gl/zewX7

സ്ക്രിപ്റ്റ് റൺ ചെയ്യുന്ന വിധം.
1. സ്ക്രിപ്റ്റും സാമ്പിൾ പ്രൊഫൈലും ഡൗൺലോഡ് ചെയ്യുക.
2. chmod u+x backupScript.sh എന്നു കമാന്റ് റൺ ചെയ്യുക. സ്ക്രിപ്റ്റ് ഫയലിന്  എക്സിക്യൂട്ട് പെർമിഷൻ കൊടുക്കാനാണിത്.
3. ഏതെങ്കിലും ടെക്സ്റ്റ് എഡിറ്റർ ഉപയോഗിച്ച് സാമ്പിൾ പ്രൊഫൈലിൽ (extDrive.profile) ആവശ്യം വേണ്ട മാറ്റം വരുത്തുക.
    അ. CTRL|backupdir|/externaldrive/changes എന്ന ലൈനിലെ /externaldrive/changes എന്ന പഴയ വെർഷനുകൾ സൂക്ഷിക്കുന്ന ഡയറക്ടറിയുടെ പേര് നിങ്ങളുടെ ആവശ്യാനുസരണം മാറ്റുക.
    ആ. /home/user/data|/externaldrive/bkup എന്ന ലൈനിൽ ആദ്യത്തെ ഡയറക്ടറി ബാക്കപ്പെടുക്കേണ്ട ഡയറക്ടറിയാണ്. രണ്ടാമത്തേത് ലക്ഷ്യസ്ഥാനവും. ഇതു രണ്ടും തമ്മിൽ വേർതിരിക്കുന്നത് പൈപ്പ് (|) ഉപയോഗിച്ചാണ്. പൈപ്പ് ഇല്ലെങ്കിൽ സ്ക്രിപ്റ്റ് ശരിയായി പ്രവർത്തിക്കില്ല.
    ഇ. കൂടുതൽ ഡയറക്ടറികൾ ബാക്കപ്പെടുക്കണമെങ്കിൽ കൂടുതൽ ലൈനുകൾ ചേർക്കാവുന്നതാണ്.
    ഈ. ലൈനുകൾ കമന്റു ചെയ്യാൻ ലൈനിന്റെ ആദ്യം # ചേർത്താൽ മതി.
4. backupScript.sh extDrive.profile എന്നു ടെർമിനലിൽ റൺ ചെയ്യുക.

[1] rsyncഉം  ഈ സ്ക്രിപ്റ്റിന്റെ മുൻഗാമികളും  കാരണമാണ് രണ്ടു പ്രാവശ്യം ലാപ്ടോപ് അടിച്ചു പോയിട്ടും, പല പ്രാവശ്യം എക്സ്റ്റേണൽ/ഇന്റെണൽ ഡ്രൈവുകൾ കുളമാ(ക്കി)യിട്ടും എന്റെ ഡാറ്റ സുരക്ഷിതമായിരിക്കുന്നതെന്ന് നന്ദിപൂർവം സ്മരിച്ചുകൊള്ളുന്നു.

April 8, 2013

സമയം കൊല്ലൽ കമാന്റുകൾ

കഴിഞ്ഞ ചില പോസ്റ്റുകളിലായി ലിനക്സ് പരീക്ഷിച്ചു നോക്കാനുള്ള രീതികളെ കുറിച്ചു  എഴുതിയിരുന്നല്ലോ, ഇനി ഒന്നു രണ്ട് ചെറിയ കമാന്റുകൾ ടെർമിനലിൽ ചെയ്തു നോക്കാം
ആദ്യത്തേത് ബാനർ (banner) കമാന്റാണ്. പേരു സൂചിപ്പിക്കുന്നതുപോലെ വാക്കുകൾ വലിയ അക്ഷരങ്ങളിൽ എഴുതുകയാണിതന്റെ ജോലി. ഉദാ:

banner Hello

നിലവിൽ ബാനർ കമാന്റിന് മലയാളമറിയാത്തതിനാൽ മലയാളത്തിൽ ബാനറെഴുത്ത് നടക്കില്ല. ബാനർ കമാന്റ് ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ അത് ഇൻസ്റ്റാൾ ചെയ്യാൻ ഈ കമാന്റ് ഉപയോഗിക്കാം:
ഉബുണ്ടുവിൽ : sudo apt get install banner
ഫെഡോറയിൽ : sudo yum install banner

ബാനർ കമാന്റിനെക്കാളും രസമുള്ള കമാന്റാണ് sl. പലപ്പോഴും ls നു (ഫയലുകളുടെ പേര് ലിസ്റ്റ് ചെയ്യുന്ന കമാന്റ്, ഡോസിലെ dir പോലെ) പകരം sl എന്നു തെറ്റായി ടൈപ്പുചെയ്യപ്പെടാറുണ്ട്. അങ്ങനെ sl എന്നു ടൈപ്പു ചെയ്താൽ ഒരു തീവണ്ടി ടെർമിനലിൽ കൂടി ഓടിപ്പോകുന്നതു കാണാം.
sl ഇൻസ്റ്റാൾ ചെതിട്ടില്ലെങ്കിൽ ഇങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം:
ഉബുണ്ടുവിൽ : sudo apt get install sl
ഫെഡോറയിൽ : sudo yum install sl

cowsay, cowspeak എന്നിങ്ങനെ വേറെ ചില കമാന്റുകളുമുണ്ട്, അതൊക്കെ പരീക്ഷിച്ചു നോക്കുക.

സംസാരിക്കുന്ന ലിനക്സ്

ഇന്നു നമ്മൾ പരിചയപ്പെടാൻ പോകുന്ന കമാന്റാണ് espeak. ഇത് ഒരു ടെക്സ്റ്റ് റ്റു സ്പീച്ച് സിന്തസൈസറാണ്. സ്പീക്കർ ഓൺ ചെയ്ത് അല്ലെങ്കിൽ ഹെഡ്ഫോൺ കണക്റ്റ് ചെയ്ത ശേഷം ടെർമിനലിൽ ഈ കമാന്റ്‌‌ റൺ ചെയ്യുക :

espeak "Hello world"

(espeak ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ ഉബുണ്ടുവിൽ sudo apt-get install espeak എന്ന കമാന്റുപയോഗിച്ചും ഫെഡോറയിൽ sudo yum install espeak എന്ന കമാന്റുപയോഗിച്ചും  ഇൻസ്റ്റാൾ ചെയ്യാം)

ഹലോ വേൾഡ് എന്ന് നിങ്ങൾക്ക് കേൾക്കുവാൻ കഴിയും. പറയുന്നതിന്റെ വേഗത കൂട്ടണമെങ്കിൽ -s (വേഗത, മിനിട്ടിൽ എത്ര വാക്കുകൾ) എന്ന കമാന്റ് ലൈൻ പരാമീറ്റർ ഉപയോഗിച്ച് വേഗത കൂട്ടുകയോ കുറയ്ക്കുകയോ ചെയ്യാം. ഉദാഹരണത്തിന് espeak -s 20   "Hello world" എന്നു കൊടുത്താൽ ഹലോഓഓ... വേഏഏൾഡ്.. എന്ന് കേൾക്കാം. ശതാബ്ദി പോകുന്ന വേഗത്തിൽ വേണമെങ്കിൽ espeak -s 300   "Hello world" എന്നു കൊടുത്താൽ മതി.

പിച്ച് മാറ്റണമെങ്കിൽ -p (പിച്ച്, 0 മുതൽ 100 വരെ) എന്ന പരാമീറ്റർ ഉപയോഗിക്കാം. espeak -p 99 "Hello world" എന്നു കൊടുത്താൽ പിച്ചിൽ വരുന്ന വ്യത്യാസം മനസ്സിലാക്കാം.

വേഗതയും പിച്ചും ഒരുമിച്ചു മാറ്റാൻ രണ്ട് ഓപ്ഷനുകളും ഒരുമിച്ചു കൊടുക്കാം. ഇവിടെ പരാമീറ്ററുകളുടെ ക്രമത്തിന് പ്രാധാന്യമില്ല espeak -s 50 -p 75 "Hello World" ഉം  espeak -p 75 -s 50 "Hello World"ഉം ഒന്നു തന്നെയാണ്. ശ്രദ്ധിക്കേണ്ട ഒരു കാര്യം ഒന്നിലധികം വാക്കുകൾ ഉണ്ടെങ്കിൽ അവയെ ക്വോട്ടുകൾക്കുള്ളിൽ ഉൾപ്പെടുത്തണമെന്നാണ്.

അടുത്ത ചോദ്യം  espeak നു മലയാളമറിയാമോ എന്നല്ലേ? espeak, ബാനർ പോലെ അല്ല, മലയാളവും സംസാരിക്കും, പക്ഷേ ഒരു പടിഞ്ഞാറൻ ചുവയുണ്ടെന്നാണ് എന്റെ അഭിപ്രായം. "ആശാനേ, സുഖമാണോ?" എന്നു ലിനക്സിനെ കൊണ്ട് ചോദിപ്പിക്കുവാൻ
espeak -v ml "ആശാനേ, സുഖമാണോ?"
എന്ന കമാന്റ് കൊടുത്താൽ മതി. ഇതിൽ -v ml  എന്ന പരാമീറ്റർ മലയാളം ഉപയോഗിക്കാനുള്ള സൂചനയാണ്. മലയാളം കൂടാതെ മറ്റു പല ഭാഷകളും espeak സപ്പോർട്ട് ചെയ്യുന്നുണ്ട്. അവയുടെ വിവരങ്ങൾ കാണാൻ   espeak --voices എന്ന കമാന്റ്‌‌ കൊടുത്താൽ മതിയാകും. ഈ കമാന്റിലെ പരാമീറ്ററിന്റെ വ്യത്യാസം ശ്രദ്ധിച്ചോ? രണ്ട് മൈനസും പിന്നെ വോയ്സ് എന്നും. ഇത് ലോങ് പരാമീറ്ററാണ്, ഓർക്കാനുള്ള സൗകര്യത്തിനാണ് ലോങ് പരാമീറ്ററുകൾ. ലോങ് പരാമീറ്ററുകളെ അടയാളപ്പെടുത്താനാണ് രണ്ട് മൈനസ് സൈനുകൾ ഉപയോഗിക്കുന്നത്. കമാന്റ്‌‌ ലൈൻ പരാമീറ്ററുകളെ കുറിച്ച് മറ്റൊരിക്കൽ എഴുതാം.

കമാന്റ് ലൈനിൽ വാക്കുകൾ ഓരോ തവണയായി കൊടുക്കുന്നതിനു പകരം ടൈപ്പു ചെയ്യുന്ന മുറയ്ക്ക് സംസാരിപ്പിക്കുവാനുമാകും. espeak -v ml എന്നു ടൈപ്പു ചെയ്ത് എന്റർ കീ അമർത്തുക. ഇനി ടൈപ്പു ചെയ്യുന്നതെല്ലാം എന്റർ കീ അമർത്തിയാലുടൻ കേൾക്കുവാൻ കഴിയും. espeak ഇൽ നിന്നും പുറത്തു വരുവാൻ ctrl + d അമർത്തുക.

ഒരു മലയാളം ടെക്സ്റ്റ് ഫയലിനെ വായിക്കണമെന്നുണ്ടെങ്കിൽ espeak -v ml < file_name എന്നു കൊടുത്താൽ മതി. ("<" എന്നത് input redirection ഓപ്പറേറ്ററാണ്, ഇതിനെക്കുറിച്ചും വിശദമായി മറ്റൊരിക്കൽ എഴുതാം.)

നിങ്ങളുടെ ലിനക്സിന് നിങ്ങളോടു പലതും പറയാനുണ്ടാകും, പിന്നെ കാണാം.

March 27, 2013

ഞെട്ടിപ്പിക്കുന്ന ചില സത്യങ്ങൾ

എന്റെ പ്രിയപ്പെട്ട സുഹൃത്തുക്കളേ,
നിങ്ങൾക്കുവേണ്ടി ലിനക്സിനേയും  ലിനക്സ് കമാന്റുകളെയും  കുറിച്ച് എന്തെങ്കിലും എഴുതാമെന്നു കരുതി ചില വിവരങ്ങൾ അന്വേഷിക്കുന്നതിനിടയിൽ നമ്മൾ ഫ്രീ എന്നും, സ്വതന്ത്രം എന്നുമൊക്കെ കരുതിയിരുന്ന ലിനക്സിനെ കുറിച്ച് ചില ഞെട്ടിക്കുന്ന വിവരങ്ങൾ കിട്ടി. ആ വിവരങ്ങൾ ഞാൻ നിങ്ങളുമായി പങ്കിടുകയാണ്.

കുത്തകകളുടെ നാടായ അമേരിക്കയിലെ ഒരു ലിനസിനാണ് ലിനക്സിന്റെ ട്രേഡ്മാർക്ക് ഉടമസ്ഥാവകാശമെന്ന് നിങ്ങൾക്കറിയാമോ? ഓപ്പൺ, സ്വതന്ത്രം എന്നൊക്കെ പറഞ്ഞ് ലിനക്സ് ചെയ്യുന്നത് സ്വേച്ഛാധിപത്യവും അടിച്ചമർത്തലുമാണെന്ന് പിന്നെയുള്ള അന്വേഷണത്തിൽ ഞാൻ മനസ്സിലാക്കി. ലിനക്സിലെ പല കമാന്റുകളും സ്വേച്ഛാധിപരവും അടിച്ചമർത്താനുമുള്ള ഉപാധികളാണെന്ന് ഞാൻ വളരെ വൈകിയാണ് മനസ്സിലാക്കിയത്. നിങ്ങക്ക് വിശ്വാസമാകില്ലെന്നറിയാം, ഇതാ, അടിച്ചമ‌‌ർത്താനും മർദ്ദിക്കാനും എന്തിന് കൊല്ലുവാനും പോലും ഉപയോഗിക്കുന്ന ചില ലിനക്സ് കമാന്റുകൾ.

split : ഒരുമിച്ചു നില്ക്കുന്നവരെ വേർപിരിക്കുക
join : സ്വതന്ത്രരായവരെ ബലമായി പിടിച്ച് യോജിപ്പിക്കുക
kill, xkill : കൊല്ലുക
vi : ആറ് എന്ന സംഖ്യയുടെ റോമൻ രൂപം, ചെകുത്താന്റെ എക്സ്റ്റൻഷൻ നമ്പരെന്നു പരക്കെ വിശ്വസിക്കപ്പെടുന്നു.
sort : ജാതിവ്യവസ്ഥയനുസരിച്ച് തരം തിരിക്കുക
compress : അടിച്ചമർത്തുക
mv : നിർബന്ധിത സ്ഥലം മാറ്റം
chmod : നിർബന്ധിച്ച് സ്വഭാവം മാറ്റിക്കുക
chown : ബലമായി ഉടമസ്ഥാവകാശം പിടിച്ചെടുക്കുക
root : എന്തും ചെയ്യാൻ മടിക്കാത്ത സ്വേച്ഛാധികാരി
banner : അഭിപ്രായ സ്വാതന്ത്ര്യമുണ്ടെന്ന് കാണിക്കുവാനുള്ള ഒരു തരികിട പരിപാടി
eject : പുറത്തേയ്ക്കെറിയുക, നാടുകടത്തുക
flex : മസിലുകൾ ഫ്ലക്സ് ചെയ്തു പേടിപ്പിക്കൽ
gunzip : തോക്കും സിപ്പും, ആലോചിക്കാനേ വയ്യ.
halt : പുരോഗതി തടസ്സപ്പെടുത്തുക
head : തലവെട്ടൽ
tail : കാലുവെട്ടൽ (പാവങ്ങളുടെ കാൽ, മൃഗങ്ങളുടെ വാലിനു തുല്യമായാണ് സ്വേച്ഛാധിപതികൾ കാണുന്നതെന്നു മനസ്സിലാക്കുക)
manpath : ദു:ർഘടമായ വഴികളിലൂടെ സഞ്ചരിക്കാൻ നിർബന്ധിക്കുക
dd : ഡ്രാഫ്റ്റ് (ഡിഡി) ഡിമാന്റുചെയ്യുക
killall : എല്ലാത്തിനേയും തട്ടിക്കളയുക.
sleep : ഉറക്കുക
finger : പേടിപ്പിക്കാനായി വിരൽചൂണ്ടുക
yes : എന്തിനും നിർബന്ധിപ്പിച്ച് യെസ് പറയിക്കുക.
python : പെരുമ്പാമ്പിനെ കൊണ്ട് തീറ്റിക്കുക
tar : താറടിക്കുക

ചില രഹസ്യ ചിഹ്നങ്ങൾ
& : ബായ്ക്കിലെ ഗ്രൗണ്ടിൽ ഓടിക്കുക
<, > : വഴിതിരിച്ചു വിടൽ
| : പൈപ്പ് പ്രയോഗം
* : വൈൽഡ് കാർഡ് ക്യാരക്ടറെന്നു വിളിക്കപ്പെടുന്ന, എന്തും ചെയ്യുന്ന ഒരു സംഗതി
@ : വട്ടം കറക്കുക

ഇനി പറയൂ, ലിനക്സ് ഫ്രീയാണോ എന്ന്?

പി എസ് : പ്ലീസ്, കൊല്ലരുത്, കണ്ണുരുട്ടിക്കാണിച്ചാൽ മതി, ഞാൻ പേടിച്ചോളാം (ആർക്കാണാവോ കടപ്പാട് വയ്ക്കേണ്ടത്?). കുറേ നാൾ മുമ്പ് പനിപിടിച്ച് ഉറക്കമില്ലാതെ ഇരുന്ന ഒരു രാത്രിയിൽ ഫോണിൽ കുത്തിക്കുറിച്ചത് ഒന്ന് പൊടിതട്ടിയെടുത്തതാണ്. ഇനിയിങ്ങനെ ഉണ്ടാകില്ല.

മേൽ പറഞ്ഞ കമാന്റുകൾ ശരിക്കും എന്താണ് ചെയ്യുന്നതെന്ന് മാൻ പേജുനോക്കി കണ്ടുപിടിക്കുമല്ലോ, അല്ലേ? :)

March 26, 2013

വിൻഡോസിനുള്ളിൽ ലിനക്സ് : വിർച്വൽ ബോക്സ്

 ലൈവ് സിഡിയും ലൈവ് യുഎസ്ബിയും വഴി ലിനക്സ് ഉപയോഗിക്കുന്നത് നമ്മൾ കണ്ടു. ഇനി പറയാൻ പോകുന്നത് വിൻഡോസിനുള്ളിൽ നിന്ന് വിർച്വൽ മെഷീൻ മാനേജർ അല്ലെങ്കിൽ ഹൈപ്പർവൈസർ പ്രോഗ്രാമുകളുപയോഗിച്ച് ഉബുണ്ടു ലിനക്സ് (‌‌ഗസ്റ്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റം)  പ്രവർത്തിപ്പിക്കുന്ന വിദ്യയാണ്. നേരത്തേ കണ്ട രീതികളിൽ ഒരു കമ്പ്യൂട്ടറിൽ ഒരു സമയം ഒരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റം മാത്രമേ പ്രവർത്തിക്കുന്നുണ്ടായിരുന്നുള്ളൂ. വിർച്വൽ മെഷീൻ മാനേജർ ഉപയോഗിച്ച് ഒരു കമ്പ്യൂട്ടറിൽ ഒരേ സമയം ഒന്നിലധികം ഗസ്റ്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ പ്രവർത്തിപ്പിക്കാൻ കഴിയും. വിർച്വലൈസേഷനെ കുറിച്ച് കൂടുതലറിയാൻ വിക്കിപീഡിയ സന്ദർശിക്കുക : http://en.wikipedia.org/wiki/Virtualization

വിർച്വൽ ബോക്സ് (https://www.virtualbox.org/) എന്ന ഹൈപ്പർവൈസർ ഉപയോഗിച്ച് വിൻഡോസിൽ നിന്നും ലിനക്സ് പ്രവർത്തിപ്പിക്കുന്നതെങ്ങനെ എന്നു നോക്കാം.(വിർച്വൽ ബോക്സിന്റെ സ്ക്രീൻ ഷോട്ടുകൾ ഒരു ഫെഡോറ മെഷീനിൽ നിന്നാണെടുത്തിരിക്കുന്നത്. വിൻഡോസ് വെർഷനുമായി വലിയ വ്യത്യാസം ഉണ്ടാകാനിടയില്ല).

ആദ്യമായി വിർച്വൽ ബോക്സ് സൈറ്റിൽ നിന്നും (https://www.virtualbox.org/wiki/Downloads) ഡൗൺലോഡ് ചെയ്ത് ഇന്സ്റ്റാൾ ചെയ്യുക. മെഷീനിന് കുറഞ്ഞത് ഡ്യുവൽ കോർ സിപിയുവും രണ്ട് ജിബിയിലധികം റാമും ഉണ്ടാകണം.

1. വിർച്വൽ ബോക്സ് റൺ ചെയ്യുമ്പോൾ ചിത്രം 1ലെ വിൻഡോ കാണാം. അതിൽ New എന്ന ബട്ടൺ അമർത്തിയാൽ ചിത്രം 2ലെ വിൻഡോ വരും. അതിൽ വിർച്വൽ മെഷീനിന്റെ പേരും ടൈപ്പും വെർഷനും കൊടുക്കുക. ഉബുണ്ടു, ഫെഡോറ എന്നൊക്കെ പേരുകൊടുത്താൽ, ബാക്കി വിവരങ്ങൾ ആ വിൻഡോയിൽ തനിയേ വരും. നെക്സ്റ്റ് ബട്ടൻ അമർത്തിയാൽ വിർച്വൽ മെഷീനിന് എത്ര റാം കൊടുക്കണമെന്നു ചോദിക്കുന്ന വിൻഡോ വരും (ചിത്രം 3). ഏകദേശം ഒരു ജിബി റാം അലോക്കേറ്റു ചെയ്യാവുന്നതാണ്.
ചിത്രം 1

ചിത്രം 2

ചിത്രം 3


2. അടുത്ത സ്ക്രീൻ ഹാർഡ് ഡ്രൈവ് ക്രിയേറ്റു ചെയ്യാനാനുള്ളതാണ്. "Create a Virtual hard drive now" എന്ന ഓപ്ഷൻ സെലക്റ്റ് ചെയ്യുക (ചിത്രം 4‌‌). അടുത്ത സ്ക്രീനിൽ ഹാർഡിസ്ക് ടൈപ്പ് സെലക്റ്റ് ചെയ്യണം. ഇവിടെ നേരത്തെ തന്നെ സെലക്റ്റ് ചെയ്ത ഓപ്ഷൻ മാറ്റേണ്ടതില്ല. (ചിത്രം 5). "Storage on physical hard drive" എന്ന സ്ക്രീനിൽ  "Dynamically allocated" (ചിത്രം 6) സെലക്റ്റ് ചെയ്യുക. "File location and size" സ്ക്രീനിൽ ഡിസ്കിന്റെ പേര്
 Ubuntu എന്നും  സൈസ് 10ജി ബി എന്നും (ചിത്രം 7) കൊടുത്ത ശേഷം "create" ബട്ടൺ ക്ലിക് ചെയ്യുക.

ചിത്രം 4

ചിത്രം 5

ചിത്രം 6

ചിത്രം 7

3. അടുത്തതായി സിഡി ഡ്രൈവ് സെറ്റപ്പു ചെയ്യണം. ഇപ്പോൾ ചിത്രം 8ലെ പോലെ വിർച്വൽ ബോക്സിന്റെ മെയിൻ വിൻഡോ കാണാം (ഇതിൽ സ്റ്റോറേജ് 8 ജിബി എന്നു കാണുന്നത് ദയവായി അവഗണിക്കുക, പിന്നെയുള്ളവയിൽ അത് ശരിയാക്കിയിട്ടുണ്ട്) സെറ്റിംഗ്സ് ബട്ടൺ ക്ലിക് ചെയ്താൽ കിട്ടുന്ന വിൻഡോയിൽ (ചിത്രം 9) സ്റ്റൊറേജ് സെലക്റ്റ് ചെയ്യുക. വലതുവശത്തെ സ്റ്റോറേജ് ട്രീയിൽ "Controller:IDE"യിലെ എംപ്റ്റി ഡിസ്ക് സെലക്റ്റ് ചെയ്യുക. Attributes സെക്ഷനിലെ "CD/DVD Drive: ന്റെ വലത്തേ അറ്റത്തുള്ള ഡിസ്കിന്റെ ഐക്കണിൽ ക്ലിക് ചെയ്യുക (ചിത്രം 10). അവിടെ  "Host Drive ... " എന്ന ഓപ്ഷൻ സെലക്റ്റ് ചെയ്ത ശേഷം സ്റ്റോറേജ് വിൻഡോയിൽ "Passthrough" എന്ന ഓപ്ഷൻ സെലക്റ്റ് ചെയ്ത ശേഷം (ചിത്രം 11) OK ബട്ടൺ ക്ലിക് ചെയ്യുക. ഇപ്പോൾ വിർച്വൽ ബോക്സിന്റെ മെയിൻ വിൻഡോ കാണാൻ കഴിയും.
ചിത്രം 8

ചിത്രം 9

ചിത്രം 10

ചിത്രം 11


4. ഇപ്പോൾ വിർച്വൽ ബോക്സിൽ ഉബുണ്ടു ഇൻസ്റ്റാൾ ചെയ്യാനുള്ള ഏകദേശം എല്ലാമായി. അടുത്തതായി ഉബുണ്ടു സിഡി ഡ്രൈവിൽ ഇട്ടശേഷം വിർച്വൽ ബോക്സ് മെയിൻ വിൻഡോയിലെ സ്റ്റാർട്ട് ബട്ടൺ അമർത്തുക. ചിത്രം 12ൽ കാണുന്ന വിൻഡോ വരുന്നതാണ്. അതിൽ പറഞ്ഞിരിക്കുന്ന കാര്യങ്ങൾ ശ്രദ്ധിച്ച് വായിച്ചു മനസ്സിലാക്കിയ ശേഷം OK ക്ലിക് ചെയ്യുക. ഇപ്പോൾ നിങ്ങളുടെ പുതിയ വിർച്വൽ മെഷീൻ ബൂട്ട് ചെയ്യാൻ തുടങ്ങും (ചിത്രം 13). Install ubuntu എന്ന ഓപ്ഷൻ സെലക്റ്റ് ചെയ്ത് ഉബുണ്ടു ഇന്സ്റ്റാൾ ചെയ്യുക. ഇൻസ്റ്റലേഷൻ കഴിഞ്ഞാൽ സിഡി മാറ്റിയ ശേഷം ഉബുണ്ടു റീബൂട്ട് ചെയ്യാൻ ഇന്സ്റ്റലേഷൻ പ്രോഗ്രാം ആവശ്യപ്പെടും. അതു പ്രകാരം റീബൂട്ട് ചെയ്ത് ബാക്കി ഇൻസ്റ്റലേഷൻ സ്റ്റെപ്പുകൾ പൂർത്തിയാക്കുക. അതിനു ശേഷം ഉബുണ്ടു ഷട്ട് ഡൗൺ ചെയ്യുക.
ചിത്രം 12

ചിത്രം 13

ഇനി വിർച്വൽ ബോക്സ് മെയിൻ വിൻഡോയിൽ നിന്നും സ്റ്റാർട്ട് ബട്ടൺ അമർത്തിയാൽ ഉബുണ്ടു സ്റ്റാർട്ടാകുന്നതാണ്. പുതിയ ഗസ്റ്റ് ഓ എസിൽ സ്ക്രീൻ റെസല്യൂഷൻ കുറവായിരിക്കാൻ സാധ്യതയുണ്ട്. Virtualbox Guest Box additions ഇൻസ്റ്റാൾ ചെയ്താൽ ആ പ്രശ്നം പരിഹരിക്കാനാകും. അതിനെ കുറിച്ച് പിന്നൊരിക്കലെഴുതാം.

ഇതോടു കൂടി ഏതെങ്കിലും ഒരു വിധത്തിൽ ലിനക്സ് നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ഉപയോഗിക്കാൻ പറ്റുമെന്നായിട്ടുണ്ടാകണം. വിൻഡോസിൽ നിങ്ങൾ സാധാരണയായി ചെയ്യുന്ന കാര്യങ്ങൾ ലിനക്സിൽ ചെയ്യാൻ ശ്രമിക്കുക. ചില കാര്യങ്ങൾ എളുപ്പമായിരിക്കും, മറ്റു ചിലത് അങ്ങനെയായിരിക്കില്ല.

March 25, 2013

ലിനക്സ് ലൈവ് യുഎസ്‌‌ബി

ലിനക്സ് ലൈവ് സിഡി ഉപയോഗിക്കുമ്പോൾ ഡാറ്റാ സേവ് ചെയ്യാൻ എളുപ്പം പറ്റില്ല എന്നെഴുതിയിരുന്നല്ലോ. ലൈവ് യുഎസ്ബി ഉപയോഗിക്കുകയാണെങ്കിൽ ആ പ്രശ്നം പരിഹരിക്കാൻ കഴിയും. ഒരു യുഎസ്ബി പെൻ ഡ്രൈവിൽ ലിനക്സ് ഇൻസ്റ്റാൾ ചെയ്ത് അതിൽ നിന്നും ബൂട്ടു ചെയ്യാൻ കഴിയും. UNetbootin എന്ന പ്രോഗ്രാമുപയോഗിച്ച് ലൈവ് യുഎസ്ബി ലിനക്സ് ഇൻസ്റ്റാൾ ചെയ്യുന്ന രീതിയാണ് ഈ പോസ്റ്റിൽ വിശദമാക്കുന്നത്.

ഒരു യുഎസ്ബി പെൻ ഡ്രൈവ് (ഡിവിഡി ഇമേജുകള്ക്ക് കുറഞ്ഞത് 4 ജിബി), ഇൻസ്റ്റാൾ ചെയ്യാൻ ഉദ്ദേശിക്കുന്ന ലിനക്സിന്റെ .iso ഫയൽ, UNetbootin എന്നിവ ആവശ്യമാണ്.

UNetbootin-ന് പ്രധാനപ്പെട്ട ലിനക്സ് ഡിസ്റ്റ്രോകളും ഡൗൺലോഡ് ചെയ്യാൻ പറ്റും. അതിനാൽ ഐ എസ് ഓ ഫയൽ ഇല്ലെങ്കിലും പ്രശ്നമില്ല. ഇനി ലിനക്സ് സിഡി ഉണ്ടെങ്കിൽ അതിൽ നിന്നും ഐ എസ് ഓ ഫയൽ ഉണ്ടാക്കിയെടുക്കാവുന്നതാണ്. വിൻഡോസിൽ നീറോ എന്ന പ്രോഗ്രാം ഉപയോഗിച്ച് സിഡിയിൽ നിന്നും ഐഎസ്ഓ ഫയൽ ഉണ്ടാക്കാവുന്നതാണ്. ലിനക്സിൽ സിഡിയിൽ നിന്ന് ഐഎസ്ഓ ഫയൽ ഉണ്ടാക്കാൻ താഴെ കൊടുത്തിരിക്കുന്ന കമാന്റ് ഷെൽ പ്രോംപ്റ്റിൽ റൺ ചെയ്താൽ മതിയാകും.
dd if=/dev/sr0 of=~/image.iso bs=1024

ഇവിടെ /dev/sr0 എന്നത് സിഡി ഡ്രൈവും ~/image.iso എന്നത് ഹോം ഡ്രൈവിലെ image.iso എന്ന നമുക്കാവശ്യമുള്ള ഐഎസ്ഓ ഫയലുമാണ്.

നിങ്ങളുടെ ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിനനുസൃതമായ  UNetbootin  പ്രോഗ്രാം  http://unetbootin.sourceforge.net/ എന്ന സൈറ്റിൽ നിന്നും ഡൗൺലോഡ് ചെയ്ത് ഇൻസ്റ്റാൾ ചെയ്യുക.
ഉബുണ്ടു : sudo apt-get install unetbootin
ഫെഡോറ : sudo yum install unetbootin

Unetbootin റൺ ചെയ്യുമ്പോൾ ചിത്രം 1 ലെ പോലെ ഒരു വിൻഡോ കാണുന്നതാണ്. ഐഎസ്ഓ ഫയൽ ഡൗൺലോഡ് ചെയ്യുവാനാണെങ്കിൽ മുകളിലെ ഡിസ്റ്റ്രിബ്യൂഷൻ ബട്ടൺ ക്ലിക് ചെയ്ത് ആവശ്യമുള്ള ഡിസ്റ്റ്രോയും വെർഷനും സെലക്റ്റ് ചെയ്യുക.
ചിത്രം 1

"Space used to preserve files across reboots" എന്ന ഓപ്ഷനിൽ സ്പേസിന്റെ ലഭ്യതയും ആവശ്യവുമനുസരിച്ച് സൈസ് സെറ്റ് ചെയ്യുക. ചിത്രം 2ൽ ഇതിനു വേണ്ടി 200എം ബി ആണ് കൊടുത്തിരിക്കുന്നത്.
ചിത്രം 2

ഐ എസ് ഓ ഫയലാണുപയോഗിക്കുന്നതെങ്കിൽ ഡിസ്ക് ഇമേജ് ബട്ടൺ ക്ലിക് ചെയ്ത് ഐ എസ് ഓ ഫയൽ സെലക്റ്റ് ചെയ്യുക (ഒരു Kubuntu ഐ എസ് ഓ ആണ് ഈ ഉദാഹരണത്തിൽ ഉപയോഗിച്ചിരിക്കുന്നത്). റ്റൈപ് എന്നതിൽ യു എസ് ബി ഡ്രൈവ് സെലക്റ്റ് ചെയ്യുക. ഒന്നിലധികം പെൻഡ്രൈവുകൾ കണക്റ്റ് ചെയ്തിട്ടുണ്ടെങ്കിൽ വേണ്ട പെൻഡ്രൈവ് ഡ്രൈവ് എന്ന ലിസ്റ്റിൽ നിന്നും സെലക്റ്റ് ചെയ്തതിനു ശേഷം OK ക്ലിക് ചെയ്യുക. ഇപ്പോൾ  ചിത്രം 3ൽ പോലുള്ള ഒരു വിൻഡോ കാണുവാൻ കഴിയും. ഐ എസ് ഓ ഫയലിന്റെയും പെർസിസ്റ്റന്റ് സ്റ്റോറേജിനു അനുവദിച്ച സ്ഥലത്തിന്റെ വലിപ്പവുമനുസരിച്ച് ഇത് പൂർത്തിയാകാൻ കുറച്ചു സമയമെടുത്തേയ്ക്കും.
ചിത്രം 3
അതു കഴിയുമ്പോൾ ചിത്രം 4 പോലെ ഒരു മെസ്സേജ് വരുന്നതാണ്. ഇപ്പോൾ യുഎസ്ബി ഡ്രൈവിൽ ലിനക്സ് ഇന്സ്റ്റാൾ ചെയ്തു കഴിഞ്ഞു.
ചിത്രം 4
ഇനി ഈ പെൻഡ്രൈവിൽ നിന്നും ബൂട്ട് ചെയ്താൽ മതിയാകും. അതിനായി "ലിനക്സ് ലൈവ് സിഡി/ഡിവിഡി"  എന്ന പോസ്റ്റിൽ സിഡിയിൽ നിന്നും ബൂട്ടുചെയ്യുന്ന നിർദ്ദേശങ്ങൾ പിൻതുടരുക. സിഡിയ്ക്കു പകരം യുഎസ്ബി ഡ്രൈവ് സെലക്റ്റ് ചെയ്താൽ യുഎസ്ബി ഡിസ്കിൽ നിന്നും ബൂട്ട് ചെയ്തു വരും.

ഈ ഇൻസ്റ്റലേഷനിൽ നമ്മുടെ ഫയലുകൾ യുഎസ്ബി ഡ്രൈവിൽ സേവ് ചെയ്യപ്പെടുന്നതാണ്.

ലിനക്സ് ലൈവ് സിഡി/ഡിവിഡി

കമ്പ്യൂട്ടറിൽ നിലവിൽ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്ന ഓപ്പറേറ്റിംഗ് ഒരു സിസ്റ്റത്തിൽ മാറ്റവും വരുത്താതെ ലിനക്സ് പരീക്ഷിക്കാൻ ഏറ്റവും എളുപ്പമുള്ള വഴിയാണ് ലൈവ് സിഡി/ഡിവിഡി. ഈ രീതിയിൽ ഹാർഡിസ്കിൽ നിന്നുള്ള ഫയലുകൾ ഉപയോഗിച്ച് കമ്പ്യൂട്ടർ സ്റ്റാർട്ടു ചെയ്യുന്നതിനു പകരം സിഡിയിൽ നിന്നുള്ള ഫയലുകൾ ഉപയോഗിച്ചാണ് കമ്പ്യൂട്ടർ സ്റ്റാർട്ട് ചെയ്യുന്നത്.

തുടക്കകാർക്ക് പറ്റിയ ഒരു ലിനക്സ് ഡിസ്റ്റ്രോയാണ് ഉബുണ്ടു (http://www.ubuntu.com). http://www.ubuntu.com/download/desktop എന്ന ലിങ്കിൽ നിന്ന് നിങ്ങൾക്കാവശ്യമുള്ള ഐ സ ഓ ഫയൽ ഡൗൺലോഡ് ചെയ്ത് ഒരു ഡിവിഡിയിലേക്ക് റൈറ്റ് ചെയ്യുക. (മിക്കവാറും കമ്പ്യൂട്ടർ മാഗസിനുകളുടെ കൂടെ ലിനക്സ് സിഡികൾ സൗജന്യമായി കിട്ടും)

ഇനി സിഡി ഡ്രൈവിൽ ഇട്ട ശേഷം കമ്പ്യൂട്ടർ റീസ്റ്റാർട്ട് ചെയ്യൂക. കമ്പ്യൂട്ടർ റീബൂട്ട് ചെയ്തു വരുമ്പോൾ "Select F12 for boot device selection" എന്നോ, അതു പോലെയോ ഉള്ള ഒരു മെസ്സേജ് വരും. നിർഭാഗ്യവശാൽ പല കമ്പ്യൂട്ടറുകളിൽ ഇത് പല വിധത്തിലുള്ള് മെസ്സേജ്/കീ ആയിരിക്കും. കൂടുതലും F9 & F12 ആണ് കണ്ടിട്ടുള്ളത്.  ആ പറയുന്ന ഫങ്ഷൻ കീ അമർത്തിയാൽ ഒരു പോപ് അപ് മെനു വരും. അതിൽ നിന്ന് സിഡി ഡ്രൈവ് സെലക്റ്റ് ചെയ്യുക. ഇപ്പോൾ നിങ്ങളുടെ കമ്പ്യൂട്ടർ സിഡിയിൽ നിന്നും ബൂട്ട് ചെയ്തു വരും. സിഡിയിൽ നിന്നും ബൂട്ടുചെയ്യുന്നതിനാൽ കുറച്ചു പതുക്കെയായിരിക്കും സ്റ്റാർട്ടാവുന്നത്. കുറച്ചു കഴിഞ്ഞാൽ നിങ്ങൾക്ക് ഡെസ്ക്ടോപ്പ് കാണുവാൻ കഴിയും.. ഡെസ്ക്ടോപ്പ് വന്നാൽ നിങ്ങൾക്ക് അതിലെ വിവിധതരം പ്രോഗ്രാമുകൾ ഉപയോഗിച്ചു നോക്കാവുന്നതാണ്.

കമ്പ്യൂട്ടർ സ്റ്റാർട്ട് ചെയ്യുമ്പോൾ നേരത്തേ പറഞ്ഞ മെസ്സേജ് കാണുന്നിലെങ്കിൽ ബയോസിൽ പോയി ബൂട്ട് ഡിവൈസ് സീക്വൻസ് മാറ്റേണ്ടി വരും. ഈ സംവിധാനം ബയോസിനെ ആശ്രയിച്ചിരിക്കുന്നതിനാൽ നിങ്ങളുടെ കമ്പ്യുട്ടറിൽ ചില ചെറിയ വ്യത്യാസങ്ങൾ കണ്ടേയ്ക്കും. കമ്പ്യൂട്ടർ ബൂട്ട് ചെയ്യുമ്പോൾ "Press Del to enter setup" എന്നൊരു മെസ്സേജ് വരും. ആ സമയത്ത് ഡെലിറ്റ് കീ അമർത്തിയാൽ ബയോസ് സെറ്റിംഗ്സിൽ പോകും. അവിടെ ബൂട്ട് സീക്വൻസ് മെനുവിൽ പോയി ബൂട്ട് സീക്വൻസ് CD, Hard Drive എന്ന ക്രമത്തിലാക്കിയാൽ ബൂട്ട് ചെയ്യുമ്പോൾ സിഡി ഡ്രൈവിൽ നിന്നു ബൂട്ടു ചെയ്യുന്നതാണ്.

ലൈവ് സീഡി ഉപയോഗിക്കുമമ്പോൾ നമ്മുടെ ഫയലുകൾ ഡിസ്കിലെയക്ക് എളുപ്പം  സേവു ചെയ്യാൻ പറ്റില്ല എന്നൊരു പ്രശ്നമുണ്ട്. അതു പരിഹരിക്കാൻ ലൈവ് യുഎസ്ബി അല്ലെങ്കിൽ വിർച്വൽ ബോക്സ് എന്നീ സംവിധാനങ്ങൾ ഉപയോഗിക്കാം. അതിനെ കുറിച്ച് വഴിയേ എഴുതാം.