<?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-7235183</id><updated>2012-02-17T03:21:00.537+05:30</updated><category term='romance'/><category term='technology'/><category term='current affairs'/><category term='bengali'/><category term='photography'/><category term='E51'/><category term='security'/><category term='God'/><category term='real life'/><category term='programming'/><category term='metro'/><category term='music'/><category term='philosophy'/><category term='book'/><category term='kitchen'/><category term='Iravan'/><category term='trip'/><category term='bike'/><category term='firefox'/><category term='android'/><category term='riding'/><category term='hacks'/><category term='food'/><category term='butterfly'/><category term='bird'/><category term='macro'/><category term='unicode'/><category term='musings'/><category term='rant'/><category term='RIZR'/><category term='humor'/><category term='wildlife'/><title type='text'>Hacking | Photography | Bird-Watching</title><subtitle type='html'>Like sex, they produce some practical results sometimes. But that's not exactly why we do 'em ...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default?start-index=101&amp;max-results=100'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>493</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7235183.post-8392054863737459077</id><published>2012-02-06T17:06:00.000+05:30</published><updated>2012-02-07T18:26:36.699+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Speeding up NTP, GPS Lock in Android</title><content type='html'>&lt;div class="columns2"&gt;A pre-requisite of GPS location determination is an accurate clock. &lt;br /&gt;&lt;br /&gt;Hence, all these smartphone devices sync up with NTP first before attempting to do GPS calculation. So when your GPS symbol blinks, and you are thinking your device is calculating your location, most of the time it is spending to reach the NTP servers, waiting to determine the time. So, it is very important that you choose the nearest NTP server, with the least RTT, to allow NTP to converge as fast as possible. Only then all the GPS signal calculation will start. It is likely that your ROM manufacturer has put a generic NTP server address (or one nearest to him) in your device. For me, it was set to &lt;tt&gt;europe.pool.ntp.org&lt;/tt&gt; and here's the statistics (to get an accurate and practical result, you need to have a terminal emulator on your phone, also turn off wifi so it is forced to use GPRS/3G):&lt;pre&gt;--- europe.pool.ntp.org ping statistics ---&lt;br /&gt;5 packets transmitted, 4 received, 20% packet loss, time 13267ms&lt;br /&gt;rtt min/avg/max/mdev = 244.080/507.072/1075.470/334.695 ms&lt;/pre&gt;When I changed it to something nearer:&lt;pre&gt;--- in.pool.ntp.org ping statistics ---&lt;br /&gt;5 packets transmitted, 3 received, 40% packet loss, time 13463ms&lt;br /&gt;rtt min/avg/max/mdev = 108.429/111.602/116.333/3.431 ms&lt;/pre&gt;I wonder if the packet loss is a permanent phenomenon, but the round trip is much quicker. Instead of half second now it takes 1/10th of a second. &lt;br /&gt;&lt;br /&gt;So what you need to do is to remount /system is "rw" mode (generally it is in "ro" for safety), and then edit /etc/gps.conf (copy out to your computer, edit and push back). Change the NTP_SERVER parameter to somewhere close to you. It may be country specific, like for India "in.pool.ntp.org"; if your country doesn't have any, use the continent pool like "asia.pool.ntp.org"; and as a last resort, use "pool.ntp.org" which is global.&lt;br /&gt;&lt;br /&gt;This is why sometimes the GPS of my phone finds my location faster from my dining table (reaches NTP via wifi and DSL) than outdoor (where though GPS signal is stronger but NTP to be reached over GPRS).&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-8392054863737459077?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/8392054863737459077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2012/02/speeding-up-ntp-gps-lock-in-android.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8392054863737459077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8392054863737459077'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2012/02/speeding-up-ntp-gps-lock-in-android.html' title='Speeding up NTP, GPS Lock in Android'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-4069810446952583308</id><published>2012-02-02T22:30:00.000+05:30</published><updated>2012-02-06T16:22:34.953+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Digital billboards</title><content type='html'>&lt;div class="columns2"&gt;Perhaps with advancement of technology, we can have cheap, robust and energy efficient billboards on road showing advertisements. They'll probably show an HD image or a short video of a few seconds. This images can be targeted towards approaching cars. Half kilometer ahead, put a camera to profile the next lot of cars. If majority are SUVs, we can display ads of Rolex or Tag Heuer. If they are all compacts, maybe a snapdeal of discounted dinner would work. If you could identify the cars by number plates, trace it to the owners, from their lookup their facebook or google+ profile and find a common interest of next 10 cars, very likely you can display a meaningful advertisement. You'll get enough time to do so, in order of a few seconds to choose the ad, and a few more before the cars pass by. Same can happen at smaller scale. At railway station or airport, if you can find the common interest (or even interest of the guy(s) with maximum purchasing power) of the people who are sitting in the rows facing your display, ads can be tailored to them. How to identify them is a big question, though. Maybe their tickets or boarding pass will have RFID, from which we can look them up. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-4069810446952583308?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/4069810446952583308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2012/02/digital-billboards.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4069810446952583308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4069810446952583308'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2012/02/digital-billboards.html' title='Digital billboards'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-3668833499672396920</id><published>2012-01-04T00:00:00.000+05:30</published><updated>2012-02-06T16:23:16.041+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='musings'/><category scheme='http://www.blogger.com/atom/ns#' term='philosophy'/><title type='text'>Conviction is the Key</title><content type='html'>&lt;div class="columns2"&gt;For best results, you have to convince yourself first about the greatness of the work. A startup will have a much higher chance of success if everyone there believes in heart that whatever they are working on, will change the world. Same is true even for bank robbery. If I have doubts in my mind about the legality or ethical correctness of the act, chances are I'll botch it up. Everyone in the team, starting from the top, have to believe in the fact whatever they are doing is the Right Thing. Obviously it comes from the top; otherwise will you work for a CEO who's not super excited about the product you're going to build? And as long as you are convinced, even if the authorities have a problem with it, it is their problem, you just accept is as an occupational hazard, but do not doubt your action. Not anymore &lt;i&gt;Ganda hai par dhanda hai yeh&lt;/i&gt;. &lt;br /&gt;&lt;br /&gt;It is the same reason even if I were a great singer, I'll never sound convincing when I sing "&lt;i&gt;Jo bhaje Hari ko sada&lt;/i&gt;", because singing skills aside, I myself probably won't believe that's the way to achieve nirvana, or even the Param pada is attaining the nirvana itself. Maybe Pandit-ji trained himself to believe in the theory and hence could make the performance.&lt;br /&gt;&lt;br /&gt;Maybe Kraftwerk really believes robots will churn out music in near future.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-3668833499672396920?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/3668833499672396920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2011/11/conviction-is-key.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3668833499672396920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3668833499672396920'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2011/11/conviction-is-key.html' title='Conviction is the Key'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>4</thr:total><georss:featurename>India</georss:featurename><georss:point>20.593684 78.96288</georss:point><georss:box>5.536602 58.748036 35.650766 99.177724</georss:box></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-5126354100143866791</id><published>2011-09-04T01:53:00.000+05:30</published><updated>2011-10-30T22:34:52.769+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>The Short-Nosed Beauties Around Us</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-87y3ye6BZxk/TlaXOUirqVI/AAAAAAAADVQ/56ppesd4dtM/s1600/mottled_woodowl3.JPG" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img  src="http://1.bp.blogspot.com/-87y3ye6BZxk/TlaXOUirqVI/AAAAAAAADVQ/56ppesd4dtM/s1600/mottled_woodowl3.JPG" /&gt;&lt;/a&gt; When Getafix kept appreciating the &lt;a href="http://penelope.uchicago.edu/~grout/encyclopaedia_romana/miscellanea/cleopatra/bust.html"&gt;nose of Cleopatra&lt;/a&gt;, you'll assume that there is a direct relationship between beauty (and perhaps authority) and large nose. Think again when you see owls. It is possible to be beautiful and authoritative with a short nose. And sure they are. Even though they are around, they are not a very common sight as they are most active during the night. Most of their daytime are spent lazing around in some suitable hide. Generally away from sunlight, in some dense tree branch or a hole somewhere. Too many Rod cells is probably an annoyance in broad daylight. Unless they go into active hiding, it is possible for bird-watchers to have a good look at them when they roost during the day. Sometimes they are noticed by the gangs of Crows or Mynas and the mobbing is a good giveaway of their location. And they generally use a few fixed perches so once you spot their roosting location, it is possible for you come back over and over again at the same spot to meet them.&lt;br/&gt;&lt;br/&gt;They come in different sizes. On the left side it is a Mottled Wood Owl, which is pretty large in size. The barred marking all over the front is unmistakable. The white chin adds to the look. Both male and female looking alike (at least in human eye, external feature-wise), I don't know if they find it difficult to spot a potential mating partner but I am sure Mottled Wood Owls have figured it out through last millions of years and it might be a trivial problem to address via their calling protocol. When two are within earshot, their calls go in duet. The male calls once or twice &lt;i&gt;chuhua-aa&lt;/i&gt; in a sharp and loud tone, and it answered by the female by a little mellowed down version. When not in business, you can be greeted with a low hoot or a screeching sound from them. &lt;br/&gt;&lt;br/&gt;There is a celebrated pair in Lalbagh botanical garden. Not that I see them in every walk I take, but consistent reports from fellow birders assures of their presence, and recent report shows they are now three from two. Hope the new generation finds a suitable hunting ground nearby, and more importantly finds a love to extend the bloodline.&lt;br/&gt;&lt;br/&gt;And then we have tiny sized variants too.  &lt;a href="http://2.bp.blogspot.com/-zfOnHvZkr0w/TlaXOnCHK1I/AAAAAAAADVY/RAunNAiyVn4/s1600/spotted_owlet3.JPG" imageanchor="1" style="clear:left; float:right;margin-left:1em; margin-top:1em; margin-bottom:1em"&gt;&lt;img  src="http://2.bp.blogspot.com/-zfOnHvZkr0w/TlaXOnCHK1I/AAAAAAAADVY/RAunNAiyVn4/s1600/spotted_owlet3.JPG" /&gt;&lt;/a&gt;   Spotted Owlets grows to 21cm, and that's why they are ''owlets''. I knew they are commonplace from the field guides, but didn't realize it till my mornings started by a sighting of a nesting pair a few tens of feet outside my bedroom window. Since then I retired my alarm and solely depend on their sharp &lt;i&gt;chirrur-chirrur-chirrur&lt;/i&gt; call to announce the morning. &lt;br/&gt;&lt;br/&gt;The white thick eyebrows, neckband, bright yellow iris and heavily spotted body makes easy identification. They generally look eye to eye with you, as if trying to hypnotize. Once someone breaches the comfort zone, they generally take a short flight and choose another tree branch nearby. And this time stare harder to keep the intruder off. Again, just like their large sized cousins, the sexes look the same. So looking at this pair, I can't say who is he and who is she.  &lt;a href="http://3.bp.blogspot.com/-g9z5qPra_fE/TlaXO8PnJzI/AAAAAAAADVg/bEg00pmJIxA/s1600/spotted_owlet5.JPG" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-top:1em"&gt;&lt;img  src="http://3.bp.blogspot.com/-g9z5qPra_fE/TlaXO8PnJzI/AAAAAAAADVg/bEg00pmJIxA/s1600/spotted_owlet5.JPG" /&gt;&lt;/a&gt; But that's for them to figure out. &lt;br/&gt;&lt;br/&gt;So Bengali proverb predicts the mood of the day by the first face you see after you wake up, and for me it is this pair of owlets. Every morning, I move the curtains of my french window, and I see them sitting still in their usual place. Seeing them became a part of my morning ritual, and if they are absent sometime, I have to keep checking till they show up somewhere, maybe in a stalk near the swimming pool, or maybe on some branch far away. Generally their mornings are lazy, when the mynas, prinias, munias and wagtails are very active procuring their breakfast, they just sit still, occasionally  turning their heads to impossible angles. We walk past them every morning as we see off our son to school.  &lt;br/&gt;&lt;br/&gt;The monsoon was very romantic. Instead of shying away, they come out to get wet. Open up their wings to soak the shower. And when both of them do so together, it is no less than the iconic scene of Titanic. I have never seen anyone celebrating rain like this.  &lt;br/&gt;&lt;br/&gt; November, the breeding season is approaching. I am hoping they'll get cozy enough, and we'll soon welcome a few owlet-lets early next year. &lt;br/&gt;&lt;br/&gt;May their tribe increase!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-5126354100143866791?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/5126354100143866791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2011/09/short-nosed-beauties-around-us.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5126354100143866791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5126354100143866791'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2011/09/short-nosed-beauties-around-us.html' title='The Short-Nosed Beauties Around Us'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-87y3ye6BZxk/TlaXOUirqVI/AAAAAAAADVQ/56ppesd4dtM/s72-c/mottled_woodowl3.JPG' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-5349090227390400205</id><published>2011-03-21T09:10:00.002+05:30</published><updated>2011-03-21T09:13:28.648+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Where all the sparrows have gone?</title><content type='html'>&lt;style type="text/css"&gt;.flickr-photo { border: inset 2px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }&lt;/style&gt;&lt;div class="flickr-frame"&gt; &lt;a href="http://www.flickr.com/photos/kousik/5543623255/" title="house sparrow"&gt;&lt;img src="http://farm6.static.flickr.com/5297/5543623255_f2644106b0_b.jpg" class="flickr-photo" alt="House Sparrow" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/kousik/5543623255/"&gt;House Sparrow&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/kousik/"&gt;kousik&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;p class="flickr-yourcomment"&gt; The change is so gradual that it went un-noticed. Even a couple of years ago, &lt;a href="http://kousik.blogspot.com/2005/11/sparrows-in-neighbourhood.html"&gt;I used to see them everyday&lt;/a&gt; on our window sill. I didn't change home, but they stopped coming. If not at my window, at least they used to be in our basement parking lot. Now I look carefully, they are gone from there too.&lt;br /&gt;&lt;br /&gt;Concern is, they are very used to urbanization. If they can't keep up, we're screwing up really fast.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-5349090227390400205?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/5349090227390400205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2011/03/where-all-sparrows-have-gone.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5349090227390400205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5349090227390400205'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2011/03/where-all-sparrows-have-gone.html' title='Where all the sparrows have gone?'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5297/5543623255_f2644106b0_t.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-4948740616040676147</id><published>2011-03-17T17:31:00.003+05:30</published><updated>2011-03-17T18:05:29.603+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Rain is what I need around</title><content type='html'>&lt;style type="text/css"&gt;.flickr-photo { border: inset 2px #000000;  }.flickr-yourcomment { }.flickr-frame { text-align: center; padding: 3px; } .flickr-caption {  margin-top: 0px; }&lt;/style&gt;&lt;div class="flickr-frame"&gt;&lt;a href="http://www.flickr.com/photos/kousik/5175022847/" title="Brahmni Kite in Rain"&gt;&lt;img src="http://farm5.static.flickr.com/4126/5175022847_89d6b94f5f_z.jpg" class="flickr-photo" alt="Brahmni Kite in Rain" align="center" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/kousik/5175022847/"&gt;I love this rain&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/kousik/"&gt;kousik&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;p class="flickr-yourcomment"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-4948740616040676147?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/4948740616040676147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2011/03/rain-is-what-i-need-around.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4948740616040676147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4948740616040676147'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2011/03/rain-is-what-i-need-around.html' title='Rain is what I need around'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4126/5175022847_89d6b94f5f_t.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-7281895292367523763</id><published>2011-03-12T23:46:00.004+05:30</published><updated>2012-02-06T16:23:37.607+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Community rescues abandoned Motorola phone XT720, ports Froyo</title><content type='html'>&lt;div class="columns2"&gt;Motorola is one of the strangest company you'd meet. The latest stunt can be a chapter in some product marketing MBA course. Create two products, one with ordinary specification (let's call it Milestone), price it along with competition, and create a similar one, throw in some better hardware (say a faster CPU, a better camera etc, let's call it XT720) and charge 30% premium for it. So far, so good. Many luxury brands charge a lot of extra without much justification, and we'll leave it to free market whether the numbers are correct. So we have 2 types of fooled people in the market, 90% of them paid INR 22k for Milestone, and 10% with lesser intelligence who paid 27k for a XT720. This smaller section has a false sense of eliteness that they are premium customer of a till reputed company, and eligible for a better treatment, much like a business class passenger would expect. The stock phones run Android 2.1 Eclair, and when they went on sale, Android 2.2 was out already, and expectation was a company will stand by its products and make the updates available to both models.  &lt;br /&gt;&lt;br /&gt;And then comes the twist. Motorola tells the people who paid them much higher in simple terms &lt;a href="https://supportforums.motorola.com/community/manager/softwareupgrades?view=overview"&gt;go screw yourselves&lt;/a&gt;. And that too, too late, after several of the XT720s have been sold, with the hope that it has much higher chance of running Froyo (Android 2.2) than its cheaper sibling, for which upgrade was announced a while ago. This devastated the hope of XT720 users, and the feeling of being cheated was widespread in Motorola &lt;a href="https://supportforums.motorola.com/thread/41025"&gt;support forums&lt;/a&gt; and their facebook pages, with &lt;a href="https://supportforums.motorola.com/thread/39475?tstart=0"&gt;petitions to release a software update&lt;/a&gt; on which Motorola responded with a sugar coated fuck you. They didn't even agree to unlock the bootloader, and advised users to &lt;a href="http://www.androidcentral.com/motorola-bootloader-lockdown-explained"&gt;buy a google nexus if they wanted to run a better software&lt;/a&gt;.  So, this is where we ask an interesting question to marketing/business students: does it make business sense to cheat the expectation of your premium class of customers (Of course they are expected to be fewer in count anyways)? Running empty club class is nothing new to airlines but even a single occupant gets enough care to buy his return ticket. &lt;a href="http://2.bp.blogspot.com/-LlWVNTVaJJs/TX1AR7d_1zI/AAAAAAAACZE/7j38RiGs_F4/s1600/froyo_xt720.png" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="400" width="225" src="http://2.bp.blogspot.com/-LlWVNTVaJJs/TX1AR7d_1zI/AAAAAAAACZE/7j38RiGs_F4/s400/froyo_xt720.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After being left high and dry, the XT720 user community decided to do something better with their phone. It comes with good hardware, for which they paid a heavy price, and throwing it away is a luxury most can't afford. Froyo 2.2 is important for 2  updates among other things: the JIT compiler can run your code 4x faster, and applications can be run off SD cards. With Quadrant score of 600, very little internal space to accommodate any more apps, we needed Froyo to use the phone's full potential. The first thing happened is a fork in xda-developer community, and a &lt;a ref="http://forum.xda-developers.com/forumdisplay.php?f=929"&gt;dedicated section&lt;/A&gt; for XT720. Some effort was done to port the JIT compiler back to 2.1, which raised the Quantum benchmark to as high as 867 (for me); and a few hacks to copy the application packages to an ext2 partition of SD card and symbolic linking directories, but they had their own pains and it was understood that a complete port of 2.2 is needed. So the community decided to hire a developer themselves, buy him a phone and support his effort by raising money. We found unbelievable trust among the community, and within a week a dev was identified, money was raised by donation (most of the people paid a good sum even before anything was concrete), and &lt;a href="http://forum.xda-developers.com/showthread.php?t=904912"&gt;Dexter was on it&lt;/a&gt;. Based on a 2.2 rom of Korean motoroi, in 2 weeks time, Dexter published his first &lt;a href="http://forum.xda-developers.com/forumdisplay.php?f=932"&gt;Froyo port for XT720&lt;/a&gt;, and multiple offshoots thereafter.  Another huge appreciation here was almost whole community participated in beta testing, risking their phone getting bricked (or unusable, or hardware damage), and started reporting bugs and contributing patches. Ordinary people started opening the hood of the new ROM and trying to guess what might be going wrong. A few iterations later, the rom is running pretty stable. And still fixes are going in. And it gave unbelievable performance boost to the phone, after overclocking the CPU it beats all phones in the market (see attached figure, on left it is 2.1 with backported JIT and on right 2.2). &lt;a href="http://1.bp.blogspot.com/-MHUUcOLlDyw/TXuf8GGjE1I/AAAAAAAACYc/0TFasqaK5Ps/s1600/perf_compare.png" imageanchor="1" style="clear:right; float:right; margin-left:1em; margin-bottom:1em"&gt;&lt;img border="1" src="http://1.bp.blogspot.com/-MHUUcOLlDyw/TXuf8GGjE1I/AAAAAAAACYc/0TFasqaK5Ps/s400/perf_compare.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So followup questions to business students: if the answer to previous question was in the line of unjustified return of investment ratio (too few customers, not worth spending upgrade method), would the answer change now since it is proven to be 1 person's 2-week part time effort?&lt;br /&gt;&lt;br /&gt;Maybe Motorola with get away with it, as none will care as much about the sinking ship anyways.&lt;br /&gt;&lt;br /&gt;Full disclosure: &lt;i&gt;I'm a member of xda-developers community, I donated my share of Euros to Dexter, and later contributed patches for 2.2 ROM.&lt;/i&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-7281895292367523763?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/7281895292367523763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2011/03/community-rescues-abandoned-motorola.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7281895292367523763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7281895292367523763'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2011/03/community-rescues-abandoned-motorola.html' title='Community rescues abandoned Motorola phone XT720, ports Froyo'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-LlWVNTVaJJs/TX1AR7d_1zI/AAAAAAAACZE/7j38RiGs_F4/s72-c/froyo_xt720.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-6238823739241952928</id><published>2011-02-07T01:28:00.000+05:30</published><updated>2012-02-06T16:24:14.764+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='romance'/><category scheme='http://www.blogger.com/atom/ns#' term='bengali'/><title type='text'>Sunil Gangopadhay style romance in 2010</title><content type='html'>&lt;div class="columns2"&gt;When I saw him last time, it was a major &lt;a href="http://kousik.blogspot.com/2004/07/disappointment-with-sunil-gangopadhyay.html"&gt;disappointment&lt;/a&gt;. But hey, he is an icon by his writing. And one of the concept haunts us even today, to fall in love (ok, ok, infatuation) at the first sight. Cliche? The sight has to be like this: you see the girl for fraction of a second in a bus going to the opposite direction. So you immediately jump down from your own (doesn't matter if you're on your way to an interview), cross the street and get onto the &lt;i&gt;other&lt;/i&gt; bus. Hoping for another glimpse. Maybe, if, perhaps, an eye contact.  &lt;a href="http://2.bp.blogspot.com/_q8IyBrue8D8/TGu2z3SSzSI/AAAAAAAACFQ/v9-DA_7JtsA/s1600/Traffic1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_q8IyBrue8D8/TGu2z3SSzSI/AAAAAAAACFQ/v9-DA_7JtsA/s1600/Traffic1.jpg" align="right" /&gt;&lt;/a&gt; And you forget to get down when she did. &lt;br /&gt;&lt;br /&gt;Switch to 2010. I saw her coming down the opposite lane, in a spanking clean white santro. The large sunglass covers most of her face. Immediately what you can do is to take a handbrake turn, and start tailgating her. And you know she won't let you down when she squeezes through two confused autos. So you chase, in a hope when she stops at red, you can probably get a spot next to her, to have a look, maybe if possible make an eye contact. Yeah I know that would have been the time to &lt;a href="http://www.wussu.com/poems/rglwh.htm"&gt;release the imprisoned larks&lt;/a&gt;, but maybe she wouldn't mind an appreciative nod? But alas, she is too good a driver. You have to jump signals to keep up, forget overtaking. To set mood, you frantically search for Joe Satriani in car-iPod, and `Surfing with the Alien' fills the air. You murmur apologies to all fellow road users for cutting them sharp, and know that none can appreciate your rush. After deviating from your usual route by a good 3km, the moment comes. She stops, so uncharacteristic, on an amber. Was she looking at rearview mirror? You stop next to her. The filmstar like shades are too dark to see through. There goes green, and you look for next U turn to continue with rest of your life. The day is already made.&lt;br /&gt;&lt;br /&gt;Sunil had it easy. Catching a bus in Kolkata is far less riskier than a race in Bangalore traffic. &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-6238823739241952928?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/6238823739241952928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2011/02/sunil-gangopadhay-style-romance-in-2010.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6238823739241952928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6238823739241952928'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2011/02/sunil-gangopadhay-style-romance-in-2010.html' title='Sunil Gangopadhay style romance in 2010'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q8IyBrue8D8/TGu2z3SSzSI/AAAAAAAACFQ/v9-DA_7JtsA/s72-c/Traffic1.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-7991348032764632</id><published>2010-08-09T19:39:00.000+05:30</published><updated>2012-02-06T16:24:37.952+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>When End-to-end Cryptography is Outlawed,</title><content type='html'>&lt;div class="columns2"&gt;only criminals will have privacy. I guess we can't emphasize more. When you think your cellphone conversations are encrypted, the termination is at service provider's gateway. The SP has access to the clear voice. Reading e-mail over SSL? Again the email server is storing the plain text of the email. And people who are out there to get you will arm-twist the service providers to provide access. Recent example is governments demanding keys to blackberry communication. So what do we need for complete privacy? Well, end to end encryption. Right from lips to ear. If the message is decrypted anywhere else in the channel, that's the point agencies can tap into. It should be like users conversing in Greek/Latin/Hebrew in a public place, everyone can hear them but have no clue what's being talked about.&lt;br /&gt;&lt;br /&gt;An implementation of PGP in the voice world might have been a good choice. At least in principle. What we need is a voice sample encrypting machine, that sits right in between the DSP and the phone's voice processing interface. Actually I'd prefer a headphone/mic combination where they already encrypt voice. Two difficulties in that, though. It has to setup encryption key for a session, for which it has to authenticate and negotiate with a co-operating peer, and it'll have 6ms to cryptographically and signal-wise process each voice packet (assuming 40kHz sampling, stereo input and output). But such chips were available even 5 years ago. &lt;br /&gt;&lt;br /&gt;Though all the bells and  whistles of PGP aren't needed all along. The problem to solve first is to setup a session key over untrusted channel. Diffie-Hellman being a sitting duck to man-in-the-middle, you need something out of band negotiated with the recipient (or their certificates). Obviously a long term shared key might threaten your perfect forward secrecy, where if the key is broken at any time, all your previous conversations gets compromised. That way, the line taken by &lt;a href="http://en.wikipedia.org/wiki/Off-the-Record_Messaging"&gt;OTR&lt;/a&gt; is much acceptable, they also purposefully avoid &lt;a href="http://en.wikipedia.org/wiki/Non-repudiation"&gt;non-repudiation&lt;/a&gt;. So something like that should be available for voice streams. The conversation will stay confidential, and even when one party is held at gunpoint, it is not possible to conclusively prove the identity of the peer.&lt;br /&gt;&lt;br /&gt;But they may say using encryption is incriminating enough.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-7991348032764632?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/7991348032764632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2010/08/when-end-to-end-cryptography-is.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7991348032764632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7991348032764632'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2010/08/when-end-to-end-cryptography-is.html' title='When End-to-end Cryptography is Outlawed,'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-2216297585433967526</id><published>2010-07-26T18:40:00.000+05:30</published><updated>2010-07-26T18:40:14.245+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>Assembling a 750 Jigsaw</title><content type='html'>&lt;div class="columns"&gt;&lt;a href="http://4.bp.blogspot.com/_q8IyBrue8D8/TEyVk4lPxII/AAAAAAAACEk/aoB4bnHjMYM/s1600/MooseDeer_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_q8IyBrue8D8/TEyVk4lPxII/AAAAAAAACEk/aoB4bnHjMYM/s1600/MooseDeer_1.jpg" align="left" /&gt;&lt;/a&gt;On 19th June, we started assembling a 750 pieces puzzle. And then almost everyday, the regular exercise once I am back from office would be to work on it. We'd spend almost 15-20-30 minutes everyday just before dinner. And exactly five weeks later, we placed the final piece in the puzzle, making the picture of a Moose Deer complete. &lt;br /&gt;&lt;br /&gt;The strategy first was to divide the pieces into as many groups as possible; and that is done by similarity of colours or patterns. So we took around 15 envelopes, and then created as many heaps of similar looking pieces, and each heap went into one. The idea being members of each envelope would be in close proximity of each other. This is particularly important that &lt;i&gt;all&lt;/i&gt; similar tiles are together. One tile in wrong heap will cause a long search. This was not 100% accurate, though. There would be several disjoint areas which might have very similar colours; especially almost black tiles; and they are going to mislead. However, we can deal with such special case later. &lt;a href="http://4.bp.blogspot.com/_q8IyBrue8D8/TEyVlrEI2SI/AAAAAAAACEo/-nZ25pczF1E/s1600/MooseDeer_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_q8IyBrue8D8/TEyVlrEI2SI/AAAAAAAACEo/-nZ25pczF1E/s1600/MooseDeer_2.jpg" align="right" /&gt;&lt;/a&gt; One of the biggest challenge in the whole exercise is not to lose a single piece. Since you work part-time of it, it takes weeks to finish the project, and one single missing tile will spoil all the fun. Moreover, you have to save the work for the next day, which essentially means you have to reserve an undisturbed large area to store the half-finished puzzle at home (and if you can't then ensure you can easily move the work in progress).&lt;br /&gt;&lt;br /&gt;The photograph printed on the box was of very limited help. It was very small compared to the size of the actual puzzle; so looking at individual tiles it was very hard to guess which area they are going to go. Still then, the fun was in guessing and finally finding it right.  &lt;br /&gt;&lt;br /&gt;It'll be painful to disassemble it.&lt;br /&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-2216297585433967526?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/2216297585433967526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2010/07/assembling-750-jigsaw.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2216297585433967526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2216297585433967526'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2010/07/assembling-750-jigsaw.html' title='Assembling a 750 Jigsaw'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_q8IyBrue8D8/TEyVk4lPxII/AAAAAAAACEk/aoB4bnHjMYM/s72-c/MooseDeer_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-777633187150149321</id><published>2010-07-23T19:21:00.000+05:30</published><updated>2010-07-23T19:21:02.725+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Geotagging Photographs</title><content type='html'>&lt;div class="columns"&gt;Technology exists. But many times they aren't integrated, or aren't cheap to use. Several times two independent technologies spring up to serve two completely different purposes; and then someone comes and stitches them together to open up completely new possibilities. Take photography and geolocation as example. Sometimes it is important (or fun) to know where exactly the photograph is taken. In nature photography, for example, you shoot a rare species and try to publish a record. The exact location will provide a much better details on the subject's habitat, or help someone to follow your trail if the want to do further research. Or maybe just as a tour guide. You hiked around, and on the way kept shooting. And the photos are placed in the map exactly where they were taken. Flickr, Picasa had such support since long; if the image had location information in their header, they'd show the image on a map. Even manually you could place photos on their maps and they'll update the meta data.&lt;br /&gt;&lt;br /&gt;Obviously updating the location manually is very painful process. All your 100 photos may be taken at different locations (nearby, but different). Updating in Flickr/Picasa just updates their own copy. Plus, it may be difficult to pinpoint the &lt;i&gt;exact&lt;/i&gt; location of each photograph in their maps. So, we need to devise a method where the photos will be automatically updated with location information.&lt;br /&gt;&lt;br /&gt;A camera with integrated GPS solves everything. Theoretically, though. The cameras with built-in GPS is neither good as a camera nor the GPS works (first hand feedback of a friend who's using one). I already have invested so much in good camera gear that a downgrade (the camera model with gps is way inferior) is out of question. And I have multiple of cameras with me during a trip so obviously I can't change all of them. And the GPS module wouldn't work when needed.&lt;br /&gt;&lt;br /&gt;So what I need is an external GPS module. It need not have maps as I am not going to use it as guidance. All I want it to keep logging my location during my photography sessions; and later I can reconcile the log with photo's time. I was &lt;i&gt;also&lt;/i&gt; looking at a watch which can monitor my heart-beat during my work-outs, and finally found a deal on Garmin &lt;a href="http://en.wikipedia.org/wiki/Garmin_Forerunner"&gt;Forerunner 305&lt;/a&gt; at amazon. (They made the watch to help athletes but see the purpose it is serving here). It can log enough to cover a few safari trips, and battery lasts a whole working day. The only missing part in this is the direction the camera is facing when shooting (which an integrated box could do), but I guess I'll live with that deficiency. &lt;br /&gt;&lt;br /&gt;This is it, so I synchronized the clocks of all cameras with the GPS watch. Once back from the trek/trip, it is time to update the location information. Currently I am using &lt;a href="http://geotag.sourceforge.net/"&gt;geotag&lt;/a&gt; to stitch the information together. First I export the GPS track into a gpx file from the watch. Then geotag loads the images, the track and places the images on the track as per the time-stamp. It can even interpolate if the photo doesn't have a matching time (rarely as the gpx track will generally record the position every second). And finally update the photos' exif tags with latitude, longitude and altitude information (both RAW and JPG). Now we can upload the photo anywhere, and the meta information would go with it. &lt;br /&gt;&lt;br /&gt;There's geotag (right) in action, along with the placement of the photo in google map (top-left) with gps information available from Garmin training center (left-bottom).&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_q8IyBrue8D8/TERIiankd0I/AAAAAAAACD4/fNlv0ZWbGK4/s1600/Garmin+Geotag.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="1" src="http://3.bp.blogspot.com/_q8IyBrue8D8/TERIiankd0I/AAAAAAAACD4/fNlv0ZWbGK4/s640/Garmin+Geotag.jpg" width="960" title="geotag, google map, garmin: click to blow up" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-777633187150149321?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/777633187150149321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2010/07/geotagging-photographs.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/777633187150149321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/777633187150149321'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2010/07/geotagging-photographs.html' title='Geotagging Photographs'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_q8IyBrue8D8/TERIiankd0I/AAAAAAAACD4/fNlv0ZWbGK4/s72-c/Garmin+Geotag.jpg' height='72' width='72'/><thr:total>1</thr:total><georss:featurename>Bengaluru Rural, Karnataka, India</georss:featurename><georss:point>12.31484631443784 77.26530075073242</georss:point><georss:box>12.293882314437841 77.23611825073242 12.33581031443784 77.29448325073243</georss:box></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-2429321243401240859</id><published>2010-07-23T00:28:00.000+05:30</published><updated>2010-07-23T00:28:47.927+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Filtering the RJ bakwaas</title><content type='html'>&lt;div class="columns"&gt;As the quality of &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Radio_jockey" rel="wikipedia nofollow" title="Radio jockey"&gt;RJ&lt;/a&gt; chatters in FM radio is deteriorating every day, the usual "cut craps from life" thoughts come pouring in. When most of the songs they play are pretty good, except those particular ones which are known to be exclusively for FM channels, like &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Item_number" rel="wikipedia nofollow" title="Item number"&gt;item numbers&lt;/a&gt; but except visual stimulation they depend on rythmic drums; the talks that connects the audience to the programs are obviously failing to meet even minimal expectations. So just like AD blockers, we need silence when the Radio Jockeys deliver their over enthusiastic speech. Since &lt;a href="http://kousik.blogspot.com/2005/05/song-title-for-fm-radio.html"&gt;song titles in FM radio&lt;/a&gt; is still a distant reality, we have to do some &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Data_scraping" rel="wikipedia nofollow" title="Data scraping"&gt;screen scraping&lt;/a&gt; ourselves. So the problem boils down to how to detect a song easily (remember the car stereo has limited processing power and memory). So the biggest difference between talk and song are background music. The human voice will be limited to 2 to 8kHZ frequency range, when the music instruments would produce frequencies in 10 to 20kHz in addition. So easiest rule you can apply is "unless there is reasonable amplitude above 8kHz, mute". In a wide variety of cases, it ought to solve the problem. You can hear the ringing tone from Ghanta Singh, but enjoy golden silence when he bores his victims.&lt;br /&gt;&lt;br /&gt;Obviously such oversimplification won't cut the ads. And it'll silence the traffic update announcement too.&lt;br /&gt;&lt;br /&gt;Still then, the biggest problem is they won't give me the source code or SDK of my car audio. &lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" align="right" src="http://img.zemanta.com/zemified_a.png?x-id=ad607406-1f0a-4329-9b10-3ceaee5ab2b6" /&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-2429321243401240859?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/2429321243401240859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2010/07/filtering-rj-bakwaas.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2429321243401240859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2429321243401240859'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2010/07/filtering-rj-bakwaas.html' title='Filtering the RJ bakwaas'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-7438639390162571431</id><published>2010-01-12T23:59:00.001+05:30</published><updated>2010-01-15T17:55:16.738+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='bengali'/><title type='text'>It is 2010 already, missing `Rabindranath-2010'</title><content type='html'>&lt;div class="columns"&gt;In '99, still in college, I first heard the Jazz rendition of the Rabindra-sangeet &lt;a href="http://www.youtube.com/results?search_query=na+chahile+jare+pawa+jay"&gt;Na chahile jare pawa jay&lt;/a&gt; from our favourite &lt;a href="http://bauliana.blogspot.com/"&gt;Maqsoodul Haque&lt;/a&gt;. Till then, Mac was known to us via Feedback, who just rocked in early '90s by their romance and frustration. Then suddenly I hit Mac o dHAKA's version (Mac was kind enough to send me &lt;a href="http://tinyurl.com/y8kwvoz"&gt;a link&lt;/a&gt;). It was named "Rabindranath 2010". (At that time I wasn't educated too much on Copyright laws, learned later that copyright of Rabindranath Tagore's work should have been ended in 1991 but &lt;a href="http://parliamentofindia.nic.in/lsdeb/ls10/ses3/2217039201.htm"&gt;extended&lt;/a&gt; by 10 years, so actually Mac's work done in 1999 was a violation of copyright in India but anyways) But hey, copyright aside, an artist should have full freedom to experiment. That time I remember of the controversy the song generated (in Bangladesh and Kolkata too). More than the asthetics of the song, what impressed me is the guts of Mac. With purists breathing on shoulder, he went ahead to create his own version. From the title of the song it looked like Maq envisioned by 2010, people will start doing bold experiments. Alas, just like &lt;a href="http://en.wikipedia.org/wiki/Moheener_Ghoraguli"&gt;Moheener Ghoraguli&lt;/a&gt;, it was 20 years too early. And I still do not see such experiments happening. There are a few people in Bengali music today, but I am not sure what stops them from making radical moves. &lt;br /&gt;&lt;br /&gt;It is 2010 already. If not now, when?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-7438639390162571431?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/7438639390162571431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2010/01/it-is-2010-already-missing-rabindranath.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7438639390162571431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7438639390162571431'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2010/01/it-is-2010-already-missing-rabindranath.html' title='It is 2010 already, missing `Rabindranath-2010&apos;'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-4563371129909921954</id><published>2009-10-23T00:40:00.001+05:30</published><updated>2009-10-23T15:50:37.219+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Work-Life Balance</title><content type='html'>&lt;div class="columns"&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_q8IyBrue8D8/SuCfOVYkDfI/AAAAAAAABIE/x2gGN5LaL4I/s1600-h/iravan_TTT.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_q8IyBrue8D8/SuCfOVYkDfI/AAAAAAAABIE/x2gGN5LaL4I/s400/iravan_TTT.JPG" alt="" id="BLOGGER_PHOTO_ID_5395487422197009906" align="right" border="1" /&gt;&lt;/a&gt; Everything revolves around it. Whether you know it or not. Even for the people we call workaholics, or lazy. They find balance in their act, whatever us mortals think about them. Everyone is in their "happiness equilibrium", because if this balance breaks, you'll do something about it.&lt;br /&gt;&lt;br /&gt;After all, why do you write good code? Why do you make your design solid? Why do you write unit test? All good advices of &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Software_engineering" title="Software engineering" rel="wikipedia"&gt;software engineering&lt;/a&gt; seems to be motivated by this. You do quality stuffs because you want to have a good balance in work and personal life. Want to have a better &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Human_sexual_behavior" title="Both good and bad programmers grope in the dark. Good fondles partner, bad debugs" rel="wikipedia"&gt;sex life&lt;/a&gt;? Write better code! Otherwise you have to spend the night stepping in gdb. Want to play with your kids once you reach home? Again, don't let bugs creep in! Want to do bird photography on weekends? Architect and design the damn thing well, so that you don't have to do another &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Code_refactoring" title="Code refactoring" rel="wikipedia"&gt;refactoring&lt;/a&gt; on the Saturday nights, and then you can't get up on Sunday 5:00am.  &lt;br /&gt;&lt;br /&gt;There are places which makes you a hero twice. First for rushing to write your feature (with lots of bugs) to meet impossible deadlines. You get a bonus for releasing before schedule. And &lt;i&gt;if&lt;/i&gt; it reaches the customer, it is going to hit those bugs in critical time, and then another bonus for staying up overnight to debug them. Unfortunately such places aren't rare, and more unfortunate is they aren't going anywhere too. None in those companies have an incentive to do a clean job.&lt;br /&gt;&lt;br /&gt;It is for your own interest, actually. If you didn't care about the pat when you finally debug that weird customer problem (rather be ashamed that there was a bug in the first place), go write un-buggy code!  &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/71389b22-adfa-4ab7-b7b1-54d59e2d7335/" title="Reblog this post [with Zemanta]"&gt;&lt;img class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_c.png?x-id=71389b22-adfa-4ab7-b7b1-54d59e2d7335" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-4563371129909921954?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/4563371129909921954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/10/work-life-balance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4563371129909921954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4563371129909921954'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/10/work-life-balance.html' title='Work-Life Balance'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_q8IyBrue8D8/SuCfOVYkDfI/AAAAAAAABIE/x2gGN5LaL4I/s72-c/iravan_TTT.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1016911225798352961</id><published>2009-07-18T04:15:00.000+05:30</published><updated>2009-07-18T04:16:26.104+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='trip'/><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>Young Tuskers busy in Mock Fight</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_q8IyBrue8D8/SmD9SMkA52I/AAAAAAAABFk/TZDzSKaDyBA/s1600-h/tusker_fight_seq.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; " src="http://3.bp.blogspot.com/_q8IyBrue8D8/SmD9SMkA52I/AAAAAAAABFk/TZDzSKaDyBA/s800/tusker_fight_seq.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5359562045622642530" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1016911225798352961?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1016911225798352961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/07/young-tuskers-busy-in-mock-fight.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1016911225798352961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1016911225798352961'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/07/young-tuskers-busy-in-mock-fight.html' title='Young Tuskers busy in Mock Fight'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_q8IyBrue8D8/SmD9SMkA52I/AAAAAAAABFk/TZDzSKaDyBA/s72-c/tusker_fight_seq.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-8437298732162322551</id><published>2009-07-16T18:40:00.001+05:30</published><updated>2009-07-16T18:42:58.881+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_q8IyBrue8D8/Sl8kxSAlJrI/AAAAAAAABFc/aHS87Q1UwmQ/s1600-h/emacs_comics.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_q8IyBrue8D8/Sl8kxSAlJrI/AAAAAAAABFc/aHS87Q1UwmQ/s1600/emacs_comics.jpg" border="1" alt="" id="BLOGGER_PHOTO_ID_5359042510660642482" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="clear"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;I have repaired &lt;a href="javascript:expandcollapse('comicscode')"&gt;comics.el&lt;/a&gt; -- now it hits gocomics.com and comics.com, and fetches available comics. The regular expressions are suitably updated from &lt;a href="http://kousik.blogspot.com/2006/04/emacscomicscoffee.html"&gt;previously&lt;/a&gt; broken version.&lt;br /&gt;&lt;br /&gt;&lt;span class="posthidden" id="comicscode"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;(eval-when-compile (require 'cl))&lt;br /&gt;(require 'calendar)&lt;br /&gt;&lt;br /&gt;(defvar comics-alist&lt;br /&gt;  '(;; gocomics.com comics&lt;br /&gt;    ("born lucky" "bornlucky" comics-ucomics-url-generator)&lt;br /&gt;    ("calvin and hobbes" "calvinandhobbes" comics-ucomics-url-generator)&lt;br /&gt;    ("cathy" "cathy" comics-ucomics-url-generator)&lt;br /&gt;    ("doonesbury" "doonesbury" comics-ucomics-url-generator)&lt;br /&gt;    ("duplex" "duplex" comics-ucomics-url-generator)&lt;br /&gt;    ("foxtrot" "foxtrot" comics-ucomics-url-generator)&lt;br /&gt;    ("for better or for worse" "forbetterorforworse" comics-ucomics-url-generator)&lt;br /&gt;    ("garfield" "garfield" comics-ucomics-url-generator)&lt;br /&gt;    ("non sequitur" "nonsequitur" comics-ucomics-url-generator)&lt;br /&gt;    ("ziggy" "ziggy" comics-ucomics-url-generator)&lt;br /&gt;    ;; comics.com comics&lt;br /&gt;    ("born loser" "the_born_loser" comics-unitedmedia-url-generator)&lt;br /&gt;                                        ;    ("dilbert" "dilbert" comics-unitedmedia-url-generator)&lt;br /&gt;                                        ;   ("for better or for worse" "forbetter" comics-unitedmedia-url-generator)&lt;br /&gt;    ("nancy" "nancy" comics-unitedmedia-url-generator)&lt;br /&gt;    ("peanuts" "peanuts" comics-unitedmedia-url-generator)&lt;br /&gt;    ("wizard of id" "wizard_of_id" comics-unitedmedia-url-generator)&lt;br /&gt;    ("B C" "bc" comics-unitedmedia-url-generator)&lt;br /&gt;    ("reality check" "reality_check" comics-unitedmedia-url-generator)&lt;br /&gt;    ("marmaduke" "marmaduke" comics-unitedmedia-url-generator))&lt;br /&gt;  "Location info of comics.&lt;br /&gt;&lt;br /&gt;Each element of the alist contains the directory that has the comic and a&lt;br /&gt;function which tells us how to find the web address that needs to be fetched.")&lt;br /&gt;&lt;br /&gt;(defvar comics-list '("calvin and hobbes" "doonesbury" "peanuts" "for better or for worse"&lt;br /&gt;                      "non sequitur")&lt;br /&gt;  "List of comics to get with `comics-display-all'")&lt;br /&gt;&lt;br /&gt;(defvar comics-image-viewer "xview")&lt;br /&gt;&lt;br /&gt;(defvar comics-local-cache "~/.comics")&lt;br /&gt;&lt;br /&gt;(defvar comics-image-url-regexp-format-string&lt;br /&gt;  "&amp;lt;IMG SRC=\"\\([^&gt;]*%02d[0-9]*%02d[0-9]*\.\\(gif\\|jpg\\)\\)\"")&lt;br /&gt;&lt;br /&gt;(defvar comics-history ())&lt;br /&gt;&lt;br /&gt;;;; http://www.ucomics.com interface&lt;br /&gt;(defun comics-ucomics-url-generator (comic date &amp;optional relative-url)&lt;br /&gt;  "Generate the html page that has the COMIC for DATE."&lt;br /&gt;  (cond ((eq relative-url nil)&lt;br /&gt;         (format "http://www.gocomics.com/%s/%s/%02d/%02d/"&lt;br /&gt;                 comic (caddr date) (car date) (cadr date)))&lt;br /&gt;   ((listp relative-url)&lt;br /&gt;    (apply #'format "&amp;lt;p class=\"feature_item\"&gt;.*&lt;[iI][mM][gG].* [sS][rR][cC]=\"\\([^&gt;\"]*\\)"&lt;br /&gt;           (cadr relative-url)))&lt;br /&gt;   (t relative-url)))&lt;br /&gt;&lt;br /&gt;;;; http://www.unitedmedia.com interface&lt;br /&gt;(defun comics-unitedmedia-url-generator (comic date &amp;optional relative-url)&lt;br /&gt;  "Generate the html page that has the COMIC for DATE."&lt;br /&gt;  (cond&lt;br /&gt;   ((eq relative-url nil)&lt;br /&gt;    (format "http://www.comics.com/%s/%s-%02d-%02d/"&lt;br /&gt;            comic (caddr date) (car date) (cadr date)))&lt;br /&gt;   ((listp relative-url)&lt;br /&gt;    (format "class=\"STR_StripImage\".*&lt;[iI][mM][gG] [sS][rR][cC]=\"\\([^&gt;\"]*\\)"&lt;br /&gt;            (car relative-url)))&lt;br /&gt;   (t relative-url)))&lt;br /&gt;&lt;br /&gt;;;; Common code&lt;br /&gt;(defvar comics-image-file)&lt;br /&gt;(defvar comics-temp-file)&lt;br /&gt;(defvar comics-regexp)&lt;br /&gt;(defvar comics-generator)&lt;br /&gt;&lt;br /&gt;(defun comics-fetch-and-display (comic date)&lt;br /&gt;  "Fetch COMIC for DATE and display it.&lt;br /&gt;COMIC is only fetched if it isn't present in cache already. Otherwose the&lt;br /&gt;cached copy is used."&lt;br /&gt;  (let* ((elem (assoc comic comics-alist))&lt;br /&gt;         (base (cadr elem))&lt;br /&gt;         (generator (caddr elem))&lt;br /&gt;         image-url cached-image)&lt;br /&gt;    (unless (stringp base)&lt;br /&gt;      (error "Comic %s not found" comic))&lt;br /&gt;    ;; Compute cached image name...&lt;br /&gt;    (setq cached-image&lt;br /&gt;          (expand-file-name (apply #'format "%s!%04d!%02d!%02d" base date)&lt;br /&gt;                            comics-local-cache))&lt;br /&gt;    ;; If cached image exists, display it and exit.&lt;br /&gt;    (if (file-exists-p cached-image)&lt;br /&gt;        (comics-show-image cached-image)&lt;br /&gt;      ;; Otherwise start the fetching process and set things up to display it&lt;br /&gt;      ;; when the comic has been downloaded.&lt;br /&gt;      (let ((tmp-buf (get-buffer-create (generate-new-buffer-name "*comic*")))&lt;br /&gt;            (case-fold-search t)&lt;br /&gt;            (tmp-file (make-temp-file "_comics"))&lt;br /&gt;            (regexp (funcall generator nil nil (list base date))))&lt;br /&gt;        (save-excursion&lt;br /&gt;          (set-buffer tmp-buf)&lt;br /&gt;          (set (make-local-variable 'comics-image-file) cached-image)&lt;br /&gt;          (set (make-local-variable 'comics-temp-file) tmp-file)&lt;br /&gt;          (set (make-local-variable 'comics-regexp) regexp)&lt;br /&gt;          (set (make-local-variable 'comics-generator) generator)&lt;br /&gt;          (set-process-sentinel&lt;br /&gt;           (start-process "*wget*" tmp-buf "wget"&lt;br /&gt;                          (funcall generator base date) "-O" tmp-file)&lt;br /&gt;           'comics-html-download-sentinel))))))&lt;br /&gt;&lt;br /&gt;(defun comics-show-image (image)&lt;br /&gt;  "Show IMAGE with an external viewer."&lt;br /&gt;  ;(start-process "*comic-displayer*" nil comics-image-viewer image)&lt;br /&gt;   (switch-to-buffer-other-window (get-buffer-create "*scratch*")) &lt;br /&gt;   (goto-char (point-max)) &lt;br /&gt;   (recenter)&lt;br /&gt;   (insert '"\n")&lt;br /&gt;   (insert-image (create-image image nil))&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;(defun comics-html-download-sentinel (process change)&lt;br /&gt;  "Sentinel to parse the html fetched by wget.&lt;br /&gt;PROCESS is the wget process and CHANGE is the state when this function is&lt;br /&gt;called. We will wait for wget to finish and then scan the resulting file for&lt;br /&gt;the actual comic URL."&lt;br /&gt;  (when (eq (process-status process) 'exit)&lt;br /&gt;    (save-excursion&lt;br /&gt;      (set-buffer (process-buffer process))&lt;br /&gt;      (let ((tmp-file comics-temp-file)&lt;br /&gt;            (regexp comics-regexp)&lt;br /&gt;            (generator comics-generator)&lt;br /&gt;            image-url)&lt;br /&gt;        (with-temp-buffer&lt;br /&gt;          (insert-file-contents-literally tmp-file)&lt;br /&gt;          (goto-char (point-min))&lt;br /&gt;          (when (re-search-forward regexp nil t)&lt;br /&gt;            (setq image-url (funcall generator nil nil (match-string 1)))))&lt;br /&gt;        (if (not image-url)&lt;br /&gt;            (message "Error in parsing html page")&lt;br /&gt;          (ignore-errors&lt;br /&gt;            (delete-file tmp-file)&lt;br /&gt;            (delete-process process))&lt;br /&gt;          (set-process-sentinel&lt;br /&gt;           (start-process "*wget*" (current-buffer)&lt;br /&gt;                          "wget" image-url "-O" comics-image-file)&lt;br /&gt;           'comics-display-comic-sentinel))))))&lt;br /&gt;&lt;br /&gt;(defun comics-display-comic-sentinel (process change)&lt;br /&gt;  "Sentinel to display comic.&lt;br /&gt;PROCESS is the wget process and CHANGE is ignored."&lt;br /&gt;  (when (eq (process-status process) 'exit)&lt;br /&gt;    (let* ((buf (process-buffer process))&lt;br /&gt;           (image-file (save-excursion (set-buffer buf) comics-image-file)))&lt;br /&gt;      (ignore-errors&lt;br /&gt;        (delete-process process)&lt;br /&gt;        (kill-buffer buf))&lt;br /&gt;      (if (not (file-exists-p image-file))&lt;br /&gt;            (message "Couldn't fetch image file")&lt;br /&gt;          (comics-show-image image-file)))))&lt;br /&gt;&lt;br /&gt;(defun comics-read-comic-name ()&lt;br /&gt;  "Read comic name with completion and history."&lt;br /&gt;  (completing-read&lt;br /&gt;   (format "Comic%s: "&lt;br /&gt;           (if comics-history (format " [%s]" (car comics-history)) ""))&lt;br /&gt;   comics-alist nil t nil 'comics-history (car comics-history)))&lt;br /&gt;&lt;br /&gt;(defun comics-display (comic date)&lt;br /&gt;  "Display COMIC for DATE."&lt;br /&gt;  (interactive (list (comics-read-comic-name) (calendar-cursor-to-date t)))&lt;br /&gt;  (comics-fetch-and-display comic date))&lt;br /&gt;&lt;br /&gt;(defun comics-display-all (date)&lt;br /&gt;  "Display all comics in `comics-list' for DATE."&lt;br /&gt;  (interactive (list (calendar-cursor-to-date t)))&lt;br /&gt;  (dolist (comic comics-list)&lt;br /&gt;    (comics-display comic date)))&lt;br /&gt;&lt;br /&gt;;;; Add key binding to calendar-mode-map&lt;br /&gt;(define-key calendar-mode-map "c" 'comics-display)&lt;br /&gt;(define-key calendar-mode-map "C" 'comics-display-all)&lt;br /&gt;&lt;br /&gt;(provide 'comics)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-8437298732162322551?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/8437298732162322551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/07/i-have-repaired-comics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8437298732162322551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8437298732162322551'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/07/i-have-repaired-comics.html' title=''/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_q8IyBrue8D8/Sl8kxSAlJrI/AAAAAAAABFc/aHS87Q1UwmQ/s72-c/emacs_comics.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-579224009549653495</id><published>2009-07-08T23:59:00.004+05:30</published><updated>2009-07-09T01:49:20.428+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>The bug in exploit code</title><content type='html'>&lt;div class="columns"&gt;When some customer reported concern on the openssh version we were using, to assure them we have backported all the security fixes, we had to test with the exploit. First we had to ensure the &lt;a href="http://milw0rm.com/exploits/2444"&gt;exploit&lt;/a&gt; really works by running it against an unpatched opensshd, and then run it again against a secured one to verify that the patch really works and it is not vulnerable any more. Catch? The first part can be less trivial than we think. The exploit has been written by a brilliant &lt;i&gt;and responsible&lt;/i&gt; guy (ought to be, he appears to be working for google). &lt;br /&gt;&lt;br /&gt;He introduced a little bug that'll prevent it to work. &lt;br /&gt;&lt;br /&gt;So that when the exploit is available in the wild, the script kiddies won't be able to play it. It took me a while to locate the bug and fix it. &lt;br /&gt;&lt;br /&gt;Also I realized again how hard it is to read code than writing. And seriously, responsible PoC exploits &lt;i&gt;should&lt;/i&gt; have subtle, undocumented, beautiful bug in them to frustrate the script-running juveniles; and at the same time the bug will help serious researchers to understand the code (and fix genuine bugs later). &lt;br /&gt;&lt;br /&gt;&lt;a href="http://kousik.blogspot.com/2007/07/your-secret-is-not-safe-in-my-hands.html"&gt;Yes, I walked the path before&lt;/a&gt;, never did post a runnable exploit. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-579224009549653495?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/579224009549653495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/07/bug-in-exploit-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/579224009549653495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/579224009549653495'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/07/bug-in-exploit-code.html' title='The bug in exploit code'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-3157048457018517433</id><published>2009-06-18T11:04:00.000+05:30</published><updated>2009-06-18T11:04:33.037+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>An all solid state cheapo car audio</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_q8IyBrue8D8/SjkP1uLTBDI/AAAAAAAAA-k/lj95EDo9Kmg/s1600-h/solidstateplayer.jpg" imageanchor="1" style=" float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="1" src="http://1.bp.blogspot.com/_q8IyBrue8D8/SjkP1uLTBDI/AAAAAAAAA-k/lj95EDo9Kmg/s1600/solidstateplayer.jpg" usemap="#map" /&gt;&lt;/a&gt; &lt;map name="map"&gt;&lt;!-- #$-:Image Map file created by GIMP Imagemap Plugin --&gt;&lt;!-- #$-:GIMP Imagemap Plugin by Maurits Rijk --&gt;&lt;!-- #$-:Please do not edit lines starting with "#$" --&gt;&lt;!-- #$VERSION:2.0 --&gt;&lt;!-- #$AUTHOR:Kousik Nandy --&gt;&lt;area shape="rect" coords="0,213,31,263" title="AUX input" /&gt;&lt;area shape="rect" coords="136,219,302,250" title="SD card slot" /&gt;&lt;area shape="rect" coords="338,206,433,247" title="USB hard drive or stick" /&gt;&lt;area shape="rect" coords="104,119,313,212" title="Sliding iPod dock" /&gt;&lt;/map&gt; My requirements were clear since the beginning. As far as my experience goes with car audio head units, it is the CD drive that goes bad first. It is the only moving part in the car stereo, has to be very delicate (much more expensive than normal CD drives) because it has to withstand all the vibrations and shock when the car is in motion, and goes bad first (well my first one died on 13th month just after the warranty expired). Still then, major vibration will cause a skip. Hence my decision was "I don't want a CD drive in my car stereo". All these salesmen in Bangalore would tell me "well you don't &lt;i&gt;have to&lt;/i&gt; play the CDs". "Yeah, right, but I don't want to pay for it, either". They would back off. "Sorry sir we don't keep such a thing".&lt;br /&gt;&lt;br /&gt;And I'd be back to square one again in the next shop. Finally I gave up searching in Bangalore, and decided to get one from US. In this recession market when most of my money is underwater, thanks to a patent incentive I had ~12K of throwaway money to upgrade my car audio system. Well I am not an audiophile, I listen to music instead of equipment, so I divided the bonus in 2 equal parts and decided to upgrade the HU and front pair of speakers. The existing head-unit was an insult from Toyota anyway (believe me they bundled a cassette player in 2007) for not buying the top-end variant; and none wanted to buy it back (including the dealer). The speakers were ok, but I wanted a pair of components. &lt;br /&gt;&lt;br /&gt;125 USD wouldn't fetch too many car audio even in USA. After some light searches, I decided on &lt;A href="http://www.bossaudio.com/main/987"&gt;Boss's 750DI&lt;/a&gt;, which can play from a SD card, USB stick, has an AUX in; and most important, has an iPod dock. AUX in would have been ok to play iPods, but then you have to control the iPod separately, you can't charge it, and a dangling iPod is a serious hazard in the cabin of a speeding car. The iPod dock holds it securely, charges it and the HU's control (including the remote) would control the iPod. Now I have a SD card with my favourites for casual city drives and the nano with 8GB songs comes into action for long drives. The AUX helps if we connect the mobile phone; and now I think I could have opted for the Bluetooth version to make it a handsfree. Thanks to ol' buddy &lt;a href="http://www.employees.org/~atanu/"&gt;Atanu&lt;/a&gt;, who bought and shipped to our US office and &lt;a href="http://twitter.com/kmanuj"&gt;@kmanuj&lt;/a&gt; who carried it back here, I resolved my logistics issues. &lt;br /&gt;&lt;br /&gt;The following weekend was installation time, and though I was confident I could simply plonk in the HU in place (just have to carefully follow the color coding in the wiring diagram), I took the car to a shop nearby, who did a fairly fast and good job (I observed that my own toolset would have been inadequate for a DIY job). Especially installing the tweeters and crossover box wouldn't have been possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-3157048457018517433?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/3157048457018517433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/06/all-solid-state-cheapo-car-audio.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3157048457018517433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3157048457018517433'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/06/all-solid-state-cheapo-car-audio.html' title='An all solid state cheapo car audio'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_q8IyBrue8D8/SjkP1uLTBDI/AAAAAAAAA-k/lj95EDo9Kmg/s72-c/solidstateplayer.jpg' height='72' width='72'/><thr:total>2</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.960732116760276 77.65789031982422</georss:point><georss:box>12.918910116760276 77.59952531982422 13.002554116760276 77.71625531982421</georss:box></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-113516529179236778</id><published>2009-06-05T12:07:00.000+05:30</published><updated>2009-06-05T12:07:01.010+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='current affairs'/><category scheme='http://www.blogger.com/atom/ns#' term='trip'/><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>"Your Planet Needs You"</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="4" src="http://4.bp.blogspot.com/_q8IyBrue8D8/Sii7kDrJItI/AAAAAAAAA9o/oMKFFvuZ0p0/s1600/pugmark1.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-113516529179236778?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.unep.org/wed/2009/english/' title='&quot;Your Planet Needs You&quot;'/><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/113516529179236778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/06/your-planet-needs-you.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/113516529179236778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/113516529179236778'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/06/your-planet-needs-you.html' title='&quot;Your Planet Needs You&quot;'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_q8IyBrue8D8/Sii7kDrJItI/AAAAAAAAA9o/oMKFFvuZ0p0/s72-c/pugmark1.jpg' height='72' width='72'/><thr:total>2</thr:total><georss:featurename>Nagarhole National Park, Kerala, India</georss:featurename><georss:point>12.001039909388968 76.18400573730469</georss:point><georss:box>11.917085409388967 76.06727623730468 12.084994409388969 76.30073523730469</georss:box></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-5870793010469968586</id><published>2009-06-05T06:45:00.001+05:30</published><updated>2009-06-05T06:57:12.764+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='E51'/><title type='text'>Droid Fonts in s60 mobiles</title><content type='html'>&lt;div class="columns"&gt;&lt;img src="http://2.bp.blogspot.com/_q8IyBrue8D8/SiZbtR8YHeI/AAAAAAAAA9I/8ACa61Y-qzs/s320/Screenshot0056.png" align="right" /&gt; Look at the &lt;a href="http://en.wikipedia.org/wiki/Droid_fonts"&gt;Droid Fonts&lt;/a&gt; and you'll fall in love with it. It is a marginal improvement on Bitstream Vera and Deja Vu ... but looks prettier in smaller screen. After all, it is adding to the wow factor of many modern phones. When it is easy to use the fonts in your desktop, using a different font in Nokia S60 phones is an ugly procedure. When you think it ought to be editing some config file and point it to somewhere where the fonts are present, its actually more interesting than that. We let the phone pick the same filenames, but insert our own somewhere in its searchpath before the existing ones are found. So looks like the phone searches first into /resource/Fonts directory in the memory card, and &lt;i&gt;then&lt;/i&gt; in the phone memory. So what you have to do is to find the files (names) in /rosource/Fonts in the phone, and dump your own fonts in the same path of your memory card with the &lt;i&gt;same&lt;/i&gt; names. Same way as LD_PRELOAD would work. There are a lot of pages in net which tells you how to change the fonts of S60 mobiles. But badly. They tell you "use same font for everything" (that is, make 3 copies of the same file with different names), but you don't need to. You can actually provide 3 different fonts for normal, bold and titles (and the phone will render them correctly). Remember that having fonts in your memory card means the phone will never switch to USB transfer mode. So I have to find a way to rsync memory card in "PC suite" mode. Baah!&lt;br /&gt;&lt;br /&gt;Now you can see the "before" (on the left) and "after" (down there) screenshots. I won't say it is a "huge" improvement, but hey it is different from the crowd's.&lt;br /&gt;&lt;/div&gt;&lt;img  src="http://4.bp.blogspot.com/_q8IyBrue8D8/Sie1MgfQ9RI/AAAAAAAAA9g/0BQY2s66Ygw/s1600/droid_snaps.png" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-5870793010469968586?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/5870793010469968586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/06/look-at-droid-fonts-and-youll-fall-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5870793010469968586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5870793010469968586'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/06/look-at-droid-fonts-and-youll-fall-in.html' title='Droid Fonts in s60 mobiles'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q8IyBrue8D8/SiZbtR8YHeI/AAAAAAAAA9I/8ACa61Y-qzs/s72-c/Screenshot0056.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-5864481712036532491</id><published>2009-05-20T02:00:00.002+05:30</published><updated>2009-05-20T02:09:27.822+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Indian Roller</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_q8IyBrue8D8/ShMWlF4eGMI/AAAAAAAAA8M/suRqOh3ySXE/s1600-h/indian_roller.jpg"&gt;&lt;img style="cursor:pointer;" src="http://4.bp.blogspot.com/_q8IyBrue8D8/ShMWlF4eGMI/AAAAAAAAA8M/suRqOh3ySXE/s1600/indian_roller.jpg"  alt="Coracias benghalensis" id="BLOGGER_PHOTO_ID_5337634809854171330" title="Indian Roller, Coracias benghalensis" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kousik.blogspot.com/2006/01/indian-roller.html" title="More than three years ago ..."&gt;Previously&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-5864481712036532491?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/5864481712036532491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/05/indian-roller.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5864481712036532491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5864481712036532491'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/05/indian-roller.html' title='Indian Roller'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_q8IyBrue8D8/ShMWlF4eGMI/AAAAAAAAA8M/suRqOh3ySXE/s72-c/indian_roller.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-7144116610770818545</id><published>2009-05-15T19:51:00.001+05:30</published><updated>2009-05-15T19:53:25.751+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='E51'/><title type='text'>Web Runtime Widget on Nokia E51</title><content type='html'>&lt;div class="columns"&gt;&lt;a href="http://2.bp.blogspot.com/_q8IyBrue8D8/Sg1w4eHBAzI/AAAAAAAAA78/30vhU05AVPY/s1600-h/accuweather1.png" imageanchor="1" &gt;&lt;img border="0" align="left" src="http://2.bp.blogspot.com/_q8IyBrue8D8/Sg1w4eHBAzI/AAAAAAAAA78/30vhU05AVPY/s1600/accuweather1.png" /&gt;&lt;/a&gt; &lt;a href="http://www.forum.nokia.com/Resources_and_Information/Explore/Web_Technologies/Web_Runtime/"&gt;Web Runtime Widget&lt;/a&gt; is a relatively new technology on Symbian phones. Basically it is an application written in html + javascript + css + ajax. Nothing but a complex web page. Nokia's attempt to catch Web 2.0 on their mobiles before it becomes obsolete. Unfortunately, it is available in &lt;a href="http://www.forum.nokia.com/devices/matrix_webruntime_1.html"&gt;new phones&lt;/a&gt; only. Like it supports some s60 3rd Ed FP1 with software updates, but &lt;a href="http://discussion.forum.nokia.com/forum/showthread.php?t=155811"&gt;not E51&lt;/a&gt;. I checked &lt;a href="http://discussion.forum.nokia.com/forum/forumdisplay.php?f=160"&gt;Nokia forums&lt;/a&gt; but there was no confirmed report that E51 will support WRT, even after a software upgrade.&lt;br /&gt;&lt;br /&gt;I was upgrading the software of my &lt;a href="http://kousik.blogspot.com/search/label/E51"&gt;E51&lt;/a&gt; &lt;i&gt;anyway&lt;/i&gt;, so I decided to try a WRT post upgrade.&lt;br /&gt;&lt;br /&gt;The easiest (and probably useful) candidate was &lt;a href="http://dailymobile.se/2008/12/27/symbian-application-accuweather-widget/"&gt;Accuweather Widget&lt;/a&gt;, which shows (pretty good) weather information about a city. The whole package comes as .wgz file, and at least post software upgrade the file manager found an association with the extension and allowed me to explode the tarball as an application. So far so good. Now the application launches, but keeps showing me the weather of Paris. Not too useful for me, and I wanted to change the city to Bangalore. &lt;a href="http://2.bp.blogspot.com/_q8IyBrue8D8/Sg1xB29vy-I/AAAAAAAAA8E/cfuFJhTNYU0/s1600-h/accuweather2.png" imageanchor="1" &gt;&lt;img border="0" src="http://2.bp.blogspot.com/_q8IyBrue8D8/Sg1xB29vy-I/AAAAAAAAA8E/cfuFJhTNYU0/s1600/accuweather2.png" align="right" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And this is where unsupported platform hurts. I &lt;i&gt;can't edit a text box&lt;/i&gt; in the widget. It'll just take the first keypress and hang. No further input is possible in a textarea.  &lt;i&gt;Damn&lt;/i&gt;, now I can't change the city. I wished I lived in a city started with A, D, G, J ... (ok you get the pattern). Then a brainwave hit. It is all Javascript so maybe I can edit that file to change the default to Bangalore. And yes, accuweather.js says somewhere &lt;tt&gt;if (!zip) zip = "EUR|FR|FR012|PARIS"&lt;/tt&gt;. Now to find out the Bangalore code, I had to search Bangalore in &lt;a href="http://www.accuweather.com/m/"&gt;accuweather&lt;/a&gt; mobile site and from the URL location found it to be &lt;tt&gt;ASI|IN|IN017|BANGALORE&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;But I am sure other WRT widgets will be complex enough, and won't fall for so easy hacks.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-7144116610770818545?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/7144116610770818545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/05/web-runtime-widget-on-nokia-e51.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7144116610770818545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7144116610770818545'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/05/web-runtime-widget-on-nokia-e51.html' title='Web Runtime Widget on Nokia E51'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q8IyBrue8D8/Sg1w4eHBAzI/AAAAAAAAA78/30vhU05AVPY/s72-c/accuweather1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1690133514011158724</id><published>2009-05-12T18:15:00.000+05:30</published><updated>2009-05-12T18:15:20.015+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='current affairs'/><category scheme='http://www.blogger.com/atom/ns#' term='metro'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>Metro Pillar in a Year</title><content type='html'>&lt;table&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_q8IyBrue8D8/SfhbI2Pw8gI/AAAAAAAAA6k/vBne66qu84k/s1600-h/080304_1.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_q8IyBrue8D8/SfhbI2Pw8gI/AAAAAAAAA6k/vBne66qu84k/s400/080304_1.jpg" alt="" id="BLOGGER_PHOTO_ID_5330110366551699970" align="left" border="0" /&gt;&lt;/a&gt; More than a year ago, in February 2008, they barricaded Indiranagar 100 ft road for &lt;i&gt;Namma Metro&lt;/i&gt; work. Most of the time is consumed in erecting the pillars of the elevated railway. &lt;p/&gt;So the first action they took is to claim most of the 100 feet road, leaving two narrow lanes on both sides. Not before long, the single narrow lane gave up, and it became really painful to travel through it. I didn't have much choice myself as my workplace is right there, so I chose to document the pillar erection process itself. In early March, we saw heavy cranes coming in, and they started working on making foundation of the pillars. The places were already carefully marked on the road. &lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_q8IyBrue8D8/SfhbI8WSjCI/AAAAAAAAA6s/WfJmxLR-CkA/s1600-h/080314_1.jpg"&gt;&lt;img style="cursor: pointer; width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_q8IyBrue8D8/SfhbI8WSjCI/AAAAAAAAA6s/WfJmxLR-CkA/s400/080314_1.jpg" alt="" align="right" id="BLOGGER_PHOTO_ID_5330110368189680674" border="0" /&gt;&lt;/a&gt;Next came the drilling machines, which proceeded to make 4 deep holes at four corners of a square. The noise was exceeding our tolerance level by several decibels. But the machine was an engineering beauty. Armed with a spiral drill, it would be able to cut through almost any earth material, and the spiral automatically carries the debris up. This exercise went on for a few days, till they finished four neat holes, and moved on about 100 ft (or more) to build the next pillar. When they were doing this, because of debris clearing, too many heavy trucks will move around, which broke whatever left on the road.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_q8IyBrue8D8/SfhbJH676EI/AAAAAAAAA60/zECSKEoLLsM/s1600-h/080401_1.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_q8IyBrue8D8/SfhbJH676EI/AAAAAAAAA60/zECSKEoLLsM/s400/080401_1.jpg" alt="" align="left" id="BLOGGER_PHOTO_ID_5330110371296176194" border="0" /&gt;&lt;/a&gt; The holes were pretty deeper than we thought. They were dug close to 35 feet deep. (How did I know? Well on completion, they threw a metal line inside each with a little weight attached to the end. And then they lifted it and laid straight to measure it using a tape. Obviously I couldn't read the tape, but I counted number of steps a guy needed to walk from one end to the other. He needed ~25 steps.) Once the holes were ready, they poured concrete to create 4 underground pillars. And finally covered the top with mud and leveled them with the road. Now unless you looked carefully, you can't find the positions of the pillars. So, April 2008, we had the foundation of the pillar done.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_q8IyBrue8D8/SfhbJINmDqI/AAAAAAAAA68/nZaA1mGgwzA/s1600-h/081001_1.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_q8IyBrue8D8/SfhbJINmDqI/AAAAAAAAA68/nZaA1mGgwzA/s400/081001_1.jpg" alt="" align="right" id="BLOGGER_PHOTO_ID_5330110371374436002" border="0" /&gt;&lt;/a&gt; Fastforward SIX months. After complete quietness of half an year, they exposed the heads of the pillars once again. They chopped the heads a little bit to make all heads at the same level, and roughened the surfaces a lot for further concrete to hold. Then dug a square shaped ditch around them. &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_q8IyBrue8D8/SfhbJR7CAZI/AAAAAAAAA7E/OFxbmw-Q8rw/s1600-h/081016_1.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_q8IyBrue8D8/SfhbJR7CAZI/AAAAAAAAA7E/OFxbmw-Q8rw/s400/081016_1.jpg" align="left" alt="" id="BLOGGER_PHOTO_ID_5330110373980930450" border="0" /&gt;&lt;/a&gt; The ditch happened to be the place of a table top, built on the top of four pillar buried in ground. The ditch is drained out, and a huge cube shaped mesh is built there. The top ends of the four pillars went inside the cube. Some days later, they filled up the mesh by concrete, and the base of the pillar was complete as soon as it was dry. The whole thing they have made till now is still completely underground, and top of the 'table', which is a flat platform of say 10 feet x 10 feet, is at the same level of the road.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_q8IyBrue8D8/SfhbT4vdivI/AAAAAAAAA7M/fpiTRrfHirw/s1600-h/20090317.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_q8IyBrue8D8/SfhbT4vdivI/AAAAAAAAA7M/fpiTRrfHirw/s400/20090317.jpg" align="right" alt="" id="BLOGGER_PHOTO_ID_5330110556200078066" border="0" /&gt;&lt;/a&gt; Move your time machine again by six months, and we reach mid-March of 2009. Again the place became active; and we can see just like OpenGL wireframe rendering, a metro pillar have raised its head. It is nothing but circularly arranged thick vertical steel rods, held together by steel rings and tie-ups. Once the vertical cage is up, they covered it by metal semi-circular panels, kept in place by square frames and huge sized nut and bolts. Finally a big mixer machine came in and poured in liquid concrete in the cylinder.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_q8IyBrue8D8/SfhbT2eQ5lI/AAAAAAAAA7U/_6ppQSNmVC0/s1600-h/20090402.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_q8IyBrue8D8/SfhbT2eQ5lI/AAAAAAAAA7U/_6ppQSNmVC0/s400/20090402.jpg" align="left" alt="" id="BLOGGER_PHOTO_ID_5330110555591075410" border="0" /&gt;&lt;/a&gt; And finally, in April it was time to build the top platform of the pillar on which the metro pathway will rest. If you look carefully, there is a pipe to drain water through the pillar which opens up at the ground level. Another matter of concern was the safety of the workers, you can see people working at the top of the 40 feet high pillar with a helmet that wouldn't stand a drop of 5 feet, and they are too poorly harnessed themselves to arrest a fall. It is a wonder that we don't hear about major accidents during such big construction activities with so little care about workers' safety. &lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_q8IyBrue8D8/SfhbUIAZSYI/AAAAAAAAA7c/8_opX8-8y6I/s1600-h/20090414.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_q8IyBrue8D8/SfhbUIAZSYI/AAAAAAAAA7c/8_opX8-8y6I/s400/20090414.jpg" align="right" alt="" id="BLOGGER_PHOTO_ID_5330110560297634178" border="0" /&gt;&lt;/a&gt; At last, 3rd week of April, we are almost done. What is to be done now is to spray water regularly for curing, so that air cracks do not appear. They cover it by jute wrappers to retain moisture. &lt;br /&gt;&lt;br /&gt;This is it. In last week of April, our office has shifted to Koramangala. So no more updates :-) &lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1690133514011158724?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1690133514011158724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/05/metro-pillar-in-year.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1690133514011158724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1690133514011158724'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/05/metro-pillar-in-year.html' title='Metro Pillar in a Year'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q8IyBrue8D8/SfhbI2Pw8gI/AAAAAAAAA6k/vBne66qu84k/s72-c/080304_1.jpg' height='72' width='72'/><thr:total>2</thr:total><georss:featurename>Indiranagar, Hoysala Nagar, Bengaluru, Karnataka, India</georss:featurename><georss:point>12.981600436196977 77.64059543609619</georss:point><georss:box>12.976372936196977 77.6332999360962 12.986827936196978 77.64789093609619</georss:box></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-4118805496455498858</id><published>2009-05-07T19:31:00.001+05:30</published><updated>2009-05-12T17:35:20.145+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='God'/><title type='text'>The God Interview</title><content type='html'>&lt;div class="columns"&gt;&lt;a href="http://tickledbylife.com/index.php/"&gt;Tickled by Life&lt;/a&gt; is conducting an interview about God, and luckily /me too was invited to answer the questions. &lt;s&gt;Unfortunately my answers were possibly too harsh and unpopular, so it is still unpublished :-)&lt;/s&gt; (EDIT: I guess I jumped the gun, it's been &lt;a href="http://tickledbylife.com/index.php/god-is-a-hypothesis/"&gt;published&lt;/a&gt;, was the cover story during the last weekend, and is in editor's picks) But I wrote those anyway, pausing to think before answering them. So I decided to post here before it goes into oblivion:&lt;br /&gt;&lt;br /&gt;&lt;b&gt; 1.       God is ...&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;a hypothesis (that there exists a super intelligence who created this universe, and controlling the fate of individuals by communicating with them). Apply all your scientific mind and you'll realize there is very little chance of the hypothesis to hold true. The concept is a wishful thinking for *most* of us.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; 2.       God or the Big Bang? (or both)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Big Bang; and God doesn't have any role to play in that. The singularity of the Big Bang doesn't let any information to pass through. So even if God instrumented the Big Bang, he would have no way to tune the fundamental physical constants.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; 3.       God or Darwin? (or both)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Darwin wins by a large margin. Complex life (which can even wonder whether there is a God) evolves via the process of gradual evolution. Post Big Bang, the universe has been on its own, and life appeared where the condition is right for it, and we (the Boltzmann's brain) came as the end product (as of now, maybe in a few million years earth will be dominated by a newer species) of a slow and extended evolution process.&lt;br /&gt;&lt;br /&gt;&lt;a href="javascript:expandcollapse('XXX')"&gt;MORE&lt;/a&gt; &lt;br /&gt;&lt;span class="posthidden" id="XXX"&gt;&lt;br /&gt;&lt;b&gt; 4.       God or Darfur? (How can Darfur happen if there is God?)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Darfur conflict is a fight for limited resources in an overpopulated place. There might have been religious and ethnic unions on the conflicting sides, but at the end, it is a group of desperate genes that are trying to survive at the cost of another group. The catastrophe is created because people can't access basic resources for survival without violating someone else's.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; 5.       Who is God’s God?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Whosoever he is, if he wants to exist, has a bigger problem. We are already challenging the idea of supernatural intelligence creating the universe. We say God himself is extremely improbable as a designer of the universe, and the same question would be even harsher on him.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; 6.       Will the real God please stand up? (Why do we have so many religions?)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Every leader wants his followers, and encashes on human weakness. As I said most people find God's existence as "desirable", and hence each religious leader finds their way to "satisfy" people's need. Just like evolution, I am sure there would be hundreds of theories floated to make people gratify their desire of God, and only the best 4/5 ones survived so far. And once achieved the critical mass, they&lt;br /&gt;concentrated on crushing the competition to increase their own follower count, resulting violent human conflicts. I wonder if "real" God ever existed, whether he'd approve the behaviour of such fan clubs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; 7.       Is this just a big lab and are we just guinea pigs and God just a researcher?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;No, it is the dolphins :-) Humor apart, even if God existed, things wouldn't have been any different. I said the singularity wouldn't have allowed to set initial conditions of his experiment. No one can research this way, where you set off an experiment without getting to set the laws, and even tweak them. The best he can do is to be a silent observer. Best to consider ourselves as Boltzmann's brain who&lt;br /&gt;wonders of his own existence before second law of thermodynamics makes further information processing impossible.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; 8.       Unexplained phenomena = God?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Nope; it is an opportunity for a scientist to work on a problem. Attributing gaps in knowledge to God is a glorified way of giving up. As someone else explains the mystery, we find that God is having lesser and lesser space to hide in.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You too can try answering the above questions and mail them to &lt;tt&gt;interview @ tickledbylife . com&lt;/tt&gt;. They'll publish if they like your answer!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-4118805496455498858?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/4118805496455498858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/05/god-interview.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4118805496455498858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4118805496455498858'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/05/god-interview.html' title='The God Interview'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-45324048790278681</id><published>2009-03-31T23:00:00.000+05:30</published><updated>2009-03-31T23:00:00.355+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='macro'/><category scheme='http://www.blogger.com/atom/ns#' term='butterfly'/><title type='text'>Pea Blue</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_q8IyBrue8D8/Sc9hTiA6JAI/AAAAAAAAA6E/1u8NET-V2Dw/s1600-h/common_cerulean.jpg"&gt;&lt;img style="cursor:pointer" src="http://2.bp.blogspot.com/_q8IyBrue8D8/Sc9hTiA6JAI/AAAAAAAAA6E/1u8NET-V2Dw/s1600/common_cerulean.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5318576673123869698" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-45324048790278681?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://en.wikipedia.org/wiki/Lampides_boeticus' title='Pea Blue'/><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/45324048790278681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/03/pea-blue.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/45324048790278681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/45324048790278681'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/03/pea-blue.html' title='Pea Blue'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q8IyBrue8D8/Sc9hTiA6JAI/AAAAAAAAA6E/1u8NET-V2Dw/s72-c/common_cerulean.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1676576250450307441</id><published>2009-03-26T16:41:00.004+05:30</published><updated>2009-03-29T10:07:58.977+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Why map's directions have to hurt so much?</title><content type='html'>&lt;div class="columns_"&gt;&lt;a href="http://4.bp.blogspot.com/_q8IyBrue8D8/Scr7imPBmDI/AAAAAAAAA5Y/kZTvBCwP1Zg/s1600-h/gmapA2B.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_q8IyBrue8D8/Scr7imPBmDI/AAAAAAAAA5Y/kZTvBCwP1Zg/s1600/gmapA2B.png" align="left" /&gt;&lt;/a&gt; It was pretty much exciting to know that google maps will provide directions in India. I think routing is a hard problem. Not because I don't have any experience designing one. And of course not because I slept through all the graph theory courses. I &lt;i&gt;assume&lt;/i&gt; it is a hard problem because people smarter than me fails to solve it right. (Yeah so you don't have to make your hand dirty with a problem to know if it is easy. Highly likely that problem is not unique, and if not, there would be people who would attempt the problem, document it, and google will index their pages. If a lot of people failed, by statistical measure, it is a difficult problem)&lt;br /&gt;&lt;br /&gt;So a lack of good routing &amp;amp; navigation solution in India makes me think the problem is hard enough. (And oh yeah, this is my benchmark to start my own company: no one will pay for solving easy problems. And there will be a competitor with a deeper pocket who will give it away for free. &lt;a href="http://2.bp.blogspot.com/_q8IyBrue8D8/SP2JtO92vWI/AAAAAAAAAko/sTg_wm1gBmA/s1600-h/nokiamaproute.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/_q8IyBrue8D8/SP2JtO92vWI/AAAAAAAAAko/sTg_wm1gBmA/s400/nokiamaproute.jpg" align="right" /&gt;&lt;/a&gt; Solve hard problems and earn your money.) So I thought when google announced routing, even though most of their products are called `beta', they might have figured it out (especially for India where the road conditions keeps changing very rapidly). In fact they got a &lt;i&gt;lot&lt;/i&gt; of things right in recent past.&lt;br /&gt;&lt;br /&gt;Tomorrow I'm planning to start for B R Hills wildlife sanctuary, so I asked google for the route.  Sigh -- what should have been a 174km journey, extended to 380 by the route calculated by google. How did those guys know I love driving? And would love to go around a hill range and then cross it when both my point A and point B are on the same side of the hill? Very good mind reading, I thought. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;Let's try local/short routing&lt;/i&gt;, was my next attempt. Quite a while ago I tried to &lt;a href="http://kousik.blogspot.com/2008/10/point-to-point-b-nokia-map-style.html"&gt;do the same&lt;/a&gt; with Nokia maps of my phone. Start from Jeevan bhima nagar bus stand and reach a restaurant in the Wind Tunnel road crossing, hardly half a kilometer away. Connected by a straight road through NR colony. The Nokia Map's failure was so spectacular that I had to save multiple screenshots of their solution. &lt;a href="http://2.bp.blogspot.com/_q8IyBrue8D8/ScsA0IG0hhI/AAAAAAAAA5g/IXz9pC_7vlk/s1600-h/gmapA2B_local.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/_q8IyBrue8D8/ScsA0IG0hhI/AAAAAAAAA5g/IXz9pC_7vlk/s320/gmapA2B_local.png" align="left" /&gt;&lt;/a&gt; A true scientific test compares apples to apples, so I asked google maps to do the same routing. &lt;br /&gt;&lt;br /&gt;When compared to Nokia, it does way better. But it still fails to find the optimal route of falling straight south.&lt;br /&gt;&lt;br /&gt;It has been &lt;span title="June 11, 1959"&gt;&lt;i&gt;50&lt;/i&gt; years&lt;/span&gt; since Dijkstra conceived the &lt;a href="http://www-m3.ma.tum.de/twiki/pub/MN0506/WebHome/dijkstra.pdf"&gt;single source shortest path algorithm&lt;/a&gt;. It is perfectly understood we need to improvise a lot to provide driving directions, but I guess wait is going to be over. These things can get better.&lt;br /&gt;&lt;br /&gt;Still it looks like a hard problem nevertheless, and see Yahoo! locals is yet to get it right it in India.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1676576250450307441?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1676576250450307441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/03/why-maps-directions-have-to-hurt-so.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1676576250450307441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1676576250450307441'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/03/why-maps-directions-have-to-hurt-so.html' title='Why map&apos;s directions have to hurt so much?'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_q8IyBrue8D8/Scr7imPBmDI/AAAAAAAAA5Y/kZTvBCwP1Zg/s72-c/gmapA2B.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-6080068090921332973</id><published>2009-03-09T16:00:00.002+05:30</published><updated>2009-03-15T08:28:16.708+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='riding'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='bike'/><title type='text'>cornering in IRR</title><content type='html'>&lt;div class="columns"&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_q8IyBrue8D8/SbQVF75kSFI/AAAAAAAAA4o/0iX2LTJcfOs/s1600-h/curved_irr.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0; cursor:pointer;" src="http://2.bp.blogspot.com/_q8IyBrue8D8/SbQVF75kSFI/AAAAAAAAA4o/0iX2LTJcfOs/s1600/curved_irr.jpg" alt="" id="BLOGGER_PHOTO_ID_5310893052299331666" title="The S curve in IRR, image from Google Sat maps" /&gt;&lt;/a&gt; The curves in the Inner Ring Road are an interesting experience when it comes to negotiate them at high speed. It can actually teach you a thing or two about how to take a turn. When going south, it is no fun as you can't even enter the turns at high speed, thanks to heavy traffic that leaves EGL and surrounding offices all the time. And half of them will be busy changing the lane because they want to take a U-turn immediately afterwards. When going north, it'll be more than a kilometer past the last signal so you can leave all the slow vehicles behind you. Midway there will be an interceptor who'll catch you for speeding. So you just break away from the slow traffic, and then maintain a moderate speed till you get past the radar. Once you cross the white and blue jeep with roof mounted umbrella, you have to prepare for the S turn just a couple hundred meters ahead. The problem with them is they stand on a straight free stretch of a road where there is much lesser chance of accident happening than a dangerous curve just half kilometer ahead.&lt;br /&gt;&lt;br /&gt;Even before you approach the turn, wham. There is a culvert right there (see in the map down there). The climb and descent aren't exactly smooth, they are like steps (not really, but you get the point). So if you hit them at very high speed, you'll be airborne for a second or two. Once you land, watch out for a cut in the median, and unmindful people trying U-turn without judging oncoming traffic's speed. Avoid them. As you did, you already entered the turn. Watch out because many people won't stick to the lane because they don't turn &lt;i&gt;enough&lt;/i&gt;, and thinks it is absolutely alright because those people do it in Formula-1, right? &lt;br /&gt;&lt;br /&gt;Once you are sure no one is going to crush you into the divider, it is time to bring the bike upright, and prepare for the next right turn. This probably has a little larger radius, but on the downside, the divider goes too high and you can't see the entire exit clearly. Especially if you are in middle or right lane. Good thrill is that the exit unfolds as you keep turning, but it is not uncommon to find a taxi or auto stuck in the rightmost lane. So we have to leave a margin for such emergency manoeuvers. Another thing to keep in mind is that the banking of the road is not very scientific or built with a speed kept in mind. So don't lean too much.&lt;br /&gt;&lt;br /&gt;Actually if you are serious about it, you should go to a racetrack. &lt;br /&gt;&lt;br /&gt;But even this, at very moderate speed, can be a good lesson how to take turns. The key is to be careful, because none of us have access to &lt;i&gt;&lt;a href="http://en.wikipedia.org/wiki/God_mode"&gt;iddqd&lt;/a&gt;&lt;/i&gt; cheat codes in real life.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-6080068090921332973?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/6080068090921332973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/03/cornering-in-irr.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6080068090921332973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6080068090921332973'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/03/cornering-in-irr.html' title='cornering in IRR'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q8IyBrue8D8/SbQVF75kSFI/AAAAAAAAA4o/0iX2LTJcfOs/s72-c/curved_irr.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1751571961551380231</id><published>2009-03-04T13:40:00.002+05:30</published><updated>2009-03-04T18:51:35.256+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Open Wifi networks</title><content type='html'>&lt;div class="columns"&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_q8IyBrue8D8/Sa1BW5Lq_iI/AAAAAAAAA4E/L48IZecKkaQ/s1600-h/WLANS.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_q8IyBrue8D8/Sa1BW5Lq_iI/AAAAAAAAA4E/L48IZecKkaQ/s1600/WLANS.png" align="left" alt="wlan list" id="BLOGGER_PHOTO_ID_5308971397302386210" title="list of WLAN networks, notice that all are protected" /&gt;&lt;/a&gt; There have been enough number of arguments and counter arguments whether you should keep your wireless network secure. To start with, of course it sounds like a no brainer, that you should keep your wifi network encrypted, but Bruce Schneier has a completely &lt;a href="http://www.schneier.com/blog/archives/2008/01/my_open_wireles.html"&gt;different view&lt;/a&gt;, he has his own arguments why he should keep his wifi network open.&lt;br /&gt;&lt;br /&gt;When logically and legally it might be true that if a crime is done using your facilities you may not be actually responsible for the act, but still then you have to prove so in the court. Which is time and energy consuming, and the amount of harassment you have to go through is enough to ruin rest of your life. Especially when police prosecute on IP address only, even if wrongly supplied by your ISP. And when Supreme court reckons postings that doesn't agree with general public as a probable cognizable offence. So, the bottom line is, at least in this country, you don't want your IP address to be involved even in the silliest legal case. &lt;br /&gt;&lt;br /&gt;So after some effort I could get everyone in our apartment complex to adopt some encryption or the other. When I found an open network, since it would not be possible to physically identify the owner unless the ESSID would spell out the owner's name, I used to put a yellow post-it in our notice board: &lt;i&gt;If you're running a Wifi network with ESSID XXXX please note that it is open to public access&lt;/i&gt;. This worked wonderfully as the owner immediately would switch to encryption.&lt;br /&gt;&lt;br /&gt;And then a few days ago, my line went down. &lt;br /&gt;&lt;br /&gt;And there was no way I could hitch hike. Served me right.&lt;br /&gt;&lt;br /&gt;As Bruce said, he would give free wifi access to his guests just like he welcomes them with a cup of hot tea; me too is looking for a solution like the following: I want the Wifi to be encrypted. But 2 keys should be usable. 1 is a long-term (i.e. permanent for all practical purpose) that I can feed in our all 3 laptops, wifi phones. And the other is a short term, which I can generate on the fly and will expire automatically 24 hours later. The second one I'll give to my guests slipped in the fortune cookies served with tea. &lt;br /&gt;&lt;br /&gt;Right now I have 2 wifi routers, so I can have 2 parallel networks with different ESSIDs, and one with a long and the other with a short key. Otherwise I wonder if it is possible to do with a single device but two ESSIDs. I &lt;i&gt;can&lt;/i&gt; have open network with a transparent proxy for authentication (and guests are given a temporary password), but that would require me running a proxy server desktop, so ruled out.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1751571961551380231?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1751571961551380231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/03/open-wifi-networks.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1751571961551380231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1751571961551380231'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/03/open-wifi-networks.html' title='Open Wifi networks'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_q8IyBrue8D8/Sa1BW5Lq_iI/AAAAAAAAA4E/L48IZecKkaQ/s72-c/WLANS.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-619983799466800429</id><published>2009-02-16T01:00:00.003+05:30</published><updated>2009-02-16T01:04:40.894+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='current affairs'/><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><title type='text'>Aero India 2009</title><content type='html'>&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.co.in/s/c/bin/slideshow.swf" width="800" height="533" flashvars="host=picasaweb.google.co.in&amp;captions=1&amp;RGB=0xEEEEEE&amp;feed=http%3A%2F%2Fpicasaweb.google.co.in%2Fdata%2Ffeed%2Fapi%2Fuser%2Fkousiknandy%2Falbumid%2F5303104659724816289%3Fkind%3Dphoto%26alt%3Drss" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-619983799466800429?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://picasaweb.google.co.in/kousiknandy/AeroIndia2009?feat=directlink' title='Aero India 2009'/><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/619983799466800429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/02/aero-india-2009.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/619983799466800429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/619983799466800429'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/02/aero-india-2009.html' title='Aero India 2009'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-8333268071487308675</id><published>2009-02-13T00:50:00.001+05:30</published><updated>2009-02-13T00:51:18.841+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Loading same shared library multiple times</title><content type='html'>&lt;div class="columns"&gt;&lt;br /&gt;So we were stuck with a library that is a shared object (.so file) that can't support multi-threading. It keeps state in a global structure, and modifies it across API calls. Something like you have to call crypto_init(), and then subsequently call crypto_encrypt(), crypto_sign() and finally crypto_shut() but at the init call it doesn't &lt;i&gt;return&lt;/i&gt; you a context which you must pass it back in subsequent calls. Instead it keeps the state in itself (like the key, seed, IV whatever), and keeps using them. So when multiple threads try to use the library they stamp on each other. &lt;br /&gt;&lt;br /&gt;I could serialize the calls if I had a single core, take a lock before init() and release it when encrypt()/sign() is over. They happen in immediate order; no blocking in between, and it is just CPU burning. But having the luxury of a 8-core machine forces you to keep every piece of chip busy, so I had to design a way where multiple threads can use the library in parallel.&lt;br /&gt;&lt;br /&gt;Each thread &lt;i&gt;must&lt;/i&gt; load &lt;i&gt;it's own copy&lt;/i&gt; of the shared library. So all the global variables will appear as if they are thread locals (other threads won't have a clue of the addresses). Now getting own copy of shared library is by definition is impossible (aah, that's why they are called shared). dlopen() is smart enough to find out that you are trying to open the same file. It sees through soft linking (obviously). Hey it also sees through hard linking too! So the only option is to make a physical copy of the .so per thread. So as a thread starts up, it first makes a copy of the library, then load it. &lt;br /&gt;&lt;br /&gt;Now this can be used as a framework for having multi-threading support for a library written without multi-threading in mind. Especially if you do not have the source code. Or do not want to modify it. All I had is crypto.so so I didn't have a choice. If I had the source I could have rewritten it for multiple threads. But when you get a lemon ...&lt;br /&gt;&lt;br /&gt;&lt;a href="javascript:expandcollapse('socode')"&gt;Shut up and show me the code [+/-]&lt;/a&gt; &lt;br /&gt;&lt;span class="posthidden" id="socode"&gt;&lt;br /&gt;So here is the library. The functions are just for fun. The actual element to watch is the global variable (which is not even atomic). Call this file 87_1.c.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#include &amp;lt;stdio.h&gt;&lt;br /&gt;&lt;br /&gt;int g_foobar = 0;&lt;br /&gt;&lt;br /&gt;int plus_foobar (void)&lt;br /&gt;{&lt;br /&gt;    return g_foobar++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int print_foobar (char *prefix)&lt;br /&gt;{&lt;br /&gt;    return printf("%s: (%p) %d\n", prefix, &amp;g_foobar, g_foobar);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Once the shared object is ready, I want an application to load it multiple times. So what we do here is to create as many threads as number of arguments (heck no reason but it is like that). Each thread, loads the library on its own. To get an exclusive copy of the .so they first &lt;b&gt;copy&lt;/b&gt; the disk image to a temporary file and only then open it. Note that hard linking doesn't work; you must &lt;i&gt;copy&lt;/i&gt;. Call it 87_main.c&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#include &amp;lt;stdio.h&gt;&lt;br /&gt;#include &amp;lt;signal.h&gt;&lt;br /&gt;#include &amp;lt;unistd.h&gt;&lt;br /&gt;#include &amp;lt;stdlib.h&gt;&lt;br /&gt;#include &amp;lt;pthread.h&gt;&lt;br /&gt;#include &amp;lt;sys/types.h&gt;&lt;br /&gt;#include &amp;lt;dlfcn.h&gt;&lt;br /&gt;#include &amp;lt;errno.h&gt;&lt;br /&gt;&lt;br /&gt;#define FOOBAR_LIBRARY "lib87.so"&lt;br /&gt;&lt;br /&gt;static int hardlinking = 0;&lt;br /&gt;&lt;br /&gt;typedef int (*inc_fn)(void);&lt;br /&gt;typedef int (*prn_fn)(char *);&lt;br /&gt;&lt;br /&gt;void inc_your_copy (int howmuch, inc_fn f)&lt;br /&gt;{&lt;br /&gt;    while (howmuch--) f();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void print_your_copy (char *id, prn_fn f)&lt;br /&gt;{&lt;br /&gt;    char self[64];&lt;br /&gt;    snprintf(self, 64, "%8s (%lu)", id, pthread_self());&lt;br /&gt;    f(self);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void *thread_fn (void *arg)&lt;br /&gt;{&lt;br /&gt;    inc_fn i;&lt;br /&gt;    prn_fn p;&lt;br /&gt;    char *id = arg;&lt;br /&gt;    int fd;&lt;br /&gt;    int *foobar;&lt;br /&gt;    char libname[256] = "/tmp/87XXXXXX";&lt;br /&gt;    char copy_command[256];&lt;br /&gt;    void *plugin_handle;&lt;br /&gt;&lt;br /&gt;    /* make a copy of the library */&lt;br /&gt;    if (!hardlinking) {&lt;br /&gt;        fd = mkstemp(libname);&lt;br /&gt;        close(fd);&lt;br /&gt;        snprintf(copy_command, 256, "cp %s %s", FOOBAR_LIBRARY, libname);&lt;br /&gt;        system(copy_command);&lt;br /&gt;    } else {&lt;br /&gt;        mktemp(libname);&lt;br /&gt;        fd = link(FOOBAR_LIBRARY, libname);&lt;br /&gt;        if (fd != 0) {&lt;br /&gt;            perror(libname);&lt;br /&gt;            return NULL;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /* open the copy */&lt;br /&gt;    plugin_handle = dlopen(libname, RTLD_LOCAL|RTLD_LAZY);&lt;br /&gt;    if (NULL == plugin_handle) return NULL;&lt;br /&gt;&lt;br /&gt;    /* lookup the global symbols */&lt;br /&gt;    i           = dlsym(plugin_handle, "plus_foobar");&lt;br /&gt;    p           = dlsym(plugin_handle, "print_foobar");&lt;br /&gt;    foobar      = dlsym(plugin_handle, "g_foobar");&lt;br /&gt;    if (!i || !p || !foobar) return NULL;&lt;br /&gt;&lt;br /&gt;    /* some threads directly access global variable and&lt;br /&gt;     * some threads do it using a function pointer */&lt;br /&gt;    if (*id &amp; 1) inc_your_copy(10, i);&lt;br /&gt;    else *foobar += 10;&lt;br /&gt;&lt;br /&gt;    /* print twice; once yourself, once by function pointer */&lt;br /&gt;    printf("%8s (%lu): (%p) %d\n", id, pthread_self(), foobar, *foobar);&lt;br /&gt;    print_your_copy(id, p);&lt;br /&gt;&lt;br /&gt;    /* clean up the mess */&lt;br /&gt;    sleep(1); // just to ensure everyone loads their copy&lt;br /&gt;    dlclose(plugin_handle); // before dlclose() for mapping&lt;br /&gt;    unlink(libname);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int main (int ac, char **av)&lt;br /&gt;{&lt;br /&gt;    pthread_t threads[ac];&lt;br /&gt;&lt;br /&gt;    do {&lt;br /&gt;        pthread_create(&amp;threads[--ac], NULL, thread_fn, av[ac-1]);&lt;br /&gt;        usleep(10);&lt;br /&gt;    } while (ac);&lt;br /&gt;    pthread_join(threads[0], NULL);&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And finally here is the GNUmakefile:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;all: 87&lt;br /&gt;&lt;br /&gt;so: lib87.so&lt;br /&gt;&lt;br /&gt;lib87.so: 87_1.c&lt;br /&gt;        gcc -fPIC -g -c -O -Wall 87_1.c&lt;br /&gt;        gcc -shared -Wl,-soname,lib87.so -o lib87.so 87_1.o&lt;br /&gt;&lt;br /&gt;87: lib87.so 87_main.c&lt;br /&gt;        gcc -g -O -o 87 87_main.c -lpthread -ldl -rdynamic&lt;br /&gt;&lt;br /&gt;clean:&lt;br /&gt;        rm -f 87 lib87.so 87_1.o&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So you can invoke the binary by &lt;tt&gt;./87 2 3 4 5 6&lt;/tt&gt; and check that each thread independently see their own copy of g_foobar, and prints 10. Also you can toggle `hardlinking' flag and see that dlopen() outsmarts you, and all threads increment the same copy of the global variable.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-8333268071487308675?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/8333268071487308675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/02/loading-same-shared-library-multiple.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8333268071487308675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8333268071487308675'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/02/loading-same-shared-library-multiple.html' title='Loading same shared library multiple times'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-2620241428112091647</id><published>2009-02-08T15:40:00.001+05:30</published><updated>2009-02-08T15:45:19.608+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='current affairs'/><title type='text'>Terror at home</title><content type='html'>&lt;div class="columns"&gt;Who needs terror spreading neighbour nations when we have a lot of them at home? The goal of the terrorism is to make you afraid. Not only you are scared of getting killed or injured (that's the risk I take everyday when commuting on roads, these BMTC buses misses me narrowly), you are under fear that your basic rights are violated in the process. So you are afraid to visit public places like malls, restaurants; afraid that fundamentalists are coming to violate your fundamental citizen rights (what an irony). &lt;br /&gt;&lt;br /&gt;Terrorism measures its success not by body counts. By how much fear the spread as aftermath. &lt;br /&gt;&lt;br /&gt;So does our tailless monkeys (Sri Ram's army). More we are afraid, more they are gaining ground. And making terrorism a success. Who needs sponsored terrorists when your home minister &lt;a href="http://timesofindia.indiatimes.com/Cities/Govt_silent_on_moral_policing/articleshow/4093447.cms"&gt;can't&lt;/a&gt; &lt;a href="http://timesofindia.indiatimes.com/Cities/Bangalore/Mumtaz_talks_in_Sene_vein/articleshow/4093438.cms"&gt;promise&lt;/a&gt; basic freedom? &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-2620241428112091647?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/2620241428112091647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/02/terror-at-home.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2620241428112091647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2620241428112091647'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/02/terror-at-home.html' title='Terror at home'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-763293040509311127</id><published>2009-02-02T16:30:00.000+05:30</published><updated>2009-02-02T16:31:03.619+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Screwing the Specifications...</title><content type='html'>&lt;div class="columns"&gt;Specs are a Good Thing. The whole internet wouldn't have worked if the RFCs weren't respected (at least to a large extent). It allows people to inter-operate, which is the most fundamental basis of computer communication. In many cases, the specs also keep spaces for allowing extensions, where co-operating vendors can incorporate additional values. &lt;br /&gt;&lt;br /&gt;So far, so good. As long as specs are adhered to, with possibility of extending it when mutually agreed, we ought to be fine. But what about bugs? Even if you are lenient in what you accept and conservative in what you send, a real bug in your peer can break stuffs badly. &lt;br /&gt;&lt;br /&gt;Especially if the buggy product belongs to your customer. Do you politely point it out to them that it is an issue on their side and you can't work with them until they fix the bug? And the most likely response would be `take a hike, we have been like this since years, and even if we fix, it may take eight weeks for a release. And BTW, firefox displays the page without an error dialog, though IE may crash'. There is rarely an argument against firefox's ability. Moreover, your competition for the contract will reverse engineer a solution for the bug, and rig an interoperatibility demo. &lt;br /&gt;&lt;br /&gt;At this point, the choice seems to be pretty clear. To hell with the spec. Accept what customer is sending. And publish a quick patch. In return you might end up with some revenue that'll help you seek your next customer. &lt;br /&gt;&lt;br /&gt;And console yourself that it is just second law of thermodynamics, the world is going to a higher entropy (more chaotic) state every day anyway. &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-763293040509311127?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/763293040509311127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/02/screwing-specifications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/763293040509311127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/763293040509311127'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/02/screwing-specifications.html' title='Screwing the Specifications...'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-7293979679199568914</id><published>2009-01-30T18:44:00.002+05:30</published><updated>2009-01-31T15:46:50.530+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><title type='text'>License to believe in God</title><content type='html'>&lt;div class="columns"&gt;Why you can't vote before you turn 18? Because the society (hence the government) thinks before that age, you are not mature enough to take a political decision. Same goes for drinking; because the government (hence us) thinks you are too young to consume alcohol before 18 and hence the legal age bar. And not only age, there are a lot of things that requires some skills and training, only after which you are legally approved to practice the same. Driving, for example. You need to prove to the authorities that you can drive, and perhaps responsibly (by demonstrating your knowledge of safety rules, signs). License to keep a gun, as another example. You need to demonstrate some control on the device (as well on yourself) to acquire a gun. (You can bribe your way through but that's beside the point)&lt;br /&gt;&lt;br /&gt;So the society controls the right of empowering people to do certain things. I'm not saying it is bad practice, because only people with enough capability of making a judgement should be able to handle potentially dangerous things. Please note that most of these regulations are exercised when the acts are public, the authority may not be able to look or control if your driving is limited in your lawn even if you are not permitted to drive on public roads.&lt;br /&gt;&lt;br /&gt;And the same &lt;i&gt;should&lt;/i&gt; happen in belief in God too. This delusion is too dangerous to let anyone and everyone practice the belief publicly. You need to show some level of judgement, maturity, responsibility before you are allowed to demonstrate your faith in God in public. We need some God control regulations in this world. For publicly practicing the faith. I am big supporter of individual freedom, but remember your freedom is limited to the point when you don't infringe with others'. I see this may give rise to ridiculous situation where you need to show some permit/id to enter a temple or church; or erect a new place of worship, but that's going to be a good thing because the temptation is too easy to give in. You can accept His existence and live your life without thinking any deeper. Just like the sunrise and sunset can give you an illusion that Sun is going around the Earth. Somehow we should &lt;i&gt;force&lt;/i&gt; people to think, and take a decision. After that, if someone decides to worship God, let him/her do so, &lt;i&gt;responsibly&lt;/i&gt;. Letting just everyone publicly flaunting their love for God without considerations of others around is failing. &lt;br /&gt;&lt;br /&gt;Just in the line of &lt;i&gt;if cryptography is outlawed, only criminals will have privacy&lt;/i&gt;, one can argue only law-breakers will have strength and solace you can get by believing in God. Far from it. You can believe whatever you want to, extract whatever mental advantage you can get from that faith, but just keep it with you. Erect a temple? Demolish some other communities' worship place? Throw a feast? You can only do so if it is doesn't infringe anyone else's right. I don't know how hard it is to understand. We wouldn't need a law if everyone is considerate. &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-7293979679199568914?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/7293979679199568914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/01/license-to-believe-in-god.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7293979679199568914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7293979679199568914'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/01/license-to-believe-in-god.html' title='License to believe in God'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-886044423399563559</id><published>2009-01-23T05:55:00.001+05:30</published><updated>2009-01-23T05:56:16.027+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Just scale me</title><content type='html'>&lt;div class="columns"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_q8IyBrue8D8/SXkKG918wuI/AAAAAAAAAuk/gVd8-JSbtLc/s1600-h/scaleScreenshot.png"&gt;&lt;img style="margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_q8IyBrue8D8/SXkKG918wuI/AAAAAAAAAuk/gVd8-JSbtLc/s200/scaleScreenshot.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5294273951747064546" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once you are used to compiz, "scale" is a plugin you can't live without. Once you initiate scale, compiz just makes a collage of your open windows, and you can pick any of them to be brought in front. Bye bye Alt-TAB. Who wants to cycle among n number of windows, if all of them appear at once in form of thumbnails that are refreshing? &lt;br /&gt;&lt;br /&gt;However, the best part was to initiate it by dragging the mouse pointer to one corner of screen. On your laptop just a flicker of scratch on the pad and voila, you have your wallpaper painted with all the windows. Unfortunately, this feature is not enabled by default. Will it confuse users? No idea (but if you think your users are stupid then only stupids will your product). To enable this, you need to download a big "setting front-end". Baah! All I wanted is the scale feature to be invoked when I corner the mouse! Well I &lt;i&gt;can&lt;/i&gt; do it by Alt+Shift+UP but that's really really useless. Such a small change needs a simple hack, just open gconf-editor and change the key of /apps/compiz/ plugins/scale/ initiate_edge to something like "BottomLeft".&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-886044423399563559?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/886044423399563559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/01/just-scale-me.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/886044423399563559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/886044423399563559'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/01/just-scale-me.html' title='Just scale me'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_q8IyBrue8D8/SXkKG918wuI/AAAAAAAAAuk/gVd8-JSbtLc/s72-c/scaleScreenshot.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-2516214481592455342</id><published>2009-01-18T00:25:00.004+05:30</published><updated>2009-09-24T15:04:43.107+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='macro'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>Come with me</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_q8IyBrue8D8/SXIp6vHzIQI/AAAAAAAAAuE/spyNkQf9P2Y/s1600-h/book_pansy.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_q8IyBrue8D8/SXIp6vHzIQI/AAAAAAAAAuE/spyNkQf9P2Y/s1600/book_pansy.jpg" alt="" id="BLOGGER_PHOTO_ID_5292338601172082946" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So it was a lazy morning when I was basking in mild sun and reading a book on biology (`The Selfish Gene' by Richard Dawkins). This Peacock Pansy came to sit just next to me, as if to tell me the nature is not there in the book, it is in me instead. So I dropped the book and followed her to the garden with my camera.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-2516214481592455342?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/2516214481592455342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2009/01/blog-post.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2516214481592455342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2516214481592455342'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2009/01/blog-post.html' title='Come with me'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q8IyBrue8D8/SXIp6vHzIQI/AAAAAAAAAuE/spyNkQf9P2Y/s72-c/book_pansy.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-2639767673235597429</id><published>2008-11-23T17:00:00.001+05:30</published><updated>2009-01-12T00:57:39.596+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='macro'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>The Suspended Breakfast</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_q8IyBrue8D8/SSk8zu7MG6I/AAAAAAAAAms/sf6Hha8LkZQ/s1600-h/CRW_0124-01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/_q8IyBrue8D8/SSk8zu7MG6I/AAAAAAAAAms/sf6Hha8LkZQ/s1600/CRW_0124-01.jpg" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;The breakfast was much bigger than she would expect. Actually the weight of the fly did a lot of damage to the web, but I am sure it'd be worth it. Once the fly was immobilized by getting entangled in the web, she delivered a deadly bite on its body, and came back to a safe distance from the fly's last minute struggle. Before she starts feeding on fly juice, it'd be another hour or more. The next bite will inject a lot of digestives so that the body fluid of the victim becomes ready to digest when sucked in.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-2639767673235597429?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/2639767673235597429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/11/suspended-breakfast.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2639767673235597429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2639767673235597429'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/11/suspended-breakfast.html' title='The Suspended Breakfast'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q8IyBrue8D8/SSk8zu7MG6I/AAAAAAAAAms/sf6Hha8LkZQ/s72-c/CRW_0124-01.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-8479541051539792484</id><published>2008-11-17T18:50:00.000+05:30</published><updated>2008-11-17T18:54:18.331+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='butterfly'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>Danaid Eggfly</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_q8IyBrue8D8/SRIKbtGOpHI/AAAAAAAAAls/a21NjFHcLYg/s1600-h/danaid_eggfly4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://1.bp.blogspot.com/_q8IyBrue8D8/SRIKbtGOpHI/AAAAAAAAAls/a21NjFHcLYg/s1600/danaid_eggfly4.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-8479541051539792484?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/8479541051539792484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/11/danaid-eggfly.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8479541051539792484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8479541051539792484'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/11/danaid-eggfly.html' title='Danaid Eggfly'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_q8IyBrue8D8/SRIKbtGOpHI/AAAAAAAAAls/a21NjFHcLYg/s72-c/danaid_eggfly4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-6952651303731352305</id><published>2008-11-07T13:33:00.000+05:30</published><updated>2008-11-07T13:35:27.959+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>Aw, nothing hurts more than this</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_q8IyBrue8D8/SRP2Uf_GmQI/AAAAAAAAAl0/8wvkPt7bQgQ/s1600-h/gdbcrash.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_q8IyBrue8D8/SRP2Uf_GmQI/AAAAAAAAAl0/8wvkPt7bQgQ/s1600/gdbcrash.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-6952651303731352305?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/6952651303731352305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/11/aw-nothing-hurts-more-than-this.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6952651303731352305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6952651303731352305'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/11/aw-nothing-hurts-more-than-this.html' title='Aw, nothing hurts more than this'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_q8IyBrue8D8/SRP2Uf_GmQI/AAAAAAAAAl0/8wvkPt7bQgQ/s72-c/gdbcrash.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-3694810632553069442</id><published>2008-11-05T01:20:00.000+05:30</published><updated>2008-11-05T01:23:44.225+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='macro'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>Too close to a Grasshopper</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_q8IyBrue8D8/SRCnFeHjOaI/AAAAAAAAAlk/xCfOEml2wvU/s1600-h/grasshopperhead.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_q8IyBrue8D8/SRCnFeHjOaI/AAAAAAAAAlk/xCfOEml2wvU/s1600/grasshopperhead.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-3694810632553069442?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/3694810632553069442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/11/too-close-to-grasshopper.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3694810632553069442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3694810632553069442'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/11/too-close-to-grasshopper.html' title='Too close to a Grasshopper'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_q8IyBrue8D8/SRCnFeHjOaI/AAAAAAAAAlk/xCfOEml2wvU/s72-c/grasshopperhead.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-7122262685029534510</id><published>2008-10-29T17:05:00.001+05:30</published><updated>2008-10-29T17:14:52.241+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>Creepy Begging</title><content type='html'>&lt;div class="columns"&gt;You'll find these young ladies in lot of places. Bus-stands, railway stations, markets. They generally carry a small round cane basket, and ask for money. Even after a lot of persuasion if you still refuse, they open the lid a little bit and you get to see a snake inside. To more than two-third of the population, the sheer sight of a snake just a feet away, raises a creepy feeling of fear, and they are ready to be part with a few bucks in exchange of the girl closing the cover. And I think rest one third just walk away in disgust. But I have seen the blackmail works most of the time. In our case, in most instances we offered two to five rupees even before they start insisting.&lt;br /&gt;&lt;br /&gt;Till yesterday I didn't have a closer look. I always thought those are rat snakes, harmless, and plenty available in any water body. To most people, the species of the snake doesn't matter. Snakes are snakes and they want to stay away from them. Yesterday I was alone in HAL market, and was approached by a girl with a snake basket. This time I was ready to call her bluff; because such an opportunity I won't get when accompanied by family.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Saab 10 rupiya do na&lt;/i&gt;&lt;br /&gt;&lt;i&gt;"10 rupees!" Kyon re?&lt;/i&gt;&lt;br /&gt;&lt;i&gt;iske liye&lt;/i&gt;, she points out to the basket, which is still covered&lt;br /&gt;&lt;i&gt;Saap ke liye 10 rupiya, eh? kaat le, main nehin deta&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;She kept insisting, and was planning to use her ultimate weapon, to open the lid. So I decided to jump the gun.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Dikha kaun sa saap hain?&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Yeh dekho,&lt;/i&gt; she opens the lid, &lt;i&gt;10 rupiya ka doodh to yehi peeta hain&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Boy, it was not a rat snake. It was a Spectacled Indian Cobra (&lt;i&gt;Naja naja&lt;/i&gt;)! And sure enough. A light tap on the head and it raised its hood a little, showing its true potential. But probably that's all a starved Cobra on a milk diet can do, and I guess they regularly would empty out the venom glands (still a bite would be really painful and traumatic). (But hey, next time you're approached by someone like that, have a good look at the snake. If it is a cobra, you'll not miss the chance of examining one from so close (at least in the wild).)&lt;br /&gt;&lt;br /&gt;I felt sad at the condition of such a beautiful creature, so I offered her to &lt;i&gt;buy milk or whatever&lt;/i&gt; the snake would eat. I was kind of certain that the snake isn't going to get any share of the money I'd give her. But she flatly refused and kept insisting on cash. As she got restless because she invested enough time on a &lt;i&gt;customer&lt;/i&gt;, I finally made her promise that she'll feed the snake with my contribution, and she snatched the note and hurried away.&lt;br /&gt;&lt;br /&gt;Cobras are protected by wildlife act. You can't use a cobra like this. But fuck, they use human babies in a worse way. Seriously, the snake ought to be more comfortable than the babies carried in traffic signals. I could probably call police to cause some harassment to that girl, but ultimately it is not going to help anyone. Perhaps the snake would die in the tussle. Other option is to buy the snake from her, which would mean myself getting involved in illegal trade (more trouble) and hand it over to CUPA/PFA. Actually I think those NGOs can buy when I can sponsor the purchase, though I have no idea if she can be forced to sell and at what price. Even if the snake fetches daily 50/60 rupees, what would be the money she'll part it for (we get 2 months' salary when laid off)? Will she (and the gang behind her) give up after that? Or resume the business finding another snake? Is a snake in the bush safer because there's one in the basket? Won't it be at greater risk when we free this captive one? Will catch a snake and get a few thousand bucks become an attractive trade?&lt;br /&gt;&lt;br /&gt;I have no answer to these. But I do feel bad about the cobra.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-7122262685029534510?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/7122262685029534510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/10/creepy-begging.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7122262685029534510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7122262685029534510'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/10/creepy-begging.html' title='Creepy Begging'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-4996156165370757380</id><published>2008-10-21T15:35:00.001+05:30</published><updated>2008-10-21T19:32:49.312+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='E51'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Point A to point B: Nokia map style</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_q8IyBrue8D8/SP2JtO92vWI/AAAAAAAAAko/sTg_wm1gBmA/s1600-h/nokiamaproute.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/_q8IyBrue8D8/SP2JtO92vWI/AAAAAAAAAko/sTg_wm1gBmA/s1600/nokiamaproute.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is /me trying Nokia maps for navigation before I invest in a GPS module. Badly fails the first test itself, I asked it to find route between 2 points which are 500 meters apart (connected by an almost straight road).  Enough hint to save the money I'd have spent for a GPS in my car. I'll ask people in &lt;i&gt;chai shop&lt;/i&gt; instead. (And people blaming economy for tight spending.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-4996156165370757380?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/4996156165370757380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/10/point-to-point-b-nokia-map-style.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4996156165370757380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4996156165370757380'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/10/point-to-point-b-nokia-map-style.html' title='Point A to point B: Nokia map style'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q8IyBrue8D8/SP2JtO92vWI/AAAAAAAAAko/sTg_wm1gBmA/s72-c/nokiamaproute.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-751928663526831688</id><published>2008-10-10T19:35:00.000+05:30</published><updated>2008-10-10T19:39:04.505+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='kitchen'/><title type='text'>Haloom koira Haleem</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_q8IyBrue8D8/SO4VO2zjLqI/AAAAAAAAAjo/bPj1iCz3IYk/s1600-h/halim1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_q8IyBrue8D8/SO4VO2zjLqI/AAAAAAAAAjo/bPj1iCz3IYk/s1600/halim1.jpg" align="left" /&gt;&lt;/a&gt; I too decided to enjoy the festive season in our kitchen, and this time a hitherto unexplored area, &lt;a href="http://en.wikipedia.org/wiki/Haleem"&gt;Haleem.&lt;/a&gt; Let's say it is a divine mixture of lentils and a goat. Well thanks to my friends &lt;a href="http://arindamray.blogspot.com/"&gt;Arindam and Gargi&lt;/a&gt; I knew how does it taste, and several youtube videos show how to cook it. So I was all set on a Sunday. &lt;br /&gt;&lt;br /&gt;Obviously, you need to learn the rules so that you can break them. Usually the longer route should take anywhere between six to eight hours to cook, so you need to know exactly which processes to accelerate without compromising the taste. First, the mixture needs to be uniform so that the lentils and mutton blend into each other. And boiled wheat does the job of binding here. Now wheat, just by boiling, takes a long time to cook and let up the starch. So shortcut number one, use Dalia (broken wheat) instead. It saves the effort of pre-boiling whole wheat  because it takes longer to melt than lentils. Now I don't need to &lt;a href="http://en.wikipedia.org/wiki/Handicapping"&gt;handicap&lt;/a&gt; the lentil base preparation. &lt;br /&gt;&lt;br /&gt;The second is to prepare the mutton in complete &lt;i&gt;kasha mangso&lt;/i&gt; style. You keep frying the mutton with all the masalas, the meat lets up some water, so gets boiled on its own water, finally the water dries up, and you continue frying till it absorbs the &lt;i&gt;bhuna&lt;/i&gt;. This will again save the effort of cooking the meat in low heat for hours. And actually it'll contribute to betterment of the taste. At this point you have to resist the temptation of aborting the whole process and eat the mutton preparation itself.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_q8IyBrue8D8/SO4VTFOZzxI/AAAAAAAAAjw/77x7BPWUKes/s1600-h/halim2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_q8IyBrue8D8/SO4VTFOZzxI/AAAAAAAAAjw/77x7BPWUKes/s1600/halim2.jpg" align="right" /&gt;&lt;/a&gt; Once the mutton is &lt;i&gt;almost&lt;/i&gt; ready, I mixed it well with overnight soaked mixture of lentils, dalia and rest of the masalas (nope, I didn't have any 'haleem mix', I used painstakingly grated gingers, garlic), carefully measured water, and took the third shortcut, put the whole thing in pressure cooker! Aah, that's the biggest sin you can commit, because we're supposed to cook in low heat, and we're cheating by increasing the boiling point of water. But then, you need to know what you are doing. After the first whistle, you can feel better by putting the oven into sim but it wouldn't matter anyway. Well you need to wait long enough here till everyone in the family are so hungry that they force you to open the cooker.&lt;br /&gt;&lt;br /&gt;Now you take the final shortcut. Use a hand blender. Run it well to make a smooth uniform mixture. Top with crisp fried onions, and side with a biryani.&lt;br /&gt;&lt;br /&gt;Sometimes I can forgive the Moughals for invading India.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-751928663526831688?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/751928663526831688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/10/haloom-koira-haleem.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/751928663526831688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/751928663526831688'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/10/haloom-koira-haleem.html' title='&lt;i&gt;Haloom koira Haleem&lt;/i&gt;'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_q8IyBrue8D8/SO4VO2zjLqI/AAAAAAAAAjo/bPj1iCz3IYk/s72-c/halim1.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-4697454787570572381</id><published>2008-09-19T16:44:00.000+05:30</published><updated>2008-09-19T16:49:55.036+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Pond Heron</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_q8IyBrue8D8/SNOJ9Ntz-gI/AAAAAAAAAjI/MY8runPGDHw/s1600-h/pondheron66.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_q8IyBrue8D8/SNOJ9Ntz-gI/AAAAAAAAAjI/MY8runPGDHw/s1600/pondheron66.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-4697454787570572381?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/4697454787570572381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/09/pond-heron.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4697454787570572381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4697454787570572381'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/09/pond-heron.html' title='Pond Heron'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_q8IyBrue8D8/SNOJ9Ntz-gI/AAAAAAAAAjI/MY8runPGDHw/s72-c/pondheron66.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-145236978961352301</id><published>2008-08-29T18:40:00.002+05:30</published><updated>2008-08-29T18:48:19.089+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='E51'/><title type='text'>more on E51</title><content type='html'>&lt;div class="columns"&gt;It's been a few weeks with the new phone. &lt;img src="http://1.bp.blogspot.com/_q8IyBrue8D8/SLe23FyrCyI/AAAAAAAAAiQ/j4DnttDPwoc/s400-R/cam_1.jpg" align="left" /&gt; The camera is nothing to write home about. Especially when it is a low light situation, the noise captured by the CCD is way too high. Even the color saturation is not very faithful; but hey, that's how cheapo Nokias are supposed to be. At least my sis in law's Nokia behave the same way. This particular shot was taken indoor, in a bright morning. Inset you can see (cropped) original pixels produced by the camera, and I am sure any noise reduction software will have a hard time to repair this image. Any small, P &amp; S camera will fare better; so this camera is just for backup purposes. Just to record scenes of a lifetime you'd otherwise fail to capture. But again, this is an E-Series, and what would &lt;i&gt;business&lt;/i&gt; people use a camera for?&lt;br /&gt;&lt;br /&gt;Just take it as a tickbox feature.&lt;br /&gt;&lt;br /&gt;&lt;img  src="http://2.bp.blogspot.com/_q8IyBrue8D8/SLe29krmhqI/AAAAAAAAAiY/4QuwEOSe-Jk/s400-R/ogg_1.png" align="left" /&gt;Then I wanted an Ogg player. Yes even though the world screams MP3. Oh no, not because of copyright issues. You can &lt;a href="http://kousik.blogspot.com/2005/04/weekend-criminal.html"&gt;violate the copyrights&lt;/a&gt; the same way with oggs too. But hey, the format is open and patent free. So I discovered &lt;a href="http://symbianoggplay.sourceforge.net/"&gt;OggPlay&lt;/a&gt;, an audio player that'll play both ogg and mp3 on symbian phones. Playlist management is marginally better than the built-in player (though you can't knock a song off once you have included one, solution is to mount the phone and hand edit the m3u file). The interface is skinnable too (though I haven't tried anything other than original). Good enough.&lt;br /&gt;&lt;br /&gt;&lt;img  src="http://1.bp.blogspot.com/_q8IyBrue8D8/SLe3B-Akg7I/AAAAAAAAAig/9YO_xVXjtjg/s400-R/gog_map1.png" align="right" /&gt;The next most useful app is probably the google map, to hunt for food nearby. The locate me feature actually gets very close, and the local searches are getting better everyday. Actually you can create an iPhone like demo where you are watching a youtube show, get hungry, fire up google map, look for Biryani, which gives you the closest place where you can find it, and you can place a call to make a reservation or request a delivery. It won't look as &lt;i&gt;cool&lt;/i&gt;, though. But functionally, it'll. The 'directions' links do not work, but it should just be matter of time when they do so for Bangalore.&lt;br /&gt;&lt;br /&gt;&lt;img  src="http://2.bp.blogspot.com/_q8IyBrue8D8/SLe3F0NVAtI/AAAAAAAAAio/aj7H1d2QtcQ/s400-R/y_go1.png" align="left" /&gt;And then I tried the "Yahoo! Go". So good part is it lets you create your own mashups. But you need to be very careful what feeds you choose. There are a few news headlines but many of them are too old to be relevant. The weather etc widgets work fine, but finally all these being written in Java and not a native Symbian app, it is pretty slow and consumes a lot of memory. Sometimes memory requirement goes so high that the OS has to kill some of my resident programs like SMS spam manager and screenshot takers. Another bug is with flicker widget, doesn't seem to get the permissions right to access my photos. The dialog goes in an infinite loop asking me if Yahoo Go! can access disk. There are other photoblogging stuffs which also claims flicker API integration, but I am yet to check it. &lt;br /&gt;&lt;br /&gt;Anyway the amount to data consumed by such apps are so high that it doesn't make sense to operate them over GPRS. Without wifi, such apps are sitting ducks. So I highly recommend a wifi enabled phone when you change next, because that'll open up chances of serious fun.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-145236978961352301?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/145236978961352301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/08/more-on-e51.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/145236978961352301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/145236978961352301'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/08/more-on-e51.html' title='more on E51'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_q8IyBrue8D8/SLe23FyrCyI/AAAAAAAAAiQ/j4DnttDPwoc/s72-Rc/cam_1.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-5015548567089570584</id><published>2008-08-13T19:30:00.001+05:30</published><updated>2008-08-13T19:31:02.658+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='RIZR'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='E51'/><title type='text'>lost RIZR, hello E51</title><content type='html'>&lt;div class="columns"&gt;I loved my RIZR. I would never have parted with it voluntarily. The hack values a Moto provides are tremendous. You buy a cheapo one, and then unlock features and increase its value. However, I couldn't prevent it from being stolen. Gone from gym's change room, I realized I could hardly improve the security model to prevent my next phone being stolen. If my previous phone was a sitting duck to the thieves, so will be my next phone. (Well, not hundred percent true, now when I take out my bag from locker I leave the phone till the last moment possible, and collect it only before stepping out)&lt;br /&gt;&lt;br /&gt;So they turned the phone off immediately. Thankfully, they won't be able to turn it back on without a password; so only way to get the phone to life is to reinstall the OS. &lt;a href="http://2.bp.blogspot.com/_q8IyBrue8D8/SKFhL0B7QlI/AAAAAAAAAhA/huTNZguI_dk/s1600-h/s1.jpg" imageanchor="1" style="border: 0pt none ; background-color: transparent; clear: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/_q8IyBrue8D8/SKFhL0B7QlI/AAAAAAAAAhA/6S7JqFzzfRY/s400-R/s1.jpg" style="border: 0pt none ;" align="left" /&gt;&lt;/a&gt; Which is easily done. But thankfully, it'll wipe out all data in the phone; so if your phone number was there in my addressbook, it won't fall in someone else's hand. &lt;br /&gt;&lt;br /&gt;Anyway, when it was gone, it was time to shop for another. But this time it is not a leisurely decision, because tolerating a &lt;a href="http://en.wikipedia.org/wiki/Motorola_FONE_F3"&gt;F3&lt;/a&gt; for long is actually very difficult. My budget, as always was in 4 digits with provisions for some upward revision. And I wanted a Wi-fi enabled phone this time. 92% of the time in my average day I am in some secured wifi covered zone, so I wanted to make use of it. &lt;br /&gt;&lt;br /&gt;And at 10 grands, no one will sell me one. The cheapest I got is &lt;a href=" http://en.wikipedia.org/wiki/Nokia_E51"&gt;Nokia E51&lt;/a&gt;. So next sunday evening, a shiny new toy came home. The first thing was to feed the phone the WPA passphrase so that we can have cheap connectivity, and next was to install a few apps like google map. &lt;a href="http://2.bp.blogspot.com/_q8IyBrue8D8/SKFhQUBNdWI/AAAAAAAAAhI/CVdpT5AGYJQ/s1600-h/s2.jpg" imageanchor="1" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/_q8IyBrue8D8/SKFhQUBNdWI/AAAAAAAAAhI/OGm3e3SbfRU/s400-R/s2.jpg" style="border: 0pt none ;" align="right" /&gt;&lt;/a&gt; And as we felt lazy cooking, google map found out a &lt;i&gt;nearby&lt;/i&gt; restaurant of a cuisine of our choice, showed me a review, and I could call them right from there for a home delivery. The phone started serving within an hour of the acquisition. &lt;br /&gt;&lt;br /&gt;The next step would be to reinstate the phone book in the new phone. I already had my monthly backup in a CSV file; so I guessed it'd be an easy job to just import the same in the new phone. Uh, not without some hiccups. &lt;a href="http://4.bp.blogspot.com/_q8IyBrue8D8/SKFhTlbWmXI/AAAAAAAAAhQ/grPvW69CMTY/s1600-h/s3.jpg" imageanchor="1" style="border: 0pt none ; background-color: transparent; clear: right; margin-bottom: 1em;  margin-left: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_q8IyBrue8D8/SKFhTlbWmXI/AAAAAAAAAhQ/fj-mdB9SJww/s400-R/s3.jpg" style="border: 0pt none ;" align="left" /&gt;&lt;/a&gt; First of all, if a name had multiple numbers, they were exported each on a different line. And when I tried to import them into Windoze contacts (ugh, the Nokia PC suite will only work on Win), it offered me either to overwrite or to ignore `conflicting' entries. Sick, so I need to do some preprocessing. Moreover, openoffice already did some smart things on the file, it recognized the numbers as numbers. Yes! So it decided if there is a leading + or a leading 0, they are redundant. So if a number was stored as +919842x, it made it 919842x; and if it were 0802500x, their infinite wisdom said it can be written as 802500x. So it managed to screw almost &lt;i&gt;all&lt;/i&gt; of my entries. A simple sed script like &lt;tt&gt;'s/^91/+&amp;/;s/^80/+91&amp;/'&lt;/tt&gt; got them right. Then I wanted to merge the entries, so that for the same name, all numbers show up as comma separated on a single line (well I know 6 Ravis and 4 Vikas' but heck). So some quick perl:&lt;br /&gt;&lt;table width="100%" style="border: 1px;"&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;my %phonebook = ();&lt;br /&gt;my $line;&lt;br /&gt;while ($line = &amp;lt;&gt;) {&lt;br /&gt;    chomp($line);&lt;br /&gt;    my @entry = split(',', $line);&lt;br /&gt;    my @numbers = @{$phonebook{$entry[0]}};&lt;br /&gt;    push(@numbers, $entry[1]);&lt;br /&gt;    my $numlist = \@numbers;&lt;br /&gt;    $phonebook{$entry[0]} = $numlist;&lt;br /&gt;}&lt;br /&gt;for my $key (keys(%phonebook)) { &lt;br /&gt;    my @numbers = @{$phonebook{$key}};&lt;br /&gt;    print "$key,";&lt;br /&gt;    print join(",", @numbers), "\n";&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;And then piping the output through something like &lt;tt&gt;awk '{FS=","; printf "%s,%s,%s,%s,%s,%s\n", $1, $2, $3, $4, $5, $6;}' | sort&lt;/tt&gt; got the phonebook to a shape that I can import it to Windoze and then sync to the phone.&lt;br /&gt;&lt;br /&gt;So, that's the story. Since iPhone is outta my budget, it is time I play with symbian.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-5015548567089570584?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/5015548567089570584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/08/lost-rizr-hello-e51.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5015548567089570584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5015548567089570584'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/08/lost-rizr-hello-e51.html' title='lost RIZR, hello E51'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q8IyBrue8D8/SKFhL0B7QlI/AAAAAAAAAhA/6S7JqFzzfRY/s72-Rc/s1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1876242364882487009</id><published>2008-08-07T02:00:00.003+05:30</published><updated>2008-08-13T19:40:20.049+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Maths &amp; Sex: can't be together</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_q8IyBrue8D8/SJw4yqSxMgI/AAAAAAAAAg4/Ve4BgVl-FA8/s1600-h/arum_lili.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_q8IyBrue8D8/SJw4yqSxMgI/AAAAAAAAAg4/Ve4BgVl-FA8/s1600/arum_lili.jpg" border="0" alt="Arum Lili" title="Arum Lili" id="BLOGGER_PHOTO_ID_5232119310095299074" /&gt;&lt;/a&gt; We all know the famous saying: &lt;i&gt;Mathematics and Sex: you can think of one when doing the other&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Not true. Proof: (1) we have constant amount of blood in our caffeine system, and (2) we have to send more oxygen (blood being the carrier) to the active organs for proper functioning, which is nothing but helping your Adenosine triphosphates to send energy to the cells. Now heart takes some time to change the blood concentration (this you'll feel during circuit trainings in gym, if you do an upper body exercise immediately followed by a lower body exercise, it takes a few more seconds for the lower body to gain strength because the heart has send the blood 'down there'). So either you can do the bit manipulation or maintain your erection, ending up in horns of a dilemma ... whether to be horny or solve a math problem.&lt;br /&gt;&lt;br /&gt;Generally we give in to instincts, so your brain stops working in such situations. So the quip of Paul Valery is justified: "&lt;i&gt;Love is being stupid together.&lt;/i&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1876242364882487009?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1876242364882487009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/08/maths-sex-cant-be-together.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1876242364882487009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1876242364882487009'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/08/maths-sex-cant-be-together.html' title='Maths &amp; Sex: can&apos;t be together'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_q8IyBrue8D8/SJw4yqSxMgI/AAAAAAAAAg4/Ve4BgVl-FA8/s72-c/arum_lili.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1024437323409914742</id><published>2008-07-30T09:00:00.001+05:30</published><updated>2008-07-30T10:47:37.292+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>Chant: Hare Krishna</title><content type='html'>&lt;div class="columns"&gt;I have a knack of bumping into &lt;a href="http://kousik.blogspot.com/2005/11/weirdos-from-another-planet.html"&gt;weird&lt;/a&gt; people. And also &lt;a href="kousik.blogspot.com/2008/06/cosmos-and-fallen-love.html"&gt;other interesting&lt;/a&gt; things happen on Sunday mornings, like this one: I was walking to my bike &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/SI5zRccXk8I/AAAAAAAAAgs/9Np1nX4P1jQ/s1600-h/krishna.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/SI5zRccXk8I/AAAAAAAAAgs/9Np1nX4P1jQ/s1600/krishna.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5228242960953873346" /&gt;&lt;/a&gt; parked outside the gym, and my thoughts were interrupted by a &lt;i&gt;Swamiji&lt;/i&gt; from ISKON. Extremely fair, well dressed in saffron, with a nice tilak on his forehead. He is on the mission of spreading Krishna consciousness, and doing it exactly in the style of &lt;i&gt;Chaitanya Mahaprabhu&lt;/i&gt; as he did in Nabadweep. He is getting hold of every unsuspecting men passing by, and requesting him to chant the Mahamantra (&lt;i&gt;Hare Krishna ...&lt;/i&gt;). We had an eye contact and came the inevitable.&lt;br /&gt;&lt;br /&gt;Swami: Bro, please chant with me, &lt;i&gt;Hare Krishna hare Krishna ...&lt;/i&gt;&lt;br /&gt;Me: What does a chant make any difference? &lt;br /&gt;Swami: Krishna will help you out of this mess (sorry don't remember the exact wording he said, mostly in line of ending my sufferings).&lt;br /&gt;Me: Uh, how'll he help?&lt;br /&gt;Swami: He is the God, just chant his name! ...&lt;br /&gt;Me: See dude, in Vedas, it says "&lt;i&gt;Ayam Atma Brahman&lt;/i&gt;", and "&lt;i&gt;Tat Tvam Asi&lt;/i&gt;". I don't have to care ...&lt;br /&gt;Swami: (probably preparing a defense) &lt;i&gt;Krishnamay Vishwa&lt;/i&gt; ... just take his name!&lt;br /&gt;Me (hurriedly): &lt;i&gt;Yenaham namrta syam, kim aham tena kuryam? &lt;/i&gt;&lt;br /&gt;Swamiji was ready to continue the chat, but I was already scraping the bottom of my Hinduism knowledge (so wanted to run away). I remembered we'll have to inaugurate a gas tandoor at my friend's house, and for that I have chicken legs floating in wine at kitchen. I wore my sunglass again and terminated the conversation: &lt;i&gt;Hare Krishna!&lt;/i&gt; He gleefully accepted, and repeated the same. Handed me a small picture of the kiddo Lord, and started minding his business again!&lt;br /&gt;&lt;br /&gt;Whew! I hope he doesn't get hit by the rim of a mud-pot ...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1024437323409914742?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1024437323409914742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/07/chant-hare-krishna.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1024437323409914742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1024437323409914742'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/07/chant-hare-krishna.html' title='Chant: Hare Krishna'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_q8IyBrue8D8/SI5zRccXk8I/AAAAAAAAAgs/9Np1nX4P1jQ/s72-c/krishna.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-2617279218912614648</id><published>2008-07-07T19:41:00.001+05:30</published><updated>2008-07-07T19:43:43.413+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='kitchen'/><category scheme='http://www.blogger.com/atom/ns#' term='food'/><title type='text'>Next Idea: Live Seafood Restaurant</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_q8IyBrue8D8/SEt0D1EDqVI/AAAAAAAAAf0/8Mz3LgNGUh8/s1600-h/seabass.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_q8IyBrue8D8/SEt0D1EDqVI/AAAAAAAAAf0/8Mz3LgNGUh8/s1600/seabass.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5209385003116636498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="columns" style="clear:left;"&gt;When finger pointing what you want to eat may sound a little bit of impolite, I didn't feel so in a Live Seafood restaurant. Especially when freshness makes or breaks a seafood dish, you really want the raw material to be as fresh as possible. So when a restaurant would want the fishes to die at the last moment possible, these ones in East Asia (and of course in other places too) takes a step further and lets you choose one. And 15 minutes later, it appears in your table.&lt;br /&gt;&lt;br /&gt;Take my word. The difference of taste is unbelievable. Between frozen food and fresh. There are places in Bangalore which flies fresh fishes from Kolkata/Dhaka for dinner, and I have tried the fishes that were caught 8 hours ago, but fishes that almost 'still moves' beat them by hundreds of miles in taste. So when you talk of market study before you start the venture, I think, &lt;I&gt;I am the market&lt;/i&gt;, no of course not me alone, but I think there would be several individuals like me who will be willing to pay that premium for the difference in taste.&lt;br /&gt;&lt;br /&gt;Getting raw materials won't be easy. Getting so called fresh fish off Mangalore doesn't help. They have to live the trip. I've taken tours in HAL market, Russell market and confident that it &lt;i&gt;might&lt;/i&gt; be difficult to get a vendor to have consistent supply of alive and kicking stuffs. That's one part of logistics I haven't solved yet. Someone started one in Kolkata, but they have it easy. There is one in every street of Malaysia, but they have it easy too. &lt;br /&gt;&lt;br /&gt;And the investment, of course. I just calculated that sensex has to cross 2,55,370 mark to start that with my own money.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-2617279218912614648?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/2617279218912614648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/07/next-idea-live-seafood-restaurant.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2617279218912614648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2617279218912614648'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/07/next-idea-live-seafood-restaurant.html' title='Next Idea: Live Seafood Restaurant'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_q8IyBrue8D8/SEt0D1EDqVI/AAAAAAAAAf0/8Mz3LgNGUh8/s72-c/seabass.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-5581735927138705342</id><published>2008-06-16T16:47:00.001+05:30</published><updated>2008-06-16T16:49:46.448+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Cosmos, and The Fallen Love</title><content type='html'>&lt;div class="columns"&gt;So I was reading too many books on Quantum Mechanics, then moved to Cosmology and from then moved to Evolution of Life. As a general feeling my belief that there is no role of God to influence our life gets stronger. Because after all, Universe is nothing but a huge collection of matter collected to a singularity 13.7e9 years ago, since then it is expanding following some definite physical laws. Still we didn't find the Theory of Everything, but we are having theories which more and more accurately describes our Universe. Even if God existed, he would have been a mere observer. And life is nothing but the capability of some of us to maintain entropy (basically we can't defy the second law of Thermodynamics so we feed on negative entropy). Ultimately we are all heat engines. Moreover, we are just manifestation of a DNA, and the sole goal of our life is to pass it on to a fitter generation. Though, the whole thing is futile anyway, because in a few billion years, Sun will become a Red Giant and swallow Earth. Actually in 900 million years, the Earth will be too hot and all water will disappear.&lt;br /&gt;&lt;br /&gt;Very depressing. Made me very uninterested about life. All I see around are just copies of DNA trying their best to survive. War is a laughable affair. So is the &lt;a href="http://kousik.blogspot.com/2008/05/wishlist-growing.html"&gt;desire of a new bike&lt;/a&gt;. All we are a temporary blip, registered nowhere in the Universe.&lt;/div&gt;&lt;br /&gt;&lt;div style="clear:left;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_q8IyBrue8D8/SEtxx8cbfhI/AAAAAAAAAfs/T5kU9S5YikM/s1600-h/lovebird.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_q8IyBrue8D8/SEtxx8cbfhI/AAAAAAAAAfs/T5kU9S5YikM/s1600/lovebird.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5209382496837008914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="clear:left;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="columns"&gt;And then on Sunday morning I just got home from Gym, and as I was parking my bike, the apartment's security came running, with a bright yellow lump held in hand. A Love Bird, obviously escaped from someone's cage and later picked up by a kite for breakfast, fell on his head when it was being carried overhead. A direct fall to the ground would probably have been fatal; but the bird was injured enough. I took it home.&lt;br /&gt;&lt;br /&gt;Her heart was beating too fast, and she wasn't able to lift her head. I don't know if the neck was broken, and I thought it'd have been instant death if that was the case. Taken in one palm, I held some water cupped in other, and much to our relief, she stretched herself to slurp. After some sips, she seemed to have calmed down but refused to eat breadcrumbs we offered. We don't have any infrastructure to give her a home, and she needed some medical attention too, so finally we called &lt;a href="http://www.pfabangalore.org/"&gt;PFA&lt;/a&gt; who took her to their hospital. She's doing well now.&lt;br /&gt;&lt;br /&gt;This is crazy. Why there has to be an equilibrium of everything? Nursing an injured bird changed it all -- I love life again!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-5581735927138705342?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/5581735927138705342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/06/cosmos-and-fallen-love.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5581735927138705342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5581735927138705342'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/06/cosmos-and-fallen-love.html' title='Cosmos, and The Fallen Love'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_q8IyBrue8D8/SEtxx8cbfhI/AAAAAAAAAfs/T5kU9S5YikM/s72-c/lovebird.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-8777795824187935264</id><published>2008-06-08T11:35:00.000+05:30</published><updated>2008-06-08T11:36:22.512+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Is Nandi Hills ...</title><content type='html'>&lt;table&gt;&lt;tr&gt;&lt;td colspan="3" align="center" bgcolor="#316310"&gt;&lt;font color="#ffffff" face="Arial"&gt;&lt;a href="http://kousik.blogspot.com/"&gt;Hacking|Photography|Birdwatching&lt;/a&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;Visit 50,113&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#f5f5e2"&gt;&lt;td align="right" &gt;&lt;font face="Arial"&gt;Domain Name&lt;/font&gt;&lt;/td&gt;&lt;td align="center" width="10"&gt;&amp;nbsp;&lt;/td&gt;&lt;td &gt;&lt;font size="2" face="Arial"&gt;&lt;a href="http://bsnl.in"&gt;&lt;span id="ipDomainName"&gt;bsnl.in&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=".?a=stats&amp;amp;s=s17kousikatblogspot&amp;amp;r=34&amp;amp;vlr=11&amp;amp;pg=1&amp;amp;v=93"&gt;&lt;sup&gt;?&lt;/sup&gt;&lt;/a&gt; (India)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;font face="Arial"&gt;IP Address&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;span id="ipAddress"&gt;59.92.134.#&lt;/span&gt; (NIB&amp;nbsp;(National&amp;nbsp;Internet&amp;nbsp;Backbone))&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#f5f5e2"&gt;&lt;td align="right"&gt;&lt;font face="Arial"&gt;ISP&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;NIB (National Internet Backbone)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;font face="Arial"&gt;Location&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;table cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;Continent&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;:&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;Asia&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;font size="2" face="Arial"&gt;Country&lt;/font&gt;&lt;/td&gt;&lt;td valign="top"&gt;&amp;nbsp;:&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;a href=".?a=stats&amp;amp;s=s17kousikatblogspot&amp;amp;v=93&amp;amp;country=IN&amp;amp;vlr=11&amp;amp;pg=1&amp;amp;r=76"&gt;India&lt;/a&gt;&amp;nbsp;&lt;a href=".?a=stats&amp;amp;s=s17kousikatblogspot&amp;amp;v=93&amp;amp;country=IN&amp;amp;vlr=11&amp;amp;pg=1&amp;amp;r=77"&gt;&amp;nbsp;&lt;/a&gt;&amp;nbsp;&lt;a href=".?a=stats&amp;amp;s=s17kousikatblogspot&amp;amp;v=93&amp;amp;country=IN&amp;amp;vlr=11&amp;amp;pg=1&amp;amp;r=78"&gt;(Facts)&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;State/Region&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;:&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;Karnataka&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;City&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;:&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;Bangalore&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;Lat/Long&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;:&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;12.9833, 77.5833&amp;nbsp;&lt;a href=".?a=stats&amp;amp;s=s17kousikatblogspot&amp;amp;r=75&amp;amp;pg=1&amp;amp;vlr=11&amp;amp;v=93"&gt;(Map)&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;Distance&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;:&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;28&amp;nbsp;miles&amp;nbsp;(local&amp;nbsp;visitor)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#f5f5e2"&gt;&lt;td align="right" valign="top"&gt;&lt;font face="Arial"&gt;Language&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;English (U.S.)&lt;br&gt;&lt;small&gt;en-us&lt;/small&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font face="Arial"&gt;Operating System&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;Microsoft WinXP&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#f5f5e2"&gt;&lt;td align="right" valign="top"&gt;&lt;font face="Arial"&gt;Browser&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;Firefox &lt;br&gt;&lt;small&gt;Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14&lt;/small&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;font face="Arial"&gt;Javascript&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;version 1.5&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#f5f5e2"&gt;&lt;td align="right" valign="top"&gt;&lt;font face="Arial"&gt;Monitor&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;table cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;Resolution&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&amp;nbsp;:&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;1024 x 768&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;Color Depth&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&amp;nbsp;:&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;32 bits &lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font face="Arial"&gt;Time of Visit&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;font face="Arial"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;span title="Jun 1 2008 23:06:35"&gt;Jun&amp;nbsp;1&amp;nbsp;2008&amp;nbsp;11:06:35&amp;nbsp;pm&lt;/span&gt;&lt;/font&gt;&lt;font face="Arial"&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#f5f5e2"&gt;&lt;td align="right"&gt;&lt;font face="Arial"&gt;Last Page View&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;span title="Jun 1 2008 23:06:35"&gt;Jun&amp;nbsp;1&amp;nbsp;2008&amp;nbsp;11:06:35&amp;nbsp;pm&lt;/span&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font face="Arial"&gt;Visit Length&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;0 seconds&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#f5f5e2"&gt;&lt;td align="right"&gt;&lt;font face="Arial"&gt;Page Views&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;font face="Arial"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;1&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;font face="Arial"&gt;Referring URL&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;a href="http://www.google.co.in/search?hl=en&amp;amp;q=is%20nandi%20hills%20safe%20place%20to%20have%20sex&amp;amp;btnG=Search&amp;amp;meta=" title="http://www.google.co.in/search?hl=en&amp;amp;q=is nandi hills safe place to have sex&amp;amp;btnG=Search&amp;amp;meta="&gt;http://www.google.co...ex&amp;amp;btnG=Search&amp;amp;meta=&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;font face="Arial"&gt;Search Engine&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;font size="2" face="Arial"&gt;google.co.in&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;font face="Arial"&gt;Search Words&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;font size="2" face="Arial"&gt;is nandi hills safe place to have sex&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#f5f5e2"&gt;&lt;td align="right"&gt;&lt;font face="Arial"&gt;Visit Entry Page&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;a href="http://kousik.blogspot.com/2006/10/nandi-hills-after-long-time.html" title="http://kousik.blogspot.com/2006/10/nandi-hills-after-long-time.html"&gt;http://kousik.blogsp...after-long-time.html&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font face="Arial"&gt;Visit Exit Page&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;a href="http://kousik.blogspot.com/2006/10/nandi-hills-after-long-time.html" title="http://kousik.blogspot.com/2006/10/nandi-hills-after-long-time.html"&gt;http://kousik.blogsp...after-long-time.html&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#f5f5e2"&gt;&lt;td align="right"&gt;&lt;font face="Arial"&gt;Out Click&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right" valign="top"&gt;&lt;font face="Arial"&gt;Time Zone&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;a href=".?a=stats&amp;amp;&amp;amp;s=s17kousikatblogspot&amp;amp;v=93&amp;amp;vlr=11&amp;amp;pg=1&amp;amp;r=31"&gt;UTC+4:00&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#f5f5e2"&gt;&lt;td align="right" valign="top"&gt;&lt;font face="Arial"&gt;Visitor's Time&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;font size="2" face="Arial"&gt;&lt;span title="Jun 1 2008 22:36:35"&gt;Jun&amp;nbsp;1&amp;nbsp;2008&amp;nbsp;10:36:35&amp;nbsp;pm&lt;/span&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font face="Arial"&gt;Visit&amp;nbsp;Number&lt;/font&gt;&lt;/td&gt;&lt;td align="center"&gt;&amp;nbsp;&lt;/td&gt;&lt;td align="left"&gt;&lt;font size="2" face="Arial"&gt;50,113&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" align="left" valign="top"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Someone hit my blog searching for advice if Nandi Hills is a safe place to have sex, and I think I should warn him under open sky, you always run the risk of being watched. Even the parking lots are crowded so romping in the back seat requires reflective sun-films. And if you park in odd places, maybe you'll draw unnecessary attention too. The only safe place is a small resort at the foothills.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-8777795824187935264?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/8777795824187935264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/06/is-nandi-hills.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8777795824187935264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8777795824187935264'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/06/is-nandi-hills.html' title='Is Nandi Hills ...'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-5809143038876524037</id><published>2008-05-29T19:00:00.000+05:30</published><updated>2008-05-29T19:00:01.975+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Gadwall</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_q8IyBrue8D8/SD6vI_oA73I/AAAAAAAAAcs/KVAtPX2zJbU/s1600-h/gadwall_4.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_q8IyBrue8D8/SD6vI_oA73I/AAAAAAAAAcs/KVAtPX2zJbU/s1600/gadwall_4.jpg" border="0" alt="Gadwall" id="BLOGGER_PHOTO_ID_5205790788339953522" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-5809143038876524037?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/5809143038876524037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/05/gadwall.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5809143038876524037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5809143038876524037'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/05/gadwall.html' title='Gadwall'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_q8IyBrue8D8/SD6vI_oA73I/AAAAAAAAAcs/KVAtPX2zJbU/s72-c/gadwall_4.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1328614585330761663</id><published>2008-05-19T19:00:00.002+05:30</published><updated>2008-05-20T15:14:04.139+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>Wishlist growing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_q8IyBrue8D8/SC0ZZT5ZjDI/AAAAAAAAAOw/tFpJ5M8_HY8/s1600-h/Bajaj_Avenger.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_q8IyBrue8D8/SC0ZZT5ZjDI/AAAAAAAAAOw/tFpJ5M8_HY8/s1600/Bajaj_Avenger.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5200841067311238194" /&gt;&lt;/a&gt;&lt;br /&gt;My idea of aging gracefully was to migrate &lt;a href="http://kousik.blogspot.com/2006/04/goodbye-sam.html"&gt;from a street racer&lt;/a&gt; to a &lt;a href="http://kousik.blogspot.com/2006/04/hello-samantha.html"&gt;cruiser&lt;/a&gt;. After 7 years of assuming the road as a race track, finally I took it easy as a part of getting older. Now I smile at people who zooms out from a signal. I remember my unintentional wheelies when I used to do the same years ago. After several years, I realized my back needs some more gentle handling, and I can as well feel like &lt;a href="http://www.youtube.com/watch?v=y10OJ1pNW3o"&gt;God&lt;/a&gt; by changing my bike. &lt;br /&gt;&lt;br /&gt;And then the famous saying comes true. &lt;span style="font-weight:bold;"&gt;As you go over the hill, you gain speed. &lt;/span&gt; So ... once I have crossed &lt;i&gt;the middle age&lt;/i&gt;, it is time to reclaim my life, and hence shop for a bike.&lt;br /&gt;&lt;br /&gt;And thankfully, I'll have two choices later this year.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_q8IyBrue8D8/SC0Y1j5ZjCI/AAAAAAAAAOo/G3oqedc7dTY/s1600-h/Yamaha_YZF-R15_5w.jpg"&gt;&lt;img style="margin:0 0 10px 10px; cursor:hand; float:left;" src="http://bp2.blogger.com/_q8IyBrue8D8/SC0Y1j5ZjCI/AAAAAAAAAOo/G3oqedc7dTY/s1600/Yamaha_YZF-R15_5w.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5200840453130914850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yamaha announced YZF-&lt;a href="http://www.yamaha-motor.co.jp/global/news/2008/01/10/yzf-r15.html"&gt;R15&lt;/a&gt; in last Auto-Expo. Well, 150cc sounds pretty less, but if it can churn out ~20bhp, I shouldn't complain. I went to the Yamaha dealer in CMH Road a few days back, and all they have to show is a few pages from the bike magazine. But again, they are taking bookings for the bike at the same time. They are asking 10 grands; but I was unwilling to commit because I wanted to see the final spec-sheet. The tech details you can find everywhere in the net, but what is worrying me is the claim that the top speed will be 160 kmph. Not because I'll ever want to ride faster, but that type of top speed will require a narrow power band, which will actually mean the bike will generate power say only above 5k-6k rpm. Which is very bad for city riding, stop and go traffic, because we won't be able to rev that much normally. Since I plan to use it even for buying crabs from HAL market as well coming to office everyday, it'll be a pain at low speed. If the top whack is lower, I expect the bike to generate some power even at lower rpm. &lt;br /&gt;&lt;br /&gt;Otherwise it looks very very impressive. And technology wise, India have never seen such advanced bike. Oh another temptation to book the bike pre-launch would be, the first batch will have a completely imported Japanese engine, but next batch onwards, the engine will be built in India. So it'll take another batch to fix the bugs; so if I don't buy in the first lot, I should wait for the third.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_q8IyBrue8D8/SC0YOz5ZjBI/AAAAAAAAAOg/UijHupSyT4o/s1600-h/7886d5a9-cad6-4861-b39d-c8234cb6ffa8.jpg"&gt;&lt;img style="margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_q8IyBrue8D8/SC0YOz5ZjBI/AAAAAAAAAOg/UijHupSyT4o/s1600/7886d5a9-cad6-4861-b39d-c8234cb6ffa8.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5200839787410983954" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The second option, which is a more distant reality, is &lt;a href="http://www.youtube.com/watch?v=3jlzKWAnQzI"&gt;Ninja 250R&lt;/a&gt;. This is also slated to launch by end of the year. Not sure if they are taking CKD or CBU route. I really wish they bring it as CKD, and maybe fit Indian made unimportant parts like RVM, fairing etc. The engine, brakes, gearbox should be sourced from Kawasaki Japan. So that we don't have to wait for parts, and they are cheap. We should get a VFM machine then. &lt;br /&gt;&lt;br /&gt;Costwise, it'll be more than double of R15. So, two R15s or one Ninja 250R?&lt;br /&gt;&lt;br /&gt;A Ninja, please.&lt;br /&gt;&lt;br /&gt;&lt;span style="float:right;"&gt;Images from respective manufacturer's sites&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1328614585330761663?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1328614585330761663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/05/wishlist-growing.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1328614585330761663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1328614585330761663'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/05/wishlist-growing.html' title='Wishlist growing'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_q8IyBrue8D8/SC0ZZT5ZjDI/AAAAAAAAAOw/tFpJ5M8_HY8/s72-c/Bajaj_Avenger.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-2476776800181805906</id><published>2008-05-14T19:40:00.000+05:30</published><updated>2008-05-14T19:40:01.220+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='RIZR'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>Using mobile without the screen</title><content type='html'>&lt;div class="columns"&gt; Yesterday when I was coming out of gym, a visually challenged guy almost bumped on me. He sensed my presence and asked me where is the cellular phone shop because he wants to buy one. The gym and Univercell are on same building, so I informed him it is the next entrance and offered to lead him there. From his movements I could estimate his difficulty, &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_q8IyBrue8D8/SBW06HpPzsI/AAAAAAAAANw/W7OB-wNEbMA/s1600-h/screen16.png"&gt;&lt;img style="float:left; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_q8IyBrue8D8/SBW06HpPzsI/AAAAAAAAANw/W7OB-wNEbMA/s400/screen16.png" border="0" alt=""  id="BLOGGER_PHOTO_ID_5194256655819198146" /&gt;&lt;/a&gt; he can recognize large objects nearby, but obviously would not be able to read/write. I handed him over to the security of the shop who took him inside. And he got me thinking.&lt;br /&gt;&lt;br /&gt;Can he effectively use a phone? Given his challenge he won't be able to read the screen. Even he won't be able to detect when the screen changes. Back in home, I tried to use &lt;i&gt;my&lt;/i&gt; phone, without trying to use the screen. Of course you have to remember that my phone is no ordinary, I have already hacked it to &lt;a href="http://kousik.blogspot.com/2007/05/hacks-mods-on-my-rizr-z3.html"&gt;make it talk&lt;/a&gt; to me. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_q8IyBrue8D8/SBW06XpPztI/AAAAAAAAAN4/kpI3Oz_T9KY/s1600-h/screen17.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_q8IyBrue8D8/SBW06XpPztI/AAAAAAAAAN4/kpI3Oz_T9KY/s400/screen17.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5194256660114165458" /&gt;&lt;/a&gt; The first thing you realize that you need the address book to be populated. Since you can't do that yourself, someone has to do it for you. Without an address book, a phone is hardly usable these days. So ... let's assume that somehow, with someone's help, you have a reasonably populated address book. &lt;br /&gt;&lt;br /&gt;With &lt;span style="font-style:italic;"&gt;Talking Phone&lt;/span&gt; feature on,  it is easy to identify the caller. The phone announces "Incoming call from &amp;lt;name&amp;gt;" and does it loud. If the name is in address book, it pronounces it, else it reads out the number. Given that someone did the setting of "Answer with any key", it is very easy to pick up a call. Rejecting is very hard, because you must use the red key, but I think with some little practice holding the phone, we can do that too blindly. Calling a number may be a little difficult. We have &lt;span style="font-style:italic;"&gt;ObeyMoto&lt;/span&gt; for that. But unfortunately, without the screen, you can't do much except making a call.&lt;br /&gt;&lt;br /&gt;Thankfully, the command accepts both address book names and discrete digits for calling. But you need to train the discrete digits first. Which unfortunately very difficult to activate and you need someone's help to train the phone on digits. Once trained properly, it is fairly accurate and even its heuristics to look up address book is pretty good. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/SBW06npPzuI/AAAAAAAAAOA/MYrGOr2tbIg/s1600-h/screen18.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/SBW06npPzuI/AAAAAAAAAOA/MYrGOr2tbIg/s400/screen18.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5194256664409132770" /&gt;&lt;/a&gt; Other features like sending SMS, E-mail or opening Apps are not possible to use without the screen. It should be able to read my incoming SMSs aloud (because it does so for my address book names), but it doesn't. I don't know why it is not available when all the facilities are built in already.&lt;br /&gt;&lt;br /&gt;So I assume a blind person will be limited to just make and receive voice calls. And that too, not with a stock phone (Motorola at least). Once you hack it, Motos are usable, but not sure how serious Nokia or other vendors are with respect to MMI without visual interaction. &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-2476776800181805906?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/2476776800181805906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/05/using-mobile-without-screen.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2476776800181805906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2476776800181805906'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/05/using-mobile-without-screen.html' title='Using mobile without the screen'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_q8IyBrue8D8/SBW06HpPzsI/AAAAAAAAANw/W7OB-wNEbMA/s72-c/screen16.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-6597241214115730524</id><published>2008-04-12T16:25:00.004+05:30</published><updated>2011-02-07T13:25:46.419+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>Story of a farmer far away</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_q8IyBrue8D8/R__HN3zKVJI/AAAAAAAAANo/H-tWwoHBdb0/s1600-h/IMG_1083.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_q8IyBrue8D8/R__HN3zKVJI/AAAAAAAAANo/H-tWwoHBdb0/s1600/IMG_1083.jpg" border="0" alt="His hut and fields, Tadiandamol in background" id="BLOGGER_PHOTO_ID_5188084336884864146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="clear:left;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="columns"&gt;&lt;i&gt;Babu&lt;/i&gt; wakes up with a view all of us would love to. The whole &lt;a href="http://en.wikipedia.org/wiki/Tadiandamol"&gt;Tadiandamol&lt;/a&gt; range stands tall outside his hut; a sight for which I had to hire a 4-wheel drive jeep to some distance and trek the last kilometer. If you walk down to the other side of the hill, you get down to a beautiful quiet stream which is a tributary to Cauvery. On the other side of the stream, it is reserve forest from where stray cattle do not come back because of a healthy number of leopards. His village has only 4 houses, each attached to a few small pieces of flat lands they have cut on the slope of the hills. I was standing under a fully fruited pomelo tree and wondering if it can be an ideal retirement destination.&lt;br /&gt;&lt;br /&gt;Despite the beauty of the place, Babu had a problem. To feed his family. His land is too small, he can't irrigate so completely dependent on rain's mercy, and even if he grows some crop, the price it fetches is way too less. Yes even when India's food price have skyrocketed, his crop sells at the same meager price to the middleman. Which probably doesn't even cover the loan he has taken from a local muscleman. The wonderful scenic hills, the quiet water stream, the surrounding forest,  doesn't feed his family whole through the year.&lt;br /&gt;&lt;br /&gt;He gave up. This year he didn't even attempt to grow crops. He came down to Bangalore. And after a hard search, finally found temporary appointment as a gunman in one of the ICICI Bank's branch here. From his own spacious hut, he now moved to a slum, sharing a small room with a few more security guards, who even came from a more scenic place: Nepal. His earning didn't increase much, but "at least it is steady". Now he visits his family once in alternate months, and probably will take them to a slum in here as soon as he can afford a whole 10x10 room himself.&lt;br /&gt;&lt;br /&gt;His field will be left abandoned. He'll probably not go back to continue farming there, because I don't see what'll change in his life in next 10 years perhaps, which may enable him to resume his original occupation. His 4 year old, when grows up, I am sure won't pickup farming either. It doesn't pay, simply.&lt;br /&gt;&lt;br /&gt;The way tourism getting in fashion, maybe in 10 years someone will buy his land to create a weekend resort. &lt;i&gt;Babu&lt;/i&gt; will be living in this big city to feed his family. And people from city will take an off-roader SUV all the way to his home for spending Saturday nights.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-6597241214115730524?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/6597241214115730524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/04/story-of-farmar-far-away.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6597241214115730524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6597241214115730524'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/04/story-of-farmar-far-away.html' title='Story of a farmer far away'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_q8IyBrue8D8/R__HN3zKVJI/AAAAAAAAANo/H-tWwoHBdb0/s72-c/IMG_1083.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-6197593589284021487</id><published>2008-04-04T01:55:00.002+05:30</published><updated>2008-04-04T01:58:12.469+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Bronze Winged Jacana</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/R_U9mqajj5I/AAAAAAAAANg/7HF0z21OD9Q/s1600-h/bronzedwinged_jacana1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/R_U9mqajj5I/AAAAAAAAANg/7HF0z21OD9Q/s1600/bronzedwinged_jacana1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5185118280416989074" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-6197593589284021487?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/6197593589284021487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/04/bronze-winged-jacana.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6197593589284021487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6197593589284021487'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/04/bronze-winged-jacana.html' title='Bronze Winged Jacana'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_q8IyBrue8D8/R_U9mqajj5I/AAAAAAAAANg/7HF0z21OD9Q/s72-c/bronzedwinged_jacana1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-537173175232570111</id><published>2008-03-29T13:47:00.008+05:30</published><updated>2008-03-30T21:10:05.105+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>100' Road won't be the same ever again</title><content type='html'>Now that &lt;a href="http://en.wikipedia.org/wiki/Bangalore_Metro"&gt;Bangalore metro&lt;/a&gt; work started in Indiranagar Hundrend Feet Road a few weeks ago, &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/R-4Iraajj4I/AAAAAAAAANA/6UkmhLD44Ws/s1600-h/drill1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/R-4Iraajj4I/AAAAAAAAANA/6UkmhLD44Ws/s400/drill1.jpg" border="0" alt="" align="right" id="BLOGGER_PHOTO_ID_5183089763068120962" /&gt;&lt;/a&gt;the complete landscape changed. This part had several big trees on both sides, and top of these trees would touch each other to create a huge green tunnel. Thankfully, they were not all completely chopped off. Most remain, but only half on them. Whatever branches that came on road are cut. I wonder if that'll make the tree lose its balance ... if you cut all the branches on one side. I wonder whether these trees will remain strong enough to stay upright in coming monsoon. But at least they'll live now. &lt;br /&gt;&lt;br /&gt;So. More than 60% of the road is occupied by the metro project now, and they are digging for the pillars (remember it is going to be elevated almost everywhere). I was too young to notice the Kolkata metro work, but still I have faint memories of the huge construction work that spanned half of Kolkata. Compared to that, I have to admit this is a quiet affair. &lt;br /&gt;&lt;br /&gt;The drills, cranes are extremely efficient. I am seeing them in action everyday, and they are digging holes like you do on a piece of cake. I see them digging forty feet deep holes in a couple of hours. They dig 2 side by side, and then cover it and move on. Post rain they are not much distinguishable from the mud and slush that accumulate there. I hope they mark the places well for the safety of their own workers!  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_q8IyBrue8D8/R-4IrKajj3I/AAAAAAAAAM4/06HOtNscu9E/s1600-h/drill2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_q8IyBrue8D8/R-4IrKajj3I/AAAAAAAAAM4/06HOtNscu9E/s400/drill2.jpg" border="0" alt="" align="left" id="BLOGGER_PHOTO_ID_5183089758773153650" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;When I used to visit M G Road recently, because of the barriers, I could hardly see what's going on. But now I can follow exactly what they do, what machinery is needed to do all these heavy lifting. But the interesting part is over, and now we have to wait for 2 years for any further action. They have moved on towards CMH road, and I think the place will simply stay covered by green boards for more than a year or so before they come back and start erecting the elevated path. &lt;br /&gt;&lt;br /&gt;Till then, don't even think of driving via this route.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-537173175232570111?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/537173175232570111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/03/100-road-wont-be-same-ever-again.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/537173175232570111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/537173175232570111'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/03/100-road-wont-be-same-ever-again.html' title='100&apos; Road won&apos;t be the same ever again'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_q8IyBrue8D8/R-4Iraajj4I/AAAAAAAAANA/6UkmhLD44Ws/s72-c/drill1.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-2274023624151061055</id><published>2008-02-15T19:00:00.000+05:30</published><updated>2008-02-15T19:01:24.934+05:30</updated><title type='text'>Mama I'm coming home</title><content type='html'>More than a year later, I'm going home again. Last time Iravan couldn't absorb the sudden change of weather, and felt so sick that we had to prepone our journey back to Bangalore. He is a year's elder now, and I hope he'll be able to cope up this time. It's gonna be hectic, because of frequent trips between Sumana's and ours home. I need to touch several bases in a span of 2/3 days. And hopefully will be able to visit Santragachi lake, where Bar-headed Geese and Common Teals are wintering this year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-2274023624151061055?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/2274023624151061055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/02/mama-im-coming-home.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2274023624151061055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2274023624151061055'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/02/mama-im-coming-home.html' title='Mama I&apos;m coming home'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-4356347772701450821</id><published>2008-02-15T03:00:00.001+05:30</published><updated>2008-02-15T08:50:46.315+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>In case of rash driving ...</title><content type='html'>&lt;div class="columns"&gt; ... please call 9900######. Yes, that's how it generally looks like. Stickers stuck behind rashly driven Sumos, Indicas. The last a few digits wore off due to heavy washing, though the vehicle will be so dirty that even a dog will not crap on them. Though yes, some do have the whole number visible. So one day, such a vehicle cuts our way, missing us by an inch. Sumana gets angry, reads the number in next traffic signal and calls. It keeps on ringing. She was very insistent so calls 10 minutes later. &lt;i&gt;"One of your vehicle, KA-19 xxxx is driving very dangerously in CMH road"&lt;/i&gt;, before she finishes, the other side responds &lt;i&gt;"that's not our vehicle, ma'm" *Click*&lt;/i&gt;. How about that? On another occasion she got a better reply: &lt;i&gt;thanks for the information, ma'm *Click*&lt;/i&gt; I am sure the driver will actually be rewarded in such cases! They should actually print the driver's cell number instead of the travel agency's, so that I can directly call up the driver and give him a piece of my mind what I do think about his driving at least.&lt;br /&gt;&lt;br /&gt;But people have better results. Instead of calling the number pasted behind the car, call 103. Yes, the traffic police control room will take down the details, and (at least one incident I know of) intercept the guy in next signal.  &lt;br /&gt;&lt;br /&gt;But nothing beats this: I survived a rash cut by an Indica taxi which had a teaser &lt;i&gt;"How am I driving?"&lt;/i&gt;, and below that in big red letters: &lt;i&gt;Only God can judge me&lt;/i&gt;! Before I could take my mobile out to take a snap, it puffed black smoke and vanished.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-4356347772701450821?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/4356347772701450821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/02/in-case-of-rash-driving.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4356347772701450821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4356347772701450821'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/02/in-case-of-rash-driving.html' title='In case of rash driving ...'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1702018439114083660</id><published>2008-02-09T15:00:00.000+05:30</published><updated>2008-02-10T01:33:33.473+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>survived freak accident</title><content type='html'>&lt;img src="http://photos1.blogger.com/blogger/3823/435/1600/avenger.jpg" border="0" alt="" align=left /&gt;  When returning home on an eventless evening, I was thinking that my life is getting too monotonic and I need some excitement to carry it on further. And I got what I asked for. Not far away from home, where I have to exit main road and take a cross, the road narrows down, slowing the traffic. I was following a small sized truck in my bike, and from a opposite side a large truck was trying to pass. Both of them was cautiously passing each other; as the width was too narrow for comfort. At the last moment, their tails brushed with each other. Now there was a rope coiled on top of the trailer of the truck I was following, which was thrown on the air because of the impact, and it landed on the handle my bike. To my horror, I found the other end to be securely tied on the truck, and my end got entangled with my right rear view mirror. I had a fraction of second before the truck pulls off, but the loop was complicated enough to do so instantly. And the truck started moving forward, dragging me along, and I was trying to keep up riding, while making best effort to keep my bike upright. Thankfully, after a few meters, it had to stop again because of the traffic. And this time, some people around noticed the situation, and shouted &amp; waved to the truck driver to keep still. I utilized that time to free my bike from the loop, though this time I was ready to let go of the bike if that guy started moving again (that'd cause real bad damage to the bike so it was the last option).&lt;br /&gt;&lt;br /&gt;Later, I was thinking of the probability of things that need to exactly happen. &lt;a href="http://en.wikipedia.org/wiki/Infinite_Improbability_Drive"&gt;Being at right place at right time&lt;/a&gt; needs something more than just luck. And then escaping with no damage is ...&lt;br /&gt;&lt;br /&gt;Whew.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1702018439114083660?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1702018439114083660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/02/survived-freak-accident.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1702018439114083660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1702018439114083660'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/02/survived-freak-accident.html' title='survived freak accident'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-7049883861594101150</id><published>2008-02-06T02:15:00.000+05:30</published><updated>2008-02-06T02:06:53.239+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Crested Serpent Eagle</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_q8IyBrue8D8/R6eFipUGMwI/AAAAAAAAALo/fS3ACFSRvBY/s1600-h/cse4.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_q8IyBrue8D8/R6eFipUGMwI/AAAAAAAAALo/fS3ACFSRvBY/s1600/cse4.jpg" border="0" alt="Crested Serpent Eagle" title="Crested Serpent Eagle; Bandipur National Park; he was vertically up and against a bright sky" id="BLOGGER_PHOTO_ID_5163242328055755522" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-7049883861594101150?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/7049883861594101150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/02/crested-serpent-eagle.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7049883861594101150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7049883861594101150'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/02/crested-serpent-eagle.html' title='Crested Serpent Eagle'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_q8IyBrue8D8/R6eFipUGMwI/AAAAAAAAALo/fS3ACFSRvBY/s72-c/cse4.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-7411746037076115689</id><published>2008-02-02T15:00:00.000+05:30</published><updated>2008-02-02T14:51:27.931+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>parallel copy</title><content type='html'>&lt;div class="columns"&gt;Some yet unidentified problem in our network punishes TCP connections that are open too long. Suppose I am trying to "scp" a huge file (close to a Gig), after sometime, the transfer rate starts dropping, and keeps going lower and lower; though the rate at which the transfer starts is pretty impressive. Useful observation is that if we terminate the connection and start copying again (maybe something else) immediately, it starts pretty fast but loses steam after a few minutes. Most likely the problem lies in the TCP windows of the participating machines. But hey, I tried increasing them, including memory buffer sizes, without avail.&lt;br /&gt;&lt;br /&gt;So need to find an workaround. Since connections stay good for first a few minutes, we'd like to use the sweet band of the connection. After that, we can abandon that TCP connection, and start another. That'd mean I'll split my file into multiple chunks of such a size that entire chunk is transferred when I have good rate. By the time the rate starts falling, the transfer will be over and another will start. Another interesting observation is we can have a few connections in parallel (of course, after a number it stops paying off). So, summary of my requirement is, break my file into multiple pieces, &lt;i&gt;independently&lt;/i&gt; transfer them, transfer as many as possible in parallel, and, at any time I should be able to interrupt the process by ^C, and execute the same command later, which should start where it left off (for example, the pieces that got transferred successfully won't be copied again).&lt;br /&gt;&lt;br /&gt;When I started thinking about writing python/perl script to do the stuff, a brainwave struck me.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;make&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Yes, make should be able to do exactly what I want. It does only what is necessary. It can figure out independent jobs. It can execute them in parallel. And allows me to control the concurrency. If it ask it to keep 4 jobs running, it'll keep only 4 children alive at a time; and start next when one finishes.&lt;br /&gt;&lt;br /&gt;&lt;a href="javascript:expandcollapse('scpmakefile')"&gt;Rest is easy.&lt;/a&gt; Just set a few ENV variables and you're good to go.&lt;br /&gt;&lt;br /&gt;&lt;span class="posthidden" id="scpmakefile"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;.SUFFIXES = .part .done&lt;br /&gt;PART = $(wildcard *.part)&lt;br /&gt;DONE = $(PART:.part=.done)&lt;br /&gt;&lt;br /&gt;%.done: %.part&lt;br /&gt;        scp $&lt; ${TARGETMACHINE}:${TARGETDIRECTORY} || mv $&lt; $@&lt;br /&gt;&lt;br /&gt;all: SPLIT&lt;br /&gt;        $(MAKE) copy&lt;br /&gt;&lt;br /&gt;SPLIT:&lt;br /&gt;        split -a 3 -b ${PIECESIZE} ${FILE2COPY} SPLITTED &lt;br /&gt;        for i in `ls -1 SPLITTED*`; do mv $$i $$i.part; done&lt;br /&gt;        touch SPLIT&lt;br /&gt;&lt;br /&gt;copy: $(DONE)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;clean:&lt;br /&gt;        rm -f SPLIT*&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-7411746037076115689?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/7411746037076115689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/02/parallel-copy.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7411746037076115689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7411746037076115689'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/02/parallel-copy.html' title='parallel copy'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-208698156338406416</id><published>2008-01-27T01:00:00.000+05:30</published><updated>2008-02-02T14:52:23.525+05:30</updated><title type='text'>Dedicated Music Time</title><content type='html'>&lt;div class="columns"&gt;iPod made a lot of things personal. Like music. Mostly, listening to music alone wasn't considered a very productive thing to do; and since I always believed that we can do multiple things in parallel, I always combined "listening to music" with &lt;span style="font-style:italic;"&gt;something else&lt;/span&gt;. In school days, it'd be homework; in college, it'd be solving some problems; later it turned out to be reading books (and much later, newspapers); and recently, driving. It'd be very rare when I was listening music and not doing anything else at the same time; unless the mood wanted so.&lt;br /&gt;&lt;br /&gt;iPod changed that both ways. Now I can do a lot more things when listening to music: for example, cooking or TV or attending meetings in office. And since the music isn't shared, I don't have to receive annoying glance from Sumana for playing the `Wall' continuously over and over again.&lt;br /&gt;&lt;br /&gt;But the bigger impact is the other way round. iPod allows me to have exclusive music time. When I do not do anything else but listen to my favourites. And grow my favourites list, an exercise stalled for long time. Once everyone sleeps off at home, I too try to, but this time plugged. I don't even try to continue reading a book; it is just darkness and silence that lets me concentrate on the `Now Playing'. I get to listen to every single instrument, every single word. I rediscover all the songs I was fan of already. And suddenly I find it is 4 o'clock already, and I need to start my day in a few hours! &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-208698156338406416?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/208698156338406416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2008/02/dedicated-music-time.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/208698156338406416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/208698156338406416'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2008/02/dedicated-music-time.html' title='Dedicated Music Time'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-469586516723868983</id><published>2007-11-15T01:39:00.000+05:30</published><updated>2007-11-15T01:45:05.377+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Crested Hawk Eagle</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_q8IyBrue8D8/RztWWv2zjfI/AAAAAAAAAI8/6mVLvcGc4Yc/s1600-h/crestedhawkeagle6.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_q8IyBrue8D8/RztWWv2zjfI/AAAAAAAAAI8/6mVLvcGc4Yc/s1600/crestedhawkeagle6.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5132791149122260466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="columns"&gt; I'd say we were very lucky to get close to this Crested Hawk Eagle. From far Sumana noticed `a big raptor'  flew to a tree ahead, and when we reached that point, there were none. So we started searching around, and finally I discovered him to be sitting pretty close to us! At Bandipur National Park, during a drive on the highway.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-469586516723868983?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/469586516723868983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/11/crested-hawk-eagle.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/469586516723868983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/469586516723868983'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/11/crested-hawk-eagle.html' title='Crested Hawk Eagle'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_q8IyBrue8D8/RztWWv2zjfI/AAAAAAAAAI8/6mVLvcGc4Yc/s72-c/crestedhawkeagle6.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-2264405285931946206</id><published>2007-10-26T18:45:00.000+05:30</published><updated>2007-10-26T18:46:12.067+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Lock me outta my iPod</title><content type='html'>&lt;div class="columns"&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/RxspUImHZWI/AAAAAAAAAIY/XRfK5kMvupE/s1600-h/ipod1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/RxspUImHZWI/AAAAAAAAAIY/XRfK5kMvupE/s1600/ipod1.jpg" border="0" alt="iPod" id="BLOGGER_PHOTO_ID_5123734426945545570" /&gt;&lt;/a&gt; Well, I was an apple fan without owning any of their products. And then Sumana gifted me a shiny new generation iPod nano. And after long time, I booted my laptop in Windows to run iTunes. Downloaded a few songs, which worked fine, but soon realized this method is not scalable because everytime I want to put new songs, I must boot in windows. And there are songs in my Linux partition which Windows can't even see. I heard &lt;a href="http://www.gnome.org/projects/rhythmbox/"&gt;rhythmbox&lt;/a&gt; would do it for me, so I fired up. It did let me download songs, but when I disconnected, the iPod refused to play any. The disk usage would still show 5GB in use, but music menu will show `0 Songs'. I was on Fiesty and realized that rhythmbox would be too old to support  new iPods. Anyways, I went back to windows but there was no way to `fix' the problem so had to format the iPod, losing all songs I downloaded to it. Later I upgraded to Gutsy Gibbon, and was hopeful that now I should be able to use with Linux. By now, I already have 900 songs, and `The Matrix' in there. Unfortunately, rhythmbox isn't ready still, and again it bricked the iPod. This time, before formatting, I &lt;a href="http://www.backdot.com/?p=50"&gt;tried hard&lt;/a&gt; to restore the iTunesDB, but no success. I had to format it again.&lt;br /&gt;&lt;br /&gt;When I am impressed by the iPod, my respect to Apple came down a lot. Those bastards are trying to keep 3rd party (read open source) softwares at bay to download music in the iPod by writing proprietary cryptographic hashes in the DB; thus making it unusable on platforms in which they don't offer iTunes. And as with any poorly designed secure system, it has already been &lt;a href="http://www.news.com/8301-13580_3-9779776-39.html"&gt;reverse engineered&lt;/a&gt;. Though it didn't work for me yet. &lt;br /&gt;&lt;br /&gt;Such things doesn't prevent piracy. They just pisses hackers off. And I am not drooling for an iPhone anymore.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-2264405285931946206?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/2264405285931946206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/10/lock-me-outta-my-ipod.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2264405285931946206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2264405285931946206'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/10/lock-me-outta-my-ipod.html' title='Lock me outta my iPod'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_q8IyBrue8D8/RxspUImHZWI/AAAAAAAAAIY/XRfK5kMvupE/s72-c/ipod1.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1762764313923947438</id><published>2007-09-30T02:01:00.001+05:30</published><updated>2007-09-30T02:03:11.798+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Small Green Bea Eater</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_q8IyBrue8D8/Rv62SomHZVI/AAAAAAAAAHw/-R9QeWrWP2E/s1600-h/sgbeeeater8.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_q8IyBrue8D8/Rv62SomHZVI/AAAAAAAAAHw/-R9QeWrWP2E/s1600/sgbeeeater8.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5115726657990649170" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1762764313923947438?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1762764313923947438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/09/small-green-bea-eater.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1762764313923947438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1762764313923947438'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/09/small-green-bea-eater.html' title='Small Green Bea Eater'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_q8IyBrue8D8/Rv62SomHZVI/AAAAAAAAAHw/-R9QeWrWP2E/s72-c/sgbeeeater8.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-581539062369917348</id><published>2007-08-23T19:00:00.000+05:30</published><updated>2007-08-23T18:58:52.376+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>Walking together</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_q8IyBrue8D8/Rs11RYxD3xI/AAAAAAAAAHE/VmiFpcdCTwo/s1600-h/baby_mom_elephant.jpg"&gt;&lt;img style="margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_q8IyBrue8D8/Rs11RYxD3xI/AAAAAAAAAHE/VmiFpcdCTwo/s1600/baby_mom_elephant.jpg" border="0" alt="Elephants" id="BLOGGER_PHOTO_ID_5101862894447091474" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="columns"&gt; A scene that makes me relaxed. Momma and kiddo are walking. Oblivious of us. Actually oblivious of everything else. The kid is in playful mood, sometimes he'd walk in front, then follow and sometimes he would go under mom's belly. Two beautiful creatures, in complete comfort of nature. Makes you forget that there is no God.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-581539062369917348?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/581539062369917348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/08/walking-together.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/581539062369917348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/581539062369917348'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/08/walking-together.html' title='Walking together'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_q8IyBrue8D8/Rs11RYxD3xI/AAAAAAAAAHE/VmiFpcdCTwo/s72-c/baby_mom_elephant.jpg' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-4515119803982873418</id><published>2007-08-21T19:00:00.000+05:30</published><updated>2007-08-21T19:02:39.188+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Painted Stork Potrait</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_q8IyBrue8D8/RsrpT4xD3wI/AAAAAAAAAG8/SNY4VnfRNhQ/s1600-h/paintedstorkpotrait.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_q8IyBrue8D8/RsrpT4xD3wI/AAAAAAAAAG8/SNY4VnfRNhQ/s1600/paintedstorkpotrait.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5101146055815454466" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-4515119803982873418?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/4515119803982873418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/08/painted-stork-potrait.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4515119803982873418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4515119803982873418'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/08/painted-stork-potrait.html' title='Painted Stork Potrait'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_q8IyBrue8D8/RsrpT4xD3wI/AAAAAAAAAG8/SNY4VnfRNhQ/s72-c/paintedstorkpotrait.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-9147589074606476910</id><published>2007-08-20T20:25:00.000+05:30</published><updated>2007-08-20T20:24:45.299+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='trip'/><category scheme='http://www.blogger.com/atom/ns#' term='Iravan'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>The guy arrived with a lot of luck</title><content type='html'>&lt;div class="columns"&gt;After 8 years of visiting forests, finally cat luck shined on us. And on Iravan's first trip! We're not going to leave him back home wherever we go. It is clear that it is his luck we have to ride on!&lt;br /&gt;&lt;br /&gt;We are back from Bandipur, took a few days off combined with the Independence day holiday. &lt;a href="http://www.employees.org/~kousik/logs/?p=16"&gt;And a pair of leopards crossed our way&lt;/a&gt;: we were too dumbstruck and excited to shoot. So this little kid, on his first trip sees Leopards, Wild Dogs, Elephants, Deers, Sambars, Gaurs ... including Brown Fish Owl. His expectation will be sky high I guess in subsequent trips! With Tigers (and other cats) are fast vanishing from India, we need to get off our ass more frequently, to see them as long as Iravan feels lucky.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-9147589074606476910?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/9147589074606476910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/08/guy-arrived-with-lot-of-luck.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/9147589074606476910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/9147589074606476910'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/08/guy-arrived-with-lot-of-luck.html' title='The guy arrived with a lot of luck'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-6798409694911510296</id><published>2007-07-25T19:00:00.000+05:30</published><updated>2007-07-25T19:00:10.075+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Custom Ringtone for Cisco IP phones</title><content type='html'>&lt;div class="columns"&gt; A boring day, so time for some hacks. These Cisco 7960 phones are hanging around me and no one touched them since they got installed and I don't like to leave things at default settings and I really hate when it rings and I am determined to change the situation. In this era of iPhone hype, I want my desk phone to ring like an iPhone. Getting the default ringtone of iPhone was easy, it was already in my &lt;a href="http://kousik.blogspot.com/search/label/RIZR"&gt;RIZR&lt;/a&gt;, I just bluetoothed it to my laptop. mpg321 converted the mp3 into a .wav, but Cisco has &lt;a href="http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_administration_guide_chapter09186a00800c2fa1.html"&gt;pretty strict requirements&lt;/a&gt; about the format of the ring tone. Raw PCM, 8000 samples/sec, no more than 16080 samples etc etc, and last but not the least, number of samples should be &lt;i&gt;evenly&lt;/i&gt; divisible by 240. Anyway, sox came to rescue and finally this produced the exact file they want: &lt;i&gt;&lt;tt&gt;sox iphone_tone.wav -r 8000 -b -U iphone_tone.raw trim 0 16080s speed 2&lt;/tt&gt;&lt;/i&gt; The last piece remained was to edit RINGLIST.DAT to include the entry, and once the phone is rebooted, voila! I could choose 'iPhone' as ring tone, and it sounds good!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-6798409694911510296?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/6798409694911510296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/07/custom-ringtone-for-cisco-ip-phones.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6798409694911510296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6798409694911510296'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/07/custom-ringtone-for-cisco-ip-phones.html' title='Custom Ringtone for Cisco IP phones'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-6635893013687972001</id><published>2007-07-18T01:00:00.000+05:30</published><updated>2007-07-18T01:05:27.795+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Your Secret is not Safe in My Hands</title><content type='html'>&lt;div class="columns"&gt;I was trying to analyze situations when you'll send your user a puzzle, and when he sends the answer, you verify them. The catch is, you can't store what you sent. Because an obvious DoS attack will be clients ask a lot of puzzles from you, (and you have to store what you sent for a reasonable amount of time) and your states fill up. Just like a TCP synflood attack does. From an IP (same or different, doesn't matter to TCP attack) and different ports, flood the victim with TCP SYNs. If the victim keeps state when responding with her own SYN and an ACK, the TCP sessions entries will fill up soon. So when they ask you for a puzzle, you send it, along with information what you sent (which is opaque to the user), and ask the user to send both the solution and the opaque data. You should be able to verify the correctness of the solution using the data returned to you.&lt;br /&gt;&lt;br /&gt;This has practical usage; for example, a &lt;a href="http://en.wikipedia.org/wiki/Captcha"&gt;captcha&lt;/a&gt;. You send an image of a string, perhaps a little bit distorted so that simple &lt;a href="http://en.wikipedia.org/wiki/Optical_character_recognition"&gt;OCR&lt;/a&gt; can't solve it, and expect only a human to figure out the string in the image. So I started exploring some random capchas available in the market, and &lt;i&gt;unfortunately&lt;/i&gt; the first one I picked up, I broke it in a few minutes. The case in point here is, there is nothing wrong with the captcha, it is an insecure implementation, proving that even if an idea / solution got the cryptographic theories right, there is a lot to be taken care of during implementation.&lt;br /&gt;&lt;br /&gt;I bumped into &lt;a href="http://www.dagondesign.com/articles/secure-form-mailer-plugin-for-wordpress/"&gt;ddformmailer&lt;/a&gt; via desipundit's tip submission page, and noticed the captcha. So I decided to hack into it. It gets the basic right, it doesn't &lt;i&gt;store&lt;/i&gt; any state when sending you a captcha. Instead, it sends a verifiable solution with the captcha in case you can solve it. The transport of the solution is a cookie; though it could  have been a hidden form element too. The cookie (let's call it an opaque solution of the problem) and the string in the image are related by a one way function. So that from the problem (the string) it is very easy to compute the function and arrive at the opaque solution; but from the opaque solution (cookie) it isn't easy to guess what the string should be. If you are still with me, here is last piece of the details: the challenger chooses a random string, imagifies it, and sends you the image and MD5 hash of the string. You can't reverse the MD5 so you can't guess what the original string should be. But once you submit the string, the verification is easy, just MD5 the received solution and equate with the opaque one.&lt;br /&gt;&lt;br /&gt;Sounds good? Congratulate yourself if you found the flaw already. Just send him a random string as solution &lt;b&gt;and&lt;/b&gt; the MD5 hash of it as the opaque solution. He doesn't keep anything as state information; so his validation is whether MD5(string) == cookie. We don't even have to do any hard work, just any known string with its MD5 sum will solve the purpose. &lt;br /&gt;&lt;br /&gt;Though I am not going to publish the exploit, there are other flaws in the implementation I explored (reported to the authors already). I saw the search space of the string is very less. It is a string of 5 hex characters. And it avoids 0s. So the exhaustive search space is from 0x11111 to 0xFFFFF. It is a usability problem because your real users will get very annoyed if they have to type more than 5 characters for a captcha. This search space being very limited, it is possible to brute force the solution. If you know the cookie, the MD5 hash of the expected string, the following python script can solve it under 2 seconds:&lt;br /&gt;&lt;pre&gt;import sys&lt;br /&gt;import md5&lt;br /&gt;for i in range (0x11111, 0xfffff):&lt;br /&gt;    if sys.argv[1] == md5.new("%X" % i).hexdigest():&lt;br /&gt;        print "%X" % i&lt;br /&gt;        exit&lt;/pre&gt;&lt;br /&gt;If you're a serious spammer you may write in C and your solution may come out faster by another order of magnitude. Even a cooler solution would be to have a greasemonkey script, which just brute forces the solution and pre-populates the captcha with the solution as the page loads:&lt;br /&gt;&lt;pre&gt;var cookme = ReadCookie("ddfmcode");&lt;br /&gt;if (cookme != '') {&lt;br /&gt;    startrange = 0x11111;&lt;br /&gt;    for (var tryme = startrange; tryme &lt; 0xfffff; tryme++) {&lt;br /&gt;        var hashvalue = hex_md5(tryme+'');&lt;br /&gt;        if (hashvalue == cookme) {&lt;br /&gt;            document.getElementById('verify_string').value = tryme;&lt;br /&gt;            break;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Ok this has obvious bugs and hence you can't use it directly. There is also missing pieces, but you get the idea. The only problem is, I was doing complete MD5 on javascript and hence the greasemonkey script is very slow, and you'll run out of patience before it can solve the captcha. But hell, that'd have been damn cool.&lt;br /&gt;&lt;br /&gt;Solution? Keep &lt;i&gt;something&lt;/i&gt; with you. It need not be per request, but a secret that can be used for several ones.  This can slowly change over time (but that's another security measure). Use this secret key as an input to generate the opaque solution. Once the response comes back, again use the proposed solution and the secret key to verify against the opaque solution. Say you choose a string long enough. Prepend it to the generated random 5 character string, and send the MD5 hash. Now the attacker can't send you an arbitrary pair of solution and opaque solution. Neither he can brute force, because he has to brute force a string much longer.&lt;br /&gt;&lt;br /&gt;Crypto is a thoughtful business. Getting theories correct is just a start. Implementing a secure solution is a different game.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-6635893013687972001?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/6635893013687972001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/07/your-secret-is-not-safe-in-my-hands.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6635893013687972001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6635893013687972001'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/07/your-secret-is-not-safe-in-my-hands.html' title='Your Secret is not Safe in My Hands'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-5601244900506173932</id><published>2007-07-17T08:00:00.000+05:30</published><updated>2007-07-20T17:03:12.230+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='Iravan'/><title type='text'>Birthday time, Sonny</title><content type='html'>&lt;div class="columns"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_q8IyBrue8D8/Rp3jXuDoHKI/AAAAAAAAAFo/Zgthc5kX8Hs/s1600-h/iravan33.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_q8IyBrue8D8/Rp3jXuDoHKI/AAAAAAAAAFo/Zgthc5kX8Hs/s1600/iravan33.jpg" alt="Iravan" id="BLOGGER_PHOTO_ID_5088473150638267554" /&gt;&lt;/a&gt;&lt;br /&gt;The journey of Iravan in the spaceship called Earth completes two years today. Time just flies. It looks like he was &lt;a href="http://kousik.blogspot.com/2005/07/junior-arrives.html"&gt;born&lt;/a&gt; just a few days ago, and I don't even know when he completed &lt;a href="http://kousik.blogspot.com/2006/06/year-or-so-later.html"&gt;one year&lt;/a&gt;. Kids just grow up. And we just grow old. &lt;br /&gt;&lt;br /&gt;Earlier parents used to keep a diary about their kids' development. These web 2.0 generation kids have an &lt;a href="http://www.employees.org/~kousik/family/"&gt;wiki&lt;/a&gt; listing.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/RqCdQuDoHLI/AAAAAAAAAFw/twEMsjHwVQU/s1600-h/birthdaycake.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/RqCdQuDoHLI/AAAAAAAAAFw/twEMsjHwVQU/s1600/birthdaycake.jpg" border="0" alt="Birthday cake" id="BLOGGER_PHOTO_ID_5089240489495370930" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-5601244900506173932?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/5601244900506173932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/07/birthday-time-sonny.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5601244900506173932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5601244900506173932'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/07/birthday-time-sonny.html' title='Birthday time, Sonny'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_q8IyBrue8D8/Rp3jXuDoHKI/AAAAAAAAAFo/Zgthc5kX8Hs/s72-c/iravan33.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1238238663355486675</id><published>2007-07-06T03:00:00.000+05:30</published><updated>2007-07-06T03:00:25.598+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>The space age lottery</title><content type='html'>&lt;div class="columns"&gt; Though we see a lot of ban on conventional lottery systems (both paper ticketed and online) by the government here in Bangalore, I wonder if they could stop the so called sophisticated lottery run by the TV channels or newspapers. The scheme is very simple, they ask a stupid question and provide 3 options of which 2 are impossible. And they ask you to send the response via an SMS. The question is so trivial, and the options are so obvious, it can't prevent anyone for participating. And that's the whole point of the lottery. Answering the question requires lesser effort for &lt;i&gt;anyone&lt;/i&gt; who wants to go out and buy a lottery ticket. All you do is to spend three bucks (for the SMS) and 10 seconds to reply. &lt;br /&gt;&lt;br /&gt;And the winner will get an iPod, they said (the news channel Headlines Today). Everyone is happy in the scheme, right? You don't spend time, it is just 3 bucks, and chance to win a iPod worth 5000/- ... And there are thousands of people like you, who all spends 3 bucks each, and after revenue sharing with the carriers, the sponsors have enough money left to send the winner an iPod. Government doesn't have a concern, because the people they were trying to protect from the ill effect of lottery do not probably have a mobile phone. So far, so good?&lt;br /&gt;&lt;br /&gt;Well, the minor concern is, the sponsors can be cheating easily by not publishing the winner. They may claim only the winner will be informed, and finally keep silent. You don't get a communication back, so you think you're not the chosen one, and so does everyone. And you want the system to behave this way, because if you were the winner you don't want your name/phone number show up on TV. And of course, publishing last 4 digits leaves ample room for the sponsors to cheat too. &lt;br /&gt;&lt;br /&gt;The biggest problem of responding to these lotteries is exposing your phone number to marketing companies. Obviously, your number *and* name is sold to them. Who now knows you're probably familiar with an iPod, was watching NDTV profit at 8:00am, have some spare time/money and have lack of awareness ;-) to participate in such scheme. These are extremely valuable information to tele-marketers along with your name/number.&lt;br /&gt;&lt;br /&gt;At least, if they disburse the prize (I may win a bet here they don't), it is better than SMS polls or campaigns where both your money and opinion goes down the drain, and your number goes to spammers.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1238238663355486675?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1238238663355486675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/07/space-age-lottery.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1238238663355486675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1238238663355486675'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/07/space-age-lottery.html' title='The space age lottery'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1102546900536818985</id><published>2007-07-04T14:55:00.000+05:30</published><updated>2007-07-04T14:55:08.252+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='trip'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>500 kilometers a day keeps blues away</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/RospFDibsKI/AAAAAAAAAFc/aLEVKEmAgGY/s1600-h/croc2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/RospFDibsKI/AAAAAAAAAFc/aLEVKEmAgGY/s1600/croc2.jpg"  alt="crocodile" id="BLOGGER_PHOTO_ID_5083201771243548834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="columns"&gt; Half-asleep, I was reading a bed-side story to Iravan: &lt;i&gt;Once upon a time, in deep woods, there was a little house where 3 bears used to live. Papa bear, momma bear, and chilled beer ...&lt;/i&gt;. Sumana woke me up, and she assured me it is time we get away from everything for a day. I desperately need it. Though I had a plan of starting on Friday afternoon, it was not before Saturday morning we could. We had no destination in mind. After long time. Considering the driving comfort, I chose the Mysore road, and after a pit stop in Coffee Day, our first stop was at Ranganthittu bird sanctuary. The idea was to introduce Iravan to some birds at close range, and also get him ride the first row boat ever. And I knew a nature watcher is in the making when suddenly he stopped walking in the garden and pointed us to a Palm Dart we have missed. Being as short as 2.5 feet have an advantage, a lot of things happen at your eye level. We hired a boat by buying all the 10 tickets, so that we don't have to allow average non-birder tourists with us, and we can stay at one place, waiting for something to happen, as long as we wish. Iravan seemed to be pretty comfortable with the boat ride, except a few times he demanded we should allow him to wet his feet in the river, and presence of crocodiles didn't seem to deter him at all.&lt;br /&gt;&lt;br /&gt;Where next? Very recently we took the Ooty road, so it's time we choose a different one. So we took the road towards Madikeri instead. Though there are a few bad patches, the road is good otherwise, with a new divider. After Hunsur, again it was time to decide whether to Nagarhole or to Coorg. We chose the road to Nisargadama, but was warned of flooded road ahead (indeed, next day newspaper said the same). We didn't want to get stuck in waterlogged road, and driven a lot since morning -- so turned back to Mysore. As the buffet in Royal Orchid Metropolis was folding up, we grubbed whatever we could, and when we got out, we could see cloud formation on top of Chamundi hills. Both of us knew where to go next. It was cold, windy, moist at the top. I decided to keep Iravan out of all these temple/religion business so we just enjoyed the weather when our umbrella was dragged by strong wind.&lt;br /&gt;&lt;br /&gt;And then we were home for dinner.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1102546900536818985?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1102546900536818985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/07/500-kilometers-day-keeps-blues-away.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1102546900536818985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1102546900536818985'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/07/500-kilometers-day-keeps-blues-away.html' title='500 kilometers a day keeps blues away'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_q8IyBrue8D8/RospFDibsKI/AAAAAAAAAFc/aLEVKEmAgGY/s72-c/croc2.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1995952343681453843</id><published>2007-06-23T03:30:00.000+05:30</published><updated>2007-06-23T03:32:39.668+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>Bookmarks</title><content type='html'>&lt;div class="columns"&gt;When we used to get &lt;i&gt;Sharadiya&lt;/i&gt; (yearly celebration issues of magazines usually published on Durgapuja)  copies I remember they used to come with a few &lt;i&gt;bookmark strips&lt;/i&gt; (with strings attached, so we do not drop them). So me, my sis, mom would each choose one of them, to mark our reading offsets (and be careful mom doesn't find when I am going through the soft erotica novels). And we were very excited about them: at last some really useful devices invented by the publishing industry.&lt;br /&gt;&lt;br /&gt;Until I discovered we don't need them at all. Well only if you're choosy about what you read. If the book is good, you won't need it at all, you can simply snap to the location where you left off in no time. And if you need a bookmark strip to do that, you would probably need a brush-up what happened in the book before you can resume reading. Well in that case the book may not be worth continuing anyway.&lt;br /&gt;&lt;br /&gt;Oh and now you'll appreciate why do they provide so many bookmark strips with those &lt;i&gt;Sharadiyas&lt;/i&gt;. They can carry extra advertisements.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1995952343681453843?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1995952343681453843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/06/bookmarks.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1995952343681453843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1995952343681453843'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/06/bookmarks.html' title='Bookmarks'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-7662234960522987243</id><published>2007-06-16T01:45:00.000+05:30</published><updated>2007-06-16T01:44:40.627+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Ashy Prinia</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/RnLxuISgbqI/AAAAAAAAAFI/7PsZPbSYeVo/s1600-h/ashy_prinia_7.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/RnLxuISgbqI/AAAAAAAAAFI/7PsZPbSYeVo/s1600/ashy_prinia_7.jpg" border="0" alt="ashy prinia" Title="Ashy Prinia at Hebbal Lake" id="BLOGGER_PHOTO_ID_5076385504801353378" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-7662234960522987243?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/7662234960522987243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/06/ashy-prinia.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7662234960522987243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7662234960522987243'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/06/ashy-prinia.html' title='Ashy Prinia'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_q8IyBrue8D8/RnLxuISgbqI/AAAAAAAAAFI/7PsZPbSYeVo/s72-c/ashy_prinia_7.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-4802321657502558697</id><published>2007-06-07T17:42:00.000+05:30</published><updated>2007-06-07T17:41:42.711+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>Common Picturewing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_q8IyBrue8D8/Rmf1pISgbpI/AAAAAAAAAE4/kairwn4tvW8/s1600-h/206031224_24d7e15b85_o.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_q8IyBrue8D8/Rmf1pISgbpI/AAAAAAAAAE4/kairwn4tvW8/s1600/206031224_24d7e15b85_o.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5073293592204701330" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-4802321657502558697?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/4802321657502558697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/06/common-picturewing.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4802321657502558697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4802321657502558697'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/06/common-picturewing.html' title='Common Picturewing'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_q8IyBrue8D8/Rmf1pISgbpI/AAAAAAAAAE4/kairwn4tvW8/s72-c/206031224_24d7e15b85_o.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-4023172048978855999</id><published>2007-05-29T20:20:00.000+05:30</published><updated>2007-05-29T20:19:52.136+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>most portable file format and file system</title><content type='html'>&lt;div class="columns"&gt; ... or, the irony of it. One of my colleague had sent a document in openoffice's .ods format (because we are all on Linux and hence thought that will be easiest to exchange information). Heh, one of us was telecommuting, and all he had a windows laptop (and obviously without openoffice for windows installed). He commented, if you sent in excel sheet format, it would have been &lt;i&gt;most portable&lt;/i&gt;, because anyways openoffice would open it, and people like me stuck with a windows laptop could see that too! (And given the state of openoffice compared to MS's, I understand why you won't install openoffice if you already have MS office, so can't blame him that much).&lt;br /&gt;&lt;br /&gt;Came home to see my external HDD is delivered, and was thinking which filesystem would be most suitable. Since this needs external power source, and I don't have an UPS at home, FAT32 is ruled out (and so is ext2). Now I could install ext3 (or reiserfs), but I need to write to the disk from Windows (from Sumana's laptop, for example). And after some thought, guess what? I decided to format the partitions using NTFS. Windows: read/write, &lt;i&gt;Linux: read/write&lt;/i&gt; and will recover fairly in case of power outage.&lt;br /&gt;&lt;br /&gt;Ahhhh ... can't digest two big ironies on the same day.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-4023172048978855999?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/4023172048978855999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/05/most-portable-file-format-and-file.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4023172048978855999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/4023172048978855999'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/05/most-portable-file-format-and-file.html' title='most portable file format and file system'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1304288403236352508</id><published>2007-05-25T10:57:00.000+05:30</published><updated>2007-05-25T10:57:32.320+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'></title><content type='html'>&lt;div class="columns"&gt;What about telling his politician colleagues and bureaucrats to trim creation of their unaccounted wealth &lt;a href="http://timesofindia.indiatimes.com/Trim_fat_salaries_of_CEOs_PM/articleshow/2072751.cms"&gt;instead&lt;/a&gt; of the people who actually work hard to earn? &lt;i&gt;Singh said that electronic media beams rich lifestyles into villages and slums and highlights vulgar display of wealth.&lt;/i&gt; Heh, I am sure if TV camera was allowed inside a politician's palace it can put all these CEOs to shame.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1304288403236352508?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1304288403236352508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/05/what-about-telling-his-politician.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1304288403236352508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1304288403236352508'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/05/what-about-telling-his-politician.html' title=''/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-8342219249931559127</id><published>2007-05-24T10:45:00.001+05:30</published><updated>2007-05-24T10:47:48.853+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Gadwall, Anas strepera</title><content type='html'>&lt;style type="text/css"&gt;.flickr-photo { border: inset 2px #000000; margin: 2px; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }&lt;/style&gt;&lt;div class="flickr-frame"&gt; &lt;a href="http://www.flickr.com/photos/kousik/370200137/" title="photo sharing"&gt;&lt;img src="http://farm1.static.flickr.com/141/370200137_7a4b251277_o.jpg" class="flickr-photo" alt="" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/kousik/370200137/"&gt;relaxing gadwall&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/kousik/"&gt;kousik&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;    &lt;p class="flickr-yourcomment"&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-8342219249931559127?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/8342219249931559127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/05/gadwall-anas-strepera.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8342219249931559127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8342219249931559127'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/05/gadwall-anas-strepera.html' title='Gadwall, Anas strepera'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-8156152161691697785</id><published>2007-05-14T20:15:00.000+05:30</published><updated>2007-05-14T20:15:12.368+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>last uploaded image, fullsize, in main page of coppermine</title><content type='html'>&lt;div class="columns"&gt; &lt;img  alt="" title="Last uploaded photo" border="1" src="http://www.employees.org/~kousik/photography/lastphoto.php" align="right" /&gt; &lt;i&gt;Blind Hacking&lt;/i&gt;: You don't know anything about the language (e.g. PHP), the technology (e.g. MySQL databases), very little of the expected output (e.g. HTML/Javascript, CSS) and nothing about the program you want to change (e.g. Coppermine). But you want to change something, and find by googling that no one did that before. So you take the plunge anyway, cut-paste allows you to continue hacking till you get what you want.&lt;br /&gt;&lt;br /&gt;I mean, &lt;i&gt;blind hacking a open source software&lt;/i&gt;. The code is open, and &lt;i&gt;theoretically&lt;/i&gt; you can change it the way to your liking. But when you get down to the task, clueless, you'll find it is not &lt;i&gt;that&lt;/i&gt; easy.&lt;br /&gt;&lt;br /&gt;I wanted to make the last image uploaded &lt;a href="http://www.employees.org/~kousik/photography/"&gt;my photo gallery&lt;/a&gt; to appear in full size; and searching coppermine forums didn't give much clue how to do it. So I spent an hour finding that out, how to extract the last uploaded image URL, and then spent some more time to display it using a table. Most of the time was spent trying to reuse code, and then throw away everything to &lt;a href="http://coppermine-gallery.net/forum/index.php?topic=43612.0"&gt;write my own version&lt;/a&gt;. This is complete with a configuration option too! &lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.employees.org/~kousik/photography/"&gt;output may look ugly&lt;/a&gt;, but maybe on someone's gallery with good combination of theme and page elements (and nicer photos) it'll look good.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-8156152161691697785?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/8156152161691697785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/05/last-uploaded-image-fullsize-in-main.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8156152161691697785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8156152161691697785'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/05/last-uploaded-image-fullsize-in-main.html' title='last uploaded image, fullsize, in main page of coppermine'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-6169265569210392258</id><published>2007-05-08T19:40:00.000+05:30</published><updated>2007-05-08T19:38:59.870+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='RIZR'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Hacks &amp; Mods on my RIZR Z3</title><content type='html'>&lt;div class="columns"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/Rjv2UwN07zI/AAAAAAAAAEE/BIrA6YF4b0c/s1600-h/screen8.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/Rjv2UwN07zI/AAAAAAAAAEE/BIrA6YF4b0c/s400/screen8.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5060909442681597746" /&gt;&lt;/a&gt; There are quite a few mods and hacks available for Motorola RIZR I have tried. There are safe and unsafe versions of them. The safe (not really) version would be to change a bit in the SEEM, which is like changing some settings in /etc (or registries in windows). The "unsafe" version would be download a full image and flash it (this is upgrading the software itself). &lt;a href="http://www.themotoguide.com/seemediting.php"&gt;Editing SEEM&lt;/a&gt; was something I tried, because I wanted to see how far a stock RIZR could go, just by editing the settings. The mods I describe below has been tested on my phone, they seem to be pretty safe; and shouldn't take more than a few minutes to make work. &lt;br /&gt;&lt;br /&gt;The first mod, and most safest (which doesn't fetch you much anyways) is to change the skin. You download a compatible skin, upload the files to /a/mobile/skins and voila. Suddenly your phone changes the look and feel. This can even be made easy by programs like skinman.&lt;br /&gt;&lt;br /&gt;SEEM is  Serially Electrically Erasable Memory. It comes as a chunk of 1KB; each chunk is noted by a pair of numbers like 0050_0001. Then in the 8192 bits available in that SEEM, we refer to one bit of them by offset (generally again denoted by offset of the octet and bit number, like offset 0x35 bit 0). Just toggling a bit can change the behaviour of a feature. For example, the bit 0 at offset 0x77 of seem 0032_0001 will control if the URL is used as the title of your browser window. People have made a &lt;a href="http://xlr8.us/hofo/map.txt"&gt;map&lt;/a&gt; that'll work on most motorola phones.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/Rjv2UwN070I/AAAAAAAAAEM/9gn-nbq23nk/s1600-h/screen9.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/Rjv2UwN070I/AAAAAAAAAEM/9gn-nbq23nk/s400/screen9.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5060909442681597762" /&gt;&lt;/a&gt;  Among other things, that you can do by SEEM editing easily, is to increase the number of dialled and received calls. I have increased them from stock values of 20 to 60 (max available) (read the map linked above to see which bits to change). &lt;br /&gt;&lt;br /&gt;Then come more exciting parts of the game! The firmware supplied with motorola RIZR are capable of doing more things than are advertised, only problem is they are `locked down' by the settings. Perhaps Motorola is waiting to release them in future versions of the phone; or in an enhanced model. It is fun to unlock/enable these beta features and use them! &lt;br /&gt;&lt;br /&gt;Worldclock would be one of them. This needs most work to unlock. First, you need to edit and set seem 0032_0001 offset 0xAB bit 0. This will enable the functionality. But there is no way to access this function; so what we need to do is to download the menu file (also known as mma_ucp file) from /a/mobile and then edit it in a hex editor to change one of the menu item to &lt;i&gt;WorldClock&lt;/i&gt;. There are menu editors available (look &lt;a href="http://www.motox.info/showthread.php?t=1297"&gt;around&lt;/a&gt; for them). So I downloaded the mma_ucp file, added one random menu item which I'll never use, and then opened the file in a binary editor (emacs), and changed the menu to read `WorldClock'. If you don't want a menu editor, you can always replace an existing item (like `Browser' appears in main menu as well in 'Tools &amp;gt; Browser' so just replace one of them). This'll give you access to the feature. But only text mode. If you want world maps to show with timezones (like the screenshot); &lt;a href="http://www.motox.info/showthread.php?t=39648"&gt;you need to upload&lt;/a&gt; the image files to /a/mobile/worldclock  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_q8IyBrue8D8/Rjv2VAN071I/AAAAAAAAAEU/_7vk8iygPdc/s1600-h/screen10.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_q8IyBrue8D8/Rjv2VAN071I/AAAAAAAAAEU/_7vk8iygPdc/s400/screen10.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5060909446976565074" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;The next coolest feature is probably talking phone. It reads the digits as you type, it reads all the names as you scroll through your address book, and when a call arrives, instead of the ring tone, it announces "&lt;i&gt;Incoming call from &lt;u&gt;Bill Gates&lt;/u&gt;&lt;/i&gt;" (or whosoever). Turn on seem 0032_0001, offset 0xBD bit 3. It is a female synthesized voice, and the way it reads the Indian names is a bit funny, but in most cases the pronunciations are very clear and legible. Especially in a quiet environment, it is very clear. An incoming call makes me jump out of my skin when I am working in my office, and the phone is in my shirt pocket. There are two disadvantage though. First, if someone is closeby, they can also know who is calling you -- &lt;i&gt;"incoming call from Mallika Sherawat"&lt;/i&gt; may not amuse your fiancee; and if you tend to store numbers with funny/pet names, a public announcement may do some harm. Use with caution.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_q8IyBrue8D8/Rjv2VAN072I/AAAAAAAAAEc/NgptXmDgr6Y/s1600-h/screen11.png"&gt;&lt;img style="float:right; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_q8IyBrue8D8/Rjv2VAN072I/AAAAAAAAAEc/NgptXmDgr6Y/s400/screen11.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5060909446976565090" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Another setting to alter was picture preview (seem 0032_0001 offset 0xA2 bit 5); I wanted a 2x2 grid display because the stock settings of picture preview neither show the picture properly nor provide useful information. This shows the pics better.&lt;br /&gt;&lt;br /&gt;This is all done on stock RIZR, without any software update. The next is to find a good firmware; but that requires an extensive review (like what all I can expect from a flex upgrade). Will get to that in a month or so when I have some free time.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-6169265569210392258?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/6169265569210392258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/05/hacks-mods-on-my-rizr-z3.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6169265569210392258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6169265569210392258'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/05/hacks-mods-on-my-rizr-z3.html' title='Hacks &amp; Mods on my RIZR Z3'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_q8IyBrue8D8/Rjv2UwN07zI/AAAAAAAAAEE/BIrA6YF4b0c/s72-c/screen8.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-3553891394473487563</id><published>2007-05-06T09:15:00.001+05:30</published><updated>2007-05-06T09:15:14.008+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Asian Brown Flycatcher</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/Rj1OSQN073I/AAAAAAAAAEk/WvB_DS6tW8I/s1600-h/asianbrownflycatcher2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/Rj1OSQN073I/AAAAAAAAAEk/WvB_DS6tW8I/s1600/asianbrownflycatcher2.jpg" border="1" alt="Asian Brown Flycatcher"  title="Asian Brown Flycatcher" id="BLOGGER_PHOTO_ID_5061287631731879794" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-3553891394473487563?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/3553891394473487563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/05/asian-brown-flycatcher.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3553891394473487563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3553891394473487563'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/05/asian-brown-flycatcher.html' title='Asian Brown Flycatcher'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_q8IyBrue8D8/Rj1OSQN073I/AAAAAAAAAEk/WvB_DS6tW8I/s72-c/asianbrownflycatcher2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1588638913277674949</id><published>2007-05-04T20:00:00.000+05:30</published><updated>2007-05-05T08:40:43.698+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='kitchen'/><title type='text'>Kitchen as Laboratory</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_q8IyBrue8D8/RjLUKwN07yI/AAAAAAAAAD8/kpOyCBRHd5Q/s1600-h/IMG_5744_filtered.jpg"&gt;&lt;img style=" margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_q8IyBrue8D8/RjLUKwN07yI/AAAAAAAAAD8/kpOyCBRHd5Q/s1600/IMG_5744_filtered.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5058338612697165602" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;div class="columns"&gt;Kitchen gives some neat opportunities to hack; and if you learn the cooking basics well, then there is no limit of experimentation you can do with. Just keep the basics right (yes, a classical example of &lt;i&gt;Learn the rules to break them&lt;/i&gt;). A whole fish is one of my favourite fetish, and I do order them where they make it good (for example &lt;a href="http://www.mainlandchinaindia.com/contact_bangalore.html"&gt;Mainland China&lt;/a&gt;, or &lt;a href="http://shiokfood.com/"&gt;Shiok&lt;/a&gt;). Though I do not have any formal training in kitchen except helping my mom when I was a kiddo, I thought I'll take up the challenge and I'll prepare the `similar' dish at 1/4th of the cost at home. What happened finally is, only a fish was common between theirs and mine. Since it was an impulsive decision, I was constrained by whatever was &lt;i&gt;available&lt;/i&gt; in the kitchen/fridge and abandoned the plan of making it Chinese style. So the first thing I could find is half bottle wine; and left the fish soaking in it for an hour. Then came some Worcestershire sauce followed by some pungent sauces, and little bit fresh cream. &lt;br /&gt;&lt;br /&gt;Grilled it. Thankfully, the damn thing didn't blow up, and we had a unique dinner. Now I need to name the dish ...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1588638913277674949?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1588638913277674949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/05/kitchen-as-laboratory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1588638913277674949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1588638913277674949'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/05/kitchen-as-laboratory.html' title='Kitchen as Laboratory'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_q8IyBrue8D8/RjLUKwN07yI/AAAAAAAAAD8/kpOyCBRHd5Q/s72-c/IMG_5744_filtered.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-9047368417825028863</id><published>2007-04-27T01:00:00.000+05:30</published><updated>2007-05-08T12:54:54.340+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='RIZR'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>RIZR Z3</title><content type='html'>&lt;div class="columns"&gt; Finally I chose a phone. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_q8IyBrue8D8/RjA3vAN07uI/AAAAAAAAADQ/DP0mQbf708s/s1600-h/scr321.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_q8IyBrue8D8/RjA3uwN07tI/AAAAAAAAADI/WXFoSDlDTaw/s1600/scr3231.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5057603662188441314" /&gt;&lt;/a&gt; Of course, the budget became the biggest driving factor. I wanted a geeky phone to start with, which allows a lot of opportunities to play with it; but after the sad discovery that all of them are out of my modest budget I just picked up one which fits my bill (of 10K). "I don't need a camera", I begged to the stores, "I need a phone which just supports GPRS (or EDGE) and Wi-Fi; and costs less than ten grand". "All phones come with a camera these days", the sales guy was irritated, "but you won't get Wi-fi feature at that price". &lt;i&gt;Forget Wi-fi then,&lt;/i&gt; I told myself, I'll just pickup a ROKR. It runs &lt;i&gt;Linux&lt;/i&gt;. "Eighteen thousand?", my all hope sank. I was mentally prepared to settle for a RAZR. Then it hit me, RAZR is sold over 60 million pieces. Share my fate with 6 crore ordinary men/women? &lt;i&gt;No way&lt;/i&gt;. I'd rather choose a different one. Which may not be so good, but &lt;i&gt;different&lt;/i&gt;. So, finally a &lt;A href="http://en.wikipedia.org/wiki/Motorola_RIZR_Z3"&gt;MOTORIZR Z3&lt;/a&gt; came home.  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_q8IyBrue8D8/RjA3uwN07tI/AAAAAAAAADI/WXFoSDlDTaw/s1600-h/scr3231.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_q8IyBrue8D8/RjA3vAN07uI/AAAAAAAAADQ/DP0mQbf708s/s1600/scr321.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5057603657893474002" /&gt;&lt;/a&gt;  Of course, there are other reasons to buy a motorola. Sumana is using a &lt;a href="http://en.wikipedia.org/wiki/Motorola_SLVR_L7"&gt;L7&lt;/a&gt; since long, now it means we can share the charger (both at home and in car), USB cable and headphones, even syncing softwares. That saves a lot of things we need to keep track. &lt;br /&gt;&lt;br /&gt;The big deterrent of changing phones is to sync up the address book again. My previous phone was kinda dumb, and so was the sync software, which will sync only with MS outlook. So managed to create a dummy outlook profile, imported all my contacts to it, and then used outlook to export them as a CSV file. In new sync software, import the CSV by making a fuzzy mapping among the fields of the addressbooks (now you should start appreciating the need of a standard like iCal). &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_q8IyBrue8D8/RjA3vAN07vI/AAAAAAAAADY/hHgyPyrs4wo/s1600-h/scr322.png1.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_q8IyBrue8D8/RjA3vAN07vI/AAAAAAAAADY/hHgyPyrs4wo/s1600/scr322.png1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5057603662188441330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;i&gt;Voila&lt;/i&gt;? Not yet. My super smart exchange format, CSV, has eaten up all leading 0 and + signs. Numbers are numbers, ok? And we have a reason to call them as &lt;i&gt;Phone numbers&lt;/i&gt;, right? Because we may do arithmetic on them. So numbers like 080xxxx became 80xxxx and +91xxx   became 91xxx. That completely screwed up the dialing plan; as any number I call fails with an error &lt;i&gt;Please check the number you have dialed&lt;/i&gt;. So it took one more round of exercise to clean up the complete address book, fix the CSV file, and re-import the whole thing again. So far so good.&lt;br /&gt;&lt;br /&gt;I became a fan of upcoming iPhone; so searched in net for an iPhone theme. And quite a few are available in &lt;a href="http://www.motox.info"&gt;motox.info&lt;/a&gt;, and with quite a few hacks to mod. I tried a few small hacks, including changing my main menu from 9 &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_q8IyBrue8D8/RjD0agN07wI/AAAAAAAAADg/5HjSlzoRvxI/s1600-h/screen4.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_q8IyBrue8D8/RjD0agN07wI/AAAAAAAAADg/5HjSlzoRvxI/s400/screen4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5057811117698772738" /&gt;&lt;/a&gt; &lt;br /&gt;items to 12, screwed my phonebook in the process (and had to revert the changes back), and finally settled down with a Mac OS skin. Unfortunately most of the modding software are written only on windows, and I am now in the process of reverse engineering whatever I can to Linux. My first target is &lt;a href="http://www.e398mod.com/content/view/174/28/"&gt;MSnap&lt;/a&gt; to take screenshots.&lt;br /&gt;&lt;br /&gt;But then it takes time to get used to the new UI, especially when last 3 years I was using a PDA with a stylus. Writing SMS has become a big pain now, even it adaptive T1 (iTap) support. It was much better using a handwriting recognizer. The biggest problem I find here I can't classify my incoming SMS into folders depending on the sender (and make the `alert' of some folders as `silent', set auto-expiry to 1 day; so that spams come and die silently). &lt;br /&gt;&lt;br /&gt;Otherwise the phone sounds good. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_q8IyBrue8D8/RjD0awN07xI/AAAAAAAAADo/JS-cZlYdiUE/s1600-h/screen5.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_q8IyBrue8D8/RjD0awN07xI/AAAAAAAAADo/JS-cZlYdiUE/s400/screen5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5057811121993740050" /&gt;&lt;/a&gt; Not that I don't want to pay Airtel at all, but I activated the `&lt;i&gt;free&lt;/i&gt;' Airtel Live service which lets me go to only Airtel's portal, and (thankfully) &lt;a href="http://in.wap.yahoo.com/"&gt;Yahoo&lt;/a&gt;. I don't visit Airtel's self promotional s**t anyway, but at least yahoo search and finance comes handy.  Like I was &lt;A href="http://www.employees.org/~kousik/photography/displayimage.php?pos=-395"&gt;photographing a Yellow throated sparrow&lt;/a&gt; last weekend; and I knew the name of the bird has been changed recently; but couldn't remember to what. Yipee ... just searched for it, and the result snippets told me it is now called Chestnut Shouldered Petronia.  Instant web access in field via EDGE/GPRS comes handy, even though limited! And stock quotes. Next target is to write a java app that'll monitor and tell me when to sell Jet Airways (Grrrrr).&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-9047368417825028863?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/9047368417825028863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/04/rizr-z3.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/9047368417825028863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/9047368417825028863'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/04/rizr-z3.html' title='RIZR Z3'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_q8IyBrue8D8/RjA3uwN07tI/AAAAAAAAADI/WXFoSDlDTaw/s72-c/scr3231.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-2500523821459509323</id><published>2007-04-21T04:15:00.000+05:30</published><updated>2007-04-27T16:39:55.170+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>It is summer, so Calote time!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_q8IyBrue8D8/RilCXYM_j2I/AAAAAAAAAC8/0kHVyHf1UQ4/s1600-h/calote7.jpg"&gt;&lt;img style="display:block; margin:10px auto 10px; cursor:hand;" src="http://bp3.blogger.com/_q8IyBrue8D8/RilCXYM_j2I/AAAAAAAAAC8/0kHVyHf1UQ4/s1600/calote7.jpg" border="1" alt="Garden Lizard" id="BLOGGER_PHOTO_ID_5055645026101464930" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-2500523821459509323?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/2500523821459509323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/04/it-is-summer-so-calote-time.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2500523821459509323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2500523821459509323'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/04/it-is-summer-so-calote-time.html' title='It is summer, so Calote time!'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_q8IyBrue8D8/RilCXYM_j2I/AAAAAAAAAC8/0kHVyHf1UQ4/s72-c/calote7.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-967363421917704426</id><published>2007-04-19T19:40:00.000+05:30</published><updated>2007-04-20T12:41:48.000+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>modulo 50 customer</title><content type='html'>&lt;div class="columns"&gt;Or, two skeptics in Big Bazaar ...&lt;br /&gt;&lt;br /&gt;When we got a parking place just outside the Big Bazaar, I should have guessed it. I mean, either Mr. Murphy or Anti-Murphy is blessing us. Well, &lt;a href="http://www.pantaloon.com/merchandise-bigbazaar.htm"&gt;Big Bazaar&lt;/a&gt; isn't our favourite shopping destination any day, though we try to gain entry once a while. We never like the experience as a whole, as by the time I am in, I am already pissed off by the circus I have to do to just park my car. After that getting out of the place is another test of patience, because the checkout queue would take forever to move. And in between you'll find the cheaper version of the product will not live upto your expectation anyway, so you have to choose the premium ones. So. I was looking to buy a cellphone; from a place who'll buy my old one back and offer a new one cheap. Unfortunately though my old phone was a big entertainment material for the staffs at mobile phone counter, they said they can't honour the antique value of it. "Someone offered me 1500/- for &lt;I&gt;this&lt;/I&gt;", I protested. "Even if you don't want it, give me some discount so that I can buy a phone from you!" They didn't seem to care, so I decided to leave. On our way to exit, we were checking out things that had big red label of "SALE" attached to it. "5 copper-bottomed tupe at 545/-", I thought "that's not a bad deal". Close examination proved to be disappointing, they are made of so thin sheet that will never stand chinese style stir-fry. "This is why I hate this place", Sumana murmured, "I can buy a lot of stuffs cheap but can't really use them!" I sympathized with her, and finally instead of walking out empty handed, we picked up a sunglass for her. Finally assuring big-bazaar is getting some business out of us!&lt;br /&gt;&lt;br /&gt;After the usual credit card swipe and slip exchange exercise, the guy at the checkout counter jumped clapping. "You are one of the every 50th customer! Your shopping is free!" he informed in a cheerful tone. I was more concerned about the money he charged already. "Will you reverse the credit card charge?" I asked, as if that is the last major hurdle for the materialization of the offer. "No, we'll reimburse you in cash", he said. I whispered to Sumana "Oh wow, 5 reward points, plus some cash! Saves my imminent ATM visit". &lt;br /&gt;&lt;br /&gt;The fun began. We were escorted to some lounge, shook hands with 16 people, and they announced in PA that "here is one more customer whose &lt;i&gt;entire&lt;/i&gt; shopping is going free". Then they got us sign a document full of legal jargons, which essentially says we're irrevocably authorizing Pantaloons to use our name and photograph for their promotions blah blah. "We are celebrities", I whispered, "I wish I didn't wear this ugly T-shirt when coming here". &lt;br /&gt;&lt;br /&gt;"Please say a few words", a marketing manager passed us a chordless mic. "Say something," I delegated it to Sumana, "I am chocked with emotion". And to my surprize, she handled the situation much better than I could. "Well," she cleared her throat, "Big Bazaar is a nice place. You folks have huge collection of stuffs," and seeing the appreciative smile of the audience, she went overboard: "I like to come here often!". "What!" I couldn't believe my ears. She continued her all praise about the place, and how satisfied we are with our shopping experience everytime we come. "Pfffft ..." I couldn't hold my skeptic laugh anymore. Thankfully she turned off the mic at the right moment. Then a snap was taken, and they promised us we'll be in newspapers tomorrow. Via advertisement. &lt;br /&gt;&lt;br /&gt;I tried to peek at the list of beneficiaries of the scheme, but without too much success. The previous guy who cracked this got a benefit of 488 rupees. I didn't see a four digit number. We got around five hundred. "Doesn't look like anyone made it big", Sumana commented as we were on our way to exit. "All it takes is a small bug in the software," my cynic mind was at work, "after 50 people goes out, flag a guy whose bill amount is &amp;lt;500 bucks. That way you keep your promotion running at a low cost. It'll cost per customer 10 rupees. And the feel-good factor is much higher when one customer gets that discount, with a punch-line that &lt;i&gt;the whole bill is re-imbursed&lt;/i&gt;". &lt;br /&gt;&lt;br /&gt;"I wouldn't have paid for this anyway", she told as we were pulling out of parking. "The design isn't good, and the lens isn't monochromatic. See I can see rainbows on the clouds". I couldn't see her eyes because the glass seemed to be too dark.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-967363421917704426?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/967363421917704426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/04/modulo-50-customer.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/967363421917704426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/967363421917704426'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/04/modulo-50-customer.html' title='modulo 50 customer'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-8189710524851770523</id><published>2007-04-04T15:30:00.000+05:30</published><updated>2007-04-04T15:25:20.307+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>The illusion of Re 1/- auctions</title><content type='html'>&lt;div class="columns"&gt;After almost 3 years, I was wondering whether my &lt;a href="http://kousik.blogspot.com/2004/07/a388.html"&gt;good old cellphone&lt;/a&gt; has reached EOL (the battery needs charging almost everyday now). Not being aware of the models and their prices, I decided to do a little online search on the auction sites (ebay, indiatimes). Just to get an idea on average prices.&lt;br /&gt;&lt;br /&gt;The observation here is a bit interesting. Take for example, &lt;a href="http://auctions.indiatimes.com/webapp/wcs/stores/servlet/HelpReportView?page=TYPCatSubcatOneRupee.jsp&amp;storeId=704384&amp;catalogId=40000704384&amp;langId=-1&amp;msgid=0&amp;catgryid=835034&amp;catName=REONE"&gt;Rupee 1 auctions&lt;/a&gt; from Indiatimes. The price of an item starts from 1/- and keeps going up as users keep bidding. Fair? Generally at the end of the auction period, the price either exceeds the street value or is marginally less. Generally no item is closed dirt cheap. Still fair enough? Not until you look carefully at the bidding history of each item. &lt;br /&gt;&lt;br /&gt;Generally the bidding is rational in the beginning. A 30GB iPod starts at Re 1/- and then 10 different users keep bidding in an usual manner: the price goes like 200/- 500/- 700/- 900/- ... 3500/- ... 5000/- Then one user Mr X comes, and suddenly bids 10000/- !!! After some time, more rational bidders pitch in, and drive the price again at normal 200/- increment, till the price is close to the street value. Mr X is nowhere to be seen again, whom you thought was really keen to grab the product. He just increased the bid close to the market value (and possibly generated some interest on the product among other bidders), and disappeared.&lt;br /&gt;&lt;br /&gt;Disappeared? Not really. He is there &lt;i&gt;everywhere.&lt;/i&gt; On every product. From a digital camera to plasma TV. He entered every auction halfway, did an outrageous bid, and never came back again. Subsequently, all products gets a price tag close to 90-95% of their market value, and people are left fighting on the remaining 5%. &lt;br /&gt;&lt;br /&gt;Can you believe a rational bidder doing this? He enters the auction of all 10 iPods, 5 TVs, 10 handycams, 30 digicams, 20 mobiles that is due on 3 days from now (look, he gives enough time for normal bidding to resume), and offer a price close to market value when the current bid is 20%-50% of the product? And if he was so desperate, he never came to overbid, when he was outbid by just 200/-&lt;br /&gt;&lt;br /&gt;And Mr X changes every week. This week it is `wilamsocer'. Next week it is gonna be some `shaidrafiq'. They bid for every product on a page, sequentially, and pretty fast (they have entered &lt;i&gt;a bid every 20 seconds&lt;/i&gt;). I wonder who they are, but I can take a wild guess. They are bots created either by vendors or the service provider. Just to jack up the price and generate interest. And to make sure they don't incur a loss (even if they fail to get any more bid after the bot, it'll result in void transaction, they may just have to pay a small fee to the service provider).&lt;br /&gt;&lt;br /&gt;Online auctions are always &lt;a href="http://photonotes.org/articles/auctions/"&gt;dicey&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-8189710524851770523?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/8189710524851770523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/04/illusion-of-re-1-auctions.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8189710524851770523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8189710524851770523'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/04/illusion-of-re-1-auctions.html' title='The illusion of Re 1/- auctions'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1647070620061474143</id><published>2007-04-02T15:08:00.000+05:30</published><updated>2007-04-03T12:00:03.701+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Operation Aborted by IE</title><content type='html'>&lt;div class="columns"&gt;I was really glad that I never have to use MS windows in my life, until &lt;a href="http://www.employees.org/~kousik/logs/"&gt;our family travel log&lt;/a&gt; &lt;a href="http://kousik.blogspot.com/2007/02/kousik-sumanas-travel-ventures.html"&gt;was&lt;/a&gt; &lt;a href="http://www.indibloggies.org/nominations-2006"&gt;nominated for IB-2006&lt;/a&gt;. The nomination increased the number of hits significantly, and I noticed that there are people who still use IE. And then I read in someone in the shadow's &lt;a href="http://imaginaryshadows.blogspot.com/2007/02/going-through-indibloggies-nominations.html"&gt;blog&lt;/a&gt; (who was evaluating indibloggies nominations) that our site wouldn't open in his browser ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://xfce-look.org/CONTENT/content-files/55039-no-ie.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 80px;" src="http://xfce-look.org/CONTENT/content-files/55039-no-ie.png" border="0" alt="" align="left" /&gt;&lt;/a&gt;I didn't have to think really hard to figure out which browser. If someone says I can't see X in my browser Y, either Y is IE, and if not, then site X is broken. Since X works in FF, Y gotta be IE. So I borrowed a laptop running windows from a colleague (my laptop &lt;a href="http://kousik.blogspot.com/2006/11/eye-candies.html"&gt;runs linux with visuals better than mac&lt;/a&gt;), and tried loading my log. The page started coming in, and oh no! Halfway it displays a dialog box "internet explorer can't open the internet site http://www.employees.org/~kousik/logs/. operation aborted". And there is a single button called 'Ok', and if you press it, the page which was almost rendered vanishes, and you get a page telling you to check your internet connection. Check connection? WTF? Can't they show a better error? I desperately looked for an `Error Console' ... but I was expecting too much from IE. Some googling told me that "IE doesn't allow changing HTML tables via DOM until they are fully rendered". Arrrrgh, then that's the problem, because I have a blank element called `map' and google map api changes it. &lt;br /&gt;&lt;br /&gt;So I decided to be half-hearted kind to IE users. The proper solution would have been to let the page load completely, then call google map api to draw the map, by encapsulating the whole code into a wrapper javascript function and call that function on window.onLoad(). But that'll slow down FF people, because the map will be drawn only after rest of the page is loaded and rendered. &lt;i&gt;Why punish them&lt;/i&gt;? So I just moved the javascript near the bottom of the page. FF is unaffected, it can render the google map dynamically. IE users have a better chance now, by the time it tries to load the google map &lt;i&gt;hopefully&lt;/i&gt; rest of the page elements will be fetched already, and IE will possibly be able to avoid the error.&lt;br /&gt;&lt;br /&gt;At least in my setup (in the IE I was testing) the error doesn't show up anymore. &lt;br /&gt;&lt;br /&gt;Sometimes, I too, compromise. And I feel sorry.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1647070620061474143?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1647070620061474143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/04/operation-aborted-by-ie.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1647070620061474143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1647070620061474143'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/04/operation-aborted-by-ie.html' title='Operation Aborted by IE'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-3153706037613018411</id><published>2007-03-31T14:21:00.001+05:30</published><updated>2007-03-31T14:23:37.630+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>Little Grebe</title><content type='html'>&lt;style type="text/css"&gt;.flickr-photo { border: inset 2px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }&lt;/style&gt;&lt;div class="flickr-frame"&gt; &lt;a href="http://www.flickr.com/photos/kousik/432224784/" title="photo sharing"&gt;&lt;img src="http://farm1.static.flickr.com/166/432224784_eafe9a94ee_o.jpg" class="flickr-photo" alt="" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/kousik/432224784/"&gt;Little Grebe&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/kousik/"&gt;kousik&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;    &lt;p class="flickr-yourcomment"&gt; Using the Innova as a hide, we could go pretty close to him.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-3153706037613018411?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/3153706037613018411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/03/little-grebe.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3153706037613018411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3153706037613018411'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/03/little-grebe.html' title='Little Grebe'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-1510655447480826826</id><published>2007-03-24T14:22:00.000+05:30</published><updated>2007-03-24T14:25:57.348+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><title type='text'>mom &amp; son</title><content type='html'>&lt;a href="http://www.flickr.com/photos/kousik/432186471/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/174/432186471_2737b2a7a5_o.jpg"  alt="mom n son" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-1510655447480826826?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/1510655447480826826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/03/mom-son.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1510655447480826826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/1510655447480826826'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/03/mom-son.html' title='mom &amp; son'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-667783565923960375</id><published>2007-03-02T18:10:00.000+05:30</published><updated>2007-03-02T18:06:18.016+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><title type='text'>Xfce-dark</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_q8IyBrue8D8/RegWa4JeCwI/AAAAAAAAAB4/hDqf7fIIwWk/s1600-h/screenshot.jpg"&gt;&lt;img src="http://bp3.blogger.com/_q8IyBrue8D8/RegWa4JeCwI/AAAAAAAAAB4/hDqf7fIIwWk/s400/screenshot.jpg" border="0" alt="Xfce-dark screenshot" title="Xfce-dark gtk theme screenshot" id="BLOGGER_PHOTO_ID_5037300834218412802" align="right" /&gt;&lt;/a&gt; So what do you do when you do not find a single dark theme of your liking? You write your own! I like &lt;A href="http://xfce-look.org/content/show.php?content=46165"&gt;Clearlooks Blackblue&lt;/a&gt;, but it is the way &lt;a href="http://xfce-look.org/content/show.php?content=19527"&gt;clearlooks engine&lt;/a&gt; draws border on tab turns me off. I moved to &lt;a href=" http://xfce-look.org/content/show.php?content=17474"&gt;XFCE gtk engine&lt;/a&gt;, and was looking for a dark theme to use. &lt;br /&gt;&lt;br /&gt;Then I decided to port clearlooks_blackblue color scheme to xfce. The result is &lt;a href="http://xfce-look.org/content/show.php?content=53758"&gt;Xfce-dark&lt;/a&gt; theme, which looks like this -------&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-667783565923960375?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/667783565923960375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/03/xfce-dark.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/667783565923960375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/667783565923960375'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/03/xfce-dark.html' title='Xfce-dark'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_q8IyBrue8D8/RegWa4JeCwI/AAAAAAAAAB4/hDqf7fIIwWk/s72-c/screenshot.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-3342116057349352408</id><published>2007-03-01T10:16:00.000+05:30</published><updated>2007-03-01T10:32:19.922+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>again X-Now-Playing</title><content type='html'>After I moved to &lt;A href="http://savannah.gnu.org/projects/emms/"&gt;EMMS&lt;/a&gt; for my entertainment needs at office, my &lt;A href="http://kousik.blogspot.com/2006/01/x-now-playing.html"&gt;X-Now-Playing&lt;/a&gt; needed to be reworked for EMMS. So here is the script: &lt;pre&gt;(defun write-tmp-x-now-playing ()&lt;br /&gt;  (setq emms-show-format "%s") &lt;br /&gt;  (write-region &lt;br /&gt;   (replace-regexp-in-string "[0-9_-]" " "&lt;br /&gt;                             (file-name-sans-extension&lt;br /&gt;                              (file-name-nondirectory &lt;br /&gt;                               (emms-show)))) nil "/tmp/X-now-playing"))&lt;br /&gt;&lt;br /&gt;(add-hook 'emms-playlist-selection-changed-hook 'write-tmp-x-now-playing)&lt;/pre&gt;&lt;br /&gt;This is quick, and works until I decide to deploy a id3 tag reader.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-3342116057349352408?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/3342116057349352408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/03/again-x-now-playing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3342116057349352408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/3342116057349352408'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/03/again-x-now-playing.html' title='again X-Now-Playing'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-5953672214986752537</id><published>2007-02-26T10:35:00.000+05:30</published><updated>2007-02-26T10:36:19.736+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='Iravan'/><title type='text'>Introduction to a lizard</title><content type='html'>&lt;style type="text/css"&gt;.flickr-photo { border: inset 2px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { margin-top: 0px; }&lt;/style&gt;&lt;div class="flickr-frame"&gt; &lt;a href="http://www.flickr.com/photos/kousik/401991371/" title="photo sharing"&gt;&lt;img src="http://farm1.static.flickr.com/135/401991371_0825bbe021_o.jpg" class="flickr-photo" alt="Iravan" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/kousik/401991371/"&gt;shocked&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/kousik/"&gt;kousik&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;    &lt;p class="flickr-yourcomment"&gt; So, Iravan was sitting on the rock,  minding his own business and generally having a good time. Till a large female bloodsucker lizard decided to come too close. He didn't understand why his parents are so excited. He kept a fearful watch on the reptile until she moved away.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-5953672214986752537?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/5953672214986752537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/02/introduction-to-lizard.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5953672214986752537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5953672214986752537'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/02/introduction-to-lizard.html' title='Introduction to a lizard'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-2038179353382559573</id><published>2007-02-20T19:16:00.001+05:30</published><updated>2007-02-20T19:23:14.167+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'>paradise flycatcher</title><content type='html'>&lt;a href="http://www.flickr.com/photos/kousik/396431717/" title="photo sharing"&gt;&lt;img src="http://farm1.static.flickr.com/130/396431717_6f53ea4723_o.jpg" alt="" style="border: inset 2px #000000;" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;   &lt;a href="http://www.flickr.com/photos/kousik/396431717/"&gt;Paradise Flycatcher&lt;/a&gt; in Rufous Plumage. Photographed one after really long time. Sadly, the full white male too was around but didn't allow me to shoot him...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-2038179353382559573?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/2038179353382559573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/02/paradise-flycatcher.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2038179353382559573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/2038179353382559573'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/02/paradise-flycatcher.html' title='paradise flycatcher'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-8323344051884290779</id><published>2007-02-14T12:00:00.001+05:30</published><updated>2007-02-14T20:04:53.067+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>"Kousik &amp; Sumana's Travel Ventures"</title><content type='html'>Though not updated for long time because we aren't going out as frequently as before, still my family travel log, &lt;A href="http://www.employees.org/~kousik/logs/"&gt;"Kousik &amp; Sumana's Travel Ventures"&lt;/a&gt; has been &lt;a href="http://www.indibloggies.org/nominations-2006"&gt;nominated&lt;/a&gt; for best Indian Travel Log in indibloggies.org. With celebrities like Kalyan Varma or celebrated sites like gonomad.com in competition, I can be frank and say we don't stand a chance of winning that. But hey, that'll give us some more hits (and spam comments) and will motivate me to travel more, maybe ;-)&lt;br /&gt;&lt;br /&gt;&lt;A href="http://www.indibloggies.org/polls-2006"&gt;You can vote&lt;/a&gt; for us, and other categories/sites till 20/Feb.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-8323344051884290779?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/8323344051884290779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/02/kousik-sumanas-travel-ventures.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8323344051884290779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8323344051884290779'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/02/kousik-sumanas-travel-ventures.html' title='&quot;Kousik &amp; Sumana&apos;s Travel Ventures&quot;'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-6758936832210232699</id><published>2007-02-06T04:00:00.000+05:30</published><updated>2007-05-15T13:24:11.094+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='bengali'/><title type='text'>`Mohiner Ghoraguli' to play in Bangalore</title><content type='html'>&lt;a href="http://www.ibnlive.com/videos/32752/rock-band-all-set-to-bedazzle-kolkata.html"&gt;They&lt;/a&gt; are ready to play again, after 25 long years. And this time in &lt;a href="http://en.wikipedia.org/wiki/First_Rock_Concert_-_Remembering_Mohiner_Ghoraguli"&gt;Bangalore,  Ambedkar Bhaban on 17th Feb evening&lt;/a&gt;. I'll &lt;i&gt;try to be&lt;/i&gt; there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-6758936832210232699?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/6758936832210232699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/02/mohiner-ghoraguli-to-play-in-bangalore.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6758936832210232699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/6758936832210232699'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/02/mohiner-ghoraguli-to-play-in-bangalore.html' title='`Mohiner Ghoraguli&apos; to play in Bangalore'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-7805972806324643095</id><published>2007-02-06T03:30:00.000+05:30</published><updated>2007-02-06T03:28:46.605+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>No warning doesn't mean you're safe</title><content type='html'>&lt;div class="columns"&gt;Well, this is overly simplified, but this is one situation we landed up one day:&lt;pre&gt;#include &amp;lt;stdio.h&gt;&lt;br /&gt;&lt;br /&gt;int main (int ac, char **av)&lt;br /&gt;{&lt;br /&gt;  long long zed = 0;&lt;br /&gt;  print2nd(zed, 1);&lt;br /&gt;  return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int print2nd (int first, int second)&lt;br /&gt;{&lt;br /&gt;  return printf("%d\n", second);&lt;br /&gt;}&lt;/pre&gt;A lack of warning may make you think everything is alright, when it isn't. You may even think your debugger has gone crazy too. Though it is easy to catch the issue by code inspection here, but when these functions are in different files/places and have more complicated signatures, there are more candidates of suspect ... &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-7805972806324643095?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/7805972806324643095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/02/no-warning-doesnt-mean-youre-safe.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7805972806324643095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/7805972806324643095'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/02/no-warning-doesnt-mean-youre-safe.html' title='No warning doesn&apos;t mean you&apos;re safe'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-5866658561096418245</id><published>2007-01-22T12:45:00.000+05:30</published><updated>2007-01-22T12:38:13.726+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><title type='text'>Next in wishlist</title><content type='html'>&lt;div class="columns"&gt;Now I am looking for a good ICE (in car entertainment) solution. There is a stock HU (head-unit) and 4 speakers already, but they definitely need upgrade; as the HU is a cassette player + FM tuner only. The requirement is very simple. Toyota has given me a large space (2-DIN). So I want to use the whole space. I don't want a motorized DVD screen (dust problem/too many moving parts); nor I want to mount it on the ceiling (it is me who will be driving). And a 2-din space can accommodate a 6.5" or 7" LCD touchscreen easily, so it has to be that way. It should play all known formats today. I should be able to attach a GPS (though in India, we just stop the car and ask people the directions). Bluetooth would be nice. And yeah, internet connectivity too.&lt;br /&gt;&lt;br /&gt;So looks like it has to be a PC. When assembling one is fun and really expensive, I don't want to go down the hardware path. I'll write/customize all softwares I'll need (that'd mean making some fullscreen XMMS skins, if I feel lazy); but hardware assembling is too much PITA. So I am kicking off a search for a pre-assembled car PC with some standard hardwares. One of the potential candidate is E319:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.gadgetswiz.com/wp-content/uploads/2006/07/e319-car-pc-946.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 360px;" src="http://www.gadgetswiz.com/wp-content/uploads/2006/07/e319-car-pc-946.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Though it is running WinCE, maybe I'll be successful to run a custom ubuntu on it. Heh, some people are &lt;a href="http://www.kusnetz.net/prius/"&gt;running a mac&lt;/a&gt; in their car too. In this regard, &lt;a href="http://indashpc.org/new/"&gt;in dash pc . org&lt;/a&gt; seems to be pretty helpful, as they have a custom linux distribution (boot time ~10 seconds) with all python scriptable front end to run in car PCs. &lt;br /&gt;&lt;br /&gt;Anyway, I am not a lone freak. &lt;a href="http://www.team-bhp.com/forum/car-entertainment/18216-car-pc-setup-install-some-fabrication.html"&gt;People are doing this already&lt;/a&gt;, but most of them uses custom hardware, and have budgets 4x mine. Or maybe I'll abandon the idea for a jazzy head unit like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.pioneerelectronics.com/pio/pe/images/portal/cit_3442/369264980D3_indash_rsx_blue.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 360px;" src="http://www.pioneerelectronics.com/pio/pe/images/portal/cit_3442/369264980D3_indash_rsx_blue.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-5866658561096418245?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/5866658561096418245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/01/next-in-wishlist.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5866658561096418245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/5866658561096418245'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/01/next-in-wishlist.html' title='Next in wishlist'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-8889737921492284294</id><published>2007-01-18T04:00:00.000+05:30</published><updated>2007-01-18T04:04:41.347+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='real life'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>promoting aha?</title><content type='html'>&lt;div class="columns"&gt;Today morning, I got myself a real big coffee mug, so had some coffee left I after I finished my dose of Calvin &amp; Hobbes, Garfield and other friends, I decided to check out the Ascent. So there was one company who posted an ad with huge fonts (the fact that I forgot the company name already shows the failure of the ad anyway), asking a PJ question as a public challenge. The question goes something like &lt;i&gt;How will you drop an egg on a concrete floor without cracking it?&lt;/i&gt;. They printed the answer too, for people like me who are a little bit challenged when trick questions are asked; so I cheated and saw the answer immediately: &lt;i&gt;no way we can crack a concrete floor by dropping eggs&lt;/i&gt;. If you could answer that, you're hired. Anyways, I thought it is &lt;a href="http://techinterview.org/aha.html"&gt;an aha!!! question&lt;/a&gt;, and definitely you don't want to work in a place where they hire asking them. But what if I gave it a serious thought? If by "it" we meant the egg, the drop needs to be just a few millimeters. And if we are concerned about the concrete, lets see: a domestic use concrete layer with 40% water and 60% cement will have a crushing strength of anywhere between 15-20 newtons/sqmm (say 18). Assume the area of contact between the concrete and egg is 1000 sqmm, so it needs to exert ~18000 newtons of force. A chicken egg, typically weighing 60 grams and 5cm in length, needs to be dropped from a height less than 2km (forgetting air friction) to keep the concrete safe. Gosh, I have better things to think during my morning coffee ...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-8889737921492284294?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/8889737921492284294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/01/promoting-aha.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8889737921492284294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8889737921492284294'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/01/promoting-aha.html' title='promoting aha?'/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7235183.post-8758123919267903286</id><published>2007-01-17T04:00:00.000+05:30</published><updated>2007-01-17T12:25:00.655+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='photography'/><category scheme='http://www.blogger.com/atom/ns#' term='wildlife'/><category scheme='http://www.blogger.com/atom/ns#' term='bird'/><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_q8IyBrue8D8/Ra3IHLij6RI/AAAAAAAAABs/Hbud2pTdl_8/s1600-h/egret2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_q8IyBrue8D8/Ra3IHLij6RI/AAAAAAAAABs/Hbud2pTdl_8/s1600/egret2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5020889185270360338" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7235183-8758123919267903286?l=kousik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kousik.blogspot.com/feeds/8758123919267903286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kousik.blogspot.com/2007/01/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8758123919267903286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7235183/posts/default/8758123919267903286'/><link rel='alternate' type='text/html' href='http://kousik.blogspot.com/2007/01/blog-post.html' title=''/><author><name>Kousik Nandy</name><uri>https://profiles.google.com/112659624118652577364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-jRb9QR_fsPs/AAAAAAAAAAI/AAAAAAAADQg/zNCRV8G5uhw/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_q8IyBrue8D8/Ra3IHLij6RI/AAAAAAAAABs/Hbud2pTdl_8/s72-c/egret2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
