<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3986078777795136922</id><updated>2011-09-28T10:14:46.589-07:00</updated><category term='learned'/><category term='oo'/><category term='computer construction'/><category term='journal'/><category term='thoughts'/><category term='tip'/><category term='transformations'/><title type='text'>unpxre</title><subtitle type='html'>My Journey To Hackerdom</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-4731635896614404797</id><published>2008-11-01T12:21:00.000-07:00</published><updated>2008-11-01T12:22:30.729-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold; font-family: courier new;"&gt;cd -&lt;/span&gt;&lt;br /&gt;toggles between directories.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-4731635896614404797?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/4731635896614404797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=4731635896614404797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/4731635896614404797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/4731635896614404797'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/11/cd-toggles-between-directories.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-4367007265323382541</id><published>2008-04-09T19:13:00.000-07:00</published><updated>2008-04-09T19:24:29.947-07:00</updated><title type='text'></title><content type='html'>I was using server timestamp in the smacks of &lt;a href="http://www.smacklet.com"&gt;Smacklet&lt;/a&gt;&lt;br /&gt;So it was just PDT.&lt;br /&gt;&lt;br /&gt;Per user request, I've made this truely global :)&lt;br /&gt;&lt;br /&gt;User wanted an option of setting timezone. I thought it would be even better if I read the client side time using Javascript's Date() function. This way, even if the user moves to a different time zone, he/she will not have to change the settings! Yay! Me is very pleazed ;)&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-4367007265323382541?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/4367007265323382541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=4367007265323382541' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/4367007265323382541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/4367007265323382541'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/04/i-was-using-server-timestamp-in-smacks.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-2077561730636878817</id><published>2008-04-09T13:08:00.000-07:00</published><updated>2008-04-09T14:54:28.563-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='journal'/><title type='text'></title><content type='html'>Learned some git stuff. Installed git in work computer (Windows)&lt;br /&gt;&lt;br /&gt;I just skimmed through this:&lt;br /&gt;&lt;a href="http://tomayko.com/writings/the-thing-about-git"&gt;http://tomayko.com/writings/the-thing-about-git&lt;/a&gt;&lt;br /&gt;I should read it again when I use git more intensively.&lt;br /&gt;&lt;br /&gt;vim:&lt;br /&gt;I have to use f more often.&lt;br /&gt;I forgot ^r&lt;br /&gt;&lt;br /&gt;vim tips learned:&lt;br /&gt;J - join two lines&lt;br /&gt;H, M, L - home,middle,last&lt;br /&gt;zt, zz, zb&lt;br /&gt;using /xxx\&gt; to search for words ending with xxx. likewise \&lt;&lt;br /&gt;D = d$&lt;br /&gt;In visual mode, use o to change the other end (wow!) another o gets you back&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-2077561730636878817?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/2077561730636878817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=2077561730636878817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/2077561730636878817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/2077561730636878817'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/04/learned-some-git-stuff.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-7288171906794182608</id><published>2008-04-08T22:00:00.000-07:00</published><updated>2008-04-09T13:08:20.056-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='journal'/><title type='text'></title><content type='html'>Watched AppEngine videos. Cool.&lt;br /&gt;&lt;br /&gt;Did 'Hello World' in Google AppEngine.&lt;br /&gt;&lt;br /&gt;Few days ago I enhanced Optibus.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-7288171906794182608?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/7288171906794182608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=7288171906794182608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/7288171906794182608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/7288171906794182608'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/04/watched-appengine-videos.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-3320358166021918827</id><published>2008-04-02T09:33:00.000-07:00</published><updated>2008-04-02T10:04:02.108-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='learned'/><title type='text'></title><content type='html'>Recently Learned&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Threads in Python - Used it to send 3 queries in parallel to metrokc for my OptiBus project&lt;/li&gt;&lt;li&gt;Using re.sub to remove all tags and thereby convert html to txt&lt;/li&gt;&lt;li&gt;Contructing POST requests using urllib. (Note2Self: I should use urllib2 and pose as IE)&lt;/li&gt;&lt;li&gt;More experience with writing bookmarklets for my webapps&lt;/li&gt;&lt;li&gt;vim: few cool tricks &lt;a href="http://www.viemu.com/a-why-vi-vim.html"&gt;#&lt;/a&gt;&lt;/li&gt;&lt;li&gt;'map' can be used as a faster 'for' &lt;a href="http://wiki.python.org/moin/PythonSpeed/PerformanceTips"&gt;#&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-3320358166021918827?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/3320358166021918827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=3320358166021918827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/3320358166021918827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/3320358166021918827'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/04/recently-learned-threads-in-python-used.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-8185394179486776043</id><published>2008-03-27T11:46:00.000-07:00</published><updated>2008-04-02T10:12:21.925-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tip'/><title type='text'></title><content type='html'>Got a sudden insight now :-)&lt;br /&gt;&lt;br /&gt;x=[11,22,33,44]&lt;br /&gt;&lt;br /&gt;To get last element, we use x[-1]&lt;br /&gt;&lt;br /&gt;Instead of using the negative index directly, we can use the bitwise NOT operator ~, since ~0=-1 and ~1=-2 etc!&lt;br /&gt;&lt;br /&gt;So you can simply say x[~0] to access the last element, x[~1] for last but one etc.&lt;br /&gt;&lt;br /&gt;[&lt;a href="http://news.ycombinator.com/item?id=147962"&gt;Hacker News discussion&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-8185394179486776043?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/8185394179486776043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=8185394179486776043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/8185394179486776043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/8185394179486776043'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/03/got-sudden-insight-now-x11223344-to-get.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-7287704107449555529</id><published>2008-03-17T09:05:00.001-07:00</published><updated>2008-03-17T09:43:27.868-07:00</updated><title type='text'></title><content type='html'>Learned pdb basics: http://www.ferg.org/papers/debugging_in_python.html&lt;br /&gt;&lt;br /&gt;Wow IDLE debugger is impressive: http://www.python.org/idle/doc/idle2.html#Debugger&lt;br /&gt;&lt;br /&gt;I was playing with 'Path Browser' in IDLE (came to know about it only today) and discovered that Berkeley DB comes with py (at least a simple interface). Just an 'import bsddb" will do.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-7287704107449555529?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/7287704107449555529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=7287704107449555529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/7287704107449555529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/7287704107449555529'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/03/learned-pdb-basics-httpwww.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-5848940088197706241</id><published>2008-03-15T19:34:00.000-07:00</published><updated>2008-03-15T19:36:41.529-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='learned'/><title type='text'>Lucene</title><content type='html'>http://en.wikipedia.org/wiki/Lucene&lt;br /&gt;&lt;br /&gt;http://news.ycombinator.com/item?id=137802&lt;br /&gt;&lt;br /&gt;Lucene is a fast text search engine. Nutch is a derivative project that also has web crawling etc. There is pyLucene too - Python interface for Java based Lucene.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-5848940088197706241?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/5848940088197706241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=5848940088197706241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/5848940088197706241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/5848940088197706241'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/03/lucene.html' title='Lucene'/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-3340229649277344616</id><published>2008-02-29T17:30:00.000-08:00</published><updated>2008-02-29T17:36:11.529-08:00</updated><title type='text'>Cool Quote</title><content type='html'>"I sometimes edit my .emacs file in vim."&lt;br /&gt;&lt;br /&gt;From : &lt;a href="http://mark.nirv.net/post/6694167"&gt;Mark Tran's Blog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-3340229649277344616?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/3340229649277344616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=3340229649277344616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/3340229649277344616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/3340229649277344616'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/02/cool-quote.html' title='Cool Quote'/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-5586468123310358776</id><published>2008-02-24T21:01:00.000-08:00</published><updated>2008-02-24T21:03:37.137-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Did Today:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Parsed email with Python&lt;br /&gt;Poached egg (tasty)&lt;br /&gt;Read some "Ender's Game"&lt;br /&gt;Got bluetooth working my laptop&lt;br /&gt;Installed Arc&lt;br /&gt;Ran news.yc - played with it&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-5586468123310358776?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/5586468123310358776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=5586468123310358776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/5586468123310358776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/5586468123310358776'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/02/did-today-parsed-email-with-python.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-5467413551498898447</id><published>2008-02-18T08:02:00.000-08:00</published><updated>2008-02-18T08:06:17.471-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><title type='text'></title><content type='html'>Since I acknowledge that I don't know much, I am able to learn more. I didn't learn much all through college as I had this sense of greatness as someone who had been coding since 11. Gaa... Had I been more open about my stupidity, I could have got more done, instead of feeling the need to seem elite and shit... Anyway, lesson learned and onward we march.&lt;br /&gt;&lt;br /&gt;This is the article that triggered these thoughts:&lt;br /&gt;&lt;a href="http://googlesystem.blogspot.com/2008/02/gmails-humble-beginning.html"&gt;Gmail's Humble Beginning&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-5467413551498898447?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/5467413551498898447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=5467413551498898447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/5467413551498898447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/5467413551498898447'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/02/since-i-acknowledge-that-i-dont-know.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-3384506062166360592</id><published>2008-02-18T07:42:00.000-08:00</published><updated>2008-02-18T07:57:52.846-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tip'/><title type='text'>GNU date</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;I didn't know that you can use date strings with this tool&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;br /&gt;kiru@kiru-laptop:~$ date&lt;br /&gt;Mon Feb 18 07:25:16 PST 2008&lt;br /&gt;kiru@kiru-laptop:~$ date --date "ten years ago"&lt;br /&gt;date: invalid date `ten years ago'&lt;br /&gt;kiru@kiru-laptop:~$ man date&lt;br /&gt;kiru@kiru-laptop:~$ date --date="ten years ago"&lt;br /&gt;date: invalid date `ten years ago'&lt;br /&gt;kiru@kiru-laptop:~$ date --date="10 years ago"&lt;br /&gt;Wed Feb 18 07:25:57 PST 1998&lt;br /&gt;kiru@kiru-laptop:~$ date --date="10 years and 12 days ago"&lt;br /&gt;date: invalid date `10 years and 12 days ago'&lt;br /&gt;kiru@kiru-laptop:~$ date --date="10 years 12 days ago"&lt;br /&gt;Tue Feb  6 07:26:28 PST &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;2018&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;[&lt;a href="http://www.gnu.org/software/tar/manual/html_chapter/tar_7.html"&gt;more info&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;Human friendly date strings are awesome. It would be a nice feature to have in my webapps. I need to wrap this GNU tool in Python/Javascript code. I wonder if there is one already.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-3384506062166360592?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/3384506062166360592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=3384506062166360592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/3384506062166360592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/3384506062166360592'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/02/gnu-date.html' title='GNU date'/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-295233120930979988</id><published>2008-02-07T09:01:00.000-08:00</published><updated>2008-02-07T09:40:22.929-08:00</updated><title type='text'></title><content type='html'>I didn't know about Python signal handling before. I think I lost a lot of my cockiness and feel much more humble now.&lt;br /&gt;&lt;br /&gt;I was browsing these &lt;a href="http://www.freelancingjob.com/articles/article_description.php?art_id=96"&gt;15 exercises for learning a new programming language&lt;/a&gt;. I attempted this in Python: "Display series of numbers (1,2,3,4, 5....etc) in an infinite loop. The program should quit if someone hits a specific key (Say ESC key)." Really trivial execise, right?I've done the exact same thing in C about a goddamn decade ago using getchar. I realized that I don't know the Python equivalent. Googling gets me kinda unrelated stuff like &lt;a href="http://groups.google.com/groups?q=python+read+keyboard+without+waiting"&gt;marriage without sex&lt;/a&gt;! Hmm. Ok. Then I came across this &lt;a href="http://groups.google.com/group/comp.lang.python/browse_thread/thread/8ea81ab3a021c9ae/5b27edd0df08170a?hl=en&amp;amp;lnk=gst&amp;amp;q=key+press#5b27edd0df08170a"&gt;good example&lt;/a&gt;. Then I wrote this: &lt;a href="http://kiru.pastebin.com/f186d35b0"&gt;Pgm1&lt;/a&gt;. It calls that fn when Ctrl-C is pressed.&lt;br /&gt;&lt;br /&gt;Miles to go still...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-295233120930979988?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/295233120930979988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=295233120930979988' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/295233120930979988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/295233120930979988'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/02/i-didnt-know-about-python-signal.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-2502444482776148283</id><published>2008-02-06T14:44:00.001-08:00</published><updated>2008-02-06T14:52:22.941-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='computer construction'/><category scheme='http://www.blogger.com/atom/ns#' term='oo'/><title type='text'></title><content type='html'>I thought I'll construct a computer from scratch. Instead of messing with hardware, I thought I'll build each of the fundamental hardware components - primarily NAND gates - using software and take it from there. In effect, it would be a computer inside a computer.&lt;br /&gt;&lt;br /&gt;Though I've groked it, I've not been a fan of structuring my programs using object oriented techniques so far. I wanted to model an electronic circuit with resistors, batteries and wires (and later, the other components like transistors). I am doing this to slowly build up a computer as popularized by '&lt;a href="http://www.cs.rpi.edu/news/colloquia/December8_2005.html"&gt;From NAND To Tetris in 12 Steps&lt;/a&gt;'.&lt;br /&gt;&lt;br /&gt;I ended up getting an intro to OO in Python.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-2502444482776148283?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/2502444482776148283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=2502444482776148283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/2502444482776148283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/2502444482776148283'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/02/i-thought-ill-construct-computer-from.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-8612694782469770611</id><published>2008-02-05T15:34:00.000-08:00</published><updated>2008-02-06T10:14:38.311-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='transformations'/><title type='text'></title><content type='html'>I am writing a compiler to learn Computer Science better (Stevey influence). People suggested that I write an interpreter first and slowly expand from there. I am playing with writing few text transformation programs. It is fun.&lt;br /&gt;&lt;br /&gt;I am reading "The Little Schemer" book. So naturally, I am trying to solve things by writing recursive functions... with equivalents of CAR, CDR, CONS etc.&lt;br /&gt;&lt;br /&gt;Program input:&lt;br /&gt;"1,2-5,7,10-14"&lt;br /&gt;&lt;br /&gt;Program output:&lt;br /&gt;[1,2,3,4,5,7,10,11,12,13,14]&lt;br /&gt;&lt;br /&gt;I wrote this as the first step: &lt;a href="http://kiru.pastebin.com/f3ba33342"&gt;Program 1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Today: Feb 06, 2008 &lt;/em&gt;&lt;br /&gt;I wrote this instead: &lt;a href="http://kiru.pastebin.com/f641354ca"&gt;Program 2&lt;/a&gt;. It is a complete program that produces the above mentioned output. I didn't use any recursion or functional programming ideas. I just wrote a "as simple as possible" python program. Just wanted to start the day with a working program. I'll rewrite it the car-cdr way soon. I actually wanted to write in Lisp but didn't know to car-cdr strings. I should learn that.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;br /&gt;What if the paste-bins I linked to go away? I should set up my own paste-bin. [Update #1: the pastebin site I used is open source. I should &lt;a href="http://pastebin.nanana.name/pastebin.php?help=1"&gt;install&lt;/a&gt; it in my website.] [Update #2: Created a 'private' pastebin on the site... &lt;a href="http://kiru.pastebin.com/"&gt;kiru.pastebin.com&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-8612694782469770611?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/8612694782469770611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=8612694782469770611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/8612694782469770611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/8612694782469770611'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/02/i-am-writing-compiler-to-learn-computer.html' title=''/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-3291410231169820959</id><published>2008-02-04T08:18:00.000-08:00</published><updated>2008-02-04T08:20:04.311-08:00</updated><title type='text'>Concurrency and Python</title><content type='html'>&lt;a href="http://ddj.com/linux-open-source/206103078?cid=RSSfeed_DDJ_OpenSource"&gt;Dr. Dobb&amp;#39;s | Concurrency and Python&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-3291410231169820959?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/3291410231169820959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=3291410231169820959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/3291410231169820959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/3291410231169820959'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/02/dr-dobbs-concurrency-and-python.html' title='Concurrency and Python'/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3986078777795136922.post-6998163228093261455</id><published>2008-02-03T10:21:00.000-08:00</published><updated>2008-02-03T11:23:01.122-08:00</updated><title type='text'>Why?</title><content type='html'>This is my geek journal, seperate from &lt;a href="http://kirubakaran.blogspot.com/"&gt;my personal blog&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3986078777795136922-6998163228093261455?l=unpxre.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unpxre.blogspot.com/feeds/6998163228093261455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3986078777795136922&amp;postID=6998163228093261455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/6998163228093261455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3986078777795136922/posts/default/6998163228093261455'/><link rel='alternate' type='text/html' href='http://unpxre.blogspot.com/2008/02/why.html' title='Why?'/><author><name>Kirubakaran A</name><uri>http://www.blogger.com/profile/15644834104041666984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp2.blogger.com/_UzyPc4v1wVs/R3LEjK7u4_I/AAAAAAAAACk/YdcAAZdGWWI/S220/leap.jpg'/></author><thr:total>0</thr:total></entry></feed>
