October 10, 2012

പെരിസ്റ്റാൾസിസ്

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

ക്ലാസില്‍ കൂട്ടച്ചിരി. ഇതു കാരണം  പെരിസ്റ്റാൾസിസ് എന്താണെന്ന് ഇപ്പോഴും ഓര്‍മ്മയുണ്ട്.
PS
പെരിസ്റ്റാൾസിസ് : വായില്‍ നിന്നു ആമാശയത്തിലേക്ക് ഭക്ഷണമെത്തിക്കുന്ന അന്നനാളത്തിലെ തരംഗരൂപത്തിലുള്ള ചലനം. ഇതു കാരണമാണ് തലകുത്തിനിന്ന്  കഴിച്ചാലും ഭക്ഷണം വയറ്റിലെത്തുന്നത്.

നീ തന്നെയല്ലേ അങ്ങനെ ഉത്തരമെഴുതിയതെന്നതരത്തിലുള്ള കമന്റുകള്‍ പുഛിച്ച്, അവജ്ഞയോടെ /dev/null ലേക്ക് തട്ടുന്നു.

May 16, 2012

push & pop - cd made bit easier

During my initial days as developer, I found myself doing cd to folders which were deep in the directory structures often having long names. Long names were not a big problem due to auto completion but remembering different directory names were a problem. The idea of having aliases for cd for different directories was dropped even before writing a single alias as I didn't want to remember the aliases for different directories. So I wrote two scripts named push.sh and pop.sh. The working is pretty simple, you go to a directory which need to be remembered, execute push. The pop script will give a list of remembered directories and based on the choice will take you to the selected directory. I hope you may find this useful. Here are the scripts:

[prime@ford bin]$ cat push.sh 
#! /bin/bash
lines_to_keep=9
data_file=~/.dir.dat
tmp_file=~/.dir.dat.$$ 
tail -"$lines_to_keep" $data_file > $tmp_file
mv $tmp_file $data_file
cur_dir=`pwd`
echo $cur_dir >> $data_file

[prime@ford bin]$ cat pop.sh 
#! /bin/bash
lines_to_keep=9
data_file=~/.dir.dat
tail -"$lines_to_keep" $data_file |nl
echo -e "Choice please : " \\c
read choice
case "$choice" in
[0-9]*)
        ;;
*)
        echo "Invalid choice"
        return 0
        ;;
esac
dest_dir=`tail -"$lines_to_keep" $data_file | head -$choice |tail -1`
cd $dest_dir

Save scripts in a convenient location say ~/bin. The pop.sh script need to run in the current shell the cd to work correctly. This can be either be done by preceding the pop.sh with a dot (not very convenient) or creating an alias which will run the script in the current shell as follows

alias pop='. ~/bin/pop.sh'
alias push='~/bin/push.sh' # Put these aliases in the .bashrc or .profile

Hope you may find it useful. Share and enjoy!*

* "Share and Enjoy" is the slogan of the Sirius Cybernetics Corporation ;)

May 4, 2012

One of the reasons why I stick with Fedora



The delta rpm feature of yum reduces the amount of data download for updates.
Total download size: 97 M
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
updates/prestodelta | 889 kB 00:24
Processing delta metadata
Download delta size: 4.3 M
...
...
Finishing rebuild of rpms, from deltarpms
<locally rebuilding deltarpms> | 95 MB 00:37
Presto reduced the update size by 96% (from 95 M to 4.3 M).