<?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-6513356</id><updated>2012-02-09T22:45:57.331+05:30</updated><title type='text'>Kalyan's Blog</title><subtitle type='html'>Random notes on life, work and other stuff.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default?start-index=101&amp;max-results=100'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>125</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6513356.post-4800291708177020557</id><published>2012-01-03T19:00:00.000+05:30</published><updated>2012-01-03T19:01:49.872+05:30</updated><title type='text'>The long tail</title><content type='html'>A very good read: &lt;a href="http://changethis.com/manifesto/show/10.LongTail"&gt;The long tail&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-4800291708177020557?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/4800291708177020557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=4800291708177020557&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/4800291708177020557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/4800291708177020557'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2012/01/long-tail.html' title='The long tail'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-9055209988196148658</id><published>2010-07-27T09:56:00.005+05:30</published><updated>2010-12-29T19:24:21.186+05:30</updated><title type='text'>Site Build It</title><content type='html'>I was looking for making a website for my wife's clinic and stumbled upon something very interesting: SBI. These guys seem make it really easy to setup a good website and take away all the technical pain of running a small business website (hosting, dns registration, stats, search engine submissions, easy design and editing etc. etc...).&lt;br /&gt;&lt;br /&gt;But what impressed me was that they have tools and information on what needs to happen *before* u choose your niche.&lt;br /&gt;&lt;br /&gt;If you are thinking of puttin up a website, you should check it out: &lt;a href="http://www.sitesell.com/explore0.html"&gt;Site Build It&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-9055209988196148658?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/9055209988196148658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/9055209988196148658'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2010/07/site-build-it.html' title='Site Build It'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-1460904832550404744</id><published>2010-04-15T16:39:00.002+05:30</published><updated>2010-04-15T16:52:15.095+05:30</updated><title type='text'>Investing...</title><content type='html'>Vipul is one of those few rare souls in my friend circle who actually have a plan, understand what they are doing and actually do it in the area of investing.&lt;br /&gt;And he is blogging now.  For some fun stuff : &lt;a href="http://jebau.blogspot.com/"&gt;http://jebau.blogspot.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-1460904832550404744?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/1460904832550404744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=1460904832550404744&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/1460904832550404744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/1460904832550404744'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2010/04/investing.html' title='Investing...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-3706227885822687061</id><published>2010-03-01T19:29:00.003+05:30</published><updated>2010-03-01T19:33:29.774+05:30</updated><title type='text'>River side school</title><content type='html'>We need more schools like this: &lt;a href="http://www.schoolriverside.com/"&gt;http://www.schoolriverside.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="446" height="326"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;param name="bgColor" value="#ffffff"&gt;&lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/KiranBirSethi_2009I-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/KiranBirSethi-2009I.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=735&amp;amp;introDuration=16500&amp;amp;adDuration=4000&amp;amp;postAdDuration=2000&amp;amp;adKeys=talk=kiran_bir_sethi_teaches_kids_to_take_charge;year=2009;theme=the_creative_spark;theme=how_we_learn;theme=a_taste_of_tedindia;theme=rethinking_poverty;theme=new_on_ted_com;event=TEDIndia+2009;&amp;amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;"&gt;&lt;br /&gt; &lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgcolor="#ffffff" width="446" height="326" allowfullscreen="true" flashvars="vu=http://video.ted.com/talks/dynamic/KiranBirSethi_2009I-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/KiranBirSethi-2009I.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=735&amp;introDuration=16500&amp;adDuration=4000&amp;postAdDuration=2000&amp;adKeys=talk=kiran_bir_sethi_teaches_kids_to_take_charge;year=2009;theme=the_creative_spark;theme=how_we_learn;theme=a_taste_of_tedindia;theme=rethinking_poverty;theme=new_on_ted_com;event=TEDIndia+2009;"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-3706227885822687061?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/3706227885822687061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=3706227885822687061&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3706227885822687061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3706227885822687061'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2010/03/river-side-school.html' title='River side school'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-4453404690921915135</id><published>2010-02-26T10:04:00.002+05:30</published><updated>2010-02-26T10:09:00.795+05:30</updated><title type='text'>Can software 'compose' music?</title><content type='html'>Sample music included in the article:&lt;br /&gt;&lt;a href="http://www.miller-mccune.com/culture-society/triumph-of-the-cyborg-composer-850"&gt;http://www.miller-mccune.com/culture-society/triumph-of-the-cyborg-composer-850&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-4453404690921915135?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/4453404690921915135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=4453404690921915135&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/4453404690921915135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/4453404690921915135'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2010/02/can-software-compose-music.html' title='Can software &apos;compose&apos; music?'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-2911234204624500720</id><published>2010-02-25T20:21:00.002+05:30</published><updated>2010-02-25T20:28:11.315+05:30</updated><title type='text'>Innovation</title><content type='html'>It is a very common thing in everyday conversation to attribute success or failure of tech companies to "ability to innovate". Scott Berkun takes a direct shot at this "easy reasoning" with a good article :   '&lt;a href="http://www.businessweek.com/innovate/content/feb2010/id20100222_506858.htm"&gt;Good' Beats 'Innovative' Nearly Every Time&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-2911234204624500720?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/2911234204624500720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=2911234204624500720&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/2911234204624500720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/2911234204624500720'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2010/02/innovation.html' title='Innovation'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-8456999271142475510</id><published>2010-02-23T19:41:00.002+05:30</published><updated>2010-02-23T19:53:33.649+05:30</updated><title type='text'>E-Toys</title><content type='html'>Was directed to Alan Kay's work from some blog/book and that eventually led me to squeak and E-Toys. It is a great piece of software - both from the vision and implementation angles. You owe it to yourself to try it out for your kids/for the kid in yourself :)&lt;br /&gt;&lt;br /&gt;It may take a little while at first, but once you have figured out a basic example, rest all flows with very little additional effort - an important sign of a of a well designed product/framework.&lt;br /&gt;&lt;br /&gt;Main site: &lt;a href="http://www.squeakland.org/"&gt;Squeak Land&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-8456999271142475510?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/8456999271142475510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=8456999271142475510&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8456999271142475510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8456999271142475510'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2010/02/e-toys.html' title='E-Toys'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-3260989931813399276</id><published>2009-12-28T15:22:00.002+05:30</published><updated>2009-12-28T15:26:34.177+05:30</updated><title type='text'>Good article on api design.</title><content type='html'>My bro. forwarded this and it was a great read: &lt;a href="http://cacm.acm.org/magazines/2009/5/24646-api-design-matters/fulltext"&gt;API Design Matters&lt;/a&gt; .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-3260989931813399276?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/3260989931813399276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=3260989931813399276&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3260989931813399276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3260989931813399276'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2009/12/good-article-on-api-design.html' title='Good article on api design.'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-484643057779914611</id><published>2009-12-15T13:36:00.002+05:30</published><updated>2009-12-15T13:41:07.291+05:30</updated><title type='text'>From within, without trailer...</title><content type='html'>Dr Luc and Co are coming up with a movie on autism and homeopathy. Though I know of no one in my circle who has an autistic child, this made quite an impression on me. &lt;br /&gt;&lt;br /&gt;Watch the trailer &lt;a href="http://www.youtube.com/watch?v=f47h0Zi3ZK0"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-484643057779914611?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/484643057779914611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=484643057779914611&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/484643057779914611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/484643057779914611'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2009/12/from-within-without-trailer.html' title='From within, without trailer...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-3290091608573294435</id><published>2009-07-14T10:01:00.002+05:30</published><updated>2009-07-14T10:08:00.109+05:30</updated><title type='text'>Climate change</title><content type='html'>Pavlina has a great analysis on &lt;a href="http://www.stevepavlina.com/blog/2009/06/climate-change/"&gt;Climate Change&lt;/a&gt; that is worth reading.&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;&lt;em&gt;A 2006 United Nations report found that the meat industry produces more greenhouse gases than all the SUVs, cars, trucks, planes, and ships in the world combined. If we’re going to combat global warming, doesn’t it make sense to work on the #1 source of greenhouse gas emissions? Shouldn’t we strike at the root of the problem instead of just hacking at the branches?&lt;/em&gt;&lt;br /&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-3290091608573294435?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/3290091608573294435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=3290091608573294435&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3290091608573294435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3290091608573294435'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2009/07/climate-change.html' title='Climate change'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-3043516530352408074</id><published>2009-06-26T10:15:00.003+05:30</published><updated>2009-06-26T10:20:10.575+05:30</updated><title type='text'>What's your name?</title><content type='html'>One thing I have observed as my daughter grows up is the number of times kids are subjected to the same questions like &lt;br /&gt;"what is your name?", "what color is this?"  "what is your father's name?" &lt;br /&gt;&lt;br /&gt;I always thought that kids are a patient lot till my daughter flipped the bozo bit and started answering such questions with meaningless words like kumme, gumme (accompanied by laughter :) )!!&lt;br /&gt;&lt;br /&gt;Another side effect is that she repeats whatever question she has tens of times thinking that its the way things work :)!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-3043516530352408074?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/3043516530352408074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=3043516530352408074&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3043516530352408074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3043516530352408074'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2009/06/whats-your-name.html' title='What&apos;s your name?'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-2595701824242832044</id><published>2009-05-13T13:50:00.002+05:30</published><updated>2009-05-13T14:20:09.783+05:30</updated><title type='text'>Unschooling</title><content type='html'>Got this through a forward, found it interesting (a little ra ra):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.salon.com/0002007/2009/04/25.html"&gt;http://blogs.salon.com/0002007/2009/04/25.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-2595701824242832044?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/2595701824242832044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=2595701824242832044&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/2595701824242832044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/2595701824242832044'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2009/05/unschooling.html' title='Unschooling'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-2919785966322293305</id><published>2009-01-30T12:03:00.002+05:30</published><updated>2009-01-30T12:11:15.766+05:30</updated><title type='text'>A good paper on design</title><content type='html'>It is not unusual for us to keep relearning the same thing over and over again in our industry. A friend pointed me to this "old paper" which documents design learnings across many projects. I found it to be a great (but slow) read.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://research.microsoft.com/en-us/um/people/blampson/33-Hints/Abstract.html"&gt;Hints for Computer System Design&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-2919785966322293305?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/2919785966322293305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=2919785966322293305&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/2919785966322293305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/2919785966322293305'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2009/01/good-paper-on-design.html' title='A good paper on design'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-8131486240669650166</id><published>2009-01-12T09:46:00.002+05:30</published><updated>2009-01-12T10:02:19.225+05:30</updated><title type='text'>Story of stuff</title><content type='html'>An interesting video that got forwarded to me. Definitely worth 20 minutes of your time:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.storyofstuff.com/"&gt;http://www.storyofstuff.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Shortly after the World War 2, these guys were figuring out how to ramp up the [U.S.] economy. Retailing analyst Victor Lebow articulated the solution that has become the norm for the whole system. He said: “Our enormously productive economy . . . demands that we make consumption our way of life, that we convert the buying and use of goods into rituals, that we seek our spiritual satisfaction, our ego satisfaction, in consumption . . . we need things consumed, burned up, replaced and discarded at an ever-accelerating rate.”&lt;br /&gt;And President Eisenhower’s Council of Economic Advisors Chairman said that “The American e&lt;/em&gt;&lt;em&gt;conomy’s ultimate purpose is to produce more consumer goods.”&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;MORE CONSUMER GOODS??? Our [economy’s] ultimate purpose? &lt;/em&gt;&lt;em&gt;Not provide health care, or education, or safe transportation, or sustainability or justice? Consumer goods?&lt;br /&gt;&lt;/em&gt;&lt;em&gt;...&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-8131486240669650166?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/8131486240669650166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=8131486240669650166&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8131486240669650166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8131486240669650166'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2009/01/story-of-stuff.html' title='Story of stuff'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-3691133968964480082</id><published>2008-12-10T11:45:00.004+05:30</published><updated>2008-12-10T11:51:09.720+05:30</updated><title type='text'>Keyboard stuff..</title><content type='html'>Was trying to play a song from notes (piyu bole) and since it seemed too fast for such a slow song, I looked up on the web to see how people actually play that song. Found an amazing&lt;br /&gt;version: &lt;a href="http://www.youtube.com/watch?v=atAzfF0M44s"&gt;http://www.youtube.com/watch?v=atAzfF0M44s&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Not beginner's stuff :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-3691133968964480082?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/3691133968964480082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=3691133968964480082&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3691133968964480082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3691133968964480082'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/12/keyboard-stuff.html' title='Keyboard stuff..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-7325621544691381285</id><published>2008-09-15T10:38:00.003+05:30</published><updated>2008-09-15T11:12:05.174+05:30</updated><title type='text'>Learning something new.</title><content type='html'>Looking at my wife churn out pleasant music on a keyboard with barely 2 weeks of classes, I wonder why I never invested any time in any of the creative fields (painting, sketching, music, photography...).&lt;br /&gt;&lt;br /&gt;I think the basic issues for me are around&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Getting out of the comfort zone. The existing mental pathways are easier to go along with.&lt;/li&gt;&lt;li&gt;Trying to look for "productive output".&lt;/li&gt;&lt;li&gt;A belief that any new field requires a huge amount of practice and dedication. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt; Due to this I always ended up spending my free time on the next "scripting language" or "programming model" :).  So taking a different view point and approach, I am going to:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Focus on the joy of learning/exploring something new.&lt;/li&gt;&lt;li&gt;Commit a fixed time (say 30hours) to a given field and see where it goes. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;At the end of it if I can enjoy/appreciate music or photography more, it would be more than worth it. RK's tip is a very &lt;a href="http://arkaysblog.blogspot.com/2008/03/unusual-photography-tip.html"&gt;practical fallback&lt;/a&gt; :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-7325621544691381285?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/7325621544691381285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=7325621544691381285&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7325621544691381285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7325621544691381285'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/09/learning-something-new.html' title='Learning something new.'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-6242387728640965053</id><published>2008-09-12T10:47:00.002+05:30</published><updated>2008-09-12T10:58:42.463+05:30</updated><title type='text'>Windows workflow</title><content type='html'>Looking at the samples and having some vague discussions at work about workflows got me a little irritated and frustrated about whats going on. &lt;br /&gt;&lt;br /&gt;Luckily someone pointed me to this book: &lt;a href="http://www.amazon.com/Essential-Workflow-Foundation-Microsoft-Development/dp/0321399838"&gt;"Essential Workflow"&lt;/a&gt; and I must say that it is one well written book. It explains the "concepts" behind it instead of dealing with some vague design surface or cooked up examples. Basically WWF is a 'programming model' for long running resumable programs. &lt;br /&gt;&lt;br /&gt;With fundas in mind it is much easier to make a call on whether WF is a fit for a given context.&lt;br /&gt;&lt;br /&gt;You can find a sample chapter here: &lt;a href="http://dharmashukla.com/essential-wf-page/"&gt;Sample Chapter&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-6242387728640965053?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/6242387728640965053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=6242387728640965053&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/6242387728640965053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/6242387728640965053'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/09/windows-workflow.html' title='Windows workflow'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-8307520468796088626</id><published>2008-08-27T11:04:00.016+05:30</published><updated>2008-09-10T11:20:58.213+05:30</updated><title type='text'>Uri quirks..</title><content type='html'>Got bitten by this as this i was using the Uri class to combine some parent child resources. &lt;a href="http://msdn.microsoft.com/en-us/library/aa332624(VS.71).aspx"&gt;Msdn&lt;/a&gt; states that Uri(uri, string) combines the base and relative uri's w/o giving details of what that means. The following examples show that combining two uri's is not obvious :).&lt;br /&gt;&lt;pre&gt;(http://www.xyz.com/p1/p2, c1) =&gt; http://www.xyz.com/p1/c1&lt;br /&gt;(http://www.xyz.com/p1/p2/, c1) =&gt; http://www.xyz.com/p1/p2/c1&lt;br /&gt;(http://www.xyz.com/p1/p2, /c1) =&gt; http://www.xyz.com/c1&lt;br /&gt;(http://www.xyz.com/p1/p2/, /c1) =&gt; http://www.xyz.com/c1&lt;br /&gt;(http://www.xyz.com/p1/p2, ./c1) =&gt; http://www.xyz.com/p1/c1&lt;br /&gt;(http://www.xyz.com/p1/p2/, ./c1) =&gt; http://www.xyz.com/p1/p2/c1 &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;The gory details of the combination algorithm can be found at &lt;a href="http://www.apps.ietf.org/rfc/rfc3986.html#sec-5.2"&gt;http://www.apps.ietf.org/rfc/rfc3986.html#sec-5.2&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-8307520468796088626?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/8307520468796088626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=8307520468796088626&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8307520468796088626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8307520468796088626'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/08/uri-quirks.html' title='Uri quirks..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-5420694419161512594</id><published>2008-07-31T10:05:00.003+05:30</published><updated>2008-07-31T10:39:56.127+05:30</updated><title type='text'>Understanding legacy code.</title><content type='html'>Most of the time in a software job is about understanding legacy code (any code which survived a few months is legacy :) ). Since this comes up everytime you move to a new team, I sat down to take notes. Surprising how often I forget to do few of the things that worked in the past. Hope you find these useful as well:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Talk to the someone who already knows the codebase and walk through the main components on the board&lt;/li&gt;&lt;li&gt;Play with the final product to get an idea of its features (becomes easy to correlate when you go through the code)&lt;/li&gt;&lt;li&gt;Figure out how logging works in that product. Enable verbose logging (if available :)) and keep watching the tail of log as you play with the product&lt;/li&gt;&lt;li&gt;Attach a debugger and step through the code while you use the product&lt;/li&gt;&lt;li&gt;Run the unit tests under a debugger&lt;/li&gt;&lt;li&gt;Go through the tests for a feature&lt;/li&gt;&lt;li&gt;Go through the bug database by feature. This quickly gives a sense of what you are going to run into :) and a lot more.&lt;/li&gt;&lt;li&gt;&lt;&lt;more&gt;&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-5420694419161512594?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/5420694419161512594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=5420694419161512594&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/5420694419161512594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/5420694419161512594'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/07/understanding-legacy-code.html' title='Understanding legacy code.'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-7813102642835222874</id><published>2008-06-09T11:22:00.003+05:30</published><updated>2008-06-09T11:40:35.081+05:30</updated><title type='text'>Concurrency and coordination runtime</title><content type='html'>Anyone who has done any amount of async programming knows that it gets out of hand pretty easily.  We are good at reasoning about sequential things and async code with its callbacks within callbacks approach breaks this view and makes it hard to reason about things like correctness and boundary cases. &lt;br /&gt;&lt;br /&gt;MSR  has come up with a different programming model intended to make async i/o based programming dramatically simpler (almost feels like sequential code).  It is a library on top of .net and ships as part of robotic studio. For any serious async work, this is worth investigation&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163556.aspx"&gt;:&lt;/a&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163556.aspx"&gt;MSDN article&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/robotics/bb383569.aspx"&gt;Videos&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-7813102642835222874?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/7813102642835222874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=7813102642835222874&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7813102642835222874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7813102642835222874'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/06/concurrency-and-coordination-runtime.html' title='Concurrency and coordination runtime'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-625292005634819691</id><published>2008-06-05T13:00:00.005+05:30</published><updated>2008-06-05T21:26:38.668+05:30</updated><title type='text'>Thread local storage leak in Compact CLR</title><content type='html'>Its pretty easy to use thread local storage on the CLR using the LocalDataStoreSlot and the Thread.Get/SetData methods. The unfortunate part is that the LocalDataStore is not freed after the thread dies .(LocalDataStore is essentially the per-thread data store which is created the first time something is set in the thread storage).&lt;br /&gt;&lt;br /&gt;This is a big issue as memory is short on devices and apps which use threadpool to process their work items (using TLS) will end up leaking a lot as thread pool keeps spawning/exiting threads based on load.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Update: this is an issue only with netcf 2.0, it has been fixed in netcf 3.5&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-625292005634819691?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/625292005634819691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=625292005634819691&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/625292005634819691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/625292005634819691'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/06/thread-local-storage-leak-in-compact.html' title='Thread local storage leak in Compact CLR'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-4962674117196940588</id><published>2008-06-02T10:56:00.003+05:30</published><updated>2008-06-02T10:57:45.131+05:30</updated><title type='text'>Generators in python</title><content type='html'>Once in a while I used generators as a simpler way of writing an iterator. I did not realize how cool and powerful generators and generator expressions they were till I read this : &lt;a href="http://www.dabeaz.com/generators/Generators.pdf"&gt;http://www.dabeaz.com/generators/Generators.pdf&lt;/a&gt; - do read it, it will be worth your time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-4962674117196940588?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/4962674117196940588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=4962674117196940588&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/4962674117196940588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/4962674117196940588'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/06/generators-in-python.html' title='Generators in python'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-7036228976496702208</id><published>2008-04-24T16:09:00.002+05:30</published><updated>2008-04-24T16:13:05.138+05:30</updated><title type='text'>Archetype</title><content type='html'>Its surprising how often you encounter a new word and you find everyone around you using it. Was reading about Jung and archetypes recently and suddenly I find many people using this word in  research paper titles and even in company meetings!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-7036228976496702208?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/7036228976496702208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=7036228976496702208&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7036228976496702208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7036228976496702208'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/04/archetype.html' title='Archetype'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-240863371488616140</id><published>2008-04-18T15:00:00.002+05:30</published><updated>2008-04-18T15:11:17.957+05:30</updated><title type='text'>Pangea day</title><content type='html'>I fully buy the idea that the world needs more of the "we are one" message and this is a great start:  &lt;a href="http://www.pangeaday.org/"&gt;http://www.pangeaday.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The talk that started this: &lt;span style=""&gt;&lt;span class="a"&gt;&lt;a href="http://www.ted.com/index.php/talks/view/id/55"&gt;www.ted.com/index.php/talks/view/id/55&lt;/a&gt; . I thought this was too fluffy till I watched the video.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-240863371488616140?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/240863371488616140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=240863371488616140&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/240863371488616140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/240863371488616140'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/04/pangea-day.html' title='Pangea day'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-8908443424615277516</id><published>2008-03-03T16:01:00.001+05:30</published><updated>2008-03-03T16:05:30.617+05:30</updated><title type='text'>Visual Studio Tip</title><content type='html'>&lt;p&gt;Most people don't know that devenv can be made to play well with command line automation/test run debugging. Lets say you run your test suites using the following command:&lt;/p&gt;  &lt;table width="201" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="199"&gt;&lt;b&gt;&lt;span style="color: rgb(0,0,160)"&gt;E:\temp&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;i&gt;&lt;span style="color: rgb(164,0,0)"&gt;&amp;lt;testexe&amp;gt; &amp;lt;args&amp;gt;&lt;/span&gt;&lt;/i&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;If a particular test fails one way out would be to open the project file corresponding to the failed test and then modify its Debug -&amp;gt; Launch properties and do an F5 after setting up the right paths and working directory. I usually find this tedious on big projects, so this shortcut comes in handy:&lt;/p&gt;  &lt;table width="427" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="425"&gt;&lt;b&gt;&lt;span style="color: rgb(0,0,160)"&gt;E:\temp&amp;gt;&amp;lt;vsinstall-dir&amp;gt;\VC\vcvarsall.bat x86 &lt;/span&gt;&lt;/b&gt;          &lt;br /&gt; Setting environment for using Microsoft Visual Studio 2005 x86 tools.&amp;#160; &lt;br /&gt; &lt;b&gt;&lt;span style="color: rgb(0,0,160)"&gt;E:\temp&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;i&gt;&lt;span style="color: rgb(164,0,0)"&gt;devenv /debugexe &amp;lt;testexe&amp;gt; &amp;lt;args&amp;gt;&lt;/span&gt;&lt;/i&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;I usually have a batch file for the first step. devenv setups a nice project with the right working directory and the launch exe etc. All you have to do is load the appropriate code file, put a break point, and F5 to debug your code!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-8908443424615277516?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/8908443424615277516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=8908443424615277516&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8908443424615277516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8908443424615277516'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/03/visual-studio-tip.html' title='Visual Studio Tip'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-8313934741990484378</id><published>2008-02-11T12:07:00.001+05:30</published><updated>2008-02-13T10:41:18.028+05:30</updated><title type='text'>Startups revisited.</title><content type='html'>Long time back I wrote a post on startups. Recently a couple of friends left the company to do their own thing again. So I thought this was a good time to look back and see how everyone's doing [This is incomplete, will update this as and when i get info].&lt;br /&gt;&lt;br /&gt;New ones:&lt;br /&gt;&lt;a href="http://www.apunkadialogue.com/"&gt;&lt;br /&gt;http://www.apunkadialogue.com&lt;/a&gt; - Amit was one of the most ambitious and talented fellows i have ever worked with. I could not make much out of the site, but what the heck, I don't understand any of the other Gen Y stuff either :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.s3edge.com/"&gt;http://www.s3edge.com&lt;/a&gt;  - Started by a couple of my ex-colleagues Abhishek and Venkatesh. They were so thrilled by the by the product that we have built (Microsoft Biztalk RFID) that they left the company to build solutions on top of it :)!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Companies still running:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.carwale.com/"&gt;http://www.carwale.com&lt;/a&gt; - This is doing great and in fact &lt;strong&gt;BusinessWeek&lt;/strong&gt; has recognized Arun as one of the &lt;strong&gt;top 25 entrepreneurs &lt;/strong&gt;in the Asian continent (&lt;a href="http://www.carwale.com/blog/carwale-misc/243-carwales-co-founder-makes-it-to-the-top-25-entrepreneurs-list/"&gt;blog link&lt;/a&gt;) ! This is cool stuff !!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.quillpad.com/"&gt;http://www.quillpad.com&lt;/a&gt; - Rampi and KS keep churning out something or the other and this turned out to be a huge hit for them. It is easily the best transliteration tool out there!&lt;br /&gt;&lt;br /&gt;Companies no longer running:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-8313934741990484378?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/8313934741990484378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=8313934741990484378&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8313934741990484378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8313934741990484378'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/02/startups-revisited.html' title='Startups revisited.'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-7339902364108936126</id><published>2008-01-31T10:07:00.000+05:30</published><updated>2008-01-31T10:29:07.794+05:30</updated><title type='text'>Trick question - 1</title><content type='html'>Your customer says that none of their log files show any errors, so it must be the frameworks problem. What should be the first thing to ask ?&lt;br /&gt;&lt;br /&gt;Answer: Do they actually log their errors to the logfiles or does the code just swallow them? :). This might seem funny, but i learnt it the hard way!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-7339902364108936126?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/7339902364108936126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=7339902364108936126&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7339902364108936126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7339902364108936126'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/01/trick-question-1.html' title='Trick question - 1'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-7746092943382100632</id><published>2008-01-29T09:53:00.000+05:30</published><updated>2008-01-29T14:52:04.276+05:30</updated><title type='text'>Seth books</title><content type='html'>Recently came across the seth books and felt intrigued by the way they have been written. After reading some excerpts on amazon, I ordered a couple of them: &lt;a href="http://www.amazon.com/Seth-Speaks-Eternal-Validity-Soul/dp/1878424076"&gt;Seth Speaks&lt;/a&gt; and &lt;a href="http://www.amazon.com/Nature-Personal-Reality-Practical-Techniques/dp/1878424068"&gt;The Nature of Personal Reality&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;They are a fascinating read (still reading the second one) and they deal with nature of religion, beliefs, nature of the conscious mind  and how personal beliefs (not just the religious ones) affect individual reality in a very deep way.&lt;br /&gt;&lt;br /&gt;If you are not too religious, and are open to considering view points different from yours about life (and death), you owe it to yourself to read these books!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-7746092943382100632?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/7746092943382100632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=7746092943382100632&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7746092943382100632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7746092943382100632'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2008/01/seth-books.html' title='Seth books'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-6705580182620386513</id><published>2007-10-22T14:55:00.000+05:30</published><updated>2007-10-22T17:03:45.701+05:30</updated><title type='text'>Something different...</title><content type='html'>A few years back, when i was fresh in the industry,  I used to read up a fair amount on "Personal Productivity" and "Effectiveness".   Some of the articles that were useful to me were written by a person named "Steve Pavlina"  who used to run a games site.&lt;br /&gt;&lt;br /&gt;I did a search for those articles again a few weeks back and I found that he has quit games and moved on to have his own personal development website  &lt;a href="http://www.stevepavlina.com/"&gt;http://www.stevepavlina.com.&lt;/a&gt;  and&lt;a href="http://www.stevepavlina.com/blog/"&gt; http://www.stevepavlina.com/blog/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Spent sometime reading it up and what I find different about this person is his hands on approach to everything that he tries. If something is not dangerous and worth knowing about then he tries it out on himself for a few months and writes about his conclusions (polyphasic sleep, living without a microwave, manifesting money through intention! ... ) .&lt;br /&gt;&lt;br /&gt;He is pretty comfortable writing his point of view and experience about things that are usually considered bizzare (paranormal).&lt;br /&gt;&lt;br /&gt;Definitely worth a read. Be prepared for something unconventional and ask yourself why you feel uncomfortable if you do !&lt;br /&gt;&lt;br /&gt;I always remind myself that whats "rational" today was not rational a few centuries back and what will be "rational" a few decades from now may not be considered rational today.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-6705580182620386513?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/6705580182620386513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=6705580182620386513&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/6705580182620386513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/6705580182620386513'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/10/something-different.html' title='Something different...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-3927018414381113987</id><published>2007-10-17T15:12:00.000+05:30</published><updated>2007-10-17T15:54:24.669+05:30</updated><title type='text'>One laptop per child..</title><content type='html'>I was impressed by what these folks set out to do and wondered if they could pull it off.  Creating such a cool laptop for less than $200 is something admirable. Looks like they are in mass production now.&lt;br /&gt;&lt;br /&gt;This is a project worth reading about: &lt;a href="http://laptop.org/en/laptop/"&gt;http://laptop.org/en/laptop/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The ted video that talks about this:&lt;br /&gt;&lt;br /&gt;&lt;!--cut and paste--&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="VE_Player" align="middle" height="285" width="320"&gt;&lt;param name="movie" value="http://static.videoegg.com/ted/flash/loader.swf"&gt;&lt;param name="FlashVars" value="bgColor=FFFFFF&amp;amp;file=http://static.videoegg.com/ted/movies/NICHOLASNEGROPONTE_high.flv&amp;amp;autoPlay=false&amp;amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;amp;forcePlay=false&amp;amp;logo=&amp;amp;allowFullscreen=true"&gt;&lt;param name="quality" value="high"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="scale" value="noscale"&gt;&lt;param name="wmode" value="window"&gt;&lt;embed src="http://static.videoegg.com/ted/flash/loader.swf" flashvars="bgColor=FFFFFF&amp;amp;file=http://static.videoegg.com/ted/movies/NICHOLASNEGROPONTE_high.flv&amp;amp;autoPlay=false&amp;amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;amp;forcePlay=false&amp;amp;logo=&amp;amp;allowFullscreen=true" quality="high" allowscriptaccess="always" bgcolor="#FFFFFF" scale="noscale" wmode="window" name="VE_Player" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" height="285" width="320"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-3927018414381113987?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/3927018414381113987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=3927018414381113987&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3927018414381113987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3927018414381113987'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/10/one-laptop-per-child.html' title='One laptop per child..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-8154859850697041452</id><published>2007-09-20T12:05:00.000+05:30</published><updated>2007-09-20T12:17:22.497+05:30</updated><title type='text'>Interviews...</title><content type='html'>I usually feel that technical interviewing is, for the most part, random (&lt;a href="http://skalyan.blogspot.com/2007_05_01_archive.html"&gt;old post&lt;/a&gt;). It is cool that some teams are not only aware of this but do interviewing differently to take care of this.&lt;br /&gt;&lt;br /&gt;See how the mono team hires :&lt;br /&gt;&lt;a href="http://tirania.org/blog/"&gt;http://tirania.org/blog&lt;/a&gt;  (search for sample interviews)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A resume, plus an interview when you ask the candidate to "implement XX on the  whiteboard" and some trick questions have too many problems which are probably  worth discussing some other day. In my experience these kinds of interviews that  have been popularized in the industry are bad. They evaluate developers on all  the wrong dimensions that you need to produce software. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Coming up with what makes sense for each specific group/team takes effort, but who said keeping things real is easy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-8154859850697041452?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/8154859850697041452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=8154859850697041452&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8154859850697041452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8154859850697041452'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/09/interviews.html' title='Interviews...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-6825982248409851662</id><published>2007-09-14T14:23:00.000+05:30</published><updated>2007-09-14T14:35:01.824+05:30</updated><title type='text'>Demotivational posters...</title><content type='html'>Pretty hilarious ones. Some are pretty close to reality :) :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.despair.com/viewall.html"&gt;http://www.despair.com/viewall.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Because, in our world of instant gratification, people desperately want to believe that there are simple solutions to complex problems. And when desperation has disposable income, market opportunities abound.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;AT DESPAIR, INC., we believe motivational products create unrealistic expectations, raising hopes only to dash them. That's why we created our soul-crushingly depressing Demotivators® designs, so you can skip the delusions that motivational products induce and head straight for the disappointments that follow!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.despair.com/viewall.html"&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&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/6513356-6825982248409851662?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/6825982248409851662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=6825982248409851662&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/6825982248409851662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/6825982248409851662'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/09/demotivational-posters.html' title='Demotivational posters...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-315187026142248386</id><published>2007-06-20T14:32:00.001+05:30</published><updated>2007-06-20T14:43:41.096+05:30</updated><title type='text'>Getting through JEE</title><content type='html'>Even though it is more than 10 years since I wrote JEE, even today i get questions like "how do you prepare for JEE", "give me some tips/guidance for effective study" etc. Since it is such a long time i no longer remember the main things that i did/strategies that i used to prepare etc. So I have to resort to generic bullshit like:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Work systematically to cover everything&lt;/li&gt;&lt;li&gt;Write a lot of state/country level tests&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Do what you like, don't try to get through JEE and into engineering just bcos there is peer pressure.&lt;/li&gt;&lt;li&gt;Plan well, experiment and find out what works best for you etc etc&lt;/li&gt;&lt;/ol&gt;If someone had asked me the same question when i was studying, i would probably have had a million specific things that i used for preparing. Once you are through you usually forget what actually contributed to that and start resorting to obvious things like the above...&lt;br /&gt;&lt;br /&gt;If I had a (b)log of what all i did back then, I am sure it would have been valuable now.  If we had similar logs for say the top 100 ppl in their respective fields (say ppl who start startups, ppl who had significant social impact, ppl who invent things...) I wonder what we will learn from their logs rather than from listening to what they have to say about how they did it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-315187026142248386?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/315187026142248386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=315187026142248386&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/315187026142248386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/315187026142248386'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/06/getting-through-jee.html' title='Getting through JEE'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-3553490950566615322</id><published>2007-06-15T11:39:00.000+05:30</published><updated>2007-06-19T13:00:15.037+05:30</updated><title type='text'>7 years at work</title><content type='html'>&lt;div&gt; &lt;/div&gt;Does not seem like such a long time after all :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-3553490950566615322?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/3553490950566615322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=3553490950566615322&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3553490950566615322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/3553490950566615322'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/06/7-years-at-work.html' title='7 years at work'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-1594728445423696045</id><published>2007-06-15T11:08:00.000+05:30</published><updated>2007-06-15T11:21:20.303+05:30</updated><title type='text'>Wishful thinking</title><content type='html'>One of the favorite methods of solving tough situations in our industry is "wishful thinking" :). It is surprising how often even otherwise sane people will say stuff like "Oh, we should ship faster and be more agile, maybe we should follow scrum" !!&lt;br /&gt;&lt;br /&gt;How will you know something will solve your problem if you are not even sure what your problem is:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Is it lack of specs and vision? Maybe you really never specified what you wanted to do, so all sorts of random things are getting done?&lt;/li&gt;&lt;li&gt;Scope - did you scope the project so that it has a chance of getting done on time with the resources you have?&lt;/li&gt;&lt;li&gt;Talent - do you have a bunch of asp.net programmers trying to write kernel code or vice versa :)&lt;/li&gt;&lt;li&gt;Managing change - did new things happen to which you have to react? &lt;/li&gt;&lt;li&gt;Learning from mistakes - did you ever have a honest post mortem? Did you learn something from it?&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;How the heck will any of the above problems get solved by following a different process or by asking for status mails more frequently? &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-1594728445423696045?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/1594728445423696045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=1594728445423696045&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/1594728445423696045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/1594728445423696045'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/06/wishful-thinking.html' title='Wishful thinking'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-479482576657581431</id><published>2007-06-01T09:42:00.001+05:30</published><updated>2007-06-01T09:47:36.802+05:30</updated><title type='text'>Error handling</title><content type='html'>Imagine you are building an application/sdk. Let us say every time an error happens in your app/sdk you give the following helpful error: "An error has occurred at sometime due to unknown reason" and give guidelines  that  if an end user should see this kind of an error they should enable tracing in their application config and restart their application and repro the problem again so that they get more useful errors in "traces".&lt;br /&gt;&lt;br /&gt;What  should be the reaction of your customer?&lt;br /&gt;Right! they should come and kick your ass :)&lt;br /&gt;&lt;br /&gt;As tragic as this seems, this seems to be the default error handling strategy of one of the "change the world" platforms!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-479482576657581431?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/479482576657581431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=479482576657581431&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/479482576657581431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/479482576657581431'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/06/error-handling.html' title='Error handling'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-8487061749107706767</id><published>2007-05-31T10:45:00.000+05:30</published><updated>2007-05-31T11:14:55.967+05:30</updated><title type='text'>Technical interviewing</title><content type='html'>Here are a couple of  mental exercises which I usually dislike doing. I hope you dislike these too :)&lt;br /&gt;&lt;br /&gt;Part 1:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Come up with all the work related tasks that you have to do in a usual week at work.&lt;/li&gt;&lt;li&gt;What contributes to your bottlenecks?&lt;/li&gt;&lt;li&gt;What skills would be useful to have for someone to do your job?&lt;/li&gt;&lt;/ol&gt;Part 2:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Come up with the list of questions that are usually asked for a person interviewing for your job.&lt;/li&gt;&lt;li&gt;Think of the number of times the "skills" tested for in above are useful on the job in the last 6 months.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;How related are part 1 and part 2?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-8487061749107706767?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/8487061749107706767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=8487061749107706767&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8487061749107706767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8487061749107706767'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/05/technical-interviewing.html' title='Technical interviewing'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-5787880536030444190</id><published>2007-05-18T10:00:00.000+05:30</published><updated>2007-05-18T10:21:23.133+05:30</updated><title type='text'>Grokking homeopathy</title><content type='html'>It is very common in India (probably elsewhere too) for any random person to read up some books and start prescribing for family and friends. This causes quite a few a misconceptions:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;It does not work or works very slowly.&lt;/li&gt;&lt;li&gt;It has to cause an aggravation before you get cured (belief held by most doctors with homeopathic medical degrees too - great commentary on state of education, just like in most other fields).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Taking random medicines is harmless to the cure.&lt;/li&gt;&lt;/ol&gt;Recently Dr Luc has started blogging about homeopathy for the public. It is worth reading through the blog to get an understanding of this cool healing modality and to know if you are really talking to a competent homeopath (see &lt;a href="http://www.drluc.com/homeopathy-select.htm"&gt;choosing a homeopath&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;blog url: &lt;a href="http://drluc.blogspot.com/"&gt;http://drluc.blogspot.com/&lt;/a&gt;&lt;br /&gt;website:&lt;a href="http://www.drluc.com/"&gt; http://www.drluc.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-5787880536030444190?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/5787880536030444190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=5787880536030444190&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/5787880536030444190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/5787880536030444190'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/05/grokking-homeopathy.html' title='Grokking homeopathy'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-4069648045353487190</id><published>2007-05-03T10:17:00.000+05:30</published><updated>2007-05-03T10:32:27.752+05:30</updated><title type='text'>XmlSerializer wierdness</title><content type='html'>Using XmlSerializer for transport purposes is in general a bad idea. "Ahead of the curve" teams in the industry who believe in using every new thing that comes out usually get caught in these landmines :).&lt;br /&gt;&lt;br /&gt;There are a few reasons for this&lt;br /&gt;&lt;ol&gt;&lt;li&gt;You need to expose every field that you want serialized as a public property/field. What a joy to that your object model does not hide anything ;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;XmlSerializer does not work for Dictionaries (who would have a dictionary in their api?)&lt;/li&gt;&lt;li&gt;XmlSerializer does not work for List of lists and some such (rare, but u will sometimes run into this landmine if you try to solve 2 creatively).&lt;/li&gt;&lt;li&gt;You can leak a few &lt;span style="font-weight: bold;"&gt;dlls&lt;/span&gt; (and due to way windows virtual memory works, you will lose atleast 64k of virtual space for every dll) on every serialization attempt if you are not careful (blogged about his before)&lt;/li&gt;&lt;li&gt;Many useful framework classes are not xml serializable (e.g. Regex)&lt;/li&gt;&lt;/ol&gt;Now that we are fairly convinced that it is a bad idea to use xml serializer for transport, we will decide that it is the right choice for configuration files... more about this in future blogs :)&lt;br /&gt;&lt;br /&gt;BTW, the DataContractSerializer with dotnet 3.0 solves all these problems and it is an infinitely better beast.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-4069648045353487190?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/4069648045353487190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=4069648045353487190&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/4069648045353487190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/4069648045353487190'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/05/xmlserializer-wierdness.html' title='XmlSerializer wierdness'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-2466853234567610579</id><published>2007-04-25T10:21:00.000+05:30</published><updated>2007-04-25T10:52:16.719+05:30</updated><title type='text'>Big company tax</title><content type='html'>People often wonder why it takes so long for a big company to ship, when a smaller one with much less resources can ship much faster. Is it because big companies hire incompetent people, dont know how to write software or run projects?&lt;br /&gt;&lt;br /&gt;From what i have seen, the same software (say a messenger) will take much longer for a big company for the simple reason that much more has to be done to ship software, it is not done when the features are done and tested. Some of the things that small company folks never even think about:&lt;ol&gt;&lt;li&gt;Clustering support&lt;/li&gt;&lt;li&gt;Security reviews&lt;/li&gt;&lt;li&gt;Windows Logo compliance (client and server if you have both)&lt;/li&gt;&lt;li&gt;Legalese and trademark stuff. Oh, you are shipping a sample/demo code called "CatDemo"?? Legal wont approve, so go change all your samples and tests which use it to call it "DogDemo".&lt;/li&gt;&lt;li&gt;Localization support, Does your software support turkish?&lt;/li&gt;&lt;li&gt;Playing well with other products that the company ships. Oh, you mean you do not have an integration story with Office??&lt;/li&gt;&lt;li&gt;Branding and ship vehicles. You are too small, so we will ship you with ProductLarge, so now lets make sure that we have an setup integration story with ProductLarge&lt;/li&gt;&lt;li&gt;Run the million code analysis tools and do a superficial supress of all the crappy warnings that it generates? We dont trust your tests/perf tests to do a good job, we will warn you that you have a performance problem if you do  a string catenation&lt;br /&gt;&lt;/li&gt;&lt;li&gt;And btw, the next version of OS is shipping while you do this, so please make sure that you run on that too...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;and on and on ....&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;I think doing some of the above results in real $$ (clustering, loc etc), others are just the tax that smaller companies don't see as no one ever bothers to hack their code or sue them for some violation. And not doing it is not an option either[what do you mean, you wont support Vista :) ]&lt;br /&gt;&lt;br /&gt;So net effect is that if you 100 hours of usual software work, you have around 200 or more hours of process work.  Depending on competency of the folks who run the project, these things will be on radar right from start or turn up as surprises right at the end =&gt; more slips and chaos at the end.&lt;br /&gt;&lt;br /&gt;This makes it frustrating for a developer at times, but the upside is that you get to work on stuff which small companies can never do [Database, OS, Servers, CLR etc] and have a corresponding larger reach .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-2466853234567610579?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/2466853234567610579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=2466853234567610579&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/2466853234567610579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/2466853234567610579'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/04/big-company-tax.html' title='Big company tax'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-9000850676909425582</id><published>2007-04-16T11:33:00.000+05:30</published><updated>2007-04-16T11:52:59.046+05:30</updated><title type='text'>Doing less...</title><content type='html'>I remember an interesting question about some of the microsoft products - how do they load up so fast. The response by a senior guy was unexpected and insightful... "Do less during load, it turns out you can do nothing very fast!"&lt;br /&gt;&lt;br /&gt;Not surprisingly, the same attitude - doing less - can be taken to shorten release cycles, improve quality, ship with less resources, have a more balanced life,  get time to explore a new field etc.&lt;br /&gt;&lt;br /&gt;How many individuals/teams get this right?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-9000850676909425582?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/9000850676909425582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=9000850676909425582&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/9000850676909425582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/9000850676909425582'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/04/doing-less.html' title='Doing less...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-5270442119743799624</id><published>2007-04-05T10:52:00.000+05:30</published><updated>2007-04-05T11:01:02.355+05:30</updated><title type='text'>Mobile devices....</title><content type='html'>One of the cool things about working for a big company like M$  is the breadth of work that you can choose from (there are many uncool things as well and i don't have to mention them :) ).&lt;br /&gt;&lt;br /&gt;Last 2 years i worked on the rfid platform for windows. As we go to the next version planning, i am pleasantly surprised by the changes that can happen to my work even without moving teams - we want to do rfid for mobile, rfid for for windows natively etc.. =&gt; we get to work on development for mobile devices, on user mode drivers for windows, on the activation services stuff for Longhorn Server etc. all in the same team.&lt;br /&gt;&lt;br /&gt;Due to this work change, i think my blogs are going to take a mobile flavor going forward.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-5270442119743799624?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/5270442119743799624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=5270442119743799624&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/5270442119743799624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/5270442119743799624'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/04/mobile-devices.html' title='Mobile devices....'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-2821208668218068677</id><published>2007-03-05T10:43:00.000+05:30</published><updated>2007-03-05T11:33:52.809+05:30</updated><title type='text'>Water heals?</title><content type='html'>Came across this interesting site recently  &lt;a href="http://www.newstarget.com/"&gt;www.newstarget.com.&lt;/a&gt; It has interesting articles on how fucked up current medical institutions are (esp in america). India seems to be slightly lagging which came as a big shock to me :); I am sure we will catch up soon.&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;&lt;a href="http://www.newstarget.com/020001.html"&gt;Does the state own your body?&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.newstarget.com/019852.html"&gt;The Abraham Cherrix cancer story the media won't print&lt;/a&gt;&lt;br /&gt;  &lt;/li&gt; &lt;/ol&gt; I found something suprising and useful information about water (please dont dismiss this as some random crap before reading :) ):&lt;br /&gt;&lt;ol&gt;   &lt;li&gt; &lt;a href="http://www.newstarget.com/003202.html"&gt;Healing with water&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.phenomenews.com/nov2005/0a.htm"&gt;Interview with Dr B&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="www.watercure.com"&gt;Dr B's site&lt;/a&gt;&lt;br /&gt;  &lt;/li&gt; &lt;/ol&gt; I usually drink less than a 1 litre of water a day, so tried fixing it by keeping a bottle nearby and drinking every so often. You actually feel pretty good physically when you have sufficient water in your body! If you have friends who have asthma, please try out and see what happens.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-2821208668218068677?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/2821208668218068677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=2821208668218068677&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/2821208668218068677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/2821208668218068677'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/03/water-heals.html' title='Water heals?'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-7930292556540935069</id><published>2007-02-28T10:22:00.000+05:30</published><updated>2007-02-28T10:47:47.192+05:30</updated><title type='text'>Definition of health</title><content type='html'>Having gone through a rough one year in terms of family health, I must say i am disgusted with the current state of doctors, their concern (lack of) for patients and medicine around here.&lt;br /&gt;&lt;br /&gt;Hospitals are no longer a place where you go to get your heatlh back. It is more like a grey area with shady business practices (ah - the joys of insurance!) where you go to get abused and probably come back feeling sicker than you went in.&lt;br /&gt;&lt;br /&gt;For all claims of advancement, i strongly believe that most of our doctors (or is it the medical science itself?) dont have passable competence or knowledge in handling human health.&lt;br /&gt;&lt;br /&gt;Try finding out what causes hyperemesis, or eczema or whats a reasonable cure for sciatica...? It is not surprising that once popular conventional methods fail, people try alternatives (how long can you take painkillers and sedatives and hope that you get better).&lt;br /&gt;&lt;br /&gt;Again find a good doctor in the alternate field is just as hard..... I hope that these systems get more attention than they currently have. For e.g. acupuncture does a lot of good for sciatica cases (still in process of trying it out - so far results are pretty impressive), homeopathy is great for chronic cases (personal experience with my back ache) etc..&lt;br /&gt;&lt;br /&gt;What we probably need is a site where people can share their experiences - i went to X hospital, Dr. Y is incompetent, the hospital ripped me for insurance money. Went to Dr X with disease Z and got healed in 3 months.&lt;br /&gt;&lt;br /&gt;Vithoulkas has  a great site on homeopathy, and I find his views pretty human. &lt;a href="http://www.vithoulkas.com"&gt;The site&lt;/a&gt; is worth visiting. Read about his views on &lt;a href="http://www.vithoulkas.com/EN/definition_measure_health.html"&gt;definition of health too..   &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-7930292556540935069?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/7930292556540935069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=7930292556540935069&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7930292556540935069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/7930292556540935069'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/02/definition-of-health.html' title='Definition of health'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-8358798502190476617</id><published>2007-02-23T12:10:00.000+05:30</published><updated>2007-02-23T12:14:36.755+05:30</updated><title type='text'>Process Monitor...</title><content type='html'>This new tool is worth its bytes in gold. Has already come in handy for me many times. It is a huge upgrade from filemon/procmon. Ability to track short lived processes, logging, better filtering...&lt;br /&gt;&lt;br /&gt;Check out the authors video: &lt;a href="http://www.microsoft.com/emea/itsshowtime/sessionh.aspx?videoid=346"&gt;using proc mon&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Get the tool &lt;a href="http://www.microsoft.com/technet/sysinternals/utilities/processmonitor.mspx"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-8358798502190476617?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/8358798502190476617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=8358798502190476617&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8358798502190476617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8358798502190476617'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/02/process-monitor.html' title='Process Monitor...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-5489001792054611455</id><published>2007-02-22T13:33:00.000+05:30</published><updated>2007-02-22T14:16:42.621+05:30</updated><title type='text'>Quillpad...</title><content type='html'>This is a cool transliteration website built by &lt;a href="http://tachyon.in/index.html"&gt;rampi&amp;Co&lt;/a&gt;. It is pretty intuitive to use, you just type in whatever seems phonetically right to you and it automatically converts it to the language that you choose.&lt;br /&gt;&lt;br /&gt;No more mix of capitals and smalls, artificial repetition of a's to get your words transliterated. If you are used to other transliteration tools, this could be confusing, forget your habits and try to write naturally.  This promises to be a great tool for the indian market.&lt;br /&gt;&lt;br /&gt;For eg. type iroju nenu chala santoshamuga unnanu   and it converts it as you would expect. Try it out and give feedback to them: &lt;a href="http://www.quillpad.com"&gt;quillpad&lt;/a&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&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/6513356-5489001792054611455?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/5489001792054611455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=5489001792054611455&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/5489001792054611455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/5489001792054611455'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/02/quillpad.html' title='Quillpad...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-8377031793454283736</id><published>2007-02-21T10:13:00.000+05:30</published><updated>2007-02-21T10:25:46.342+05:30</updated><title type='text'>Ted talks...</title><content type='html'>These days, whenever I go to a talk/meeting, I see these features:&lt;br /&gt;&lt;ol&gt; &lt;li&gt;They are completely unprepared.&lt;/li&gt;&lt;li&gt;Don't respect the audience's time - "hey, i am on the stage" kind of talks.&lt;br /&gt;  &lt;/li&gt;&lt;li&gt;Have no theme or decision to convey.&lt;/li&gt;&lt;li&gt;Randomly ramble or use keywords till you get irritated.&lt;br /&gt;  &lt;/li&gt; &lt;/ol&gt; So naturally I am pretty happy to find some talks which violate all of these guidelines. These are among the best talks I have ever listened to. Wide range of speakers and it suprising how much they can convey in half hour.  Here's the &lt;a href="http://www.ted.com/tedtalks"&gt;Ted talks link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-8377031793454283736?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/8377031793454283736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=8377031793454283736&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8377031793454283736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/8377031793454283736'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/02/ted-talks.html' title='Ted talks...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-117127299648987944</id><published>2007-02-12T15:00:00.000+05:30</published><updated>2007-02-12T15:06:36.500+05:30</updated><title type='text'>I am back ...</title><content type='html'>The picture below explains why there were no posts from me&lt;br /&gt;for a long time :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/5882/354/1600/67728/Picture%20092.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger/5882/354/320/647068/Picture%20092.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-117127299648987944?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/117127299648987944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=117127299648987944&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/117127299648987944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/117127299648987944'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2007/02/i-am-back.html' title='I am back ...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-114405887489023846</id><published>2006-04-03T15:32:00.000+05:30</published><updated>2006-04-03T15:39:23.710+05:30</updated><title type='text'>Multithreading is hard...</title><content type='html'>Getting multithreaded apps right is pretty hard and get it right in dotnet is no exception. Found these links helpful to track down bugs which repro'ed once in a week or two under stress (on multiproc machines).&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;&lt;a href="http://discuss.develop.com/archives/wa.exe?A2=ind0203a&amp;L=dotnet&amp;amp;amp;D=0&amp;T=0&amp;amp;P=53182"&gt;http://discuss.develop.com/archives/wa.exe?A2=ind0203a&amp;L=dotnet&amp;amp;amp;D=0&amp;T=0&amp;amp;P=53182&lt;/a&gt; &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.javaworld.com/javaworld/jw-02-2001/jw-0209-toolbox_p.html"&gt;http://www.javaworld.com/javaworld/jw-02-2001/jw-0209-toolbox_p.html     &lt;/a&gt;-&gt; Explains with java but explains the notion of a memory barrier well. &lt;/li&gt;   &lt;li&gt;&lt;a href="http://discuss.develop.com/archives/wa.exe?A2=ind0203B&amp;L=DOTNET&amp;amp;P=R375"&gt;http://discuss.develop.com/archives/wa.exe?A2=ind0203B&amp;L=DOTNET&amp;amp;P=R375&lt;/a&gt; &lt;/li&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/10/MemoryModels/default.aspx"&gt;http://msdn.microsoft.com/msdnmag/issues/05/10/MemoryModels/default.aspx&lt;/a&gt; &lt;/li&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/08/Concurrency/"&gt;http://msdn.microsoft.com/msdnmag/issues/05/08/Concurrency/&lt;/a&gt; &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.ecma-international.org/publications/standards/Ecma-335.htm"&gt;http://www.ecma-international.org/publications/standards/Ecma-335.htm&lt;/a&gt; -&gt; The ecma spec on the memory model &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.yoda.arachsys.com/csharp/threads/resources.shtml"&gt;http://www.yoda.arachsys.com/csharp/threads/resources.shtml&lt;/a&gt; &lt;/li&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/cbrumme/archive/2003/05/17/51445.aspx"&gt;http://blogs.msdn.com/cbrumme/archive/2003/05/17/51445.aspx&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  If these articles don’t give you a headache, probably nothing will :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-114405887489023846?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/114405887489023846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=114405887489023846&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/114405887489023846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/114405887489023846'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2006/04/multithreading-is-hard.html' title='Multithreading is hard...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-113922248270289392</id><published>2006-02-06T16:04:00.000+05:30</published><updated>2006-02-06T16:11:41.996+05:30</updated><title type='text'>Leaking an assembly everytime you create an object</title><content type='html'>One would think that it is very hard thing to dynamically create assemblies, load them and leak them. Not to worry, dotnet makes it easy for you via the XmlSerializer class :).&lt;br /&gt;&lt;br /&gt;Except for a couple of constructors, all of them leak an assembly per XmlSerializer object class created (which would normally be more or less every time you serialize/deser in ur WS layer)&lt;br /&gt;&lt;br /&gt;More info&lt;a href="http://msdn2.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx"&gt; over here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;To increase performance,&lt;/span&gt; the XML serialization infrastructure dynamically generates assemblies to serialize and deserialize specified types. The infrastructure finds and reuses those assemblies. This behavior &lt;/span&gt;occurs only&lt;span style="font-style: italic;"&gt; when using the following constructors:&lt;br /&gt;&lt;br /&gt;System.Xml.Serialization.XmlSerializer(Type)&lt;br /&gt;System.Xml.Serialization.XmlSerializer(Type,String)&lt;br /&gt;&lt;br /&gt;If you use any of the other constructors, multiple versions of the same assembly are generated and never unloaded, resulting in a memory leak and poor performance.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Moral of the story: Read msdn2 documentation.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-113922248270289392?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/113922248270289392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=113922248270289392&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113922248270289392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113922248270289392'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2006/02/leaking-assembly-everytime-you-create.html' title='Leaking an assembly everytime you create an object'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-113895486835232717</id><published>2006-02-03T13:46:00.000+05:30</published><updated>2006-02-03T13:51:08.363+05:30</updated><title type='text'>Interesting puzzles - 7</title><content type='html'>You have an building with N floors and 2 identical glass balls.  You can drop a ball from any floor. Determine minimum floor from which either of the balls will break in the least number of drop attempts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-113895486835232717?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/113895486835232717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=113895486835232717&amp;isPopup=true' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113895486835232717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113895486835232717'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2006/02/interesting-puzzles-7.html' title='Interesting puzzles - 7'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-113802529773429187</id><published>2006-01-24T19:36:00.000+05:30</published><updated>2006-01-24T15:07:12.916+05:30</updated><title type='text'>Architecture Handbook..</title><content type='html'>Something cool is brewing out here:  &lt;a href="http://www.booch.com/architecture/index.jsp"&gt;booch.com&lt;/a&gt; - an architecture handbook describing major  software systems around the world.&lt;br /&gt;&lt;br /&gt;(Need to go through a painless 4 field registration to see sections of the book).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-113802529773429187?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/113802529773429187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=113802529773429187&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113802529773429187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113802529773429187'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2006/01/architecture-handbook.html' title='Architecture Handbook..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-113799398698905713</id><published>2006-01-23T10:46:00.000+05:30</published><updated>2006-01-23T10:56:27.000+05:30</updated><title type='text'>Freakonomics...</title><content type='html'>Recently read this book (sample chapters: &lt;a href="http://www.freakonomics.com/chapter.php"&gt;freakonomics&lt;/a&gt;) and it was quite an interesting read. Worth checking out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-113799398698905713?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/113799398698905713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=113799398698905713&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113799398698905713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113799398698905713'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2006/01/freakonomics.html' title='Freakonomics...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-113768815074323879</id><published>2006-01-19T21:53:00.000+05:30</published><updated>2006-01-19T21:59:10.753+05:30</updated><title type='text'>Rediff coolness..</title><content type='html'>Rediff has this ultra cool feature where they delete your mailbox if you don't login for some stipulated period (30 or 45 days) . One would think they are playing fair when they tell you that they send you a warning mail that you are not accessing your mailbox and that you are on the borderline. The only hitch is that they send that mail to your inactive mail box and not to your alternate mail address!!&lt;br /&gt;&lt;br /&gt;Absolutely stupid... Time to store those mails elsewhere :)!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-113768815074323879?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/113768815074323879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=113768815074323879&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113768815074323879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113768815074323879'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2006/01/rediff-coolness.html' title='Rediff coolness..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112988448966019799</id><published>2006-01-03T15:59:00.000+05:30</published><updated>2006-01-03T15:54:05.930+05:30</updated><title type='text'>Understanding dotnet is easy ?</title><content type='html'>Quite often we all hear statements like "I know language X, how hard is it to learn a new technology, I can pick it up in a week". Sure, anyone can learn and write a hello world application in a few hours (sic) :), but building production applications even in a technology that you know is fairly hard. This is evident from the project overrun/failures that we see all around us (some of them have non-techy reasons for failing and they are ignored here ...).&lt;br /&gt;&lt;br /&gt;I would be surprised if anyone who was bitten by issues like &lt;a href="http://blogs.msdn.com/cbrumme/archive/2004/02/02/66219.aspx"&gt;this&lt;/a&gt; (Note: you dont need to use COM to get bitten :) ) or hangs due to thread aborts in the older versions of the CLR or subtle issues with statics and appdomains, or configuration files and appdomains or the really wierd behavior that you can experience with the &lt;a href="http://blogs.msdn.com/suzcook/"&gt;dotnet loader&lt;/a&gt; would make a statement like "I know Java, so dotnet will be a piece of cake !" or vice versa  :).&lt;br /&gt;&lt;br /&gt;There is a significant cost to learning a new technology well enough (even discounting the innumerable glitches that new technologies come with) to ship something and it is worth considering that cost before you jump on the platform du jour band wagon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112988448966019799?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112988448966019799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112988448966019799&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112988448966019799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112988448966019799'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2006/01/understanding-dotnet-is-easy.html' title='Understanding dotnet is easy ?'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-113620081645607433</id><published>2006-01-02T16:44:00.000+05:30</published><updated>2006-01-02T16:50:32.626+05:30</updated><title type='text'>reddy ka hai?</title><content type='html'>Heard that one of the MS guys recently went to get a gas connection. Hoping to score some brownie points, he mentioned that he works for Microsoft. The only response that the gas connection guy gave was "Reddy ka hai?". Not to be outdone, this fellow responds "Haan, B.G.Reddy" :)&lt;br /&gt;&lt;br /&gt;Working in the tech sector with its excess of news and information noise it often feels that we are the centre of the universe. Step out a bit and you realize you are not so important after all...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-113620081645607433?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/113620081645607433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=113620081645607433&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113620081645607433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113620081645607433'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2006/01/reddy-ka-hai.html' title='reddy ka hai?'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-113470986257924119</id><published>2005-12-16T10:37:00.000+05:30</published><updated>2005-12-16T10:41:02.586+05:30</updated><title type='text'>Back after long time..</title><content type='html'>Caught up in many things happening at work and personal life which explains the lull in blogging. Highlights of last 6 weeks:&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Hit an internal milestone at work&lt;/li&gt;   &lt;li&gt;Got married :)!&lt;br /&gt;  &lt;/li&gt; &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-113470986257924119?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/113470986257924119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=113470986257924119&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113470986257924119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113470986257924119'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/12/back-after-long-time.html' title='Back after long time..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-113073344918080430</id><published>2005-10-31T10:01:00.000+05:30</published><updated>2005-10-31T10:07:29.210+05:30</updated><title type='text'>Interesting puzzles - 6</title><content type='html'>Back to puzzles.&lt;br /&gt;&lt;br /&gt;A man is walking through a long railway tunnel and is 1/3 rd through when he hears the sound of a train approaching from far. As it turns out, he would have narrowly escaped from the train by continuing forward or going backward without changing his current speed. What is his speed if the train is moving at 20kmph.&lt;br /&gt;&lt;br /&gt;Try to solve this without using math equations and such. I think it was OP who clued me on these kind of problems in college :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-113073344918080430?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/113073344918080430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=113073344918080430&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113073344918080430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113073344918080430'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/10/interesting-puzzles-6.html' title='Interesting puzzles - 6'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-113015072553838536</id><published>2005-10-27T12:15:00.000+05:30</published><updated>2005-10-27T12:16:39.990+05:30</updated><title type='text'>slickrun is cool</title><content type='html'>This utility does to UI programs what&lt;a href="http://skalyan.blogspot.com/2005/07/customising-your-command-shell.html"&gt; aliases do to your cmd shell.&lt;/a&gt; I have been using it for a few weeks now and I must say  it is great.&lt;br /&gt;&lt;br /&gt;Check it out: &lt;a href="http://www.bayden.com/SlickRun/"&gt;SlickRun&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-113015072553838536?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/113015072553838536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=113015072553838536&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113015072553838536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113015072553838536'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/10/slickrun-is-cool.html' title='slickrun is cool'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-113015074624355124</id><published>2005-10-26T09:15:00.000+05:30</published><updated>2005-10-26T11:13:47.880+05:30</updated><title type='text'>Uninstalling a product from command line.</title><content type='html'>It is surprising that once you install a program, the only way to remove it is through the add-remove programs unless you have access to the msi that installed it. There is no builtin command line equivalent and this becomes a pain when u r repeatedly installing successive builds of the same product. Luckily, the info required is exposed through WMI and python has hooks into the same (Tested only on xp-sp2. Your mileage may vary...):&lt;pre&gt;&lt;br /&gt;import win32com.client&lt;br /&gt;import os&lt;br /&gt;&lt;br /&gt;def GetWMI(comp, namespace):&lt;br /&gt;   comObj = win32com.client.Dispatch("WbemScripting.SWbemLocator")&lt;br /&gt;   return comObj.ConnectServer(comp,namespace)&lt;br /&gt;&lt;br /&gt;def GetProductId(productName):&lt;br /&gt;   wmi = GetWMI(".", r"root\cimv2")&lt;br /&gt;   prods = wmi.ExecQuery("Select * from Win32_Product where Name='%(productName)s'"%vars())&lt;br /&gt;   if (prods.Count == 0):&lt;br /&gt;       return None&lt;br /&gt;   else:&lt;br /&gt;       return prods[0].IdentifyingNumber&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;if __name__=="__main__":&lt;br /&gt;   prodCode = GetProductId("My Product Name")&lt;br /&gt;   if (prodCode):&lt;br /&gt;       print "found a previous installation...."&lt;br /&gt;       print "uninstalling..."&lt;br /&gt;       os.system("msiexec /x " + prodCode)&lt;br /&gt;   else:&lt;br /&gt;       print "No previous installation found."&lt;/pre&gt;&lt;br /&gt;There is a WindowsInstaller.Installer automation object exposed, but I could not get it to work through python :(, guess I have to learn vbscript or some such for sake of efficiency.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-113015074624355124?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/113015074624355124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=113015074624355124&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113015074624355124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113015074624355124'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/10/uninstalling-product-from-command-line.html' title='Uninstalling a product from command line.'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112464044500139072</id><published>2005-10-25T09:00:00.000+05:30</published><updated>2005-10-25T10:39:49.396+05:30</updated><title type='text'>Hooking into the perfcounter installer..</title><content type='html'>It is surprising how often you find uses for a tip that you get. Case in point: &lt;a href="http://www.google.com/search?q=Image+File+Execution+Options"&gt;IFEO&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I never heard/nor felt its need in 3.5 years at my previous job. But these days I seem to use it fairly often!&lt;br /&gt;&lt;br /&gt;Dotnet has this &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdiagnosticsperformancecounterinstallerclasstopic.asp"&gt;PerformanceCounterInstaller &lt;/a&gt;class where you define various attributes and counters that you want to expose for you app. Then call installutil &lt;assembly&gt; to install it.&lt;br /&gt;&lt;br /&gt;However, installutil is not used in production setups as selfreg has a whole range of issues to handle and the unmanaged equivalents (lodctr stuff via provided custom actions in the setup tools) are generally used.&lt;br /&gt;&lt;br /&gt;So for setup we needed to figure out the dotnet specific registry entries + the ini files that we give to lodctr. Setup the debugger to launch on invocation of lodctr by:&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\lodctr.exe]&lt;br /&gt;"Debugger"="c:\\debuggers\\windbg.exe "&lt;br /&gt;&lt;br /&gt;Then invoked installutil&lt;assembly&gt;. This gets the lodctr invoked by installutil into the debugger and you have all the time to figure out that .net internally creates the ini files in the %temp% directory :) Figuring out the additional reg entries was a matter of inspection...&lt;/assembly&gt;&lt;/assembly&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112464044500139072?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112464044500139072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112464044500139072&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112464044500139072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112464044500139072'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/10/hooking-into-perfcounter-installer.html' title='Hooking into the perfcounter installer..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-113012996800917410</id><published>2005-10-24T10:26:00.000+05:30</published><updated>2005-10-24T10:29:28.020+05:30</updated><title type='text'>Office viewers....</title><content type='html'>Acrobat reader is pretty popular; recently I found that Microsoft Office readers are available and free too !!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/office/000/viewers.asp"&gt;http://www.microsoft.com/office/000/viewers.asp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-113012996800917410?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/113012996800917410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=113012996800917410&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113012996800917410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/113012996800917410'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/10/office-viewers.html' title='Office viewers....'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112902076012920092</id><published>2005-10-19T10:04:00.000+05:30</published><updated>2005-10-19T09:57:14.796+05:30</updated><title type='text'>Debugging in production..</title><content type='html'>For someone building server apps for windows there are some pretty good resources on production debugging on msdn. Check these out:&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/DBGrm.asp"&gt;Production debugging for .netfx&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/belux/nl/msdn/community/articles/feb05_applicationdebugging.mspx"&gt;Production debugging for unmanaged code&lt;/a&gt;&lt;br /&gt; &lt;/li&gt; &lt;/ol&gt;I think most people will find the the section on using diagnostic tools in 2 to be useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112902076012920092?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112902076012920092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112902076012920092&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112902076012920092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112902076012920092'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/10/debugging-in-production.html' title='Debugging in production..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112902094187751480</id><published>2005-10-18T14:22:00.000+05:30</published><updated>2005-10-19T09:55:50.353+05:30</updated><title type='text'>Video tools.</title><content type='html'>Most of our life is word based - blogs, code, bugs, setup documents etc. etc. It does not have to be. There are a few tools out there which make it a snap to build demo videos. Try these out to create that next bug report, the next setup "document" and you will be pleasantly surprised :)&lt;br /&gt;&lt;br /&gt;Wink (freeware, no sound, pretty small output files in flash): &lt;a href="http://www.debugmode.com/wink/"&gt;http://www.debugmode.com/wink/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hypercam (commercial, sound support but the output files are pretty big wmv files): &lt;a href="http://www.hyperionics.com/"&gt;http://www.hyperionics.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112902094187751480?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112902094187751480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112902094187751480&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112902094187751480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112902094187751480'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/10/video-tools.html' title='Video tools.'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112918275320834764</id><published>2005-10-13T11:15:00.000+05:30</published><updated>2005-10-19T21:51:35.450+05:30</updated><title type='text'>Job descriptions..</title><content type='html'>Most of the job descriptions I have seen mention fluffy things like passion, vision, coordination, industry leading percentile of salary blah blah and blah. &lt;a href="http://www.jetbrains.com/company/jobs/developer_c.html"&gt;This one&lt;/a&gt; over at jetbrains is refreshing different :) !! You can't get more straight forward than&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;We offer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;* Participation in development of world leading products&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    * Creative team work&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    * High salary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In case you are getting ideas, check out the location...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112918275320834764?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112918275320834764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112918275320834764&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112918275320834764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112918275320834764'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/10/job-descriptions.html' title='Job descriptions..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112868720532494375</id><published>2005-10-07T17:45:00.000+05:30</published><updated>2005-10-09T19:12:49.160+05:30</updated><title type='text'>Troubleshooting resharper installation</title><content type='html'>Jetbrains has this cool addin to visual studio that brings in some of IDEA features to  VS. Tried installing build 207 today and had to hack quite a bit to get it to install. The problem was it was doing something during setup, goes right till the end and rolls back with error "something that ran as part of setup did not complete". Tried to see if I can find anyway to get any more information:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;ReSharper2.0-VS2005-build207.exe /?&lt;/span&gt; &lt;br /&gt;informed me that /V option can be used to pass arguments to msiexec (called internally by setup). So to get more logging info I executed &lt;br /&gt;&lt;span style="font-style:italic;"&gt;ReSharper2.0-VS2005-build207.exe /V"/l*v abc.log"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;From the log it was clear that it was invoking devenv.exe /setup which supposedly failed (god knows why). So I wanted setup to take it easy about this so that I could execute the same command manually later and figure things out. Now, the problem reduced to bypassing this devenv.exe invocation by setup.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/search?q=Image+File+Execution+Options&amp;btnG=Search"&gt;IFEO&lt;/a&gt; to the rescue!! So I created a donothing.exe, which as the name suggests, is an executable which does nothing. Placed it in path and created the following registry entry:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersionImage File Execution Options\devenv.exe]&lt;br /&gt;"Debugger"="donothing.exe"&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Re-ran setup and it was happy the devenv invocation :) and the installation succeeded!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112868720532494375?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112868720532494375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112868720532494375&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112868720532494375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112868720532494375'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/10/troubleshooting-resharper-installation.html' title='Troubleshooting resharper installation'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112781903931602343</id><published>2005-10-06T17:32:00.000+05:30</published><updated>2005-10-07T18:39:37.193+05:30</updated><title type='text'>what the bleep do we know?</title><content type='html'>Never got around to watching the movie/documentary "What the bleep do we know", but they have put up a website for a book that they are bringing out. Worth a checkout: &lt;a href="http://www.whatthebleep.com/reality/bleepbook.shtml"&gt;what the bleep&lt;/a&gt;&lt;br /&gt;....&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;What if the mind and matter are not split? What if there are&lt;br /&gt;observable feedback loops between the two? It’s the 21st century,&lt;br /&gt;yet mainstream science still refuses to look at this...&lt;br /&gt;&lt;br /&gt;I know many, many academic colleagues... distinguished people in their fields—in psychology, cognitive neuroscience, basic neurosciences, physics ...&lt;br /&gt;who privately are very, very interested in... psychic phenomenon. Some of them are getting successful results in their experiments. Well, why aren’t we hearing about it?  Because the culture in the academic world says you cannot&lt;br /&gt;talk about it. So we’re living in the parable of the&lt;br /&gt;emperor’s new clothes.&lt;br /&gt;...&lt;br /&gt;So, who now hijacked the search for truth?&lt;br /&gt;Two sides of the same coin.&lt;br /&gt;First the Church, and now the new priesthood—the Scientists.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112781903931602343?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112781903931602343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112781903931602343&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112781903931602343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112781903931602343'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/10/what-bleep-do-we-know.html' title='what the bleep do we know?'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112736454736256051</id><published>2005-09-22T10:18:00.000+05:30</published><updated>2005-10-08T20:09:19.506+05:30</updated><title type='text'>Cool registry tip..</title><content type='html'>It is fairly common to use a reg file to get data into a registry. I always wondered if there was a simple way to remove keys from a registry without doing all that hand traversal (it does not help that the standard reg editor does not have bookmarks). Found this tip which I found useful..&lt;br /&gt;&lt;br /&gt;add.reg:&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\MicrosoftWindows NT\CurrentVersionImage File Execution Options\lodctr.exe]&lt;br /&gt;"Debugger"="windbg.exe"&lt;br /&gt;&lt;br /&gt;remove.reg (note the - after [ and before HKEY...):&lt;br /&gt;&lt;br /&gt;[-HKEY_LOCAL_MACHINE\SOFTWARE\MicrosoftWindows NT\CurrentVersionImage File Execution Options\lodctr.exe]&lt;br /&gt;"Debugger"="windbg.exe"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112736454736256051?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112736454736256051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112736454736256051&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112736454736256051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112736454736256051'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/09/cool-registry-tip.html' title='Cool registry tip..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112558488157304358</id><published>2005-09-21T20:18:00.000+05:30</published><updated>2005-09-21T20:22:12.980+05:30</updated><title type='text'>what platform?</title><content type='html'>Everytime I tell someone non-techy that I have a software job, the inevitable question I get out here is:&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;"What Platform do you work on?" &lt;/span&gt;&lt;br /&gt;After the first time, I knew that they expect an answer like java, dotnet, oracle, sap or some such thing. If you answer with stuff like "we are building a framework for blah", "we build software for controlling fusion reactors", "we are decoding the gene sequence using some advanced algorithms" etc, all you will get is a condescending look :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112558488157304358?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112558488157304358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112558488157304358&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112558488157304358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112558488157304358'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/09/what-platform.html' title='what platform?'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112710651010331212</id><published>2005-09-19T19:10:00.000+05:30</published><updated>2005-09-19T19:11:37.003+05:30</updated><title type='text'>Writing good code...</title><content type='html'>The pragmatic programmers write great articles on writing good code. I especially liked this one &lt;a href="http://www.pragmaticprogrammer.com/articles/may_04_oo1.pdf"&gt;Writing good OO code&lt;/a&gt;. How many time have you seen these seemingly obvious things violated? [Hint: 100s of times :)]&lt;br /&gt;&lt;br /&gt;If you write code for a living, do take the time to read the article and save the poor souls who have to maintain your legacy :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112710651010331212?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112710651010331212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112710651010331212&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112710651010331212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112710651010331212'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/09/writing-good-code.html' title='Writing good code...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112581721554512212</id><published>2005-09-16T14:10:00.000+05:30</published><updated>2005-09-16T14:18:12.666+05:30</updated><title type='text'>Xml prettifier in python</title><content type='html'>Since xml is the "format of the day" for any and everything, I find it more and more common to edit/generate/hack xml files in daily routine. Since xml is not exactly write/read friendly to humans, I end up writing tools to update and maintain these monsters :).  Python has a good  and friendly xml parsing api that I find useful.  For starts, a prettifier can be written in a few lines of code:&lt;br /&gt;&lt;pre&gt;import sys, StringIO&lt;br /&gt;from xml.dom import minidom&lt;br /&gt;&lt;br /&gt;def prettify(inxml):&lt;br /&gt;    xmldoc = minidom.parseString(inxml)&lt;br /&gt;    # use 2 spaces to indent instead of tabs&lt;br /&gt;    lines = StringIO.StringIO(xmldoc.toprettyxml("  ")) &lt;br /&gt;    #remove redundant empty lines &lt;br /&gt;    lines = [ x for x in lines if x.strip() != ""]&lt;br /&gt;    return "".join(lines)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112581721554512212?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112581721554512212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112581721554512212&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112581721554512212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112581721554512212'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/09/xml-prettifier-in-python.html' title='Xml prettifier in python'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112602069501693374</id><published>2005-09-06T20:40:00.000+05:30</published><updated>2005-09-06T21:01:35.043+05:30</updated><title type='text'>Startups !</title><content type='html'>N friends/relatives have started some or the other companies/websites in the last 5 years;  some fulltime, others partime. This post attempts to gather them all at one place for a better overall view ....&lt;br /&gt;&lt;br /&gt;Full/parttime companies:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.carwale.com/"&gt;http://www.carwale.com&lt;/a&gt; - Jabal and Co&lt;br /&gt; &lt;a href="http://www.techbrix.com"&gt;http://www.techbrix.com &lt;/a&gt;- Vamsee and co&lt;br /&gt;&lt;a href="http://www.tachyontech.net"&gt;http://www.tachyontech.net&lt;/a&gt; - KS and Rampi&lt;br /&gt;&lt;a href="http://www.propertywale.com"&gt;http://www.propertywale.com&lt;/a&gt; - Jabal and Co&lt;br /&gt;&lt;a href="http://www.thecressidagroup.com/"&gt;http://www.thecressidagroup.com &lt;/a&gt; - RK&lt;br /&gt;&lt;a href="http://www.stockfundas.com"&gt;http://www.stockfundas.com&lt;/a&gt; - Anand and Co&lt;br /&gt;&lt;br /&gt;Websites:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.shabdanjali.com/"&gt;http://www.shabdanjali.com&lt;/a&gt;   (Online hindi magazine..)&lt;br /&gt;&lt;a href="http://www.indianhousehold.com/"&gt;http://www.indianhousehold.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some of these are pretty new; good luck, folks!&lt;br /&gt;&lt;br /&gt; If you know me directly and I forgot to list your site, please drop me a mail/comment&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112602069501693374?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112602069501693374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112602069501693374&amp;isPopup=true' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112602069501693374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112602069501693374'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/09/startups.html' title='Startups !'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112582026365944896</id><published>2005-09-04T13:15:00.000+05:30</published><updated>2005-09-04T13:31:05.353+05:30</updated><title type='text'>Articulate writing...</title><content type='html'>Chomsky is one of the most articulate writers I have ever read. It is an interesting change from inane stuff that is doled out in the news channels. Read an interesting one recently: &lt;a href="http://www.chomsky.info/articles/20050704.htm"&gt;It's Imperialism Stupid&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"... It is a rational calculation, on the assumption that human survival is not particularly significant in comparison with short-term power and wealth. And that is nothing new. These themes resonate through history. The difference today in this age of nuclear weapons is only that the stakes are enormously higher."&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112582026365944896?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112582026365944896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112582026365944896&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112582026365944896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112582026365944896'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/09/articulate-writing.html' title='Articulate writing...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112541281871011297</id><published>2005-08-30T20:03:00.000+05:30</published><updated>2005-08-30T20:20:13.346+05:30</updated><title type='text'>The corporate pyramid ..</title><content type='html'>As I recently read somewhere the corporate pyramids has 3 levels:&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;The top level - sociopaths&lt;/li&gt;   &lt;li&gt;The middle level - clueless folks&lt;/li&gt;   &lt;li&gt;The lower level - the losers&lt;/li&gt; &lt;/ol&gt;Will post a link to the cartoon if i find it online...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112541281871011297?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112541281871011297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112541281871011297&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112541281871011297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112541281871011297'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/08/corporate-pyramid.html' title='The corporate pyramid ..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112463803901343933</id><published>2005-08-24T19:25:00.000+05:30</published><updated>2005-08-24T19:15:48.796+05:30</updated><title type='text'>Traffic in Hitec City</title><content type='html'>The traffic police in India have traditionally come up with several strategies to regulate traffic. Many are familiar with the  posters like "Speed Thrills but Kills", "Wear a helmet - save your brain" (with a helpful picture of the human brain), "Traffic safety begins with you" ...&lt;br /&gt;&lt;br /&gt;Posters/ads are not terribly effective, so the hitech city traffic folks have come up with an innovative approach - pre-recorded messages.  If you are someone who stops when the traffic light goes red, you can hear the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"STOP!! You have crossed the stop line. When the red light is on please stop before the stop line."  &lt;/span&gt; (translated from telugu)&lt;br /&gt;&lt;br /&gt;Unsuspecting drivers who are in hitech city for the first time get psyched out of their wits when they hear messages like these and instinctively backup their cars/bikes hoping to get behind the imaginary stop line to avoid a traffic fine and in the process collide with the vehicles behind :) .&lt;br /&gt;&lt;br /&gt;A classic example of a cure which is worse than the disease :)!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112463803901343933?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112463803901343933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112463803901343933&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112463803901343933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112463803901343933'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/08/traffic-in-hitec-city.html' title='Traffic in Hitec City'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112468462691041644</id><published>2005-08-22T09:47:00.000+05:30</published><updated>2005-08-22T09:53:46.916+05:30</updated><title type='text'>where can I get that dll from?</title><content type='html'>Once in a while we get pained about a &lt;a href="http://skalyan.blogspot.com/2004/05/fiddling-around-with-some-tools-and.html"&gt;missing dll&lt;/a&gt;. There's help for microsoft dlls  - msdn has  a dll help database which can be used to find out which products ship with a particular dll. Here's the link:  &lt;a href="http://support.microsoft.com/dllhelp/"&gt;http://support.microsoft.com/dllhelp/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112468462691041644?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112468462691041644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112468462691041644&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112468462691041644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112468462691041644'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/08/where-can-i-get-that-dll-from.html' title='where can I get that dll from?'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112463715049495001</id><published>2005-08-21T20:15:00.000+05:30</published><updated>2005-08-21T20:42:30.503+05:30</updated><title type='text'>Change this...</title><content type='html'>Recently stumbled upon this interesting site: &lt;a href="http://www.changethis.com"&gt;http://www.changethis.com&lt;/a&gt;. From their &lt;a href="http://www.changethis.com/files/CT-manifesto.pdf"&gt;manifesto.&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;... All too often, though, weʼre led to change our minds on the basis of charisma, not&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;"&gt;facts. People are so easily inﬂuenced by a charismatic leader, the kind of person weʼd&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;"&gt;be eager to befriend, to have dinner with, to follow. We choose someone based on his&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;"&gt;personality and then do whatever he tells us to do. &lt;/span&gt;&lt;span style="font-style: italic;"&gt;.... We go to war or create a new product or move to &lt;/span&gt;&lt;span style="font-style: italic;"&gt;Jonestown.... in our electronic universe itʼs easier than ever for one charismatic demagogue to sway the opinions of millions of people—without resorting to rational thought, provable assertions or the longterm implications of their eﬀorts...&lt;br /&gt;&lt;br /&gt;Changethis focuses on the rational and thoughtful arguments that help people change their minds to a more productive point of view...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;I had a quick look at some of their articles and this one struck a chord with me - &lt;a href="http://www.changethis.com/6.TalentMyth"&gt;The Talent Myth&lt;/a&gt;.  Anyone who has worked  in the dotcom boom will identify with some of the points made :)...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112463715049495001?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112463715049495001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112463715049495001&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112463715049495001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112463715049495001'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/08/change-this.html' title='Change this...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111953896163189293</id><published>2005-08-02T20:22:00.000+05:30</published><updated>2005-08-21T21:42:40.683+05:30</updated><title type='text'>Fun things to tell a manager...</title><content type='html'>Here are the top 5 fun things to tell your manager. I gathered these from many informal conversations with many experts ... They could be severely career limiting, so use them at your own risk... :)&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;&lt;span style="font-style: italic;"&gt;General Chat&lt;/span&gt; - I  love to work in your group; it ensures that there is atleast one person more incompetent than me.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-style: italic;"&gt;When discussing career growth and opportunities &lt;/span&gt;- I have left many companies in my short career and I won't hesitate to do it again.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-style: italic;"&gt;During the performance review&lt;/span&gt; - What do you mean - "Your performance is not up to expectation"? I wrote many more mails than you did!&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-style: italic;"&gt;On Design Discussions - &lt;/span&gt;I really like the free flow of ideas that we enable by encouraging people to get drunk before closing on major design decisions. Our product is richer for that fact!&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;On Integrity - &lt;/span&gt;Can you teach me how you can lie with such a straight face without letting shame or embarrasment show?&lt;br /&gt;&lt;/li&gt;  &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111953896163189293?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111953896163189293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111953896163189293&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111953896163189293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111953896163189293'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/08/fun-things-to-tell-manager.html' title='Fun things to tell a manager...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112158731867403561</id><published>2005-07-17T13:18:00.000+05:30</published><updated>2005-07-17T13:31:58.720+05:30</updated><title type='text'>Links...</title><content type='html'>There's a new book out there "&lt;a href="http://radio.weblogs.com/0142035/2005/06/24.html"&gt;Best software writing"&lt;/a&gt;  a collection the best articles on the web. These two are worth a read:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;&lt;span&gt;ea_spouse - &lt;a href="http://www.livejournal.com/users/ea_spouse/274.html"&gt;EA: The Human Story&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;a href="http://poignantguide.net/ruby/chapter-3.html"&gt;A Quick (and Hopefully Painless) Ride Through Ruby (with Cartoon Foxes)&lt;/a&gt;&lt;/li&gt; &lt;/ol&gt;&lt;br /&gt;There some interesting stuff out at &lt;a href="http://au.geocities.com/psyberplasm/ch3.html"&gt;pawlicki's page&lt;/a&gt; . This comment ringed so true to me :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:serif;" &gt;...  To all of us plebes who tread streets of concrete, it doesn't make a damn bit of difference how the Solar System came to be in the shape it is in during our mayfly lives. One story is as good as another as long as it stops the kids from asking `How come?' when you want to put them to bed....&lt;br /&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/6513356-112158731867403561?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112158731867403561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112158731867403561&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112158731867403561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112158731867403561'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/07/links.html' title='Links...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112057641463845962</id><published>2005-07-05T20:36:00.000+05:30</published><updated>2005-07-05T20:59:01.460+05:30</updated><title type='text'>Developer tools...</title><content type='html'>The tools that we use largely effect how efficient we are in our everyday work - don't get started on effectiveness vs efficiency discussions :p. Some one has done a pretty good job of listing most of the good ones &lt;a href="http://thedotnet.com/blogs/scott_hanselman/archive/2005/06/20/438288.aspx"&gt;over here&lt;/a&gt;. I am sure most people are going to find some useful utility which they have not used before.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-112057641463845962?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112057641463845962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112057641463845962&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112057641463845962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112057641463845962'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/07/developer-tools.html' title='Developer tools...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-112023070029163921</id><published>2005-07-01T20:27:00.000+05:30</published><updated>2005-08-29T21:53:42.933+05:30</updated><title type='text'>Customising your command shell</title><content type='html'>Taking care of automating common stuff is a very important way of ensuring that your fingers and mind last a little while longer in this IT field :)&lt;br /&gt;&lt;br /&gt;Usually the first complaint that people the unix background will have when they use a windows machine is the command shell. The lack of aliases, .profile etc. Internal to MS there are many utils which make this possible, but recently I figured that there is something which does the same thing on any windows machine. All you have to do is&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;doskey /macrofile:macros.txt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where macros.txt contains your aliases (called as macros for some weird reason in the windows world ...) like&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ep=e:\progs\editplus\eppie.exe $*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;h=pushd  e:\jars\hibernate&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;env=sysdm.cpl,3&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;Now the final missing link is automatically executing this everytime you start your shell. Luckily there is a hook for this too. You can specify a batch file to run on each invocation by setting the following registry key.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[HKLM\SOFTWARE\Microsoft\Command Processor]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"AutoRun"="e:\\progs\\tools\\init.bat"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Now the final missing link is sharing histories across command shells. I usually open many command shells during work and often I want to execute the same commands which I executed in the other shells and I am not aware of any way to do this in cmd (similar to shralias in 4nt). If you know to get this to work in cmd, I would be eternally grateful for that information :))&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&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/6513356-112023070029163921?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/112023070029163921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=112023070029163921&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112023070029163921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/112023070029163921'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/07/customising-your-command-shell.html' title='Customising your command shell'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111963143964010642</id><published>2005-06-24T21:59:00.000+05:30</published><updated>2005-06-24T22:13:59.646+05:30</updated><title type='text'>On hyping things up...</title><content type='html'>Learning to hype about what you do is a very useful thing. At the same time it is an art which is fairly hard to learn.  I realise this everytime I see my resume :). So in an effort to someday have a better sounding resume, I am thinking about this fine skill. Here are some examples to get started:&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;"I have been adding 'fault tolerance' in my code"&lt;br /&gt;   &lt;br /&gt;Any unskilled person will think that you are referring to some failover of service instances or redundancy or some such thing. But if you are creative you can use the same statement for plain old 'error handling' :)  where you expect something (server is open at port x) and it does not happen (it is down)  and you handle it as appropriate. Contrast the above statement with "I fixed bug#xxxx where the client hung when the server was not up"&lt;br /&gt;   &lt;br /&gt;  &lt;/li&gt;   &lt;li&gt;I am working on loosely coupled distributed systems.&lt;br /&gt;   &lt;br /&gt;This feels like you are building something like google search engine or amazon book store. Did it ever occur to you that this applies to building a client console (webservice or dcom) to any service.&lt;/li&gt; &lt;/ol&gt; Putting 1 and 2 together, you should not hesitate to say that you build "Distributed fault tolerant systems" as part of your daily job :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111963143964010642?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111963143964010642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111963143964010642&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111963143964010642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111963143964010642'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/06/on-hyping-things-up.html' title='On hyping things up...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111901945212619447</id><published>2005-06-17T19:56:00.000+05:30</published><updated>2005-06-17T20:14:12.130+05:30</updated><title type='text'>Dotnet gotchas - 3</title><content type='html'>Synchronized collections are not synchronized on what you think they are, if you are coming from the java world. Consider the following piece of code: &lt;pre&gt;&lt;br /&gt;Hashtable ht = Hashtable.Synchronized(new Hashtable());&lt;br /&gt;&lt;br /&gt;addToTable(object o )&lt;br /&gt;{&lt;br /&gt;   ht.Add(o, o);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;processAll()&lt;br /&gt;{&lt;br /&gt;  lock(ht)&lt;br /&gt;  {&lt;br /&gt;    // enumerate and do something with them. hold lock so that &lt;br /&gt;    // someone does not modify while you are enumerating...&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt; The above code is incorrect since synchronised hashtables sync on an internal object called SyncRoot and not on the object itself!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111901945212619447?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111901945212619447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111901945212619447&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111901945212619447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111901945212619447'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/06/dotnet-gotchas-3.html' title='Dotnet gotchas - 3'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111893326655604034</id><published>2005-06-16T20:00:00.000+05:30</published><updated>2005-06-16T20:18:26.893+05:30</updated><title type='text'>Crores and companies...</title><content type='html'>Recently I took a ride home from one of my dad's friend who happens to be an industrialist. As is the case with these elderly people, he started talking about life and money. He started with how so many people have made a lot of money in real estate in the hi-tech area and how he was a happier person than someone having 500 crores.&lt;br /&gt;&lt;br /&gt;He wondered, "When all you need to live comfortably is &lt;span style="font-style: italic;"&gt;5 crores &lt;/span&gt; so why would anyone want more ? It is not as if these big people can even spend money - they have diabetes, bp, what not...! Most become obsessed with money and they dont even feel like spending on domestic help like a driver, gardener, cook, assistant etc.. but the person who makes &lt;span style="font-style: italic;"&gt;even 1 crore/year&lt;/span&gt; in a company - like a General Manager is much happier since he automatically gets all the perks mentioned above in addition to staying in 5 star hotels whenever he goes on official visits ......"&lt;br /&gt;&lt;br /&gt;The scale at which he was talking felt pretty wierd to me :). It looks like everyone, be it a govt employee, an IT professional or an industrialist, thinks they belong to the lower middle class :).&lt;br /&gt;&lt;br /&gt;Something equally wierd happened at office today, but that is a post for a later time...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111893326655604034?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111893326655604034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111893326655604034&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111893326655604034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111893326655604034'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/06/crores-and-companies.html' title='Crores and companies...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111839340657525088</id><published>2005-06-10T14:19:00.000+05:30</published><updated>2005-06-14T09:43:04.490+05:30</updated><title type='text'>Dotnet  gotchas - 2</title><content type='html'>XML (ha ha ha, it had to come somewhere isn't it) serialization is not symmetric when you have custom collections (.net 1.1). Say u have a class called (psudocode only..) &lt;pre&gt;public class Dummy&lt;br /&gt;{&lt;br /&gt; [XmlElement("Name")]&lt;br /&gt; public string a = "dummy";&lt;br /&gt;&lt;br /&gt; [XmlArray("Things")]&lt;br /&gt; public  MyCollection col = null;&lt;br /&gt;&lt;br /&gt; public Ha(){}&lt;br /&gt;}&lt;/pre&gt; When you create an instance of a class and deserialize it you get an xml like&lt;br /&gt;&lt;pre&gt;&amp;lt;Dummy&amp;gt;&lt;br /&gt;&amp;lt;Name&amp;gt;dummy&amp;lt;/Name&amp;gt;&lt;br /&gt;&amp;lt;/Dummy&amp;gt;&lt;/pre&gt;Now when you deserialize it you expect to get a equivalent object obj1 with a initialized to "dummy" and col to &lt;span style="font-style: italic;"&gt;null&lt;/span&gt;. However, what you actually get for &lt;span style="font-style: italic;"&gt;col &lt;/span&gt;field is an &lt;span style="font-style: italic;"&gt;"empty collection" &lt;/span&gt;object!! So if you are testing your &lt;span style="font-weight: bold; font-style: italic;"&gt; &lt;/span&gt;&lt;span style="font-style: italic;"&gt;webservice &lt;/span&gt;(this joke had to come somewhere too :) ), a save retrieve sequence will get you an object which is slightly different from what you are expecting (it is a different issue that the webservice can never see null since the transport is xml serialization)!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111839340657525088?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111839340657525088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111839340657525088&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111839340657525088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111839340657525088'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/06/dotnet-gotchas-2.html' title='Dotnet  gotchas - 2'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111833651867569316</id><published>2005-06-09T22:03:00.002+05:30</published><updated>2005-06-10T14:19:47.533+05:30</updated><title type='text'>Dotnet  gotchas - 1</title><content type='html'>So I have finally moved into the new team and it happens to be milestone exit time.. and in all their magnanimity they handled me several dumps to look at :). The next few blogs will be about what I have learnt this last week...(assuming that we exit this week).&lt;br /&gt;&lt;br /&gt;Contrary to popular opinion and appearances - Thread aborts can abort finally blocks    in .net 1.1 !! This is actually documented in msdn! so code like &lt;pre&gt;&lt;br /&gt;lock(this)&lt;br /&gt;{&lt;br /&gt;  blah...&lt;br /&gt;}&lt;/pre&gt; can fail to release the lock in case of thread abort leaving an orphaned SyncBlk. You can expect the rest of the app worker threads to slowly hit this region and hang.&lt;br /&gt;&lt;br /&gt;What makes this even more interesting is that web services extensions (wse) merrily abort threads on timeouts :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111833651867569316?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111833651867569316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111833651867569316&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111833651867569316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111833651867569316'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/06/dotnet-gotchas-1_09.html' title='Dotnet  gotchas - 1'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111712156215667252</id><published>2005-05-26T20:53:00.000+05:30</published><updated>2005-05-26T21:02:42.160+05:30</updated><title type='text'>Interesting puzzles - 5</title><content type='html'>Here's one I heard from a junior:&lt;br /&gt;&lt;br /&gt;You have a chessboard of side length 2^n. An arbitrary unit square is removed from this board. Is it possible to tile the remaining chessboard with L shaped tiles having 3 unit squares each (as shown in the figure below).&lt;pre&gt;&lt;br /&gt; _&lt;br /&gt;| |_&lt;br /&gt;|___| &lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111712156215667252?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111712156215667252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111712156215667252&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111712156215667252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111712156215667252'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/05/interesting-puzzles-5.html' title='Interesting puzzles - 5'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111614169781327591</id><published>2005-05-15T12:27:00.000+05:30</published><updated>2005-05-15T12:51:37.816+05:30</updated><title type='text'>Back ...</title><content type='html'>So I am back to blogging after a great break to Tiruppur and some busy work with some internal deadlines. &lt;br /&gt;&lt;br /&gt;On a work related note, I will be moving to the &lt;a href="http://news.zdnet.co.uk/0,39020330,39158619,00.htm"&gt;RFID &lt;/a&gt;group here.&lt;br /&gt;&lt;br /&gt;If you like python and puzzles you must have a look at &lt;a href="http://www.pythonchallenge.com/"&gt;python challenge&lt;/a&gt;. Naturally they are python centric (python module names in hints and the like..). Download the python imaging library before you start :). I am at level 16 now and can give additional hints if necessary ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111614169781327591?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111614169781327591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111614169781327591&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111614169781327591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111614169781327591'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/05/back.html' title='Back ...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111408342674640115</id><published>2005-04-21T16:59:00.000+05:30</published><updated>2005-04-21T17:07:06.746+05:30</updated><title type='text'>Search history...</title><content type='html'>Started using &lt;a href="http://www.google.com/searchhistory"&gt;Search History&lt;/a&gt;. Wonder how I got along without it till now!&lt;br /&gt;&lt;br /&gt;Speaking of google they does use their adsense well. Try searching for &lt;a href="http://www.google.com/search?sourceid=mozclient&amp;ie=utf-8&amp;oe=utf-8&amp;q=Udi+manber"&gt;Udi Manber &lt;/a&gt;and see the ads :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hindu.com/2005/04/21/stories/2005042105551500.htm"&gt;Interesting...&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"Just as the U.S. wants to see a strong and democratic Russia, we want to see a strong and democratic U.S. that acts in the international arena jointly with other states and with respect for international law,"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111408342674640115?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111408342674640115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111408342674640115&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111408342674640115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111408342674640115'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/04/search-history.html' title='Search history...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111400790186742153</id><published>2005-04-20T18:57:00.000+05:30</published><updated>2005-04-20T20:08:21.866+05:30</updated><title type='text'>Random stuff</title><content type='html'>Too many are moving out of msft these days. &lt;a href="http://minimsft.blogspot.com/"&gt;minimsft&lt;/a&gt; documents a few of them ...&lt;br /&gt;&lt;br /&gt;Noticed something very interesting - most of the &lt;a href="http://www.microsoft.com/PressPass/exec/de/default.asp"&gt;Microsoft DEs&lt;/a&gt; worked at DEC sometime in their careers!&lt;br /&gt;&lt;br /&gt;ACV has written a lot of cool humour stuff on &lt;a href="http://www.cs.umd.edu/~arun/personal/personal.html"&gt;his site&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111400790186742153?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111400790186742153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111400790186742153&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111400790186742153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111400790186742153'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/04/random-stuff.html' title='Random stuff'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111362951626290877</id><published>2005-04-16T10:47:00.000+05:30</published><updated>2005-04-16T11:01:56.263+05:30</updated><title type='text'>Anagrams ....</title><content type='html'>You have dictionary words in a file. You are solving crosswords. You want to quickly find anagrams of a given word. &lt;br /&gt;Perf requirements: &lt;br /&gt;1. Load up time of a couple of seconds is acceptable (wordlist of ~50k which you can get from web)&lt;br /&gt;2. Each anagram query should be fast say &lt; 0.5 or 1 sec.&lt;br /&gt;&lt;br /&gt;Here's how building the strucure would look in python. Reads like psuedo code but it works.. Pretty neat? &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;def sort(word):&lt;br /&gt;    l = list(word)&lt;br /&gt;    l.sort()&lt;br /&gt;    return "".join(l)&lt;br /&gt;&lt;br /&gt;def anagrams(words):&lt;br /&gt;    ags = {}&lt;br /&gt;    for word in words:&lt;br /&gt;        sw = sort(word)&lt;br /&gt;        ags.setdefault(sw, []).append(word)&lt;br /&gt;&lt;br /&gt;    return dict([(x,y) for (x,y) in ags.iteritems() if len(y) &gt; 1])&lt;br /&gt;&lt;br /&gt;if __name__ == "__main__":&lt;br /&gt;    words = open("wordlist.txt").readlines()&lt;br /&gt;    words = [word.strip() for word in words]&lt;br /&gt;    rs = anagrams(words)&lt;br /&gt;    print len(rs)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;If you think about it your first reaction would be - &lt;span style="font-style:italic;"&gt;but it would be **so** slow&lt;/span&gt; :)). But you know what? It satisfies the requirements and takes a fraction of time to write than in C.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111362951626290877?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111362951626290877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111362951626290877&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111362951626290877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111362951626290877'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/04/anagrams.html' title='Anagrams ....'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111345521274988383</id><published>2005-04-14T10:31:00.000+05:30</published><updated>2005-04-14T10:36:52.750+05:30</updated><title type='text'>Applying to MS US...</title><content type='html'>Here's a quick tip that I got from a friend who was having a hard time with the &lt;a href="http://www.microsoft.com/careers/default.mspx"&gt;careers&lt;/a&gt; page. If you are from an applications company with a lot of java exp etc..., just go ahead choose ur title and location, type &lt;span style="font-weight:bold;"&gt;java&lt;/span&gt; in the search box and there you go :)...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111345521274988383?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111345521274988383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111345521274988383&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111345521274988383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111345521274988383'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/04/applying-to-ms-us.html' title='Applying to MS US...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111244306452050219</id><published>2005-04-02T17:09:00.000+05:30</published><updated>2005-04-02T17:27:44.520+05:30</updated><title type='text'>Analogies..</title><content type='html'>Been reading around quite a bit and one thing I have noticed is that most people like to talk about software development in terms of analogies. Some see it as painting, some see it as gardening, others view games as valid models for software projects (!).&lt;br /&gt;&lt;br /&gt;So why is this the case? The person who is making the analogy does not know what he is talking about, the person who is reading does not know what the analogy is about, but it gives everyone a warm fuzzy feeling :) and an illusion of having understood something they have no clue about. It spares everyone from having to face everyday software development - with all its non-analogical realities :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111244306452050219?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111244306452050219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111244306452050219&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111244306452050219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111244306452050219'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/04/analogies.html' title='Analogies..'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-111103444565257465</id><published>2005-03-17T10:10:00.000+05:30</published><updated>2005-04-06T18:04:59.213+05:30</updated><title type='text'>The robots are coming ...</title><content type='html'>&lt;a href="http://www.irobot.com/community/commercial_wm.cfm"&gt;http://www.irobot.com/community/commercial_wm.cfm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-111103444565257465?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/111103444565257465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=111103444565257465&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111103444565257465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/111103444565257465'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/03/robots-are-coming.html' title='The robots are coming ...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-110967485976095993</id><published>2005-03-01T15:59:00.000+05:30</published><updated>2005-03-01T16:31:11.493+05:30</updated><title type='text'>p2p ...</title><content type='html'>Going through Vishal's interesting &lt;a href="http://evilian.blogspot.com/2005/02/its-free-market.html"&gt; My Right To Crib &lt;/a&gt; post I wonder if I am doing justice to my blog by cribbing very little :). &lt;br /&gt;&lt;br /&gt;There is this interesting chap &lt;a href="http://minimsft.blogspot.com"&gt;minimsft &lt;/a&gt; who looks like an expert in this category...&lt;br /&gt;&lt;br /&gt;Recently checked out &lt;a href="http://bittorrent.com/introduction.html"&gt;bittorrent&lt;/a&gt; as another example of a great practical p2p app. The &lt;a href="http://bittorrent.com/bittorrentecon.pdf"&gt;paper &lt;/a&gt; has more details. I just can't believe the kind of stuff people build and put up for free on the net....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-110967485976095993?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/110967485976095993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=110967485976095993&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110967485976095993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110967485976095993'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/03/p2p.html' title='p2p ...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-110958549350498778</id><published>2005-02-28T15:39:00.000+05:30</published><updated>2005-03-03T21:11:32.063+05:30</updated><title type='text'>Interesting puzzles - 4</title><content type='html'>This was one of the first question they asked during ragging at college :)&lt;br /&gt;&lt;br /&gt;A person is on a round the world trip on a hot air balloon and at 3 random points of his journey he drops a ball. What is the probablity that all the 3 balls are on the same hemisphere?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-110958549350498778?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/110958549350498778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=110958549350498778&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110958549350498778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110958549350498778'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/02/interesting-puzzles-4.html' title='Interesting puzzles - 4'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-110905042778249201</id><published>2005-02-22T10:29:00.000+05:30</published><updated>2005-02-28T15:42:01.746+05:30</updated><title type='text'>p2p Ramblings...</title><content type='html'>P2P software has caught my interest these days (the techy aspects, not file sharing). The primary reason being skype, that I have started using recently to talk to my brother in US. The quality of voice is *much much* better than an ordinary phone. I can even hear the other party typing :) and whats more - computer to computer is free ! With 70+ million downloads, I wonder why it has not being bought over by the biggies yet :)&lt;br /&gt; &lt;br /&gt;Been browsing around reading up on related stuff and found these with really nice ideas:&lt;br /&gt; &lt;br /&gt;&lt;a href="http://mute-net.sourceforge.net/howAnts.shtml"&gt;How ants find their food&lt;/a&gt;&lt;br /&gt;&lt;a href="http://midcom-p2p.sourceforge.net/"&gt;P2P communication over NATs/firewalls&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-110905042778249201?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/110905042778249201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=110905042778249201&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110905042778249201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110905042778249201'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/02/p2p-ramblings.html' title='p2p Ramblings...'/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-110889453825110187</id><published>2005-02-20T15:37:00.000+05:30</published><updated>2005-02-20T15:45:38.253+05:30</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;Interesting puzzles - 3 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1000 people are standing in a circle. The thought police starts killing them alternately till just one is left. Who will be the remaining one? Solve it for a general N. &lt;br /&gt;&lt;br /&gt;Elegant solutions get more marks :) [No induction please :)]&lt;br /&gt;&lt;br /&gt;eg. if N = 5, ppl get killed in the following order  2 (skip 3),4 (skip 5),1 (skip 3 since 2 is longer there), 5. The survivor is 3.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-110889453825110187?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/110889453825110187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=110889453825110187&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110889453825110187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110889453825110187'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/02/interesting-puzzles-3-1000-people-are.html' title=''/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-110778259296514331</id><published>2005-02-07T18:47:00.000+05:30</published><updated>2005-02-07T18:53:12.966+05:30</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;BSNL Broadband 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Turns out my previous blog on BSNL was overly pessimistic :). I have bsnl broadband up and running on my home machine now. Here's what needed to be done to get it working:&lt;br /&gt;&lt;br /&gt;1. Go to a local office and apply for a connection (forget online)&lt;br /&gt;2. They will call you in a couple of weeks informing that if you pay up, u will get a connection. Pay up&lt;br /&gt;3. They will come and install the connection in a week or so. Stay around in case they have technical difficulties with your particular machine (actually just plugging a couple of cables and getting ur userid ...)&lt;br /&gt;&lt;br /&gt;It is up almost always and I am pretty happy with the connection so far (256kbps).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-110778259296514331?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/110778259296514331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=110778259296514331&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110778259296514331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110778259296514331'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/02/bsnl-broadband-2-turns-out-my-previous.html' title=''/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6513356.post-110682309081433875</id><published>2005-01-27T16:10:00.000+05:30</published><updated>2005-01-27T16:38:59.236+05:30</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;BSNL Broadband&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After the recent announcements I eagerly applied online to get a connection. Then I got second thoughts and thought I should followup with customer care or whatever.&lt;br /&gt;&lt;br /&gt;I called the customer-help number given on the registration form and here's how it went    - I swear this is all true !! This is a traslation to english, but the hindi version would have been better...&lt;br /&gt;&lt;br /&gt;Me  : Call...&lt;br /&gt;CSR : Yes..?  &lt;span style="font-style:italic;"&gt;(huh, I was expecting more along the lines of "This is XYZ from BSNL Customer Care, how may I help you?)&lt;/span&gt;&lt;br /&gt;Me  : Hello ?&lt;br /&gt;CSR : Yes ..?&lt;br /&gt;Me  : Is this BSNL customer care?&lt;br /&gt;CSR : Yes.&lt;br /&gt;Me  : I want to get a BSNL Broadband connection, how do I go about it ?&lt;br /&gt;CSR : Where are you speaking from?&lt;br /&gt;Me  : Hi-tech city.&lt;br /&gt;CSR : Where?&lt;br /&gt;Me  : &lt;span style="font-style:italic;"&gt;(Realising that she was asking for the city)&lt;/span&gt; Hyderabad&lt;br /&gt;CSR : Oh, Hyderabad? But it has already started there.&lt;br /&gt;Me  : Yes, but how do I go about getting a connection?&lt;br /&gt;CSR : What's your name ? &lt;br /&gt;Me  : Kalyan Chakravarthy&lt;br /&gt;CSR : Oh, you are a Bengali !!&lt;br /&gt;Me  : No, I am not. I am a local.&lt;br /&gt;CSR : Really(starts laughing)? I thought only bengali's had such names.&lt;br /&gt;Me  : No madam, we also have such names.&lt;br /&gt;CSR : Really, I did not know that !&lt;br /&gt;Me  : Ok, how do can I get a connection.&lt;br /&gt;CSR : Oh, you have to find that out from a local office.&lt;br /&gt;Me  : Huh.. Ok, if I apply, how long will it take to get a connection?&lt;br /&gt;CSR : Oh, it will happen very quickly. &lt;span style="font-style:italic;"&gt;(Hmm.. this sounds suspicious)&lt;/span&gt;&lt;br /&gt;Me  : How quickly?&lt;br /&gt;CSR : Very quickly ! &lt;span style="font-style:italic;"&gt;( God !!)&lt;/span&gt;&lt;br /&gt;Me  : Will I get a connection in one week ?&lt;br /&gt;CSR : Hmm.. we can't really say. It is possible, but it will happen quickly.&lt;br /&gt;Me : Will I get it in 2 weeks?&lt;br /&gt;CSR : Hmm.. we cant really say.  &lt;span style="font-style:italic;"&gt;I give up at this stage &lt;/span&gt;&lt;br /&gt;Me : Ok, thank you. I will call the local office and find out.&lt;br /&gt;CSR : Its all right. &lt;span style="font-style:italic;"&gt;(No thank you for calling BSNL stuff etc. :) ) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, I found the phone no. of the local office and called again and here goes..&lt;br /&gt;&lt;br /&gt;CSR : Yes.. ??&lt;br /&gt;Me  : I want to get a BSNL Broadband connection, how do I go about it ?&lt;br /&gt;CSR : You have to come and fill up a form.&lt;br /&gt;Me  : Can I apply online?&lt;br /&gt;CSR : Hmm... you can apply but if you apply online, we have to download the form no ? &lt;span style="font-style:italic;"&gt;(oh oh)&lt;/span&gt;&lt;br /&gt;Me  : How long will it take?&lt;br /&gt;CSR : Oh, we are not giving any dates as of now  &lt;span style="font-style:italic;"&gt;(Huh!!)&lt;/span&gt;&lt;br /&gt;Me  : Ok, can I submit the form in hi-tech office.&lt;br /&gt;CSR : Oh, you can ! If they take it.  &lt;span style="font-style:italic;"&gt;(!!!!)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I give up at this stage. I really dont think they will get around to giving connections anytime soon - they are just not ready and dont seem to have the competence to do it. It looks like a date driven publicity stunt. &lt;br /&gt;&lt;br /&gt;This is sad since all the other cable "broadband providers" here suck big time as well.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6513356-110682309081433875?l=skalyan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skalyan.blogspot.com/feeds/110682309081433875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6513356&amp;postID=110682309081433875&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110682309081433875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6513356/posts/default/110682309081433875'/><link rel='alternate' type='text/html' href='http://skalyan.blogspot.com/2005/01/bsnl-broadband-after-recent.html' title=''/><author><name>Kalyan</name><uri>http://www.blogger.com/profile/15211243197125293826</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
