<?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-7682077</id><updated>2012-01-30T23:46:46.030-08:00</updated><category term='ruby'/><category term='simpledb'/><category term='open source'/><category term='aws'/><category term='capistrano'/><title type='text'>bhanoo</title><subtitle type='html'>...making far, far, away seem not so far.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default?start-index=101&amp;max-results=100'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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>217</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7682077.post-4317751566514437379</id><published>2011-04-27T03:41:00.001-07:00</published><updated>2011-04-29T21:35:33.001-07:00</updated><title type='text'>Sobering thoughts</title><content type='html'>&lt;div&gt;&lt;p&gt;It takes 10,000 hrs to be proficient at something.&lt;br /&gt;Assume for a moment that meditation is the key to happiness.&lt;br /&gt;How long until you achieve permanent bliss?&lt;/p&gt;&lt;p&gt;Life expectancy in the US =~ 80&lt;br /&gt;Assume you start meditating at 30&lt;br /&gt;You have 50 years of meditation available to you.&lt;/p&gt;&lt;p&gt;If you meditate:&lt;br /&gt;- once a week for an hour =&amp;gt; 192 yrs ~ 4 lifetimes.&lt;br /&gt;- 15 minutes a day =&amp;gt; 110 yrs ~ 3 lifetimes.&lt;br /&gt;- 30 minutes a day =&amp;gt; 55 yrs ~ 1 lifetime if you're lucky&lt;br /&gt;- 1 hour a day =&amp;gt; 23 yrs&lt;br /&gt;- 2 hours a day =&amp;gt; 14 yrs&lt;/p&gt;&lt;p&gt;So what are you waiting for? Time is of the essence. &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-4317751566514437379?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/4317751566514437379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=4317751566514437379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/4317751566514437379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/4317751566514437379'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2011/04/sobering-thoughts.html' title='Sobering thoughts'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-3644175444363601964</id><published>2011-04-02T01:20:00.000-07:00</published><updated>2011-04-02T15:56:02.305-07:00</updated><title type='text'>The Meditation Experiment</title><content type='html'>&lt;a href="http://www.thejakartapost.com/files/images/p27-c_7.img_assist_custom.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 299px; height: 399px;" src="http://www.thejakartapost.com/files/images/p27-c_7.img_assist_custom.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;In January this year I decided to conduct an experiment.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I had just gotten back from my second 10 day meditation retreat, and - no surprises here - I met  many people who'd done courses before, but had never followed up with the &lt;b&gt;suggested&lt;/b&gt; &lt;b&gt;two hours of meditation per day &lt;/b&gt;(two hours? who has two hours a day to spare?!). But the ones who had been meditating for a long time were convinced that a regular daily practice was the key to going deeper. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I decided to commit to &lt;b&gt;three months&lt;/b&gt; of meditating &lt;b&gt;two hours a day&lt;/b&gt;. Why only three months? Well - let's just say that I've been told that, any time now, my life is about to turn upside down. I didn't want to make a commitment that I couldn't keep, so I decided to make a strong commitment for at least three months.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My wife wrote a &lt;a href="http://well.blogs.nytimes.com/2011/01/28/how-meditation-may-change-the-brain/?src=mv&amp;amp;ref=homepage"&gt;short piece about meditation, and my commitment, on The New York Times' Well Blog&lt;/a&gt;. Since then, a lot of people have asked me if I've noticed any benefits, and what they are.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have. I'm convinced that it's become easier for me to&lt;b&gt; bridge the gap between the person I am and the person I strive to be&lt;/b&gt;. My friend who's an associate editor at &lt;a href="http://www.yogajournal.com/"&gt;Yoga Journal&lt;/a&gt; said that would make for a terrible quote in any reputable publication because it's such a general statement devoid of any specific examples. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But it's really hard to give specific examples because the benefits are so personal and subjective. And luckily this isn't a reputable publication. Would I behave differently if I weren't meditating two hours a day but only 15 minutes? What if I were chanting or praying instead of meditating? Who knows. I'm not really concerned about answering those questions because I'm not trying to test the efficacy of meditation (I'm convinced of it already).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;My experiment wasn't about the meditation&lt;/b&gt;, though that was a crucial part of it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;During the course, one follows the &lt;a href="http://en.wikipedia.org/wiki/%C5%9A%C4%ABla#Eight_Precepts"&gt;eight precepts&lt;/a&gt; of &lt;a href="http://en.wikipedia.org/wiki/%C5%9A%C4%ABla#Eight_Precepts"&gt;Sila&lt;/a&gt; (Morality). Among these include 'non violence' - which also translates to &lt;i&gt;being vegetarian&lt;/i&gt;, and 'no intoxicants'. The theory goes that perfect morality is an essential foundation for concentration, and concentration in turn is an essential foundation for Wisdom.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've tried being vegetarian several times (longest stretch - one month), and also tried giving up alcohol (longest stretch - a year). I don't consume either in excessive quantities, and I've always enjoyed both - so I decided that I didn't really need to suppress my desire to consume them. Until now. I mean - &lt;b&gt;would &lt;i&gt;you&lt;/i&gt; forgo Wisdom for a plate of chicken tikka masala? &lt;/b&gt;(I know &lt;a href="http://blog.reza.org/"&gt;someone &lt;/a&gt;who just might)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;h2&gt;Objective&lt;/h2&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Starting with the premise that meditation (especially at the two-hour-a-day-level, and after having spent ten, ten-hour days at a retreat) makes one more aware of oneself, I decided that I wanted to see if I could actually notice the effects of consuming meat or alcohol. &lt;/div&gt;&lt;div&gt;&lt;h2&gt;Experimental Method&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;Just giving them up wouldn't work - because I wouldn't have a good 'control' for my experiment. Instead I decided to limit my intake of both to: &lt;b&gt;three&lt;/b&gt; times a week each of meat/alcohol in January, &lt;b&gt;twice &lt;/b&gt;a week in February, and &lt;b&gt;once&lt;/b&gt; a week in March. I marked every intake on &lt;a href="https://www.google.com/calendar"&gt;google calendar&lt;/a&gt; with an &lt;b&gt;A&lt;/b&gt; for alcohol and &lt;b&gt;M&lt;/b&gt; for meat. I also annotated my calendar any time I had a particularly difficult sit.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A quick diversion. I realize that it is counterproductive to think of a Sit as either "good" or "bad". The whole point is to observe the reality of your experience as it is, in a non-judgmental way, and do so with equanimity. &lt;i style="font-weight: bold; "&gt;But&lt;/i&gt; that doesn't take away from the fact that sometimes I'd sit down and spend the hour calmly focussing on different parts of my body and other times my mind would be a storm, I'd struggle to keep my eyes closed, and then realize that it had only been thirty minutes. I marked those times with a "&lt;b&gt;-1&lt;/b&gt;".&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;h2&gt;Observations&lt;/h2&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;What I found was fascinating. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As suspected, it was almost impossible to have even one drink, and then sit down to meditate. I'd usually organize the evening so that I'd meditate first, and then have a drink (This was made particularly easy thanks to my awesome employer &lt;a href="http://www.google.com/jobs"&gt;google&lt;/a&gt;, where there are meditation rooms on campus. I've meditated in several buildings in Mountain View, as well as in Seattle while on a business trip).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, as suspected, the morning after having a couple of beers was a little difficult. But I was surprised that &lt;b&gt;even a single drink&lt;/b&gt; tended to have an effect on my meditation &lt;b&gt;the next day&lt;/b&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But &lt;b&gt;the big surprise was the meat&lt;/b&gt;. Sure - a big meal of red meat makes most people feel a bit sluggish, but I noticed that the effects of meat were just as unsettling on the mind as alcohol. Definitely less intense (I rarely planned my meditation around a meal unless it was going to involve alcohol), but tended to last for three to four sits (1.5 - 2 days). Dropping down from three meals a week to two, and then to one, really brought this point home. In March I was able to clearly see that the single meat meal upset a balance, whereas in January it was a little harder to notice since the various effects merged together.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On a side note - counting my meat meals had this strange effect where I'd always have to figure out if it was worth using my single meat-coupon (as I called in in my head) on any given meal. Suddenly sausage at breakfast, or chicken soup at lunch was just not worth blowing a coupon on. Note also that, given how &lt;a href="http://www.google.com/jobs"&gt;fantastic the food at google is&lt;/a&gt;, the bar was extraordinarily high.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;So where does that leave things now that it's April? &lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Now that I've meditated at least two hours a day for a little over one hundred days in a row, I really hope to keep going. In fact the thought of stopping pains me. I'm particularly inspired by &lt;a href="http://nipun.charityfocus.org/write/viral/index.php?pg=whyisit"&gt;someone about my age who's been meditating for over seven years.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What about the consumption restrictions? &lt;i&gt;Contrary to my intuition&lt;/i&gt;, going through a period of "self-deprivation" actually ended up being instructive and wasn't just an exercise in masochism. If I hadn't controlled my intake in a systematic way, I wouldn't have been able to notice the effects. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But living in such a forced, controlled way doesn't necessarily add to a joyous life. I stand by my earlier conviction that if I give up something (meat or alcohol), it shouldn't be because of some sense that it is right but, rather, because it's just not worth it. Like how putting your hand directly inside a flame is just not appealing because you know you're going to get burnt.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So - I'm no longer counting my meals or my drinks. But I'm pretty sure, if I keep up my "daily practice", I'll change the way I eat and drink.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;PS: That's not me in the picture. I don't meditate upside down, and I can't even do lotus position right-side-up.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-3644175444363601964?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/3644175444363601964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=3644175444363601964' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3644175444363601964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3644175444363601964'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2011/04/meditation-experiment.html' title='The Meditation Experiment'/><author><name>bhanoo@</name><uri>http://www.blogger.com/profile/12364426193284741247</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-7682077.post-610621665197049708</id><published>2011-03-01T12:57:00.000-08:00</published><updated>2011-03-14T23:20:05.837-07:00</updated><title type='text'>Monetization Part III: Virtual Currency as Business Model Abstraction</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;This is the third part of my mini series on virtual currency monetization after &lt;a href="http://bhanoo.blogspot.com/2011/02/understanding-monetization.html"&gt;Part I: Understanding Monetization&lt;/a&gt; and &lt;a href="http://bhanoo.blogspot.com/2011/02/social-games-and-virtual-currency.html"&gt;Part II: Social Games and Virtual Currency&lt;/a&gt;.&lt;br /&gt;&lt;h2&gt;Dot Coms&lt;/h2&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.flickr.com/photos/rmgimages/4660273810/" title="Dot Com Sign by RambergMediaImages, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4007/4660273810_f115d3a2ce.jpg" width="300" height="225" alt="Dot Com Sign" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the past decade, many companies assumed that publishing ("let's get a bunch of users and make a ton of money off ads!") was the only viable business model online since only a few companies (amazon, ebay) seemed to be able to actually sell stuff to people. But while some were making a killing on ads, most found it unsustainable - either their audience wasn't large enough, or it was too fragmented to sell to publishers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fast forward to a few years ago, and a few interesting things happened to challenge that assumption:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;iTunes&lt;/b&gt; is wildly successful at distributing paid digital content&lt;/li&gt;&lt;li&gt;&lt;b&gt;Facebook&lt;/b&gt; opens its platform, and some game developers figure out how to make more than half a billion dollars of revenue&lt;/li&gt;&lt;li&gt;the &lt;b&gt;Fremium&lt;/b&gt; business model is successfully adopted by several services&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;...thereby showing that&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;some (many?) people are willing to pay for things online&lt;/li&gt;&lt;li&gt;it is possible to create a sustainable online business from paying customers&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Today, entrepreneurs like my friend Max need to decide up-front whether to create a paid experience or to go with an advertiser supported model. This affects the fundamental design of their service, and may be a difficult decision to change down the road.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Social game developers, meanwhile, have hit on a formula that lets them &lt;b&gt;&lt;i&gt;abstract&lt;/i&gt;&lt;/b&gt; their monetization strategy from the experience they provide. Let me explain.&lt;/div&gt;&lt;h2&gt;Abstraction&lt;/h2&gt;&lt;div&gt;Remember (from my earlier post on Social Games and Virtual Currency) that developers price their experience in virtual currency, and provide multiple ways for users to earn that currency including playing the game, completing an offer, purchasing the currency, or paying for some sort of subscription. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That should sound super familiar to you from Part I which talks about the monetization funnel. Here's that funnel again (click to enlarge):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_c6ik3oauXSE/TUuRQ07OPHI/AAAAAAAAApk/2Hj6RuJXXwQ/s1600/monetization%2Bfunnel.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 192px;" src="http://3.bp.blogspot.com/_c6ik3oauXSE/TUuRQ07OPHI/AAAAAAAAApk/2Hj6RuJXXwQ/s320/monetization%2Bfunnel.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5569705082444725362" /&gt;&lt;/a&gt;You can see that all of those methods of monetization live on the funnel too. And, just as you'd expect, the further down that funnel you go, the more virtual currency you get - because that's where the developer makes the most money. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For example, when you're just playing the game to get more points, the developer isn't really making much money off you. At most they may display some ads on the side that you happen to click - this was more popular a few years ago in the early days of social games. And so, earning currency by playing the game usually takes a &lt;i&gt;long&lt;/i&gt; time.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On the other end of the spectrum, subscriptions is the most lucrative type of monetization because many people have too much inertia to cancel a subscription so even if they don't use your service, they continue paying you. That's why developers will offer you all sorts of extra benefits if you sign up for a subscription service.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What's so cool about this? Aren't game developers just re-using all the same tools that we've known about for decades?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;What's cool is that they've created an experience that's agnostic of the particular monetization strategy. Whereas Max needs to decide upfront which strategy to pursue, using virtual currency adds a layer of abstraction that allows users to self-select, based on how they value their time and money. Developers create up a pricing model for their experience, and then provide different ways for users to obtain the virtual currency - setting things up so that value to them is about the same no matter how the currency is obtained.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what next? Should Max use virtual currency for his online service? I'll share some final thoughts in Part IV:Virtual Currency for Everyone?&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-610621665197049708?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/610621665197049708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=610621665197049708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/610621665197049708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/610621665197049708'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2011/02/virtual-currency-as-business-model.html' title='Monetization Part III: Virtual Currency as Business Model Abstraction'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4007/4660273810_f115d3a2ce_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7682077.post-4750423816593978743</id><published>2011-02-14T21:33:00.000-08:00</published><updated>2011-03-14T23:19:48.896-07:00</updated><title type='text'>Monetization Part II: Social Games and Virtual Currency</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;/blockquote&gt;In &lt;a href="http://bhanoo.blogspot.com/2011/02/understanding-monetization.html"&gt;Part I of the Monetization Story&lt;/a&gt;, I wrote about an insight that my friend Krishna had shared with me pertaining to monetization, and also about my other friend Max's monetization dilemma when it came to designing his service.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The world of social games and how they use virtual currency is really quite fascinating, and I think could prove instructive for Max. But first, let's take a quick look at how that world works.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.flickr.com/photos/idlepines/4041571213/" title="Farmville flowers by Idlepines, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2450/4041571213_dbb4b630ce.jpg" width="500" height="293" alt="Farmville flowers" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The experience (a tractor to tend to your farm) is priced in a virtual currency (2000 Farm Cash for the tractor). Why buy a tractor? It helps tend your farm, which lets you grow more stuff, which lets you build a bigger farm than your friends (Read more about game dynamics from &lt;a href="http://gamification.co/gabe-zichermann/"&gt;Gabe Zichermann&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And how does one come by 2000 Farm Cash with which to buy the aforementioned tractor? Well, you could:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Play the game&lt;/b&gt;: Social games are almost always free to play. The more you play, the more Farm Cash you earn (but only a little), and the more involved you get. Maybe you invite your friends to play too. And just maybe now and then you accidentally click on an ad.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Complete an 'offer'&lt;/b&gt;: Want to get 250 Farm Cash quick instead of slogging at the game for two days? How about signing up for a &lt;i&gt;free&lt;/i&gt; Netflix subscription? Netflix has estimated the average value of a trial subscription at $70 (I'm making up these numbers somewhat). So they pay an advertising network $70, who pays another network $50, who pays another network $40, who pays the game developer $25 for every new netflix  signup. The developer pockets $25 and gives you 250 Farm Cash. You're happy, the developer is happy, all the ad networks are happy, and netflix is happy too.&lt;/li&gt;&lt;li&gt;Whip out your &lt;b&gt;wallet&lt;/b&gt;: Already signed up for all the free subscriptions and answered all the surveys you can bear? Still need some more Farm Cash to get ahead of your buddy? Pull out your credit card, and you can load up with 250 Farm Cash in seconds - for a mere $20.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Subscribe&lt;/b&gt;: Are you a &lt;a href="http://www.urbandictionary.com/define.php?term=baller"&gt;baller&lt;/a&gt;? Subscribe to Club Pharm and, for $15 a month, you can get 500 Farm Cash as well as special member-only farm itemz!&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Most people undervalue their time (they're the ones willing to spend hours looking for a deal that saves them $5) and they'll tend to play for free or by completing an offer. But every now and then you'll get a few loyal users who value your service, or their time, enough to pay you in cash. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Although only a few people will pay, it's estimated that &lt;a href="http://tukkoreview.com/social-casual-games/facebook%E2%80%99s-big-credits-push-shows-itself-in-cityville-other-top-social-games/"&gt;over 80 percent of game revenues come from direct payments&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Reflecting on this, it's important to note that using a virtual currency doesn't magically mint money for you - it's just a useful representation of value, and is &lt;i&gt;&lt;b&gt;only as valuable as the experience it enables&lt;/b&gt;&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Using virtual currency instead of real money is useful for multiple reasons:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;It provides an easy way for developers to incentivize specific actions within the game without actually giving away real money.&lt;/li&gt;&lt;li&gt;It makes it easy to price items and charge users small amounts of money&lt;/li&gt;&lt;li&gt;It retains the fiction of the game - it's less jarring to think about farm cash, rather than realize that you're spending hard-earned USD.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;There are many tricks to making a virtual currency work well - like making it difficult for people to judge the 'real value' of that currency, making sure that the tasks that enable you to earn it are meaningful, and ensuring that there are sufficiently interesting things for people to spend their virtual currency on, so that they are enticed into figuring out how to obtain it.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, what I'm really interested in doing is taking a step back and exploring if and how we can apply some of what games have done with virtual currency to the broader question of online monetization; hopefully in a way that will help Max. In &lt;a href="http://bhanoo.blogspot.com/2011/02/virtual-currency-as-business-model.html"&gt;my next post&lt;/a&gt;, I'll try to explain how I think games have been able to&lt;a href="http://bhanoo.blogspot.com/2011/02/virtual-currency-as-business-model.html"&gt; abstract away their monetization strategy&lt;/a&gt;, and then see if this is of general use to others.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-4750423816593978743?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/4750423816593978743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=4750423816593978743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/4750423816593978743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/4750423816593978743'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2011/02/social-games-and-virtual-currency.html' title='Monetization Part II: Social Games and Virtual Currency'/><author><name>bhanoo@</name><uri>http://www.blogger.com/profile/12364426193284741247</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2450/4041571213_dbb4b630ce_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7682077.post-6005197753778794132</id><published>2011-02-01T19:07:00.000-08:00</published><updated>2011-03-14T22:55:22.296-07:00</updated><title type='text'>Monetization Part I: Understanding Monetization</title><content type='html'>A few days ago I had breakfast with my friend Max to talk about growing and monetizing his online service. He asked about whether to monetize using advertising or subscriptions, and I drew something resembling the following:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_c6ik3oauXSE/TUuRQ07OPHI/AAAAAAAAApk/2Hj6RuJXXwQ/s1600/monetization%2Bfunnel.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 192px;" src="http://3.bp.blogspot.com/_c6ik3oauXSE/TUuRQ07OPHI/AAAAAAAAApk/2Hj6RuJXXwQ/s320/monetization%2Bfunnel.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5569705082444725362" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;He saved me from committing a start-up cliché by handing me an index card before I could use my napkin.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;The Monetization Funnel&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The idea for this came from my friend &lt;a href="http://www.linkedin.com/in/krishnamotukuri"&gt;Krishna Motukuri&lt;/a&gt;. When I was still working fulltime on reporterist.com, I would periodically go on long bike rides with him, and listen to his valuable start-up advice afterwards over beers and burgers.&lt;/div&gt;&lt;div&gt;Krishna's insight was that in our economy everyone is funneling users towards a purchase/ consumption/ transaction point.&lt;/div&gt;&lt;div&gt;The farther you are from getting a user to that transaction, the larger your potential audience is but since, the value you are adding is tiny, you can only earn a small cut. On the other hand, the closer someone is to making a transaction, the higher your margins for getting them closer. But there’re only a few people who are that close.&lt;/div&gt;&lt;div&gt;So there’s actually continuum of monetization (using Crossfit as an example):&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;brand advertising – A billboard for a Crossfit gym.&lt;/li&gt;&lt;li&gt;various intent-driven advertising priced as CPC or CPA – An ad for Crossfit showing up when you search for “fitness” or on a body building blog.&lt;/li&gt;&lt;li&gt;lead generation – A gift (first month of membership free?) in exchange for getting someone to come into the gym and take a tour.&lt;/li&gt;&lt;li&gt;commerce – Signing someone up for their first crossfit class.&lt;/li&gt;&lt;li&gt;subscriptions – Subscriptions are obvious for gyms– but think about something like &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FSubscribe-Save-Grocery%2Fb%3Fie%3DUTF8%26node%3D251482011&amp;amp;tag=bhanoo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=390957"&gt;amazon subscriptions&lt;/a&gt; or &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fprime%3Fie%3DUTF8%26tag%3Dgooghydr-20%26hvadid%3D2480937525%26ref%3Dpd_sl_4jhisc5c2_b&amp;amp;tag=bhanoo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=390957"&gt;prime&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;h3&gt;Understand your funnel&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Saying “I’m going to get lots of users and then figure out how to monetize” is okay (if you have the runway) but it’s still important to have a feel for the numbers. Some questions to ask:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;How large of an audience are we talking about? A thousand users? A million? A hundred million?&lt;/li&gt;&lt;li&gt;Who wants to reach that audience?&lt;/li&gt;&lt;li&gt;How much is it worth to them?&lt;/li&gt;&lt;li&gt;How will you connect with them (the advertisers, not the audience)?&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Max needs to figure out which funnel his service fits into, and what its shape is. If he can compare the approximate areas (revenue per user * audience size) at different points along that funnel he can figure out how best to monetize his users.&lt;/div&gt;&lt;div&gt;Not that getting these numbers right is easy – how do you know what a user is worth? How do you predict the growth or virality of your service? If you build an ad-supported experience, what do you do if you got your numbers wrong?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is something I've been thinking about recently in the context of &lt;a href="http://www.jambool.com/"&gt;virtual currency&lt;/a&gt;. I think there's a connection. In my next post, I'll talk a bit more about &lt;a href="http://bhanoo.blogspot.com/2011/02/social-games-and-virtual-currency.html"&gt;games and virtual currency&lt;/a&gt;, and then try to explain why I think they've hit on something more generally applicable.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-6005197753778794132?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/6005197753778794132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=6005197753778794132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6005197753778794132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6005197753778794132'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2011/02/understanding-monetization.html' title='Monetization Part I: Understanding Monetization'/><author><name>bhanoo@</name><uri>http://www.blogger.com/profile/12364426193284741247</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c6ik3oauXSE/TUuRQ07OPHI/AAAAAAAAApk/2Hj6RuJXXwQ/s72-c/monetization%2Bfunnel.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7682077.post-3570420215594656410</id><published>2011-01-07T11:18:00.000-08:00</published><updated>2011-01-07T11:46:19.323-08:00</updated><title type='text'>2010</title><content type='html'>Somewhat chronological highlights from 2010:&lt;div&gt;&lt;ul&gt;&lt;li&gt;Started a company (restaurant waitlists via SMS; decided to sunset it eventually)&lt;/li&gt;&lt;li&gt;Reunited with the wife (we were coast-to-coast commuting)&lt;/li&gt;&lt;li&gt;Singapore/Malaysia vacation (met old friends, ate good food)&lt;/li&gt;&lt;li&gt;Big bicycle accident&lt;/li&gt;&lt;li&gt;Started working for google&lt;/li&gt;&lt;li&gt;Moved into a house&lt;/li&gt;&lt;li&gt;2nd 10-day meditation retreat.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Looking forward to all that 2011 has to offer, since &lt;a href="http://en.wikipedia.org/wiki/This_too_shall_pass"&gt;this too shall pass&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-3570420215594656410?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/3570420215594656410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=3570420215594656410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3570420215594656410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3570420215594656410'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2011/01/2010.html' title='2010'/><author><name>bhanoo@</name><uri>http://www.blogger.com/profile/12364426193284741247</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-7682077.post-8435295584667918245</id><published>2010-07-18T00:54:00.000-07:00</published><updated>2010-07-18T01:02:43.858-07:00</updated><title type='text'>Sunday in Singapore (Day 2)</title><content type='html'>Woke up at 6am and went for a run in Botanical Gardens with Sindya.&lt;div&gt;This time we found "&lt;a href="http://www.hungrygowhere.com/singapore/mr_prata_evans_road/"&gt;Mr Prata&lt;/a&gt;" and ate a paper dosa, two pratas, fresh orange juice, and coffee. Mmm. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Came back and took a quick swim in the pool. After a short post-exercise-nap, we headed out to Serangoon Road and walked around taking pictures of Indians, making sure to keep an eye out for any &lt;a href="http://en.wikipedia.org/wiki/Chindian"&gt;Chindians&lt;/a&gt; (we may have seen a few, but not sure?). We ate at &lt;a href="http://www.hungrygowhere.com/singapore/ananda_bhavan_restaurant_serangoon_road/"&gt;Ananda Bhavan&lt;/a&gt;, did an obligatory tour of &lt;a href="http://en.wikipedia.org/wiki/Mustafa_Centre"&gt;Mustafa's&lt;/a&gt;, and then took a taxi to Grange Road.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ah. Grange Road. Stopped at both Lucky Tower and Beverly Hill to show Sindya where I grew up. We even walked around on One Tree Hill Road - where my best friend used to live.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Checking out of the hotel to go spend the evening with the Iyer's. Tomorrow we catch a bus to Kuala Lumpur.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Impressions:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Singapore still has too many malls - it's freaking me out.&lt;/li&gt;&lt;li&gt;The food options are great. I'm full (but exercising just enough to keep my appetite)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-8435295584667918245?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/8435295584667918245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=8435295584667918245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8435295584667918245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8435295584667918245'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2010/07/sunday-in-singapore-day-2.html' title='Sunday in Singapore (Day 2)'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-6243583777877830185</id><published>2010-07-17T07:57:00.001-07:00</published><updated>2010-07-17T08:09:46.123-07:00</updated><title type='text'>Saturday in Singapore</title><content type='html'>We got in to Singapore on Friday afternoon, surprisingly un-jetlagged.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.starwoodhotels.com/stregis/property/overview/contact.html?propertyID=1533"&gt;room&lt;/a&gt; is quite fantastic (will post pictures later) - good thing we &lt;a href="http://www.starwoodhotels.com/preferredguest/index.html"&gt;aren't paying for it&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;On Friday night we met up with Aditya and his wife in Clarke Quay, and had a beer at the Crazy Elephant. Then headed to a tiny hawker-restaurant-type-place near his house and ate chilli-crab, some chicken dish, etc. I know I'm allergic to crab, but had to eat it it anyway. Don't ask why I was under the impression that I wouldn't be allergic to Singaporean crab. So yeah - I had a mild allergic reaction on the way to bed.&lt;br /&gt;&lt;br /&gt;This morning I got up and went for a run around the Botanical Gardens, in the pouring rain. Part of the mission was to search for Mr. Prata - a 24 hour Roti Prata place. The other part of the mission was to get rid of the pounding headache, and digest enough so that I could eat more. It was cool - I saw the little pond where I used to feed the swans with my mom growing up.&lt;br /&gt;&lt;br /&gt;We worked out at the gym, showered, and then headed out in search of food. After some hunger-induced-panic, we finally found a food court (basement of Lucky Plaza) and ate Kaya Toast and Mee Siam.&lt;br /&gt;&lt;br /&gt;We took the MRT to Harbour Front, and met up with Reuben - a.k.a. Jambool Intern version 1.0. He took us to  The Cheese Prata Shop - near NUS - to eat Roti Prata (mmm).&lt;br /&gt;&lt;br /&gt;Came back, did a complimentary wine tasting at the hotel, and then took a nap, tired from all the walking. Went out for a late-night snack at a Chinese vegetarian restaurant on Orchard Road.&lt;br /&gt;&lt;br /&gt;Impressions:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;there are way too many malls in Singapore&lt;/li&gt;&lt;li&gt;so many road names are giving me flash-backs to my childhood. Even some of the geography is coming back to me (within the 1-mile-radius that I knew as a child)&lt;/li&gt;&lt;li&gt;it's pretty dang humid here&lt;/li&gt;&lt;li&gt;for a place with not much to actually see, they've done a great job marketing it as a tourist destination&lt;/li&gt;&lt;li&gt;there are way too many malls in Singapore&lt;/li&gt;&lt;/ul&gt;Tomorrow I will take S to the street where I grew up.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-6243583777877830185?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/6243583777877830185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=6243583777877830185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6243583777877830185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6243583777877830185'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2010/07/saturday-in-singapore.html' title='Saturday in Singapore'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-8850342780367836279</id><published>2010-07-15T15:40:00.001-07:00</published><updated>2010-07-15T15:47:44.635-07:00</updated><title type='text'>trip update</title><content type='html'>The Wife and I are headed to Singapore and Malaysia. Here's what we have planned:&lt;br /&gt;&lt;br /&gt;- a weekend in Singapore - showing her where I grew up, meeting some old friends, and eating&lt;br /&gt;- a couple of days in KL - staying with my alternate-mom (a.k.a. Aunty Ann), checking out KL, eating.&lt;br /&gt;- 3 nights in Pulau Redang - tropical beach paradise.&lt;br /&gt;- a few days free (current thinking is to go into the teman negara rainforest)&lt;br /&gt;- a night in Singapore&lt;br /&gt;- back home&lt;br /&gt;&lt;br /&gt;We are unwittingly taking the scenic route to Singapore. San Francisco - Hong Kong - Bangkok - Singapore.&lt;br /&gt;&lt;br /&gt;On the bright side - hopefully that will result in more meals (and miles?)&lt;br /&gt;&lt;br /&gt;Not sure how regularly we'll (want to) have internet access...&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-8850342780367836279?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/8850342780367836279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=8850342780367836279' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8850342780367836279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8850342780367836279'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2010/07/trip-update.html' title='trip update'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-3414485557538385331</id><published>2009-12-13T18:57:00.000-08:00</published><updated>2009-12-13T19:29:35.895-08:00</updated><title type='text'>Doing what you love</title><content type='html'>The wife recently linked to an &lt;a href="http://paulgraham.com/love.html"&gt;essay by Paul Graham titled How to Do What You Love.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;He's an awesome writer and reading his writing is almost always inspiring, and definitely always thought provoking. Here are some of my favorite quotes from it:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Unproductive pleasures pall eventually. After a while you get tired of lying on the beach. If you want to stay happy, you have to do something.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt; All parents tend to be more conservative for their kids than they would for themselves, simply because, as parents, they share risks more than rewards. If your eight year old son decides to climb a tall tree, or your teenage daughter decides to date the local bad boy, you won't get a share in the excitement, but if your son falls, or your daughter gets pregnant, you'll have to deal with the consequences.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;"Always produce" is also a heuristic for finding the work you love. If you subject yourself to that constraint, it will automatically push you away from things you think you're supposed to work on, toward things you actually like. "Always produce" will discover your life's work the way water, with the aid of gravity, finds the hole in your roof.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;and finally:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Finding work you love is very difficult. &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;BUT&lt;/b&gt; - he misses an important point. I don't think that Finding Work You Love should be a life goal in and of itself. How absurd to constrain your happiness in such a limited way!&lt;br /&gt;&lt;br /&gt;The only point of Finding Work That You Love is to experience it and, from it, learn how to love doing everything - from the most mundane to the "extraordinary".&lt;br /&gt;&lt;br /&gt;I'm pretty sure I love programming. But I have a strong hunch that it's not the programming I love, but just that it happens to make it easy for me to express creativity, make something beautiful, and work towards perfection.&lt;br /&gt;&lt;br /&gt;Now if only I could transfer that sense of craftsmanship into doing my taxes...&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-3414485557538385331?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/3414485557538385331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=3414485557538385331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3414485557538385331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3414485557538385331'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2009/12/doing-what-you-love.html' title='Doing what you love'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-6496435401320601121</id><published>2009-07-29T23:03:00.000-07:00</published><updated>2009-07-30T00:10:43.867-07:00</updated><title type='text'>Simulating the act of Movie Watching</title><content type='html'>So as you know, we've been experimenting with a slightly &lt;a href="http://www.thiscomiclife.wordpress.com"&gt;different form of expression.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;With the &lt;a href="http://thiscomiclife.wordpress.com/2009/07/29/away-we-go/"&gt;latest post - "away we go"&lt;/a&gt; - we were trying to convey the fact that we had a conversation about a movie. Yeah I could link to the movie, but how cool would it me to make it look like we were &lt;i&gt;actually watching the movie&lt;/i&gt;!?&lt;br /&gt;&lt;br /&gt;I had some vague images in the back of my mind of the effect I was thinking of which, someone later pointed out, came from &lt;a href="http://en.wikipedia.org/wiki/Mystery_Science_Theater_3000"&gt;Mystery Science Theatre 3000&lt;/a&gt;. The idea being to let people watch the movie (or movie trailer in this case), but still retain the feel of the rest of the blog.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Basic Idea&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;So it's done using 3 pieces: &lt;ol&gt;&lt;br /&gt;&lt;li&gt;A background image on a div: &lt;img src="http://thiscomiclife.files.wordpress.com/2009/07/movie-back.png" width=100&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A youtube embed with a fixed size&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A transparent png: &lt;br /&gt;&lt;div style="background:#f66;width:150px;height:70px;"&gt;&lt;br /&gt;&lt;img src="http://thiscomiclife.files.wordpress.com/2009/07/movie-front2.png" width=100&gt;&lt;/div&gt;&lt;br /&gt;(i added in a red background to make the transparency obvious)&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Process&lt;/h3&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;I started, as always, by painting the image on a business card and scanning it in.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;I used a &lt;a href="http://opensword.org/pixen/download.php"&gt;free drawing program - Pixen&lt;/a&gt; - to draw a black rectangle of the exact dimensions of the youtube embed (480x295 in my case), and then resized the drawing slightly so that it framed the rectangle. This got me to &lt;img src="http://thiscomiclife.files.wordpress.com/2009/07/movie-back.png" width=100&gt;&lt;br /&gt;&lt;li&gt;I then copied the bottom half of the image, and erased all of the stuff around the seats and heads so that it was transparent&lt;/li&gt;&lt;br /&gt;&lt;li&gt; I played around with some html in an editor, and came up with something that looked like:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; div style="background-image:url( '...' ); padding:;" // the background&lt;br /&gt;  object embed  // the 'movie'&lt;br /&gt;  div style="z-index:999;position:relative;..." // the silhouettes &lt;br /&gt; /div&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt; Finally, wordpress.com doesn't like object-embed tags, so you have to use [youtube=url] link instead&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;and that's it. obviously it doesn't quite look like &lt;a href="http://www.youtube.com/watch?v=dDjBsOkidek"&gt;an MST3K episode&lt;/a&gt;, and there's definitely some improvements that could be made (the head shapes got a little messed up when trying to make the transparent png).&lt;br /&gt;&lt;br /&gt;But overall, I'm pretty happy with the &lt;a href="http://thiscomiclife.wordpress.com/2009/07/29/away-we-go/"&gt;end result&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As my &lt;a href="http://www.linkedin.com/in/dylanweed"&gt;buddy&lt;/a&gt; mentioned, you could take this a few steps further and do all sorts of &lt;a href="http://www.vh1classic.com/view/playlist/1575686/189435/Pop_Up_Videos/Pop_Up_Video_A_Ha_Take_On_Me/index.jhtml"&gt;effects&lt;/a&gt; using simple HTML and a bit of javascript.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-6496435401320601121?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/6496435401320601121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=6496435401320601121' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6496435401320601121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6496435401320601121'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2009/07/simulating-act-of-movie-watching.html' title='Simulating the act of Movie Watching'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-4218879926225805000</id><published>2009-07-09T17:28:00.000-07:00</published><updated>2009-07-09T17:30:14.246-07:00</updated><title type='text'>A comic take on life</title><content type='html'>I got a little sick of writing on this thing, so I'm trying a new technique. Check out &lt;a href="http://thiscomiclife.wordpress.com/recent/"&gt;This Comic Life.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-4218879926225805000?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/4218879926225805000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=4218879926225805000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/4218879926225805000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/4218879926225805000'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2009/07/comic-take-on-life.html' title='A comic take on life'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-6487942837126544125</id><published>2009-02-28T22:59:00.000-08:00</published><updated>2009-02-28T23:49:10.829-08:00</updated><title type='text'>work, geeking out, meditation, fun, housing, blogging</title><content type='html'>&lt;h3&gt;on Work&lt;/h3&gt;&lt;br /&gt;I've been really busy the past month, working hard to bring &lt;a href="http://www.jambool.com"&gt;credit card payments to social games&lt;/a&gt;. And we just did a limited launch last week. It's been an amazing experience.&lt;br /&gt;&lt;br /&gt;Payments sounds kind of dry at first, but it's a great mix of business-logic and performance.Enough business-logic-complexity to make it a challenge to design clean code; but not enough to make me rip my hair out. Enough performance considerations that I get to work on fun little performance improvements, but not enough that I lose sight of the larger business goal. And I'm learning a whole new domain and lingo.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;on Geeking Out&lt;/h3&gt;&lt;br /&gt;I've been working on a few small projects on the side. The first is a really &lt;a href="http://decider.xperilab.com"&gt;simple-but-surprisingly-addictive application that I call The Decider&lt;/a&gt;. Go check it out, and let me know what you think.&lt;br /&gt;&lt;br /&gt;The second is a little piece of open-source goodness to &lt;a href="http://code.google.com/p/xlr8/"&gt;help rails websites load faster for the customer.&lt;/a&gt; Edge-caching has traditionally been the purview of larger organizations with multi-media-intensive content. It just didn't make sense for the "little guy" to even think about it. But then Amazon released &lt;a href="http://aws.amazon.com/cloudfront/"&gt;Cloudfront - a pay-as-you-use edge caching webservice&lt;/a&gt; and, once again, changed the game. I don't know how many people realize what a game changer this is. I suppose most people look at Cloudfront and think "Ah - when my site gets big enough I'll think about edge caching". That's what I thought when I heard about the release.&lt;br /&gt;&lt;br /&gt;But then I got thinking - the apps I work on at &lt;a href="http://www.jambool.com"&gt;Jambool (where I work now)&lt;/a&gt; aren't media rich, but it's important for our widgets to load blindingly fast for our customers. And, as I was looking into tweaking our load-times, I realized that edge caching simple things like javascript and css would make things even faster. Anyways, the &lt;a href="http://code.google.com/p/xlr8"&gt;xlr8 ('accelerate', for the slow)&lt;/a&gt; is the product about 6-8 hours of work. It works, but is still an early incarnation.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;on Meditation&lt;/h3&gt;&lt;br /&gt;I went to the dentist a few weeks ago and she tried to sell me about $1,000 worth of dentistry. I'm trying to see if I can put some of the work off until my next India trip (where the total cost will be less than my co-pay here). But she also tried to get me to buy  a mouth-guard to prevent me clenching my jaw. I don't grind my teeth at night, but I do clench my jaw, mainly because I've been pretty stressed out for the past year. I decided that, rather than shell out the $250 to mitigate the symptom, I'm going to try to address the cause.&lt;br /&gt;&lt;br /&gt;Two years ago I attended a &lt;a href="http://www.dhamma.org/"&gt;10 day Vipassana retreat&lt;/a&gt;. It was among the most difficult, but most rewarding experiences of my life. And left me with one more tool in my toolbox-for-life. They recommended 2 hours of meditation per day, which I faithfully followed - for about 3 days. So for the past month or so, I've been trying to revive my practice but manage to sit for no more than 20 minutes at a time.&lt;br /&gt;&lt;br /&gt;And then &lt;a href="http://davidgelles.com/"&gt;a friend of mine&lt;/a&gt; suggested that we go to a &lt;a href="http://insightberkeley.org/"&gt;weekly sit in Berkeley&lt;/a&gt;. He got sick and had to bail, but I ended up going last Thursday. It was fantastic, I was able to sit for 45 minutes with relative ease, and felt the afterglow for the next 24 hours. I won't go as far as to say that I'm going to go every week, but I do hope to be a bit more regular.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;on Fun&lt;/h3&gt;&lt;br /&gt;Two weekends ago, about 21 people (mostly Indian friends of mine from &lt;a href="http://www.cmu.edu"&gt;college&lt;/a&gt;, along with other friends, significant others, etc) got together in &lt;a href="http://www.skitaos.org/"&gt;Taos, NM for our annual ski trip&lt;/a&gt;. It was, as usual, lots of fun. We normally do a Friday- Monday trip but a few of us flew in on Wednesday night so we had more time to acclimatize to the altitude, to relax and chat (and geek out) with friends and, of course, ski.&lt;br /&gt;&lt;br /&gt;The wife and I stayed at the &lt;a href="http://ojocalientesprings.com/"&gt;Ojo Caliente Hot Springs&lt;/a&gt; on Monday night as well - and that finished off the trip just right.&lt;br /&gt;&lt;br /&gt;This morning I went surfing in &lt;a href="http://maps.google.com/maps?q=pacifica,+ca"&gt;Pacifica&lt;/a&gt;. It was still a little cold and the waves weren't that great. &lt;br /&gt;&lt;br /&gt;Next week, the wife and I are heading up to &lt;a href="http://www.mtbaker.us/"&gt;Mount Baker, WA&lt;/a&gt; for a &lt;a href="http://www.jambool.com"&gt;company ski trip&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;I love the West coast.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;on Housing&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;We've been idly thinking about the possibility of buying a place to live, instead of continuing to pour money down the rent-drain. Any suggestions on neighborhoods that I might like in the SF Bay Area? I'd love to stay in SF, but it's out of our budget. I think I'd want something that's &lt;ul&gt;&lt;br /&gt;&lt;li&gt;5-10 minute walk to a major bus/train route to downtown&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&amp;lt; 45 minute public transport commute to downtown&lt;/li&gt;&lt;br /&gt;&lt;li&gt;10-15 minute walk to a light-commercial area (coffeeshops, bars, restaurants, neighborhood grocery store)&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;I don't think we're going to find anything affordable in the Bay Area, and I'm not sure which one of the above I'll have to compromise on. We might have to look up in Seattle instead? Who knows.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;on Blogging&lt;/h3&gt;&lt;br /&gt;My blogging dropped off initially because I lost my main audience and subject-matter (when we moved back to India, I was trying to keep in touch with friends in Seattle. When we moved back, I didn't have the need to blog as much). Then I started doing a lot of information-sharing using &lt;a href="http://www.faves.com"&gt;Faves&lt;/a&gt;. And then I started trying out &lt;a href="http://www.twitter.com"&gt;twitter&lt;/a&gt; and &lt;a href="http://www.facebook.com"&gt;facebook status updates&lt;/a&gt; as a way to 'micro-blog' my thoughts.&lt;br /&gt;&lt;br /&gt;But, like the &lt;a href="http://www.amazon.com/gp/product/B00154JDAI?ie=UTF8&amp;tag=bhanoo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B00154JDAI"&gt;Kindle&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=bhanoo-20&amp;l=as2&amp;o=1&amp;a=B00154JDAI" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; vs news-on-the-iphone, or reading an rss-feed - I feel like there's a place  for a slightly longer form of reading/writing, which blogs seem to be be good for.&lt;br /&gt;&lt;br /&gt;That said, we'll see if I can be a little better about writing medium-sized semi-regular blog entries.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-6487942837126544125?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/6487942837126544125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=6487942837126544125' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6487942837126544125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6487942837126544125'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2009/02/back-to-blogging.html' title='work, geeking out, meditation, fun, housing, blogging'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-8850667119203127763</id><published>2008-11-18T11:56:00.000-08:00</published><updated>2008-11-18T12:07:39.787-08:00</updated><title type='text'>raw food</title><content type='html'>Yesterday morning, I went to breakfast at &lt;a href="http://www.cafegratitude.com/"&gt;Cafe Gratitude&lt;/a&gt;. We'd seen Gratitude before in Berkeley, but the wife's rationale was always "if I'm going to pay to eat out, I want hot, cooked food". After climbing at the gym though, we figured we'd drop in for a quick snack and give it a try.&lt;br /&gt;&lt;br /&gt;Here's their &lt;a href="http://www.cafegratitude.com/cafemenufeb08"&gt;menu&lt;/a&gt;. We had two juices ("I am Rejuvenated", and "I am Charismatic") and shared an enchilada ("I am Elated"). The juices were fantastic. And the enchilada was much tastier than I had imagined. The best part was that both of us left there feeling like we were bouncing off the walls - just really energetic. We'd just worked out, and had some great food.&lt;br /&gt;&lt;br /&gt;It didn't hit me until lunch time - when I was at work and got a sandwich from Quizno's. The difference in how I felt after the two meals couldn't have been more stark. Whereas I really felt enlivened after breakfast, the lunch food made me feel dull, tired, and sleepy.&lt;br /&gt;&lt;br /&gt;I've read a little about &lt;a href="http://en.wikipedia.org/wiki/Raw_foodism"&gt;Raw Foodism&lt;/a&gt; in passing, but haven't really dug deeper. Anyone have experiences they want to share? &lt;br /&gt;&lt;br /&gt;The wife and I decided that we're going to try eating at Gratitude again in the next few weeks. If we feel the same way, I'm going to try to learn more about that style of food and see if we can add some more raw foods to our diet.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-8850667119203127763?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/8850667119203127763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=8850667119203127763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8850667119203127763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8850667119203127763'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/11/raw-food.html' title='raw food'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-2472659827353911736</id><published>2008-11-07T10:15:00.000-08:00</published><updated>2008-11-07T12:34:08.330-08:00</updated><title type='text'>Credit</title><content type='html'>I've been sitting on this post for a long time - mainly because I'm not a finance-world native (or inhabitant). But too little has been said about the importance of credit rating agencies.&lt;br /&gt;&lt;br /&gt;A few months ago, a very left-leaning journalist friend of mine asked me to listen to a This American Life show entitled &lt;a href="http://www.thislife.org/Radio_Episode.aspx?sched=1242"&gt;The Giant Pool of Money&lt;/a&gt;. It's a great show that tries to get at some of the characters in this drama - from a borrower, to a lender and reseller, and so on up the chain. As always - they portrayed some great characters.&lt;br /&gt;&lt;br /&gt;But whereas Ben listened to that show and felt nothing but contempt for the bankers who made their millions (and were now worried about living their lifestyle on less that $20K per month), I came away with a slightly different take. Yes - that banker was a douche with his I-chill-with-B-list-celebrities lifestyle, but really, everyone in the chain was just making the best of their situation.&lt;br /&gt;&lt;br /&gt;That chain of people existed all over the world. The borrower was smart for recognizing that he/she could get a massive loan with no money down - a risk-free proposition that was too good to be true. The lender realized that he could make great commissions, and sell even the sketchiest of loans. The people 'securitizing' large portfolios of loans also knew that they could get away with what they were doing, and kept purchasing below-par loans, and getting them &lt;a href="http://en.wikipedia.org/wiki/Bond_credit_rating"&gt;rated&lt;/a&gt; highly. And the credit-rating agencies were getting paid lots of money to give these portfolios good ratings, so they kept at it.&lt;br /&gt;&lt;br /&gt;So what am I saying? Is no one to 'blame'?&lt;br /&gt;&lt;br /&gt;What annoys me that people &lt;i&gt;still&lt;/i&gt; make references to the credit worthiness of certain companies, bonds, or whatever - based on those same credit ratings. Remember - those credit ratings that were given under such a conflict of interest. &lt;br /&gt;&lt;br /&gt;The credit-rating agencies were the ones that provided lubricant for the entire rest of the chain. If it weren't for their excellent ratings, investors worldwide would never have put their pension funds in securities which consisted of underperforming loans bought from a knowing and incredulous lender who loaned a boatload of money to any warm body that wanted it.&lt;br /&gt;&lt;br /&gt;There are many reasons why I'm unhappy about the bailout. But relevant to the discussion above is the fact that investors who wrongly trusted the credit ratings never got burnt. And so they, and we the public, continue to put our trust in them. As if Moody's improving or dropping the rating of a particular bond should hold any water. The bailout short-circuited the natural feedback mechanism that would have resulted in investors deciding that credit-rating agencies needed more transparency if they were to be trusted, and that investors would need to do a significant amount of their own due diligence before making an investment (and not just relying on a 3 letter rating).&lt;br /&gt;&lt;br /&gt;What else was bad about the bailout? No one &lt;i&gt;really&lt;/i&gt; gave a thorough explanation of what would happen if there was no bailout. The so called experts just shook their heads, wagged their fingers and said that things would be "so bad, that it was beyond comprehension". &lt;br /&gt;&lt;br /&gt;Really? Isn't it interesting that these 'experts' were the ones who stood to gain the most from a bailout (the community of bankers, not necessarily specific people)? And isn't it interesting that these great proponents of free markets suddenly decided that free markets would not be able to solve this situation?&lt;br /&gt;&lt;br /&gt;I'm not arguing against a bailout. I honestly don't know enough to know that it wasn't required. But I &lt;b&gt;do&lt;/b&gt; know for sure that the public was hoodwinked yet again. There was a crisis, a rhetoric of fear, a waving of hands, and presto - the enormous financial risk that &lt;i&gt;should&lt;/i&gt; have been borne proportionally by the people who made investments was suddenly spread thinly across the American people. &lt;br /&gt;&lt;br /&gt;And so, we continue to fight for low interest rates, which can only be sustained by the enormous amounts of cash that the American public has put up. We taxpayers are effectively lending money at well below the fair cost of capital. What do I mean by that? &lt;br /&gt;&lt;br /&gt;If there was no bailout, it's not possible that money would not be available. Money &lt;b&gt;would&lt;/b&gt; be available. It would just be available at ridiculously high interest rates. There are enough people in this country who are sitting on several hundreds of millions of dollars; who'd be willing to lend it out for 20 - 30 - 40% interest. And maybe that reflects the true risk of lending money in today's environment. So &lt;i&gt;why&lt;/i&gt; are taxpayers shoring up the money to lend to banks at rates significantly lower than that? It doesn't make sense.&lt;br /&gt;&lt;br /&gt;It's just unfortunate that the wool has been pulled over our eyes yet again. Once when this country rushed to fight a war in a country that had nothing to do with the terrorist threats that it was supposedly reacting to. And again this year, when we mortgaged our futures so that the financial world could try to maintain its status quo.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-2472659827353911736?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/2472659827353911736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=2472659827353911736' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/2472659827353911736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/2472659827353911736'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/11/credit.html' title='Credit'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-8888197786265770606</id><published>2008-10-28T21:28:00.000-07:00</published><updated>2008-10-28T21:41:34.659-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='simpledb'/><category scheme='http://www.blogger.com/atom/ns#' term='capistrano'/><category scheme='http://www.blogger.com/atom/ns#' term='aws'/><title type='text'>Smoother cloud deployment</title><content type='html'>&lt;a href="http://www.jambool.com"&gt;Jambool&lt;/a&gt; is growing fast and we'll soon need a much smoother way to manage our deployments.&lt;br /&gt;&lt;br /&gt;As preparation for some of our code and deployment cleanup, I wrote a little plugin - &lt;a href="http://code.google.com/p/capistrano-sdb/"&gt;capistrano-sdb&lt;/a&gt; that allows you to store your &lt;a href="http://www.capify.org"&gt;capistrano&lt;/a&gt; configuration in &lt;a href="http://aws.amazon.com/simpledb/"&gt;Amazon's SimpleDB&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Capistrano is a deployment automation tool that greatly simplifies the task of deploying code (especially ruby on rails code) to a bunch of servers. SimpleDB is, well, a simple db in the cloud.&lt;br /&gt;&lt;br /&gt;My plugin allows you to use simpledb in one of two modes - either as a fallback for capistrano's config system, or as an override to it. Why would you ever want to do that?&lt;br /&gt;&lt;br /&gt;Dynamic configuration can sometimes get out of hand - because it's hard to debug. However, dynamic configuration for deployment-related variables is a great idea. In today's world of cheap, throw-away hardware, servers are constantly being replaced. We're also iterating constantly on new services in our services-oriented-architecture, and information on where those services run needs to be up-to-date.&lt;br /&gt;&lt;br /&gt;Using simpledb for deployment configuration is one building block towards an autonomic server environment. Stay tuned for more.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-8888197786265770606?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/8888197786265770606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=8888197786265770606' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8888197786265770606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8888197786265770606'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/10/smoother-cloud-deployment.html' title='Smoother cloud deployment'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-6318314459313043905</id><published>2008-09-17T15:53:00.000-07:00</published><updated>2008-09-17T16:00:15.340-07:00</updated><title type='text'>facebook developers</title><content type='html'>(Read about the &lt;a href="http://www.rockyou.com"&gt;RockYou&lt;/a&gt; &lt;a href="http://www.techcrunch.com/2008/09/17/why-hello-everyone-in-the-world-who-makes-facebook-apps/"&gt;screw up&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;And here's the list of email domains. Among other interesting insights, geeks prefer gmail over yahoo.&lt;br /&gt;&lt;br /&gt;&lt;pre style="max-height:300px; overflow:auto;border: 1px solid #777"&gt;&lt;br /&gt; 165 gmail.com&lt;br /&gt;  28 hotmail.com&lt;br /&gt;  27 yahoo.com&lt;br /&gt;   5 rockyou.com&lt;br /&gt;   3 stanford.edu&lt;br /&gt;   3 live.com&lt;br /&gt;   3 berkeley.edu&lt;br /&gt;   2 yahoo.co.uk&lt;br /&gt;   2 iwidgets.com&lt;br /&gt;   2 googlegroups.com&lt;br /&gt;   2 faceitapps.com&lt;br /&gt;   2 cpmadvisors.com&lt;br /&gt;   2 campusbin.com&lt;br /&gt;   2 buddymedia.com&lt;br /&gt;&lt;br /&gt;I've snipped the rest - they are all company email addresses.&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-6318314459313043905?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/6318314459313043905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=6318314459313043905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6318314459313043905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6318314459313043905'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/09/facebook-developers.html' title='facebook developers'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-5795355189002445875</id><published>2008-09-09T09:34:00.000-07:00</published><updated>2008-09-09T11:53:47.486-07:00</updated><title type='text'>startup in bangalore = startup in san francisco.</title><content type='html'>This past week I noticed some similarities between when we were bootstrapping the &lt;a href="http://india.amazon.com/Bangalore.html"&gt;amazon.com office in bangalore, india&lt;/a&gt;; and bootstrapping &lt;a href="http://www.jambool.com"&gt;jambool&lt;/a&gt; in san francisco, ca.&lt;br /&gt;&lt;br /&gt;- &lt;b style="color:red"&gt;It was very hot in India.&lt;/b&gt; &lt;b style="color:blue"&gt;It was very hot in San Francisco&lt;/b&gt; (before you berate me, realize that our current space is on the top floor with huge bay windows, and not airconditioned). Hot enough that we walked across the street to Vikas' place where he made &lt;a href="http://en.wikipedia.org/wiki/Thandai"&gt;Thandai&lt;/a&gt; to help keep us cool.&lt;br /&gt;- &lt;b style="color:red"&gt;The network was flaky in India.&lt;/b&gt; &lt;b style="color:blue"&gt;The network is super flaky here.&lt;/b&gt; We often pick a coffeeshop to go work from, instead of working from here.&lt;br /&gt;- &lt;b style="color:red"&gt;We worked on payments in India (&lt;a href="http://www.amazon.com/Flexible-Payments-Service-AWS/b/ref=sc_fe_l_3?ie=UTF8&amp;node=342430011&amp;no=3440661&amp;me=A36L942TSJ2AJA"&gt;amazon fps&lt;/a&gt;).&lt;/b&gt; &lt;b style="color:blue"&gt;You got it - I'm working on payments here.&lt;/b&gt;&lt;br /&gt;- &lt;b style="color:red"&gt;I reported to Vikas in India.&lt;/b&gt; &lt;b style="color:blue"&gt;I report to &lt;a href="http://www.jambool.com/aboutus/"&gt; Vikas&lt;/a&gt; here.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;and the reason for today's post:&lt;br /&gt;&lt;br /&gt;-  &lt;b style="color:red"&gt;There was often a shortage of chairs in our India office&lt;/b&gt;, so if you came in early, you grabbed someone else's chair. &lt;b style="color:blue"&gt;This morning I got in to find my chair missing&lt;/b&gt;, and had to pull a chair from one of the neighboring company's desks (we work at &lt;a href="http://maps.live.com/default.aspx?v=2&amp;FORM=LMLTCP&amp;cp=q8xck64t0wyz&amp;style=b&amp;lvl=1&amp;tilt=-90&amp;dir=0&amp;alt=-1000&amp;scene=13283149&amp;phx=0&amp;phy=0&amp;phscl=1&amp;encType=1"&gt;Pier 38&lt;/a&gt; in a space subleased from &lt;a href="http://www.socialmedia.com/"&gt;Social Media&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-5795355189002445875?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/5795355189002445875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=5795355189002445875' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5795355189002445875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5795355189002445875'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/09/startup-in-bangalore-startup-in-san.html' title='startup in bangalore = startup in san francisco.'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-7283021620535459890</id><published>2008-07-28T15:16:00.000-07:00</published><updated>2008-07-28T15:54:38.408-07:00</updated><title type='text'>Echo Chambers</title><content type='html'>While working on &lt;a href="http://www.reporterist.com"&gt;reporterist&lt;/a&gt; over the past year, one of the things that I keep yapping about is the need for an &lt;i&gt;antipersonalization&lt;/i&gt; of sorts...&lt;br /&gt;&lt;br /&gt;The business models of the web thrive by showing you more and more information that echoes exactly what you want to hear - because it's probably easier to sell you something that way. But one of the things we lose in an ever-more-personalized world is exposure to information and views that challenge our mental model of the world in a thoughtful way.&lt;br /&gt;&lt;br /&gt;The ink-and-paper world is not immune to this - you can probably tell something about me by the fact that I subscribe to the Wall Street Journal and the Economist, and often pick up a copy of Harpers in airports. Those publications definitely have a certain bias that is reflected in the stories they run. At the same time, I rely on those editors to give me a certain slice of the world which I might not otherwise be exposed to.&lt;br /&gt;&lt;br /&gt;For example, while I rarely would voluntarily click through to many of the WSJ stories, I love reading through the "What's News" section on the front page because I trust the Editor to give me their view of What's Important Today (actually, there are two reasons why I would rarely click through - (1) because not all of the stories are that interesting to me, and also (2) because I have different reading habits online and offline - something that the &lt;a href="http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Device/dp/B000FI73MA?tag=bhanoo-20"&gt;Kindle&lt;/a&gt; may one day change)&lt;br /&gt;&lt;br /&gt;But no one likes taking bitter medicine. How do you get people to look outside their comfort zone? How do you get people to see the value in doing so? I always talk about wanting to read more about what republicans think, but I've never really gone out and done so. It's just hard to justify the time. &lt;br /&gt;&lt;br /&gt;My gut feel is that you first have to bring people to a safe and comfortable environment, and then let them interact in a structured way with different people and views.  It reminds me of a documentary about Mauritius that I saw a long time ago. I can't find the reference, but the following quote is related, as it captures the same metaphors I remember:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; In the fruit salad, the components are clearly distinct; ethnic boundaries are intact, and reflexively "rooted" identites are secure and stable. In the fruit compote, on the other hand, the different fruits are squashed and mixed together with substantial use of force. &lt;br /&gt;...&lt;br /&gt;He himself therefore supports the fruit salad variety....  In order to have a dialogue, Souchon argues, one needs a firm position to conduct it from. (&lt;a href="http://folk.uio.no/geirthe/Multiculturalism.html"&gt; Multiculturalism, individualism and human rights:Romanticism, Enlightenment and lessons from Mauritius, by Thomas Hylland Eriksen&lt;/a&gt;)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I'm currently working on an experiment to bring this, and some related ideas, to the web. I've been working with &lt;a href="http://www.jambool.com"&gt;Jambool&lt;/a&gt; - creators of the &lt;a href="http://apps.new.facebook.com/ikarmayou"&gt;Send Good Karma&lt;/a&gt; &lt;a href="http://www.facebook.com"&gt;facebook&lt;/a&gt; application - and my first contribution has been a pair of politics apps : &lt;a href="http://apps.facebook.com/ivoteobama/?rid=4813310"&gt;I Vote 4 Obama&lt;/a&gt; and &lt;a href="http://apps.facebook.com/ivotemccain"&gt;I Vote 4 McCain&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;They're still nascent, and we will be adding many more features over the coming weeks. However, they're the beginnings of an experiment to try to punch a few holes in the echo chambers on the web. I'm not going to give away any of the goodies just yet about how we're planning on doing that - but I encourage you to add one of the applications (depending on who you support) - and and use it at least a few times as we introduce new features.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-7283021620535459890?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/7283021620535459890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=7283021620535459890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/7283021620535459890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/7283021620535459890'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/07/echo-chambers.html' title='Echo Chambers'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-8641810719062373125</id><published>2008-07-28T11:32:00.000-07:00</published><updated>2008-07-28T11:40:31.757-07:00</updated><title type='text'>The Giant Pool of Money</title><content type='html'>Thoughts on &lt;a href="http://www.thislife.org/Radio_Episode.aspx?sched=1242"&gt;The Giant Pool Of Money&lt;/a&gt; - a "This American Life" special on the 2008 Credit/Mortgage meltdown.&lt;br /&gt;&lt;br /&gt;I heard the show today while working. I'm not sure that I can place the blame squarely on banks.&lt;br /&gt;&lt;br /&gt;I think rating agencies should be the ones to 'take the blame'. &lt;br /&gt;&lt;br /&gt;- lenders borrowed as much as they thought they could get away with. the dude says "i was hoping to turn my financial situation around in 6-9 months and was able to secure that loan. If I hadn't been able to get that loan, i probably would've made some tougher choices and figured out other ways to help my situation" (paraphrase)&lt;br /&gt;&lt;br /&gt;- mortgage brokers loaned as much as they could get away with - since they were driven by commission. they talk about some guy getting an 18K commission on a loan&lt;br /&gt;&lt;br /&gt;- CDO's engineered their securities up so that the rating agencies would rate the bonds AAA.&lt;br /&gt;&lt;br /&gt;- the 'global pool of money' somewhat blindly relied on the AAA ratings, and assumed that they were getting stellar returns with low-risk investments.&lt;br /&gt;&lt;br /&gt;So everyone was inspired to keep this wheel turning. Some questions I'm left with (tell me if these were answered here or elsewhere and I just haven't been paying close enough attention to the news):&lt;br /&gt;&lt;br /&gt;- Why did credit rating agencies give these bonds a AAA rating? What was their motivation? Was there a conflict of interest?&lt;br /&gt;- Has the reputation of the credit rating companies suffered? What are the ramifications for them?&lt;br /&gt;- What is the existing regulation surrounding credit ratings? Should this be a government function (I don't think so)? How transparent are they? How transparent are they required to be?&lt;br /&gt;&lt;br /&gt;Curious.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-8641810719062373125?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/8641810719062373125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=8641810719062373125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8641810719062373125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8641810719062373125'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/07/giant-pool-of-money.html' title='The Giant Pool of Money'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-9009532585372643070</id><published>2008-06-16T02:52:00.000-07:00</published><updated>2008-06-16T13:02:37.196-07:00</updated><title type='text'>toilets.</title><content type='html'>I was at home depot this weekend helping my friend pick up some shelving for his condo. While I love visiting home depot, I'd never visited it from the point of view of a home-owner - just a renter.&lt;br /&gt;&lt;br /&gt;I started looking through the various sections trying to figure out how I would choose a particular lighting fixture, bathroom tiles, or kitchen cabinets. &lt;br /&gt;&lt;br /&gt;And then I saw the toilet aisle. There were on the order of &lt;a href="http://www.homedepot.com/webapp/wcs/stores/servlet/Navigation?Ntk=AllProps&amp;N=10000003+90401+503484&amp;storeId=10051&amp;catalogId=10053&amp;langId=-1"&gt;20 toilets&lt;/a&gt;. Ranging from &amp;gt;$350 to &amp;lt;$50. Which one would I choose? They were mounted way above my head - so it's not like they expected you to choose on the basis of comfort. They were pretty much all some variation of white. So color was not the differentiator. Some of the shapes were somewhat different - but did that justify a 7x price jump? The GPF (Gallons Per Flush) was listed for each toilet. But I'm guessing that changing that doesn't really affect the price a lot. Then it hit me - maybe the more expensive ones had those cool warm-water-and-air systems built in for that extra-clean feeling. &lt;b&gt;Nope.&lt;/b&gt; At this point, my investigation was cut short.&lt;br /&gt;&lt;br /&gt;I think this one deserves a return trip at some point. If &lt;i&gt;you&lt;/i&gt; know what differentiates toilets, save me a trip and leave a comment.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Links&lt;/h3&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.homedepot.com/webapp/wcs/stores/servlet/Navigation?Ntk=AllProps&amp;N=10000003+90401+503484&amp;storeId=10051&amp;catalogId=10053&amp;langId=-1"&gt;Home Depot Toilet section&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.homedepot.com/webapp/wcs/stores/servlet/ContentView?pn=Toilets&amp;langId=-1&amp;storeId=10051&amp;catalogId=10053&amp;cm_sp=dept-_-D26-_-toilets-_-know-how-_-toilet_buying_guide"&gt;Toilet Buying Guide&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; Added some links.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-9009532585372643070?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/9009532585372643070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=9009532585372643070' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/9009532585372643070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/9009532585372643070'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/06/toilets.html' title='toilets.'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-3957655524756127609</id><published>2008-06-04T22:08:00.000-07:00</published><updated>2008-06-04T22:16:00.293-07:00</updated><title type='text'>On Verbosity</title><content type='html'>I wouldn't consider myself a super talkative person. Which is not to say that I'm a quiet recluse - just that I don't chatter a lot. That's my opinion of myself. Yours may differ greatly. :)&lt;br /&gt;&lt;br /&gt;My wife thinks I'm extremely verbose. But she's a journalist, so I suppose she'd better be damn good at being concise.&lt;br /&gt;&lt;br /&gt;I try really hard to edit my emails before sending them out. Usually I do at least 3-4 edits of even simple emails. All credit for that goes to &lt;a href="http://homepage.mac.com/chadhermann/iblog/"&gt;Chad Hermann's&lt;/a&gt; business communications class at CMU. (Ironically I had to stop following his blog because I just found it incredibly verbose and time consuming).&lt;br /&gt;&lt;br /&gt;Anyways, here's the &lt;a href="http://en.wikipedia.org/wiki/Nut_graf"&gt;nut graf&lt;/a&gt;. Using &lt;a href="http://www.twitter.com"&gt;twitter&lt;/a&gt; I've noticed that I'm often forced to write and rewrite a single 140 char post. It's caused an increase in my signal-to-noise ratio.&lt;br /&gt;&lt;br /&gt;But not everything needs to be distilled down to 140 characters. I imagine there are some of you who actually &lt;i&gt;like&lt;/i&gt; for me to ramble here every now and then.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-3957655524756127609?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/3957655524756127609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=3957655524756127609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3957655524756127609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3957655524756127609'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/06/on-verbosity.html' title='On Verbosity'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-747123418029430270</id><published>2008-03-01T17:00:00.001-08:00</published><updated>2008-03-02T00:27:11.317-08:00</updated><title type='text'>reporterist is hiring</title><content type='html'>reporterist &lt;a href="http://reporterist.blogspot.com/2008/03/looking-for-senior-engineer.html"&gt;is hiring&lt;/a&gt;. If you know someone that may be interested, please send them our way.&lt;br /&gt;&lt;br /&gt;PS: Although I probably shouldn't steer any engineers away from reporterist, my buddies over at &lt;a href="http://blog.jambool.com/?p=8"&gt;Jambool&lt;/a&gt; are hiring also. I worked with Vikas for a year, and he's definitely awesome to work with.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-747123418029430270?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/747123418029430270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=747123418029430270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/747123418029430270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/747123418029430270'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/03/reporterist-is-hiring.html' title='reporterist is hiring'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-153890038464073958</id><published>2008-02-27T15:05:00.000-08:00</published><updated>2008-02-27T16:08:03.974-08:00</updated><title type='text'>foot pedals</title><content type='html'>I spend a fair amount of time working in coffee shops these days - it breaks the monotony of working from home, and it gives me an excuse to get on my bicycle and get some fresh air.&lt;br /&gt;&lt;br /&gt;That should help explain why it occurred to me today that foot pedals could be employed much more liberally in public restrooms.&lt;br /&gt;&lt;br /&gt;Clearly, I'm not the first to think of using foot pedals in the restroom. I wish we saw more of these in public places. It seems like a much cheaper and more reliable alternative to electronic versions.&lt;br /&gt;&lt;br /&gt;&lt;div style="float:left;"&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/B000LDFP10?ie=UTF8&amp;tag=bhanoo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B000LDFP10"&gt;Chicago Faucet WWG-625-RCF Rough Chrome Foot Pedal Valve&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=bhanoo-20&amp;l=as2&amp;o=1&amp;a=B000LDFP10" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=bhanoo-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=B000LDFP10&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="float:left;"&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/B000KJZ13C?ie=UTF8&amp;tag=bhanoo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B000KJZ13C"&gt;Toilet Seat Lifter&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=bhanoo-20&amp;l=as2&amp;o=1&amp;a=B000KJZ13C" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=bhanoo-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=B000KJZ13C&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="float:left"&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/B0010EI066?ie=UTF8&amp;tag=bhanoo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B0010EI066"&gt;Hands Free Toilet Flusher, Foot Pedal Toilet Flush Adapter&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=bhanoo-20&amp;l=as2&amp;o=1&amp;a=B0010EI066" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=bhanoo-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=B0010EI066&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no"  frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="float:left"&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/B000OZODKO?ie=UTF8&amp;tag=bhanoo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B000OZODKO"&gt;Foot Flush Fun Foot&amp;#45;Shaped Flusher&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=bhanoo-20&amp;l=as2&amp;o=1&amp;a=B000OZODKO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=bhanoo-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=B000OZODKO&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-153890038464073958?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/153890038464073958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=153890038464073958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/153890038464073958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/153890038464073958'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/02/foot-pedals.html' title='foot pedals'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-4343281209213078635</id><published>2008-02-14T09:28:00.000-08:00</published><updated>2008-02-14T09:49:19.283-08:00</updated><title type='text'>AAACMAADSSTT</title><content type='html'>Nope. It's not a puzzle (The puzzle is OTTFF).&lt;br /&gt;&lt;br /&gt;It's the Annual Almost All Carnegie Mellon Almost All Desi Ski Snowboard and Telemark Trip. Naming, courtesy &lt;a href="http://www.kushtyagi.com"&gt;Kush&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;It's been almost a decade since I graduated from college. In the past 5-6 years, we've been doing an annual ski trip comprised, as the name might suggest, of a group of close friends - many of whom I've known for almost 12 years. &lt;br /&gt;&lt;br /&gt;17 of us will be in Steamboat Springs this weekend, and I can't wait. Apart from a few religious regulars, most people tend not to have made it to every single trip. I unfortunately missed two of the trips when we were in India, but last year's trip was great.&lt;br /&gt;&lt;br /&gt;The group includes friends, friends-of-friends, significant-others-of-friends, and siblings-of-friends (I think that covers it - I don't think we've had any parents/grandparents attend :) ). It's one big family, and it's a great time to catch up with people I am not always in touch with. There's always lots of food, drink, games, stories, laughter. I can't wait.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'm ridiculously out of shape. I did a practice-day at &lt;a href="http://kirkwood.com"&gt;kirkwood&lt;/a&gt; this past weekend, and got my butt kicked by some double-blacks (I was just trying to confirm that they're still out of my league).&lt;br /&gt;&lt;br /&gt;Incidentally, if you're a skier/snowboarder, you should check out the &lt;a href="http://www.facebook.com/apps/application.php?id=21254611400"&gt;Ski and Snowboard&lt;/a&gt; Facebook application, developed by &lt;a href="http://vikgup.blogspot.com/"&gt;Vikas Gupta&lt;/a&gt;, my buddy and founder of &lt;a href="http://jambool.blogspot.com/"&gt;jambool&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-4343281209213078635?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/4343281209213078635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=4343281209213078635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/4343281209213078635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/4343281209213078635'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/02/aaacmaadsstt.html' title='AAACMAADSSTT'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-6230837124177236597</id><published>2008-02-06T13:58:00.000-08:00</published><updated>2008-02-06T14:01:47.562-08:00</updated><title type='text'>recent reporterist press.</title><content type='html'>This weekend we were &lt;a href="http://www.ojr.org/ojr/stories/080205yung/"&gt;interviewed&lt;/a&gt; by the &lt;a href="http://ojr.org"&gt;Online Journalism Review&lt;/a&gt;, and there's some &lt;a href="http://blogsearch.google.com/blogsearch?hl=en&amp;q=reporterist&amp;btnG=Search+Blogs"&gt;blog buzz&lt;/a&gt; today.&lt;br /&gt;Exciting stuff. Now, back to coding.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-6230837124177236597?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/6230837124177236597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=6230837124177236597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6230837124177236597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6230837124177236597'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/02/recent-reporterist-press.html' title='recent reporterist press.'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-3508625279796874798</id><published>2008-01-22T20:06:00.000-08:00</published><updated>2008-01-22T20:20:58.043-08:00</updated><title type='text'>The PCH</title><content type='html'>Last Friday, we &lt;a href="http://maps.google.com/maps?f=d&amp;hl=en&amp;geocode=11433256878618717743,33.672088,-117.830150%3B9896773208920086327,34.343169,-119.415937&amp;time=&amp;date=&amp;ttype=&amp;saddr=irvine,+ca&amp;daddr=santa+barbara,+ca+to:US-101+N+%4034.343169,+-119.415937+to:big+sur,+ca+to:monterey,+ca+to:Oakland,+CA&amp;mra=pe&amp;mrcr=0&amp;via=2&amp;sll=35.737595,-119.146729&amp;sspn=4.935021,4.564819&amp;ie=UTF8&amp;z=8&amp;om=0"&gt;drove part of the Pacific Coast Highway&lt;/a&gt;, on our way back from Irvine, CA.&lt;br /&gt;&lt;br /&gt;After leaving Irvine around 10am, We stopped in Santa Barbara for lunch at &lt;a href="http://www.google.com/search?hl=en&amp;q=santa+barbara+La+Super+Rica&amp;btnG=Search"&gt;La Super Rica&lt;/a&gt;. The weather there reminded us of Goa, and I was just walking around with a permanent smile stuck on my face.&lt;br /&gt;&lt;br /&gt;After lunch, we were debating whether or not to take the PCH since it was already past 2pm. Thankfully we did, and were rewarded with breathtaking views of the ocean, cliffs, and sunset.&lt;br /&gt;&lt;br /&gt;I was trying to coordinate a beer-taco-sunset spot along the highway, but we didn't find any taco joints at the right time, so we had to settle for a romantic sunset, and then dinner at a slightly upscale place in Big Sur.&lt;br /&gt;&lt;br /&gt;The last stop en route to Oakland was at Monterey to visit Nate, who's at &lt;a href="http://www.nps.edu"&gt;Naval Postgraduate School&lt;/a&gt;. It was long since dark, so this was more of a 'drop in and say hello' rather than a sightseeing stop.&lt;br /&gt;&lt;br /&gt;Exhausted, we arrived home at 11pm, after a week long trip (mostly work, but a bit of fun too) to L.A.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-3508625279796874798?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/3508625279796874798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=3508625279796874798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3508625279796874798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3508625279796874798'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2008/01/pch.html' title='The PCH'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-5215688038685018711</id><published>2007-12-23T12:04:00.000-08:00</published><updated>2007-12-23T12:17:38.983-08:00</updated><title type='text'>getting the memo</title><content type='html'>Last night, we went to a &lt;a href="http://www.jasjeet.com/wedding/"&gt;friend's wedding reception.&lt;/a&gt; About 30 minutes before when we had to leave, I started rummaging around looking for a suit, tie, and nice shirt - all those pieces of clothing that rarely get used. I tried to get some advice on tie/shirt matching over IM from a friend. Finally, frustrated, I decided that I was just going to wear a &lt;a href="http://en.wikipedia.org/wiki/Kurta"&gt;Kurta&lt;/a&gt; instead. I have some Kurtas from the various ceremonies surrounding our wedding - and they never see the light of day anyway. I picked a nice white one with a bit of embroidery on it.&lt;br /&gt;&lt;br /&gt;We showed up at the hotel and proceeded to grab a drink and appetizers. I didn't see anyone else wearing a kurta. About 45 minutes into the event, I was pretty distraught; whereas the women were decked out in their finest Indian clothes, I stood alone, in bright white, in a sea of black suits.&lt;br /&gt; &lt;br /&gt;It's as if everyone else there got the memo, but they forgot to cc me.&lt;br /&gt; &lt;br /&gt;You'd think more people would wear Indian clothes at an Indian wedding, huh? But maybe evening events call for a suit.&lt;br /&gt;&lt;br /&gt;So what does one do in a situation like that? I did what any self respecting male does. I downed my wine, took a few gulps of scotch, and used all that liquid confidence to pretend like *they* hadn't received the memo.&lt;br /&gt;&lt;br /&gt;I'm penning this for posterity, lest all the liquid confidence makes me forget to wear a suit next time.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-5215688038685018711?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/5215688038685018711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=5215688038685018711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5215688038685018711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5215688038685018711'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/12/getting-memo.html' title='getting the memo'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-5455504082886167411</id><published>2007-12-13T11:22:00.000-08:00</published><updated>2007-12-13T11:33:57.123-08:00</updated><title type='text'>Socio-adjusting</title><content type='html'>Babies have this comfort zone of how many people they want to be around. If they grow up with lots of people around, they suddenly feel at a loss when they are alone. If they are used to just having their parents around, they feel overwhelmed when they are around many people for a long time.&lt;br /&gt;&lt;br /&gt;I've noticed it with many 2nd generation indian kids who go back to India on vacation. They flip out when they first get there, because they're suddenly being doted on by grandparents, uncles, aunts, and cousins. Three or four weeks later, they head back home and are suddenly antsy when only their parents (and maybe siblings) are around. &lt;br /&gt;&lt;br /&gt;I think that happened to me this month. I've been working alone for the past nine months and was suddenly thrust into three weeks of meeting people (though I actually didn't do the normal amount of socializing because I was pretty busy working).&lt;br /&gt;&lt;br /&gt;Now I'm back in Berkeley, and working from an empty, quiet home again seems awfully difficult.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-5455504082886167411?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/5455504082886167411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=5455504082886167411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5455504082886167411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5455504082886167411'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/12/socio-adjusting.html' title='Socio-adjusting'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-2919581473687066168</id><published>2007-12-06T12:15:00.000-08:00</published><updated>2007-12-06T12:26:23.506-08:00</updated><title type='text'>not another rails post</title><content type='html'>It has come to my attention that many of my readers couldn't care less about rails. I apologize. Since this past february, my life has been consumed by &lt;a href="http://portal.reporterist.com"&gt;reporterist&lt;/a&gt;. I eat, breathe, and dream about it. Bed-talk with my wife often involves reporterist brainstorming. &lt;br /&gt;&lt;br /&gt;And yet, life does tend to have a way of going on. I'm currently spending a few weeks in Pune, and am fortunate to be able to attend the famous &lt;a href="http://www.sawaigandharvamusicfestival.com/"&gt;Sawai Gandharva Mahotsav&lt;/a&gt; - a four-day indian classical music festival. It's my first ever, and the first day was great!&lt;br /&gt;&lt;br /&gt;I'm happy to report that eighteen months of living in Bangalore seems to have solidified my India-driving skills. I'm now pretty comfortable driving here even after not doing so for a year.&lt;br /&gt;&lt;br /&gt;I got a wisdom tooth removed, and have been in pain for over a week. Earlier this week I decided to stop taking painkillers, and start drinking instead. A bit of cognac from Dad's bar seems to have eased the pain (and pleased the palette) this evening.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-2919581473687066168?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/2919581473687066168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=2919581473687066168' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/2919581473687066168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/2919581473687066168'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/12/not-another-rails-post.html' title='not another rails post'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-8592724989593382704</id><published>2007-11-24T15:37:00.000-08:00</published><updated>2007-11-24T15:51:44.327-08:00</updated><title type='text'>testing mailers in rails</title><content type='html'>AFAIK, the only way to test mailers is to create a mail object directly, and then look for textual matches within the mail body.&lt;br /&gt;That's lame. I wanted something more akin to the 'template_objects' method that you can call on a response when writing functional tests.&lt;br /&gt;&lt;br /&gt;Turns out that ActionMailer::Base does some funky stuff that makes it really hard to do this. Here's what I resorted to in the mean time:&lt;br /&gt;&lt;br /&gt;Let's say that my NotificationMailer looks something like:&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;class NotificationMailer &lt; ActionMailer::Base&lt;br /&gt; def my_notification_method&lt;br /&gt;  @body['name'] = "bob"&lt;br /&gt; end&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;add the following code in test_helper.rb:&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;ActionMailer::Base.class_eval {&lt;br /&gt;  alias initialize_which_results_in_auto_create initialize&lt;br /&gt;  def initialize( method_name = nil, *params )&lt;br /&gt;    return if( :test == method_name )&lt;br /&gt;    initialize_which_results_in_auto_create( method_name, *params )&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  class &lt;&lt; ActionMailer::Base&lt;br /&gt;    def grab_vars( method, *params )&lt;br /&gt;      obj = new(:test)&lt;br /&gt;      obj.send( :initialize_defaults, method )&lt;br /&gt;      obj.send( method, *params )&lt;br /&gt;      return {:body =&gt; obj.body, :subject =&gt; obj.subject, :recipients =&gt; obj.recipients}&lt;br /&gt;    end&lt;br /&gt;  end # class&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I can now check for 'assigns' as follows:&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;nm = NotificationMailer.grab_vars( :my_notification_method )&lt;br /&gt;assert_equal( "bob", nm[:body]['name'] )&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;That's still fugly, but it lets me test the @body hash at least. If you have a better way of doing this, or a way to make that look prettier, please let me know!&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-8592724989593382704?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/8592724989593382704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=8592724989593382704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8592724989593382704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8592724989593382704'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/11/testing-mailers-in-rails.html' title='testing mailers in rails'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-6803549227710167670</id><published>2007-09-28T14:52:00.000-07:00</published><updated>2007-09-28T15:01:14.598-07:00</updated><title type='text'>Rails Integration Testing</title><content type='html'>I found &lt;a href="http://weblog.jamisbuck.org/2006/3/9/integration-testing-in-rails-1-1"&gt;this&lt;/a&gt; to be a pretty good (well, there's not really much info out there) intro to writing integration tests.&lt;br /&gt;&lt;br /&gt;But if you look in the comments, people are sort of stumped on how to deal with logging in users when you don't have passwords stored in the clear. &lt;br /&gt;&lt;br /&gt;Here's my solution, which injects the user object directly into the request session, meaning that you don't need any other ugly hacks (such as letting your user controller accept hashed passwords.. ugh).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;# http://weblog.jamisbuck.org/2006/3/9/integration-testing-in-rails-1-1&lt;br /&gt;# describes some cool integration testing, but there's no&lt;br /&gt;# solution for how to 'inject' a user into the system when all &lt;br /&gt;# you have is hashed passwords.&lt;br /&gt;# The code below lets you inject a user object directly into your&lt;br /&gt;# 'session' object.&lt;br /&gt;&lt;br /&gt;# So you can add the following methods to your integration test (see the above blog&lt;br /&gt;# for more explanation):&lt;br /&gt;#&lt;br /&gt;#   def new_session_as( user )&lt;br /&gt;#     new_session do | sess | # new_session is defined per the blog post above&lt;br /&gt;#       sess.user_object = user # aha this is where we inject the user object&lt;br /&gt;#       yield sess if block_given?&lt;br /&gt;#     end&lt;br /&gt;#   end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# allow a user_object to be injected via the HTTP headers&lt;br /&gt;ActionController::Integration::Session.class_eval {&lt;br /&gt;  attr_accessor :user_object&lt;br /&gt;  alias process_without_user_headers process&lt;br /&gt;  def process( method, path, parameters=nil, headers=nil )&lt;br /&gt;    unless self.user_object.nil?&lt;br /&gt;      headers = (headers || {}).merge( {'X_USER_HACK' =&gt; self.user_object } ) &lt;br /&gt;    end&lt;br /&gt;    process_without_user_headers( method, path, parameters, headers )&lt;br /&gt;  end&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# extract the user object from the headers, and store it as an attribute&lt;br /&gt;ActionController::Integration::Session::MockCGI.class_eval {&lt;br /&gt;  alias initialize_for_real initialize&lt;br /&gt;  attr_accessor :user_object&lt;br /&gt;  def initialize( env, input )&lt;br /&gt;    user = env.delete( 'HTTP_X_USER_HACK' )&lt;br /&gt;    self.user_object = user&lt;br /&gt;    initialize_for_real( env, input )&lt;br /&gt;  end&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# extract the user object from the mock cgi class, and &lt;br /&gt;# set it up in our session&lt;br /&gt;ActionController::CgiRequest.class_eval {&lt;br /&gt;  alias initialize_for_real initialize&lt;br /&gt;  def initialize( cgi, options )&lt;br /&gt;    initialize_for_real( cgi,options )&lt;br /&gt;    # The following line may be different for you:&lt;br /&gt;    self.session['user'] = cgi.user_object&lt;br /&gt;  end&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-6803549227710167670?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/6803549227710167670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=6803549227710167670' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6803549227710167670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6803549227710167670'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/09/rails-integration-testing.html' title='Rails Integration Testing'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-1060801343989269332</id><published>2007-08-29T20:49:00.001-07:00</published><updated>2007-08-29T20:54:40.691-07:00</updated><title type='text'>reporterist.com private beta</title><content type='html'>So we just officially launched a private beta of &lt;a href="http://www.reporterist.com"&gt;reporterist&lt;/a&gt; to 60 professional journalists.&lt;br /&gt;We just launched a very, very small subset of our functionality - just to get some initial feedback from our users.&lt;br /&gt;&lt;br /&gt;I'm super excited (and nervous).&lt;br /&gt;&lt;br /&gt;You can follow the &lt;a href="http://reporterist.blogspot.com"&gt;reporterist blog&lt;/a&gt; for more updates.&lt;br /&gt;&lt;br /&gt;In other, more personal, news; we found an nice apartment in Berkeley (not the easiest of things to do) and have begun to settle in. Our neighbours are awesome - three of the wife's classmates actually stay next door.&lt;br /&gt;&lt;br /&gt;That's all for now.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-1060801343989269332?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/1060801343989269332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=1060801343989269332' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/1060801343989269332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/1060801343989269332'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/08/reporteristcom-private-beta.html' title='reporterist.com private beta'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7682077.post-5882005377813450470</id><published>2007-08-03T01:58:00.001-07:00</published><updated>2007-08-03T02:13:32.833-07:00</updated><title type='text'>amazon fps launched!</title><content type='html'>This is very exciting! The &lt;a href="http://www.amazon.com/gp/browse.html?node=342430011"&gt;Amazon Flexible Payments Service&lt;/a&gt; has finally launched!&lt;br /&gt;&lt;br /&gt;I say finally, because I had the honor to be a small part of the development of this service when I moved to Bangalore. Amazon FPS was built almost entirely out of India by a &lt;a href="http://www.allthingsdistributed.com/historical/archives/000541.html"&gt;really awesome team&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I left that team in February 2006, so I can't claim that much of my code lives on (which may be a good thing!) but I'm definitely proud to have played a part.&lt;br /&gt;&lt;br /&gt;Awesome job guys!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;update&lt;/b&gt;: &lt;a href="http://aws.typepad.com/aws/2007/08/pay-me-now-or-p.html"&gt;here's&lt;/a&gt; the aws blog post.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-5882005377813450470?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/5882005377813450470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=5882005377813450470' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5882005377813450470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5882005377813450470'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/08/amazon-fps-launched.html' title='amazon fps launched!'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-6289257972834087623</id><published>2007-07-25T19:44:00.000-07:00</published><updated>2007-07-25T20:30:46.743-07:00</updated><title type='text'>figuring out the gmail spam filters</title><content type='html'>So I'm working on a web application, and today I was trying to send invites out to some users. Turns out that they were going into the gmail spam filter.&lt;br /&gt;&lt;br /&gt;I made sure that my RDNS (Reverse DNS) was set up correctly, and then I checked the email headers to ensure that gmail didn't suspect my ISP's IP address as a spammer IP.&lt;br /&gt;&lt;br /&gt;A friend suggested that it might have something to do with the content of my emails, and not the body.&lt;br /&gt;&lt;br /&gt;So I started playing around and, sure enough, that was it. After several emails I realized that it had to do with the link I was sending in the email. At first I thought that it might have to do with the length of the link (and an MD5-encoded token in the params).&lt;br /&gt;&lt;br /&gt;After several tests I figured out exactly what trips it: If I send email from a foo.com server (hostname = foo.com, DNS and RDNS consistent with foo.com) with a signup link for foo.com, then that sends the mail to spam. If, on the other hand, I send email from a bar.com server with a link to foo.com, then the email makes it through the spam filter.&lt;br /&gt;&lt;br /&gt;That seems so non-intuitive to me. It seems more shady for an email from bar.com to have a link to foo.com in it.&lt;br /&gt;&lt;br /&gt;Anyways, I've got a temporary work-around (I think?), but I still don't know the 'right' way do this.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-6289257972834087623?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/6289257972834087623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=6289257972834087623' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6289257972834087623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6289257972834087623'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/07/figuring-out-gmail-spam-filters.html' title='figuring out the gmail spam filters'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-7597463810054385534</id><published>2007-07-02T10:38:00.000-07:00</published><updated>2007-07-03T06:26:49.072-07:00</updated><title type='text'>music for the soul</title><content type='html'>At most points in my life, I've listened to, sang, played, and loved music that 'spoke' to me. I think most people know what I'm talking about.&lt;br /&gt;&lt;br /&gt;Sadly, there have been some points (more so recently) when I just haven't been able to find music that speaks to me. Much of my music collection just doesn't do it for me anymore. Even classic evergreens like U2 and Bob Dylan - which usually always have something to say to me - just fall on my ears but don't penetrate any deeper.&lt;br /&gt;&lt;br /&gt;Those who know my general music taste; feel free to recommend me some new music.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-7597463810054385534?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/7597463810054385534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=7597463810054385534' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/7597463810054385534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/7597463810054385534'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/07/music-for-soul.html' title='music for the soul'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-2260054757772927092</id><published>2007-06-13T07:00:00.000-07:00</published><updated>2007-06-13T07:12:23.050-07:00</updated><title type='text'>The quest for quarters</title><content type='html'>It's been a while since I needed quarters to do laundry.&lt;br /&gt;In Seattle, we had an in-unit washer/dryer, and in Berkeley we could send money from a student account directly to the machines.&lt;br /&gt;&lt;br /&gt;In Baltimore, I we need quarters for laundry and, having just moved here, I don't have a jar full of them lying around. Of course, I waited until the last possible minute to do laundry. So yesterday I rolled out of bed and decided to go in search of quarters. The wife had the car, so I was limited to walking distance.&lt;br /&gt;&lt;br /&gt;I started with the local mini-mart; he agreed to give me 4 quarters but no more. Next I went to the laundromat. The lady there was exceptionally rude and gave me a "yeah right" when I asked if she had quarters. She wasn't very helpful telling me about banks in the area either. My next stop was a few blocks away at a laundromat with a change machine; turns out that it had been broken for years. I went into another minimart, and the desi owner refused me quarters even if I were to buy something.&lt;br /&gt;&lt;br /&gt;I finally gave up and came home. On rummaging through my suitcases, I was able to find one hiding undergarment, thus allowing me to shower.&lt;br /&gt;&lt;br /&gt;In the evening when the wife got home, we went to the gym and decided to stop by a grocery store afterwards. We happened upon a small stripmall with a laundromat and pharmacy, so we stopped there.&lt;br /&gt;&lt;br /&gt;As I was about to put my $20 bill into the change machine at the laundromat, I simultaneously heard a raspy voice and read the hand-scrwaled notice in front of me: "No change unless you're doing your laundry here!" I apologized and walked out, frustrated.&lt;br /&gt;&lt;br /&gt;At the RiteAid, we purchased our wares, and politely (maybe desperately?) asked for a roll of quarters. She didn't have a roll, but gave us a few dollars and suggested that we ask the other cashier.&lt;br /&gt;&lt;br /&gt;As we were about to ask the other cashier for change, the lady in front of us says to her daughter as she's walking away "ok. well, I think not we shold have enough for one more load."&lt;br /&gt;The cashier was out of quarters.&lt;br /&gt;&lt;br /&gt;I feel like we've entered the quarter-free twilight zone. Maybe this weekend we'll drive down to DC or Virgina and smuggle a few rolls of quarters over the border. Who knows, maybe we could sell them for a premiuim.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-2260054757772927092?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/2260054757772927092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=2260054757772927092' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/2260054757772927092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/2260054757772927092'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/06/quest-for-quarters.html' title='The quest for quarters'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-3409468111393318177</id><published>2007-05-22T12:30:00.000-07:00</published><updated>2007-05-22T15:06:40.264-07:00</updated><title type='text'>Multimedia Storytelling: Spring New Media Lecture Series</title><content type='html'>oops. I meant to post this &lt;a href="http://reporterist.blogspot.com/2007/05/multimedia-storytelling-spring-new.html"&gt;here&lt;/a&gt; instead.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-3409468111393318177?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/3409468111393318177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=3409468111393318177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3409468111393318177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/3409468111393318177'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/05/multimedia-storytelling-spring-new.html' title='Multimedia Storytelling: Spring New Media Lecture Series'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-2926417959606953614</id><published>2007-05-17T17:45:00.000-07:00</published><updated>2007-05-17T17:52:45.256-07:00</updated><title type='text'>roller coaster</title><content type='html'>Wow.&lt;br /&gt;&lt;br /&gt;I had heard about how starting a company can be an emotional roller coaster. But it's been interesting to experience it first hand over the past 3 months. Every good customer response makes me feel on top of the world, and every time I think about all of the things that could go wrong, I start a downward spiral.&lt;br /&gt;&lt;br /&gt;And I've barely just started! I'm sure it will become even more challenging once the stakes get higher.&lt;br /&gt;&lt;br /&gt;I'm glad I'm not in it alone. Having someone else working on it is great - not only to get things done, but to smooth out the roller coaster, and to help in making judgment calls.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-2926417959606953614?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/2926417959606953614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=2926417959606953614' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/2926417959606953614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/2926417959606953614'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/05/roller-coaster.html' title='roller coaster'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-1647484178604300902</id><published>2007-04-29T08:55:00.000-07:00</published><updated>2007-04-29T09:03:50.610-07:00</updated><title type='text'>emacs love</title><content type='html'>I was working on some ruby code just now. I had a hash with keys that were capitalized words, such as:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;comp &lt;&lt; l['Address'] unless l['Address'].empty?&lt;br /&gt;comp &lt;&lt; l['City'] unless l['City'].empty?&lt;br /&gt;comp &lt;&lt; l['State'] unless l['State'].empty?&lt;br /&gt;comp &lt;&lt; l['Zip'] unless l['Zip'].empty?&lt;br /&gt;comp &lt;&lt; l['Country'] unless l['Country'].empty?&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;but I made some changes so that all of the keys would now be lowercase and turned into symbols. Basically I wanted the output to look like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;comp &lt;&lt; l[:address] unless l[:address].empty?&lt;br /&gt;comp &lt;&lt; l[:city] unless l[:city].empty?&lt;br /&gt;comp &lt;&lt; l[:state] unless l[:state].empty?&lt;br /&gt;comp &lt;&lt; l[:zip] unless l[:zip].empty?&lt;br /&gt;comp &lt;&lt; l[:country] unless l[:country].empty?&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;With a little help from an ex coworker's &lt;a href="http://steve-yegge.blogspot.com/2006/06/shiny-and-new-emacs-22.html"&gt;blog&lt;/a&gt;, I was able to achieve this using the following regular expression:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;M-x replace-regexp&lt;br /&gt; l\['\([A-Z]\)\([^']*\)'\]&lt;br /&gt; l[:\,(downcase \1)\2]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Note that the '\,' (backslash-comma) combination escapes the lisp command that is part of the replacement text. &lt;br /&gt;I never ceased to be amazed by the power of emacs. I'm still decades away from being able to develop a webservice in lisp. :)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-1647484178604300902?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/1647484178604300902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=1647484178604300902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/1647484178604300902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/1647484178604300902'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/04/emacs-love.html' title='emacs love'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-5222784863913614930</id><published>2007-04-17T13:50:00.000-07:00</published><updated>2007-04-17T13:57:40.211-07:00</updated><title type='text'>juice</title><content type='html'>I just received a juicer - the &lt;a href="http://www.amazon.com/gp/product/B0001IT0IY?ie=UTF8&amp;tag=bhanoo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B0001IT0IY"&gt;Breville JE95XL Two-Speed Juice Fountain Plus&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=bhanoo-20&amp;l=as2&amp;o=1&amp;a=B0001IT0IY" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; - from amazon. It's pretty sweet. I just made some carrot/celery/ginger juice. The leftover pulp is moist but not soggy - so it seems to have done a good job extracting. I'm going to see if we can bake the pulp into something though instead of wasting it.&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/link-enhancer?tag=bhanoo-20"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;noscript&gt;&lt;br /&gt;    &lt;img src="http://www.assoc-amazon.com/s/noscript?tag=bhanoo-20" alt="" /&gt;&lt;br /&gt;&lt;/noscript&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-5222784863913614930?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/5222784863913614930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=5222784863913614930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5222784863913614930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5222784863913614930'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/04/juice.html' title='juice'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-6292452912745484541</id><published>2007-04-16T14:21:00.000-07:00</published><updated>2007-04-16T14:30:35.114-07:00</updated><title type='text'>The fire is burning.</title><content type='html'>Several people have asked me if I have a hard time motivating myself now that I'm starting something of my own. In fact, that's a question I asked my friend (and &lt;a href="http://bluedot.us"&gt;bluedot&lt;/a&gt; founder) a few months ago.&lt;br /&gt;&lt;br /&gt;The answer is an emphatic &lt;b&gt;no&lt;/b&gt;. I have this hot fire burning under my rear end that makes me do all sorts of odd things. Like wake up at 4:15am to start coding because I just dreamed up (literally) a line of code. Or pass on the wonderful california sun and sit inside and code all day.&lt;br /&gt;&lt;br /&gt;I realized today that my first code-complete deadline is in about 15 weeks. And that just turned up the temperature a notch. The only redeeming thought is that what I have so far is only 6 weeks worth of actual coding.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-6292452912745484541?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/6292452912745484541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=6292452912745484541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6292452912745484541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6292452912745484541'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/04/fire-is-burning.html' title='The fire is burning.'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-5751712373523985725</id><published>2007-04-10T20:55:00.000-07:00</published><updated>2007-04-10T21:11:36.487-07:00</updated><title type='text'>eating whole and cheap</title><content type='html'>The wife is doing a story (possibly series of stories) on eating whole/ natural/ organic/ healthy on a low budget and without devoting your entire day to cooking (I'm busy coding all day, and she's busy with classes and assignments). We also live in a tiny studio with two hotplates, one bowl, two pans - you get the point - a minimalist kitchen.&lt;br /&gt;&lt;br /&gt;This week we are on a $60/week food budget for the both of us.&lt;br /&gt;&lt;br /&gt;My breakfast today was fig-bran muffins that she made (basic recipe courtesy our buddy &lt;a href="http://guidoism.com"&gt;guidoism&lt;/a&gt;) and a big strawberry/banana milkshake. For lunch I had a sandwich with guacamole (home-made), hummus (store-bought), yogurt (store-bought), cheese, tomatoes, and bread (store-bought).  Dinner was lentil soup, asparagus, and bread. I want to try making my own hummus next.&lt;br /&gt;&lt;br /&gt;I think we still have a few bucks left on our $60 budget, surprisingly, and a lot of ingredients with which to cook the rest of the week.&lt;br /&gt;&lt;br /&gt;She hasn't yet decided how long this experiment will last. Part of me wants to continue  with it for a while - just so I eat healthier and more creatively. The rest of me is hoping the budget will increase a little :)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-5751712373523985725?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/5751712373523985725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=5751712373523985725' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5751712373523985725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5751712373523985725'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/04/eating-whole-and-cheap.html' title='eating whole and cheap'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-5787866532784796036</id><published>2007-04-05T10:31:00.000-07:00</published><updated>2007-04-05T20:03:00.978-07:00</updated><title type='text'>Magnifying mirrors</title><content type='html'>&lt;s&gt;I've&lt;/s&gt; had this hunch for a while about people that really get on my nerves. The hunch is that the people that irritate me are the people in whom I see my bad qualities qualities reflected or, more often, magnified.&lt;br /&gt;&lt;br /&gt;I wasn't sure about it but a few weeks ago the wife and I sat down and talked about all of the people that annoy each of us (both of us are pretty chill, if I may so say so myself, so the list was quite short - but both of us have a few people that drive us up the wall). We realized that, in each case, the thing that gets on our nerves about the person is some trait that we both are very conscious of in ourselves and try to change or improve.&lt;br /&gt;&lt;br /&gt;So all of a sudden getting irritated by someone has a silver lining - it's just a little reminder about the things that we need to work harder on improving about ourselves.&lt;br /&gt;&lt;br /&gt;I'm curious - have you found the same to be true in your experience?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; The wife claims that she came up with the idea long ago and I have just misappropriated it from her. The wife is always right.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-5787866532784796036?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/5787866532784796036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=5787866532784796036' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5787866532784796036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/5787866532784796036'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/04/magnifying-mirrors.html' title='Magnifying mirrors'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-8106458925120580888</id><published>2007-03-29T07:12:00.000-07:00</published><updated>2007-03-29T07:16:23.161-07:00</updated><title type='text'>road trip</title><content type='html'>All of our belongings are now in a 17' U Haul, and we will be hitting the proverbial road shortly, to head for sunny California. Goodbye, Seattle. We'll miss you.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-8106458925120580888?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/8106458925120580888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=8106458925120580888' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8106458925120580888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8106458925120580888'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/03/road-trip.html' title='road trip'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-6368148580890968780</id><published>2007-03-21T17:30:00.000-07:00</published><updated>2007-03-21T17:35:11.642-07:00</updated><title type='text'>functional tests</title><content type='html'>The first time I played with rails (two years ago), I was super sloppy about writing unit tests for my models - I wasn't working on a very complex product.&lt;br /&gt;&lt;br /&gt;This time, I've been very diligent about writing unit tests - and it has definitely paid off.&lt;br /&gt;&lt;br /&gt;Since my application structure is still in flux, though, I haven't written a single functional test. SO far, so good. But now it's getting to the point where things are just starting to blow up a little at a time. Which goes to show that any shortcuts you take in life will come bite you in the ass sooner or later.&lt;br /&gt;&lt;br /&gt;So now I need to temporarily stop working on refining the product and go back and get myself up to speed on how to write functional tests, and start writing tests for all of the stuff I've done so far. Once I get over the initial inertia, adding new tests, and refactoring them as the application changes should be actually quite easy. &lt;br /&gt;&lt;br /&gt;Better now than after I have customers, I suppose :)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-6368148580890968780?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/6368148580890968780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=6368148580890968780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6368148580890968780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/6368148580890968780'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/03/functional-tests.html' title='functional tests'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-9138042708745931756</id><published>2007-03-15T23:23:00.000-07:00</published><updated>2007-03-15T23:26:33.494-07:00</updated><title type='text'>Good old music</title><content type='html'>A few years ago when I got my iPod, I decided not to import all of the random mp3s that I had from college - mainly because they came from various sources and didn't have all the ID3 tags in a consistent format.&lt;br /&gt;&lt;br /&gt;So I started by importing the CDs that I owned, and slowly grew my collection. &lt;br /&gt;&lt;br /&gt;Eventually, I moved all those mp3s off onto a backup drive and forgot about them.&lt;br /&gt;&lt;br /&gt;Then, the other night, I remember that I had a live recording of a U2 song - and I hadn't heard it in ages. So I found that stash of mp3s and started importing a lot of that music into iTunes; fixing up the ID3 tags as I went.&lt;br /&gt;&lt;br /&gt;And now I have all this great music from when I was in college and high school and it's bringing back wonderful memories. What a gift.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-9138042708745931756?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/9138042708745931756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=9138042708745931756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/9138042708745931756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/9138042708745931756'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/03/good-old-music.html' title='Good old music'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-1103367158154158871</id><published>2007-03-12T09:45:00.000-07:00</published><updated>2007-03-12T10:05:49.788-07:00</updated><title type='text'>startup lesson 1 of 496,324</title><content type='html'>Keeping quiet about my business idea has been very difficult for me. Anyone who knows me knows that you can't get me to shut up on something I'm excited about. But I've been trying hard to be pretty hush hush about what I'm working on. &lt;br /&gt;&lt;br /&gt;Why?&lt;br /&gt;&lt;br /&gt;For one I've found that, for some inexplicable reason, whenever I talk about something, my effectiveness at actually executing on it dwindles. I dunno why, but it's as if the energy expended in talking about it takes away from the energy required to do it.&lt;br /&gt;&lt;br /&gt;Second, I really want to get a first customer on board so that I can hone in on the idea and also develop some comfort that I'm barking up the right tree.&lt;br /&gt;&lt;br /&gt;Well this morning I had breakfast with a friend, who's also starting a company. He's a little further along than me, though, and has funding and a formal company structure. After some conversation where I was being my usual evasive self when talking about the idea, he offerd to sign a mutual NDA so we could talk more freely. That threw me off - it's the first time someone has offered that. So I accepted and we spent the hour talking about our respective ideas and challenges and stuff.&lt;br /&gt;&lt;br /&gt;After leaving, though, I felt like a bit of a dumbass. Why? Because the reason I wasn't talking about the idea wasn't/isn't lack of trust. It was for the reasons above. And yet, by agreeing to talk after signing an NDA, I basically affirmed that I don't trust him enough to tell him about my idea without signing some stupid piece of paper.&lt;br /&gt;&lt;br /&gt;Obviously I don't regret the conversation itself - I learnt a lot from it. And hopefully you (I'm assuming he'll read this at some point) didn't walk away thinking that I don't trust you unless I have a signed piece of paper saying so. I think I just have to be a little more aware in the future.&lt;br /&gt;&lt;br /&gt;Maybe I'm being naiive, but I think friendships are much stronger than any signed document. &lt;br /&gt;&lt;br /&gt;What are your thoughts?&lt;br /&gt;&lt;br /&gt;Specifically: 1) would you sign an NDA with friends? 2) are NDA's even effective at all when talking to peopled you don't know that well?&lt;br /&gt;&lt;br /&gt;(NDA = Non Disclosure Agreement)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-1103367158154158871?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/1103367158154158871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=1103367158154158871' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/1103367158154158871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/1103367158154158871'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/03/startup-lesson-1-of-496324.html' title='startup lesson 1 of 496,324'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-2378130932823779067</id><published>2007-03-09T13:00:00.000-08:00</published><updated>2007-03-09T13:10:07.621-08:00</updated><title type='text'>table conformity in rails</title><content type='html'>I want all my tables to have certain characteristics. E.g. I want them all to be UTF-8, and all have a field called 'created_at'.&lt;br /&gt;&lt;br /&gt;Instead of duplicating that code everywhere, here's what I'm doing:&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;class MyTables &lt; ActiveRecord::Migration&lt;br /&gt;&lt;pre&gt;  def self.create_table( table_name, options={}, &amp;amp;table_definition )&lt;br /&gt;   options[:options] = "" unless( options.has_key?( :options ) )&lt;br /&gt;   options[:options] += " DEFAULT CHARSET=UTF8 "&lt;br /&gt;   super( table_name, options ) do |t|&lt;br /&gt;     t.column :created_at,    :timestamp,     :null =&gt; false&lt;br /&gt;     table_definition.call(t)&lt;br /&gt;   end&lt;br /&gt; end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;class Foo &lt; MyTables&lt;br /&gt;# use this like a regular migration&lt;br /&gt;end&lt;/pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So now every migration Foo that inherits from MyTables automatically gets some default goodness.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-2378130932823779067?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/2378130932823779067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=2378130932823779067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/2378130932823779067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/2378130932823779067'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/03/table-conformity-in-rails.html' title='table conformity in rails'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-8913944216077460044</id><published>2007-03-08T12:23:00.000-08:00</published><updated>2007-03-08T12:30:31.231-08:00</updated><title type='text'>browser plugin idea...</title><content type='html'>There are a lot of books that people recommend to me that sound awesome but I don't quite want to own or read right away.&lt;br /&gt;&lt;br /&gt;Imagine if you could select an ISBN number, or just visit the amazon.com page for a book, and click on a button in your browser. The plugin would automatically add it to your list of holds at the &lt;a href="http://www.spl.org/"&gt;Seattle Public Library&lt;/a&gt;. You'd have to store your library number and PIN, and preferred pickup location with the plugin.&lt;br /&gt;&lt;br /&gt;But after that, SPL will just send a notification when the book is available. Takes the hassle out of borrowing.&lt;br /&gt;&lt;br /&gt;Also cool would be a wishlist importer that takes books (and maybe even cds and dvds) off your amazon wishlists and adds them to your list of library holds...&lt;br /&gt;&lt;br /&gt;If such a thing exists, or if you write one as a result of this post, please let me know as I'd like to use it :)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-8913944216077460044?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/8913944216077460044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=8913944216077460044' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8913944216077460044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/8913944216077460044'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/03/browser-plugin-idea.html' title='browser plugin idea...'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-7530265589128013435</id><published>2007-03-08T09:48:00.000-08:00</published><updated>2007-03-09T10:39:00.163-08:00</updated><title type='text'>insight</title><content type='html'>I recently attended a 10 day meditation retreat in &lt;a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;amp;q=+Onalaska,+WA+98570&amp;layer=&amp;amp;amp;ie=UTF8&amp;z=7&amp;amp;ll=45.859412,-121.102295&amp;spn=5.745736,13.612061&amp;amp;om=1&amp;iwloc=addr"&gt;Onalaska&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.dhamma.org/"&gt;course&lt;/a&gt; teaches Vipassana (loose English translation: 'insight'), and comes with quite a rigorous &lt;a href="http://www.dhamma.org/en/code.shtml"&gt;code of discipline&lt;/a&gt; (including no talking/reading/writing) for the duration of the course - which makes it a bit of a daunting endeavor to undertake. Nevertheless, at the recommendation of a few friends, I decided to go for it.&lt;br /&gt;&lt;br /&gt;In line with what I had heard from friends, it was probably one of the most difficult things I've done in my life. Also in line with what others experienced, neither the 'noble silence' (see code of discipline) nor the &lt;a href="http://www.dhamma.org/en/code.shtml"&gt;limited meals and early wake up time (scroll to the bottom of the page)&lt;/a&gt; were as difficult as I thought.&lt;br /&gt;&lt;br /&gt;While I was preparing myself for days of peaceful introspection followed by tumultuous emotions, this was quite the opposite. It ended up being a harrowing mental and physical experience (lots of thoughts, and pain respectively) that made it exceptionally difficult for the first few days.&lt;br /&gt;&lt;br /&gt;The course was really an introduction to a theory of consciousness as espoused by Gautama Buddha, along with a technique that allows you to validate portions of that theory for yourself through direct experience. Obviously one cannot hope to completely understand consciousness within 10 days - no matter how rigorous the experience - but I feel as though the things I experienced first-hand allowed me to validate enough small pieces of the theory that I'm willing to not disbelieve the rest and trust that continued meditation will allow me to validate it for myself.&lt;br /&gt;&lt;br /&gt;It's a little hard to attempt to lay the theory out here. But from mentioning it to a few people, it seems that it has enough in common with modern neuroscience, that it doesn't sound completely implausible. Specifically, I was recommended the book &lt;a href="http://www.amazon.com/Intelligence-Jeff-Hawkins/dp/0805074562"&gt;On Intelligence&lt;/a&gt; and told that some of the theories laid out there are very in line with the parts of the theory that I learnt.&lt;br /&gt;&lt;br /&gt;In addition to that, I had a really cool conversation with someone who knows a lot about bipolar and the framework provided some interesting and different (no comments yet on whether they are useful) insights on what bipolar may mean.&lt;br /&gt;&lt;br /&gt;Anyways, I know 10 days is a long time to take out of one's schedule, especially to sit quietly in one spot all day. But I think it was a fantastic experience. If you are a neuroscientist especially, I think you'd absolutely love going through this experience.&lt;br /&gt;&lt;br /&gt;On a very very different note, A thought occurred to me today which I had to share. There are people that say that you make your own destiny and yet there are those that claim to be able to predict your future. I think I have an analogy that helps reconcile these into something that makes sense to me.&lt;br /&gt;&lt;br /&gt;I've read many times that time is like a river. Always flowing, but always 'there'. In a whitewater course, one learns the very very basics of reading a river. Diagrams like &lt;a href="http://www.mindspring.com/%7Edivegeek/reading.htm"&gt;these (scroll down)&lt;/a&gt; help tell you how bends, rocks, and changes in width of a river can affect its flow. Presumably if you know enough about the topology of a river, you can make a pretty educated guess about the strength and qualities of the currents at various points along it. And yet, nothing is preventing a big rock from rolling down the cliff and into the river and completely changing its flow. Or from erosion increasing the width and thus decreasing the strength of the current in a given place.&lt;br /&gt;&lt;br /&gt;So if time, and life, are really like a river; then maybe there are people able to see the entire river at once and make fairly accurate predictions about downstream currents, given its current topology. But nothing prevents you from throwing a big old rock at the point of the river that we call 'now', and completely changing the downstream currents.&lt;br /&gt;&lt;br /&gt;On that note, back to coding and attempting to start a successful business...&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-7530265589128013435?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/7530265589128013435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=7530265589128013435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/7530265589128013435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/7530265589128013435'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/03/insight.html' title='insight'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-450746706634715212</id><published>2007-03-06T19:29:00.000-08:00</published><updated>2007-03-06T19:33:59.995-08:00</updated><title type='text'>breakfast instead</title><content type='html'>I recently set up several breakfast appointments with friends instead of dinner. I really like the idea and think I'm going to do more of this if possible:&lt;br /&gt;&lt;ul&gt;&lt;li/&gt;People generally have stuff planned in the evenings but not early in the morning&lt;br /&gt;&lt;li/&gt; it's much healthier to eat a big breakfast instead of a big dinner (and I usually overeat when I eat out)&lt;br /&gt;&lt;li/&gt; breakfast places are usually packed on the weekends (esp the good ones) - I'm guessing (hoping?) they're not as bad on the weekdays&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;So let's get together for breakfast sometime. There are a bunch of places that I haven't been to in a while, and a bunch that I haven't ever tried.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-450746706634715212?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/450746706634715212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=450746706634715212' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/450746706634715212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/450746706634715212'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/03/breakfast-instead.html' title='breakfast instead'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-117149741970157288</id><published>2007-02-14T15:11:00.000-08:00</published><updated>2007-02-14T15:56:59.723-08:00</updated><title type='text'>part of the seattle coffee shop scene</title><content type='html'>I guess one common way to get over the loneliness of working for yourself is to work out of a coffeeshop.&lt;br /&gt;&lt;br /&gt;But, given my recent ergonomic adventures, I have been a little reluctant to do that for fear of my hands hurting from prolonged laptop typing.&lt;br /&gt;&lt;br /&gt;Plus, it just seems superdorky to walk into a coffeeshop with your own keyboard.&lt;br /&gt;&lt;br /&gt;Well, I'm a dork.&lt;br /&gt;&lt;br /&gt;I'm at a cofeeshop right now with my keyboard sitting comfortably on my lap and mostly out of sight under the table. You'll have to ask the other people &lt;a href="http://seattle.wifimug.org/index.cgi?IconCoffee"&gt;here&lt;/a&gt; how dorky they think I look.&lt;br /&gt;&lt;br /&gt;For the most part I've been pretty productive, minus the distraction of listening to some startup deals taking place (that was very informative)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-117149741970157288?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/117149741970157288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=117149741970157288' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117149741970157288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117149741970157288'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/02/part-of-seattle-coffee-shop-scene.html' title='part of the seattle coffee shop scene'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-117138953556990586</id><published>2007-02-13T09:47:00.000-08:00</published><updated>2007-02-13T09:58:55.583-08:00</updated><title type='text'>an unbalanced life</title><content type='html'>I remember when I was in college, more so in grad school, I had to try really really hard to take time out of my day to go running or to work out.&lt;br /&gt;&lt;br /&gt;Whenever I actually got myself into the discipline of doing so, I'd usually be more productive and creative, but deciding to take that time out of my day was very hard.&lt;br /&gt;&lt;br /&gt;A few weeks ago I was thinking that, now that I can choose my own hours, I'll be very good about going to the gym or at least going for a run. But somehow it's been ridiculously hard to pull myself away from the computer; I've been spending most of my waking hours getting up to speed on ruby on rails, and getting started on building my application. It sucks; I can even feel my energy levels dropping. &lt;br /&gt;&lt;br /&gt;I think the commonality between grad school and now is that I own my own time. Maybe subconsciously in undergrad and at work I was able to say "you know if you're going to make me work this hard, I'm going to damn well make sure I have 'Hemant-time' to go be healthy". Whereas now (and to a large part in grad school) the entire day is 'Hemant-time' so it's harderer to justify taking time out of that.&lt;br /&gt;&lt;br /&gt;Either way; I'm at the point today where my productivity is going to suffer if I don't get in some solid exercise. Hopefully, having written this, I'll make it out to the gym today.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-117138953556990586?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/117138953556990586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=117138953556990586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117138953556990586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117138953556990586'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/02/unbalanced-life.html' title='an unbalanced life'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-117097118280544004</id><published>2007-02-08T13:35:00.000-08:00</published><updated>2007-02-08T13:46:22.816-08:00</updated><title type='text'>dvorak, anyone?</title><content type='html'>this is probably an incredibly stupid idea, but i'm thinking of trying to use a &lt;a href="http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard"&gt;dvorak&lt;/a&gt; keyboard layout. has anyone tried that? anyone using one right now?&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-117097118280544004?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/117097118280544004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=117097118280544004' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117097118280544004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117097118280544004'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/02/dvorak-anyone.html' title='dvorak, anyone?'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-117088864537147712</id><published>2007-02-07T14:45:00.000-08:00</published><updated>2007-02-07T17:36:56.406-08:00</updated><title type='text'>a simple tcp server</title><content type='html'>In the past, I've found it really useful to have a simple server that is able to listen on a TCP socket and print out everything it receives. It's a great debugging tool.&lt;br /&gt;&lt;br /&gt;&lt;s&gt;&lt;br /&gt;The following ruby snippet (adapter from an example in 'Programming Ruby') does just that:&lt;br /&gt;&lt;br /&gt;&lt;pre class="code" style="text-decoration:line-through;"&gt;&lt;br /&gt;require 'socket'&lt;br /&gt;port = ARGV[0] || 80&lt;br /&gt;server = TCPServer.new('localhost', port )&lt;br /&gt;while( session = server.accept)&lt;br /&gt;  while !session.eof?&lt;br /&gt;    puts session.gets&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Probably cooler would be if it took everything on &lt;code&gt;STDIN&lt;/code&gt; and echo-ed it back to the socket as well.&lt;br /&gt;&lt;/s&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; Thanks pooja. I couldn't think of netcat at the time but that does exactly what I want. I'm such an idiot for not remembering.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-117088864537147712?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/117088864537147712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=117088864537147712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117088864537147712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117088864537147712'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/02/simple-tcp-server.html' title='a simple tcp server'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-117083976852709870</id><published>2007-02-07T01:13:00.000-08:00</published><updated>2007-02-07T01:42:09.666-08:00</updated><title type='text'>open source and deployment</title><content type='html'>I apologize in advance for those of you who don't particularly care to read any code.&lt;br /&gt;&lt;br /&gt;But one of the things I'm going to try to do while working on my startup is to post as many code snippets as possible.&lt;br /&gt;&lt;br /&gt;Why? Because I'm a believer in open source. My startup is not focussed around building great deployment tools. By posting my code, I'm helping other people who also need to solve similar issues. At the same time, there's a good chance that someone smarter than me will read this and tell me a much simpler or more elegant way of achieving the same result.&lt;br /&gt;&lt;br /&gt;If it starts taking up too much of my time, I might post less stuff. If I start to see value in posting code, I might try to do more of it. Either way, I'm running as fast as I can to build an amazing product.&lt;br /&gt;&lt;br /&gt;The following script should help me to write common config files and test them out on my mac first and then deploy them with no changes. See the usage function for more info.&lt;br /&gt;&lt;br /&gt;Oh - and I'm still a newbie ruby programmer. So if you have code suggestions, or if there's a tool that already does what this does, then let me know. I have no qualms about throwing away my code and using someone else's. Less code = less bugs.&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;#!/usr/bin/env ruby&lt;br /&gt;require 'yaml'&lt;br /&gt;&lt;br /&gt;def usage( msg )&lt;br /&gt;  STDERR.puts msg&lt;br /&gt;  STDERR.puts &amp;lt;&amp;lt;EOF&lt;br /&gt;&lt;br /&gt;USAGE&lt;br /&gt;        generate &amp;lt;config_file&amp;gt; &amp;lt;stage&amp;gt; files..&lt;br /&gt;&lt;br /&gt;DESCRIPTION&lt;br /&gt;        Given the following config.yml:&lt;br /&gt;--&lt;br /&gt;test:&lt;br /&gt; base: path1&lt;br /&gt; user: name1&lt;br /&gt;prod:&lt;br /&gt; base: path2&lt;br /&gt; user: name2&lt;br /&gt;--&lt;br /&gt;        and a lighttpd.conf:&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;server.username            = "$user$"&lt;br /&gt;server.document-root       = "$base$/public_html"&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;% generate config.yml test lighttpd.conf &lt;br /&gt; will create the file lighttpd.conf.generated which looks like:&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;server.username            = "name1"&lt;br /&gt;server.document-root       = "path1/public_html"&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;EOF&lt;br /&gt;  exit&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;usage() if( ARGV.size &amp;lt; 3 )&lt;br /&gt;&lt;br /&gt;config_file = ARGV.shift&lt;br /&gt;stage = ARGV.shift&lt;br /&gt;&lt;br /&gt;usage( "config file #{config_file} not found. " ) unless File.exists?( config_file ) &lt;br /&gt;&lt;br /&gt;all_config = YAML.load_file( config_file )&lt;br /&gt;&lt;br /&gt;unless( all_config.has_key?( stage ) ) &lt;br /&gt;  usage("config file #{config_file} doesn't specify stage '#{stage}'.") &lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;config = all_config[stage]&lt;br /&gt;&lt;br /&gt;# build up the regexp to match all identifiers:&lt;br /&gt;regexp_string = '('&lt;br /&gt;config.each_key { |id|&lt;br /&gt;  regexp_string += '\$' + id + '\$|'&lt;br /&gt;}&lt;br /&gt;regexp_string.chop! &lt;br /&gt;regexp_string += ')'&lt;br /&gt;matcher = Regexp.new( regexp_string )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Iterate through each file&lt;br /&gt;ARGV.each { |filename|&lt;br /&gt;  unless( File.exists?( filename ) ) &lt;br /&gt;    STDERR.puts "file '#{filename}' not found. continuing"&lt;br /&gt;    next&lt;br /&gt;  end&lt;br /&gt;  g_filename = filename + '.generated'&lt;br /&gt;  if( File.exists?( g_filename ) )&lt;br /&gt;    # TODO: move old file out of the way instead..&lt;br /&gt;    STDERR.puts "file '#{g_filename}' exists. OVERWRITING!"&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  generated = File.new( g_filename, "w" )&lt;br /&gt;  # check each line&lt;br /&gt;  File.open(filename).each_line{ |line|&lt;br /&gt;    # replace each instance of a token&lt;br /&gt;    line.gsub!( matcher ) { |match|&lt;br /&gt;      id = match[1..(match.size - 2)]&lt;br /&gt;      # with the value specified in the config file&lt;br /&gt;      config[id]&lt;br /&gt;    }&lt;br /&gt;    generated.puts( line )&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-117083976852709870?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/117083976852709870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=117083976852709870' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117083976852709870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117083976852709870'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/02/open-source-and-deployment.html' title='open source and deployment'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-117072344908206941</id><published>2007-02-05T16:45:00.000-08:00</published><updated>2007-02-05T17:02:22.060-08:00</updated><title type='text'>Stepping over the edge.</title><content type='html'>After five years (well, technically about four years, eleven months, and change), I'm leaving &lt;a href="http://www.amazon.com"&gt;amazon.com&lt;/a&gt;. It's been a pretty awesome time, and I've learnt a lot from some really smart and passionate people.&lt;br /&gt;&lt;br /&gt;But sometimes, it's just &lt;a href="http://www.lyricsfreak.com/t/tom+petty/time+to+move+on_20138646.html"&gt;time to move on&lt;/a&gt;. In my case, I'm stepping off the cliff of getting a paycheck to living on my savings and attempting to create something meaningful and with monetary value. I'm starting a company.&lt;br /&gt;&lt;br /&gt;It's scary thinking about it.&lt;br /&gt;&lt;br /&gt;Stay tuned here for more info, if you so desire.&lt;br /&gt;&lt;br /&gt;-Hemant.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; I suppose, technically, the title should read &lt;em&gt;stepped&lt;/em&gt; over the edge. I can feel the wind rushing by.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-117072344908206941?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/117072344908206941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=117072344908206941' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117072344908206941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117072344908206941'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/02/stepping-over-edge.html' title='Stepping over the edge.'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-117036001834512300</id><published>2007-02-01T11:49:00.000-08:00</published><updated>2007-02-01T12:00:18.366-08:00</updated><title type='text'>Growing Up!</title><content type='html'>A few weeks ago I got the first DVD in the &lt;a href="http://en.wikipedia.org/wiki/Up_series"&gt;Up series&lt;/a&gt;, 7 Up!&lt;br /&gt;&lt;br /&gt;The series is a set of documentaries, filmed every 7 years starting 1964, chronicling a bunch of British children from different backgrounds. &lt;br /&gt;&lt;br /&gt;7-Up was funny, interesting, and boring at the same time. The kids were super cute, and their differences (most notably along socio-economic lines) were stark. At the same time, it was a little boring to watch the whole thing.&lt;br /&gt;&lt;br /&gt;Yesterday I watched 21-Up (they skipped 14 apparently) and that was a whole lot of fun. It was amazing to see how the 7-year-olds had turned out 14 years later. And 21 wasn't &lt;em&gt;so&lt;/em&gt; long ago that I don't remember what it's like! :)&lt;br /&gt;&lt;br /&gt;The wonderful thing is to be able to see myself in many of the kids chronicled; and to try to remember back to when I was seven and fourteen and twenty-one and what my views were on life, politics, society, sex, class, opportunities, marriage, family, ... (the list is long).&lt;br /&gt;&lt;br /&gt;I'm really excited to see the rest of the DVDs in the series. It goes all the way up to 49 Up, which was released in 2005.&lt;br /&gt;&lt;br /&gt;Highly recommended viewing.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-117036001834512300?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/117036001834512300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=117036001834512300' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117036001834512300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/117036001834512300'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/02/growing-up.html' title='Growing &lt;b&gt;Up!&lt;/b&gt;'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-116943113858179298</id><published>2007-01-21T17:45:00.000-08:00</published><updated>2007-01-21T17:58:58.593-08:00</updated><title type='text'>playing with ruby</title><content type='html'>It's been a while since I played with ruby.&lt;br /&gt;&lt;br /&gt;I have a Subversion repository that contains stupid stuff like my .emacs file, and then I have some personal wiki's and blogs that use files or mysql dbs under the covers.&lt;br /&gt;&lt;br /&gt;I haven't been very diligent about setting up a backup process for all that crap, so I've been playing a bit with some scripts to automate all of that stuff using Ruby. My ruby skills are quite rudimentary and based entirely on some playing around I did with rails two years ago. But it's been exciting (and tedious) learning about stuff.&lt;br /&gt;&lt;br /&gt;First off, the &lt;a href="http://amazon.rubyforge.org/"&gt;AWS S3&lt;/a&gt; ruby libraries look cool, but don't work unless you have a ruby version &amp;gt; 1.8.4. I had 1.8.3 and it took me forever to find the root cause of an obscure error.&lt;br /&gt;&lt;br /&gt;I also never knew about &lt;code&gt;ri&lt;/code&gt; - the &lt;code&gt;perldoc&lt;/code&gt; for ruby. Check out &lt;a href="http://rubyforge.org/projects/ri-emacs/"&gt;RI for emacs&lt;/a&gt; which lets you run ri from within emacs. &lt;br /&gt;&lt;br /&gt;Also loading &lt;code&gt;inf-ruby.el&lt;/code&gt; allows you to do &lt;code&gt;M-x run-ruby&lt;/code&gt; and get an interactive ruby shell within emacs. This is great for a ruby beginner like me, because I can experiment with stuff from within emacs while I'm coding.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.rubyinside.com/advent2006/15-s3rake.html"&gt;S3 Rake&lt;/a&gt; file is a great starting point for backing up mysql databases and svn repositories, but is specific to a rails setup. I'm not working on a rails app; just trying to backup wiki databases and an arbitrary svn repository; so I'm rewriting it as a class that should be callable either as a command (from cron, which is what I want), or from &lt;code&gt;rake&lt;/code&gt;. If I get it looking decent, I'll put it up somewhere.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-116943113858179298?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/116943113858179298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=116943113858179298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116943113858179298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116943113858179298'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2007/01/playing-with-ruby.html' title='playing with ruby'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-116454102841599230</id><published>2006-11-26T03:19:00.000-08:00</published><updated>2006-11-26T20:35:24.940-08:00</updated><title type='text'>To पद्मामावशी from सुनंदा</title><content type='html'>(If &lt;s&gt;you can't read the following&lt;/s&gt; all you can see is boxes or question marks, check out &lt;a href="http://tlt.psu.edu/suggestions/international/bylanguage/devanagari.html"&gt;this site&lt;/a&gt; for help. (If you can see the fonts but can't read it, I can't help)&lt;br /&gt;&lt;br /&gt;कै. ती. सौ. पद्मामावशीची श्रीसाई महाराजांवर खुप भक्ति होती आणि महाराजांची पण तिच्यावर कृपा होती. त्यामुळे ती गेल्यावर तिला त्यांच्या पायाशीच जागा मिळेल अशी मला श्रध्दा वाटली आणि त्यावरुनच मला ही कविता सुचली. हे तिच्या तोंडचेच शब्द आहेत अशी कल्पना इथे आहे ...&lt;br /&gt;&lt;br /&gt;साश्रुपूर्ण  नयनांनी तुम्हा सर्वांचा  निरोप घेतेय&lt;br /&gt;निघायची वेळ झाली माझी गाडी शिट्टी देतेय ।&lt;br /&gt;&lt;br /&gt;पुनः पुन्हा डोळ्यात आणू नका पाणी&lt;br /&gt;गेली बिचारी असे म्हणू नका कुणी ।&lt;br /&gt;&lt;br /&gt;विरत चालल्या आहेत सर्व आठवणी&lt;br /&gt;आता इथे माझे उरले नाही कुणी ।&lt;br /&gt;&lt;br /&gt;गाडीने सोडले आहे ठिकाणं&lt;br /&gt;पुसत चालली आहे एकेक खूणं ।&lt;br /&gt;&lt;br /&gt;समोर दिसताहेत वळणदार वाटा&lt;br /&gt;मऊशार माती इथे न काटाकुटा ।&lt;br /&gt;&lt;br /&gt;फेसाळलेल्या समुद्रावरचा सुखद गार वारा&lt;br /&gt;सोनेरी रेतीचा सभोवती किनारा ।&lt;br /&gt;&lt;br /&gt;रंगबिरंगी फुलांचे तारवे फुललेले&lt;br /&gt;सुगंधाच्या लाटेवरती मन माझे डोले ।&lt;br /&gt;&lt;br /&gt;कवितेतल्या कल्पवृक्षांची गर्द  गार सावली&lt;br /&gt;ह्या गावाची हवा मला फारच बाई भावली ।&lt;br /&gt;&lt;br /&gt;थांबू का जरा इथे, घेऊ का थोडा श्वास&lt;br /&gt;नको! नको!! अत्त्युच्च सुखाचा मला लागाला आहे ध्यास ।&lt;br /&gt;&lt;br /&gt;कसल्या तरी तेजाने उजळले आहे आकाश&lt;br /&gt;दिसला! मला हवा तो दिव्य तेजस्वी प्रकाश ।&lt;br /&gt;&lt;br /&gt;चिरंतन सुखाचं भांडार मला गवसलं&lt;br /&gt;हाती  आली माझ्या सद्गुरुंची पदकमलं ।&lt;br /&gt;&lt;br /&gt;नको पुनर्जन्म, नको नाती-गोती&lt;br /&gt;नको मोहमाया अन् पाप-पुण्यांची खाती ।&lt;br /&gt;&lt;br /&gt;एकच मागणे देवा एकच द्यावा वर&lt;br /&gt;पडू नये कधीही ह्या पाऊलांचे अंतर ।&lt;br /&gt;&lt;br /&gt;- सुनंदा अभ्यंकर&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-116454102841599230?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/116454102841599230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=116454102841599230' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116454102841599230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116454102841599230'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/11/to-from.html' title='To पद्मामावशी from सुनंदा'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-116227267558436365</id><published>2006-10-30T21:27:00.000-08:00</published><updated>2006-10-30T21:32:57.750-08:00</updated><title type='text'>pumpkin soup</title><content type='html'>I experimented with pumpkin soup yesterday. I think it turned out quite well - though you'll have to ask some of the taste testers for an honest opinion.&lt;br /&gt;&lt;br /&gt;Basically I cooked a bunch (turns out that half a pumpkin serves way more than 6 people) of pumpkin in the pressure cooker along with some carrots. On the side, I sauteed onions and ginger.&lt;br /&gt;&lt;br /&gt;Mashed the pumpkin, mixed it and the carrots with whipping cream, some milk, nutmeg, black pepper, and a tiny bit of cinnamon and cooked in a pot for a little longer. &lt;br /&gt;&lt;br /&gt;Finally, put it through the blender and garnished it with some parsley. &lt;br /&gt;&lt;br /&gt;I want to try adding some celery as well - I think that'll give it a nice bite.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-116227267558436365?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/116227267558436365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=116227267558436365' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116227267558436365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116227267558436365'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/10/pumpkin-soup.html' title='pumpkin soup'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-116138410429983533</id><published>2006-10-20T15:37:00.000-07:00</published><updated>2006-10-20T15:41:44.310-07:00</updated><title type='text'>data modeling</title><content type='html'>attended a pretty good presentation that Pierre gave on data modeling. Some things I learnt:&lt;br /&gt;&lt;ul&gt;&lt;li/&gt;since 3nf captures most business rules, each subsequent denormalization that you may do should be countered or linked directly to a piece of code that implements the business rule that was lost during the denorm process. It'd be supercool if there was a way to document that in the code/model somehow.&lt;br /&gt;&lt;li/&gt;successful normalization requires that you understand your business, whereas successful denormalization requires that you understand the runtime nature of your service (reporting, metrics, partitioning, performance, etc).&lt;br /&gt;&lt;li/&gt;it's easier to backfill into a simple, crisp model than into a "flexible" model that probably doesn't work anyways and may be full of incorect business rules. Resist the urge to put random opaque fields (or arbitrary key/value pairs) into your data model.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Having worked almost exclusively on framework-level code, I haven't had to do much modeling of business problems. So I learnt a lot.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-116138410429983533?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/116138410429983533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=116138410429983533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116138410429983533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116138410429983533'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/10/data-modeling.html' title='data modeling'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-116109785491588475</id><published>2006-10-17T07:58:00.000-07:00</published><updated>2006-10-17T08:10:55.416-07:00</updated><title type='text'>lamb</title><content type='html'>&lt;p/&gt;I need a web enabled cellphone. Everytime I go to the grocery store I randomly decide what I'm going to cook but then never have a recipe handy and have to guess how exactly I'm going to make it. Here is yesterday's impromptu lamb recipe, concocted from several recipes on &lt;a href="http://www.epicurious.com"&gt;epicurious&lt;/a&gt;, as well as a bit of creativity:&lt;br /&gt;&lt;br /&gt;Ingredients:&lt;ul&gt;&lt;br /&gt;&lt;li/&gt;Shoulders of lamb&lt;br /&gt;&lt;li/&gt;Yogurt&lt;br /&gt;&lt;li/&gt;Fresh mint&lt;br /&gt;&lt;li/&gt;Garlic&lt;br /&gt;&lt;li/&gt;Rosemary&lt;br /&gt;&lt;li/&gt;Thyme&lt;br /&gt;&lt;li/&gt;Balsamic Vinegar&lt;br /&gt;&lt;li/&gt;Sea salt&lt;/ul&gt;&lt;br /&gt;&lt;p/&gt;Repeatedly stab the lamb with a fork on both sides. Sprinkle on some sea salt, spoon on some yogurt and let it sit for a bit. Turn on the broiler in your oven.&lt;br /&gt;&lt;p/&gt; On a cutting board, chop some garlic and fresh mint. Add in the rosemary and thyme, and keep chopping until you have a finely chopped green mixture. &lt;br /&gt;&lt;p/&gt; To the herb and garlic mixture, add in a little bit of vinegar and more yogurt and mix again. Spoon this onto the lamb and stab again repeatedly with a fork to help it absorb. Cover and let it set in the fridge.&lt;br /&gt;&lt;p/&gt; Put it in the oven, about 3-4 inches from the broiler, for 6-7 minutes on each side.&lt;br /&gt;&lt;br /&gt;&lt;p/&gt;Improvements? Ingredients that I mixed that shoudln't have been mixed? Let me know. I just made this up as I went along.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-116109785491588475?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/116109785491588475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=116109785491588475' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116109785491588475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116109785491588475'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/10/lamb.html' title='lamb'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-116102191449225921</id><published>2006-10-16T10:53:00.000-07:00</published><updated>2006-11-08T18:34:11.953-08:00</updated><title type='text'>I'm dotting more than blogging</title><content type='html'>So you may be wondering why my blogging is suddenly less frequent than it used to be. Well often times what I have to say is related to something I read on the web. And there's a kickass service that lets me track that sort of stuff, and share/discuss it with my friends. &lt;a href="http://www.bluedot.us"&gt;bluedot.us&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I haven't figured out a way to splice my &lt;a href="http://bluedot.us/users/hbhanoo/rss"&gt;bluedot feed&lt;/a&gt; with my blog feed yet so you have to subscribe to it separately. &lt;br /&gt;&lt;br /&gt;Note that unless you use a reader than can do authentication, this feed only contains my "public" dots, and not the ones that I reserve just for friends or particular groups of people to see. If you want to see those &lt;a href="https://secure.bluedot.us/signIn"&gt;register/sign in&lt;/a&gt;, add me as a friend (I'll accept if I know you), and check out &lt;a href="http://bluedot.us/users/hbhanoo"&gt;my dots on bluedot.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; With &lt;a href="http://www.mozilla.com/en-US/firefox/"&gt;firefox 2&lt;/a&gt; you can &lt;a href="http://bluedot.us/users/hbhanoo/rss"&gt;click on my bluedot feed&lt;/a&gt; and then automatically subscribe to it in bloglines.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; I put in a feature request to the feedburner folks to integrate with bluedot. They said that they generally wait to see what sites get heavy usage and then integrate with them. If more people ask for it, then they may start paying attention. bluedot folks - have you tried contacting them directly?&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-116102191449225921?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/116102191449225921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=116102191449225921' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116102191449225921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/116102191449225921'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/10/im-dotting-more-than-blogging.html' title='I&apos;m dotting more than blogging'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115988879526024554</id><published>2006-10-03T08:13:00.000-07:00</published><updated>2006-10-03T08:19:55.276-07:00</updated><title type='text'>broadband by boeing</title><content type='html'>Wow. I'm on my way from Seoul to Seattle and have my laptop plugged into a power outlet under my seat and have broadband access (for free). I just tried skype-ing my wife's cellphone and was able to get a pretty damn clear connection, except that I'm guessing she heard a lot of white noise from the cabin noise.&lt;br /&gt;That's pretty damn cool!&lt;br /&gt;It's called &lt;a href="http://www.connexionbyboeing.com/"&gt;Connexion By Boeing&lt;/a&gt;. Although it's free I was required to enter credit card information to use the service. Interestingly though, there were other payment options including what looked like tie-ups with telecom companies (maybe this gets tagged onto your monthly phone bill?)&lt;br /&gt;I'm impressed.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115988879526024554?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115988879526024554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115988879526024554' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115988879526024554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115988879526024554'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/10/broadband-by-boeing.html' title='broadband by boeing'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115951961439853360</id><published>2006-09-29T01:39:00.000-07:00</published><updated>2006-12-07T10:30:43.496-08:00</updated><title type='text'>link love from Mr. Bezos</title><content type='html'>Looks like I'm getting some &lt;a href="http://aws.typepad.com/aws/2006/09/we_build_muck_s.html"&gt;link love&lt;/a&gt;  following Jeff Bezos' keynote at MIT's Emerging Technologies Conference. He put up a quote from one of my &lt;a href="http://bhanoo.blogspot.com/2005/11/artificial-artificial-intelligence.html"&gt;earlier posts&lt;/a&gt; about Mechanical Turk (the last paragraph).&lt;br /&gt;&lt;br /&gt;As I've said &lt;a href="http://bhanoo.blogspot.com/2006/06/distributed-systems-engineering.html"&gt;before&lt;/a&gt;, I work for &lt;a href="http://www.allthingsdistributed.com/"&gt;Werner Vogels&lt;/a&gt; in the &lt;a href="http://ds.amazon.com"&gt;Distributed Systems Engineering&lt;/a&gt; group at amazon.  We work on platform components (caching, messaging, persistence, logging, etc) that many teams (including AWS) rely on. &lt;br /&gt;&lt;br /&gt;Put another way, &lt;b&gt;we build the &lt;a href="http://ds.amazon.com/about.html"&gt;muck&lt;/a&gt; that powers the &lt;a href="http://aws.amazon.com"&gt;muck&lt;/a&gt; that could power your business. &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Oh. and we're &lt;a href="http://ds.amazon.com/jobs.html"&gt;hiring.&lt;/a&gt; :)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115951961439853360?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115951961439853360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115951961439853360' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115951961439853360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115951961439853360'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/09/link-love-from-mr-bezos.html' title='link love from Mr. Bezos'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115909238242462067</id><published>2006-09-24T02:59:00.000-07:00</published><updated>2006-09-24T03:06:22.436-07:00</updated><title type='text'>better tasting veggies.</title><content type='html'>I tend &lt;i&gt;not&lt;/i&gt; to crave capsicum (green peppers) when I'm in India because I cook it so often at home.&lt;br /&gt;&lt;br /&gt;The other day we had a simple cauliflower and capsicum &lt;i&gt;sabji&lt;/i&gt; for lunch and the taste and flavor of the capsicum was fantastic. It sounds a little overly dramatic, but biting into it felt like I was eating capsicum for the first time.&lt;br /&gt;&lt;br /&gt;Just a gentle reminder that the oversized, brightly colored, genetically engineered vegetables available in American grocery stores are not all that they appear; and all that glitters is not gold.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115909238242462067?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115909238242462067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115909238242462067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115909238242462067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115909238242462067'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/09/better-tasting-veggies.html' title='better tasting veggies.'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115736730952827949</id><published>2006-09-04T03:44:00.000-07:00</published><updated>2006-09-04T03:55:09.540-07:00</updated><title type='text'>rain</title><content type='html'>mmmm.&lt;br /&gt;I'm in Pune right now and it just started raining really hard after a morning/afternoon of sunshine.&lt;br /&gt;I love (and missed) the smell of rain. mmm. And the sound of hard rain (vs. the seattle drizzle). And it's over before I could finish writing this.&lt;br /&gt;&lt;br /&gt;I played golf on Friday morning and again today. Friday was great, but today I lost 7 balls. I came home more than a little dejected.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115736730952827949?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115736730952827949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115736730952827949' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115736730952827949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115736730952827949'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/09/rain.html' title='rain'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115604986366857431</id><published>2006-08-19T21:38:00.000-07:00</published><updated>2006-08-19T21:57:43.680-07:00</updated><title type='text'>Totalled by Muir</title><content type='html'>One of my friends was really enthusiastic about the two of us trying to summit &lt;a href="http://www.nps.gov/mora"&gt;Mt. Rainier&lt;/a&gt; this year. I was a little hesitant and committed only to doing some regular hiking with him in preparation for a summit next year.&lt;br /&gt;&lt;br /&gt;Last week we decided to do a hike this weekend to &lt;a href="http://www.nps.gov/mora/trail/campmuir.htm"&gt;Camp Muir&lt;/a&gt;, the basecamp for Rainier. &lt;br /&gt;&lt;br /&gt;I picked him up early this morning and we were on the road by about 5:40am. We got there a little after 8am and hit the trail at 8:40am. Within an hour we had completed the first 2.2 miles and about 2000ft of elevation gain. This was on a very well-maintained trail that is actually mostly paved. The next 2 miles and 2000+ ft of elevation gain through snow took us 3 hours (3.5 for me). &lt;br /&gt;&lt;br /&gt;The sun was painfully bright. In my mind snow is always associated with extreme cold. So I was dressed totally inappropriately. It was HOT. The high altitude (in combination with the heat/sun) caused my temples to throb and I got a slight feeling of nausea that intensified as we went up. The last hour of the ascent was quite gruelling for me because every time I got out of breath, I would also feel nausea. Coming down was somewhat fun because we would do controlled slide/steps down the snow (also known as &lt;a href="http://en.wikipedia.org/wiki/Glissade"&gt;Glissading&lt;/a&gt;). However, my nausea still persisted so I'd have to stop every few minutes - even though I wanted badly to get out of the sun.&lt;br /&gt;&lt;br /&gt;It was a full 8 hour day for me; I got back to the parking lot around 5pm. In order to summit Rainier, &lt;a href="http://www.rmiguides.com/"&gt;RMI&lt;/a&gt; recommends that you be able to hike to Camp Muir in between 3-5 hours, with a full load on your back. &lt;br /&gt;&lt;br /&gt;4.5 hours with a day pack is pretty pathetic but it's a checkpoint at least. At least now I know where I am vs. where I need to be in terms of my fitness level.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115604986366857431?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115604986366857431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115604986366857431' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115604986366857431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115604986366857431'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/08/totalled-by-muir.html' title='Totalled by Muir'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115591934191708897</id><published>2006-08-18T09:30:00.000-07:00</published><updated>2006-08-18T09:42:21.930-07:00</updated><title type='text'>omakase</title><content type='html'>Amazon apparently launched &lt;a href="http://associates.amazon.com/"&gt;&lt;i&gt;Omakase&lt;/i&gt;&lt;/a&gt; recently. It's an adsense-like program that shows the user products based not only on the page-content (ala adsense) but also based on the user's preferences.&lt;br /&gt;&lt;br /&gt;While this doesn't help sell services, it's an amazing way to sell products. Amazon knows products and it knows consumers. I know often-times on the amazon page, the products shown to you are in fact items from your own wishlist - that's probably because people are more likely to buy products for which they've already expressed  interest.&lt;br /&gt;&lt;br /&gt;Now, if I'm browsing around the web, amazon already knows what I've got in my wishlist, what I've been looking at on amazon, what "similar" people have been looking at, what they've bought, and how the site I'm looking at now might influence what I want to buy.&lt;br /&gt;&lt;br /&gt;That's an aweful lot of information to put together. Although the current algorithms may not  exploit &lt;i&gt;all&lt;/i&gt; of this information my guess is that, as they iterate on Omakase, the recommendations will only get better.&lt;br /&gt;&lt;br /&gt;Now if only you could ASIN-ize services...&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115591934191708897?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115591934191708897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115591934191708897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115591934191708897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115591934191708897'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/08/omakase.html' title='omakase'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115585227655235263</id><published>2006-08-17T15:00:00.000-07:00</published><updated>2006-08-17T15:04:36.566-07:00</updated><title type='text'>never work again...</title><content type='html'>Last weekend we were at &lt;a href="http://www.mothersbistro.com/"&gt;Mother's Bistro&lt;/a&gt; (great place!) in Portland, OR and had a very cheerful server. The table next to us must've made some comment to him about how cheerful he was... his response:&lt;br /&gt;&lt;blockquote&gt;"Find a job you love, and you'll never work again"&lt;/blockquote&gt;&lt;br /&gt;Though I'd read that before, it was great to hear someone say that about their own job.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115585227655235263?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115585227655235263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115585227655235263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115585227655235263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115585227655235263'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/08/never-work-again.html' title='never work again...'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115558289805619940</id><published>2006-08-14T12:00:00.000-07:00</published><updated>2006-08-14T12:14:58.076-07:00</updated><title type='text'>windsurfing</title><content type='html'>This weekend, Nate, Sindya, and I to &lt;a href="http://maps.google.com/maps?daddr=Hood+River,+OR+97031+%4045.705556,-121.520278&amp;saddr=98103&amp;f=li&amp;cid=&amp;ie=UTF8&amp;om=1"&gt;drove down&lt;/a&gt; to Hood River, OR to take &lt;a href="http://www.bigwinds.com/"&gt;windsurfing lessons&lt;/a&gt;. By the time we got in, it was about 2-ish. After signing waivers and swiping credit cards, we roamed around the city to looks for sunglasses for Sindya, and sunglass retainers for Nate.&lt;br /&gt;&lt;br /&gt;The city is awesome. It reminded us of a ski town, except for water sports. There were windsurfing, &lt;a href="http://en.wikipedia.org/wiki/Kite_surfing"&gt;kite surfing&lt;/a&gt;, and kayaking shops everywhere. &lt;br /&gt;&lt;br /&gt;The windsurfing class was a lot of fun; I was able to get the hang of the basics after about 90 minutes  - which left 30 minutes of confident surfing at the end :) We were in a lagoon, shielded from the strong winds. We later checked out the windsurfers on the Columbia river and man - they were flying by at absurd speeds.&lt;br /&gt;&lt;br /&gt;Afterwards, we &lt;a href="http://maps.google.com/maps?daddr=Husum,+WA+98623+%4045.799444,-121.485833&amp;saddr=hood+river,+or&amp;f=li&amp;cid=&amp;ie=UTF8&amp;ll=45.751714,-121.506729&amp;spn=0.160026,0.306244&amp;om=1"&gt;drove &lt;/a&gt; to Husum, WA to take a look at a white water &lt;a href="http://bluedot.us/Out.ashx?u=http%3A%2F%2Fwww.wavesport.com%2Fkayaks%2Fez%2Fez.php&amp;d=4309.61529329725&amp;ls=title"&gt;kayak &lt;/a&gt;that I'd been eyeing on &lt;a href="http://seattle.craigslist.org"&gt;craigslist&lt;/a&gt;. After trying out a roll in the pool, I decided to buy it.&lt;br /&gt;&lt;br /&gt;That evening we camped at &lt;a href="http://www.oregonstateparks.org/park_171.php"&gt;viento state park&lt;/a&gt;. Since there weren't too many bugs in the air, we were able to sleep with just the rain-fly and no tent (it was cool enough at night that sleeping outside would've been a little too cold) - which was great because I could see the stars as I fell asleep and everytime I woke up.&lt;br /&gt;&lt;br /&gt;We had planned on windsurfing some more on Sunday morning (exploiting the 1 hour free rentals that we got with the class) but there was absolutely no wind. Instead we drove into Portland and had a humungous brunch at &lt;a href="http://portland.citysearch.com/profile/8456514/"&gt;Mother's&lt;/a&gt;. The line there has been too long the past few times so I was glad to make it in.&lt;br /&gt;&lt;br /&gt;Luckily Sindya agreed to drive for the first hour after we left Portland; I was still digesting my food. The drive back was terrible. We left at 2:45 and didn't get back home until almost 8pm. &lt;br /&gt;&lt;br /&gt;But now I have a white water kayak.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115558289805619940?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115558289805619940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115558289805619940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115558289805619940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115558289805619940'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/08/windsurfing.html' title='windsurfing'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115394961019446869</id><published>2006-07-26T14:32:00.000-07:00</published><updated>2006-07-26T14:45:14.273-07:00</updated><title type='text'>fast company</title><content type='html'>From the &lt;a href="http://www.fastcompany.com"&gt;Fast Company&lt;/a&gt; blog: &lt;ul&gt;&lt;li/&gt;&lt;a href="http://www.fastcompany.com/magazine/01/edpage.html?partner=rss"&gt;Manifesto&lt;/a&gt; from 1995.&lt;li/&gt;&lt;a href="http://www.fastcompany.com/magazine/107/ebay.html?partner=rss"&gt;Microretailers in China.&lt;/a&gt; &lt;li/&gt;&lt;a href="http://www.fastcompany.com/magazine/102/open_snapper.html?partner=rss"&gt;High quality vs. walmart&lt;/a&gt; &lt;li/&gt; &lt;a href="http://www.fastcompany.com/magazine/107/business-at-its-best.html?partner=rss"&gt;Meeting (and spying on) Customers &lt;/a&gt; &lt;li /&gt; &lt;a href="http://www.fastcompany.com/magazine/107/next-dispatch-disaster.html?partner=rss"&gt;Disaster Management at SAS&lt;/a&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115394961019446869?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115394961019446869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115394961019446869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115394961019446869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115394961019446869'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/07/fast-company.html' title='fast company'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115367639434603578</id><published>2006-07-23T10:21:00.000-07:00</published><updated>2006-07-23T11:07:12.376-07:00</updated><title type='text'>kayaking</title><content type='html'>Five or six years ago I tried white water rafting as well as inflatable kayaks several times but I was always jealous of the hardshell kayakers on the river.&lt;br /&gt;&lt;br /&gt;Last year in India I tried &lt;a href="http://bhanoo.blogspot.com/2005/04/kayaking-and-prawn-stuffed-papad.html"&gt;several&lt;/a&gt; &lt;a href="http://bhanoo.blogspot.com/2005/10/depths-of-your-heart.html"&gt;times&lt;/a&gt; to go hardshell kayaking and learn how to do the eskimo roll. My three half-day attempts at learning didn't get me anywhere.&lt;br /&gt;&lt;br /&gt;I took a class in Seattle in June this year but couldn't attend the second of the river days. Although I was able to eskimo roll in the pool, I couldn't pull it off in the river when I took a fall.&lt;br /&gt;&lt;br /&gt;Yesterday I took a make-up class (for the second day that I had missed in June) and went down to a river again with &lt;a href="http://www.nwoc.com/"&gt;NWOC&lt;/a&gt;. It was fantastic. It was only class II rapids but I was able to get in and out of eddies, I was able to roll comfortably in still water, and I even managed to roll twice while taking a fall in the rapids. &lt;br /&gt;&lt;br /&gt;In addition to all that, I met some prety cool people during the class and had a beer with them at the &lt;a href="http://www.rogue.com/locations-issaquah.html"&gt;Rogue Brewery&lt;/a&gt; in Issaquah.&lt;br /&gt;&lt;br /&gt;Now I just need to go buy myself a kayak.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115367639434603578?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115367639434603578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115367639434603578' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115367639434603578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115367639434603578'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/07/kayaking.html' title='kayaking'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115294500673950257</id><published>2006-07-14T23:29:00.000-07:00</published><updated>2006-07-14T23:30:06.750-07:00</updated><title type='text'>more radio time</title><content type='html'>A little delayed, but &lt;a href="http://www.bcc.ctc.edu/kbcs/downloads/One_World_Report/OWR_20060706/OWR_20060706_Klowdowsky_NoMoreTears_SBhanoo.mp3"&gt;here &lt;/a&gt; it is.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115294500673950257?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115294500673950257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115294500673950257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115294500673950257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115294500673950257'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/07/more-radio-time.html' title='more radio time'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115283437624935893</id><published>2006-07-13T16:42:00.000-07:00</published><updated>2006-07-13T18:10:18.926-07:00</updated><title type='text'>cpu cycles</title><content type='html'>Yesterday I was faced with a design tradeoff on a Java API: make it &lt;ul&gt;&lt;li/&gt;clean and easy to understand but slightly inefficient; or &lt;li/&gt;more efficient in the simple case but a little more complicated overall?&lt;/ul&gt;My &lt;a href="http://www.guidoism.com/"&gt;coworker&lt;/a&gt; provided some great insight. To paraphrase him :&lt;br /&gt;&lt;blockquote&gt;APIs will never get cleaner, but CPU cycles will always get cheaper&lt;/blockquote&gt;&lt;br /&gt;That doesn't mean that one shouldn't &lt;b&gt;try&lt;/b&gt; to design APIs that are efficient. It just means that you have to be careful how much emphasis you place on that.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115283437624935893?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115283437624935893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115283437624935893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115283437624935893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115283437624935893'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/07/cpu-cycles.html' title='cpu cycles'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115255986876905808</id><published>2006-07-10T12:11:00.000-07:00</published><updated>2006-07-10T12:53:21.400-07:00</updated><title type='text'>making ghee</title><content type='html'>In general, I stay away from fried and oily foods - not because I'm watching my diet but because I just don't like them (there are exceptions, of course!). But I can't give up whole milk, or &lt;a href="http://en.wikipedia.org/wiki/Ghee"&gt;ghee&lt;/a&gt;. Eating hot &lt;a href="http://en.wikipedia.org/wiki/Chapatti"&gt;chapatis&lt;/a&gt; with ghee on them is one of those pleasures that I'm not going to give up anytime soon.&lt;br /&gt;&lt;br /&gt;Making ghee is not too difficult. The core process is as follows:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li/&gt;Start with a few sticks of unsalted butter (assuming you're not using homemade butter!)&lt;br /&gt;&lt;li/&gt;Put it in a pot on medium heat but watch it carefully and stir it every now and then to make sure that the bottom doesn't burn. (I use a nonstick pot just in case)&lt;br /&gt;&lt;li/&gt;Once it begins to boil, you'll see a thick froth forming on top. &lt;br /&gt;&lt;li/&gt;My grandma told my mother to cook with her nose and not her eyes. Once the butter turns into ghee, you'll smell the unmistakable smell of ghee. If you don't smell it, or don't know what it smells like - don't worry. In addition to that fantastic smell, you see the froth will thin out a lot, and the liquid below it turn clear. That's the ghee. You will also see some grainy residue sitting at the bottom. &lt;br /&gt;&lt;li/&gt;Take it off the heat immediately and let it cool slightly. This is where you have to be watching it carefully. If you leave it on the heat too long, you'll burn the residue and all of the ghee will acquire a burnt taste.&lt;br /&gt;&lt;li/&gt; Carefully strain the liquid ghee into a jar while it's still warm (before it solidifies). I just use a metal tea strainer that looks something like &lt;a href="http://www.amazon.com/gp/product/B00004OCLW"&gt;this&lt;/a&gt;.&lt;br /&gt;&lt;li/&gt; Don't throw away the solid residue! It's edible and actually has a great (albeit maybe acquired) taste. &lt;br /&gt;&lt;li/&gt; To use up the residue and any ghee remaining in your pot, cook a cup or two of basmati rice in that pot. It'll taste fantastic!&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;It takes about 15-20 minutes from the time you put butter in a pot to when the ghee forms and as you can see, the recipe is quite straight forward.&lt;br /&gt;&lt;br /&gt;That said, I think everyone has their secret mixins to make the ghee taste better. My &lt;i&gt;mami&lt;/i&gt; (mom's brother's wife) puts in a &lt;a href="http://en.wikipedia.org/wiki/Betel"&gt;Betel&lt;/a&gt; leaf for flavor, and some rock salt to make it more grainy when it cools (the opposite of 'grainy' ghee is 'waxy' ghee - not considered a good quality). My only mixin is a few cloves which help give it a nice color and subtle flavor.&lt;br /&gt;&lt;br /&gt;If you have a special ghee recipe, I'd love for you to share by posting it in the comments below!&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115255986876905808?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115255986876905808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115255986876905808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115255986876905808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115255986876905808'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/07/making-ghee.html' title='making ghee'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115162040104228690</id><published>2006-06-29T15:20:00.000-07:00</published><updated>2006-06-29T15:35:25.570-07:00</updated><title type='text'>Mr Anderson</title><content type='html'>No, not the dude from the Matrix. But &lt;a href="http://www.thelongtail.com/about.html"&gt;Chris Anderson&lt;/a&gt; of &lt;a href="http://thelongtail.com/"&gt;longtail&lt;/a&gt; fame was at amazon today to promote his new &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1401302378/bhanoo-20/104-9529764-5278337?ie=UTF8&amp;camp=1789&amp;link%5Fcode=xm2"&gt;book&lt;/a&gt;. I took away some good nuggets, even though I used to follow his blog quite regularly.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li/&gt;The long tail arises from&lt;ol&gt;&lt;li/&gt;variety &lt;li/&gt;inequality &lt;li/&gt; network effect &lt;/ol&gt;&lt;br /&gt;&lt;li/&gt;When plotted on a log-log scale, the long tail is a straight line. Most sales numbers drop off from this line because of limits of &lt;ol&gt; &lt;li/&gt;findability &lt;li/&gt; inventory &lt;/ol&gt;&lt;br /&gt;&lt;li/&gt;We can exploit the long tail by &lt;ol&gt;&lt;li/&gt;democratising production &lt;li/&gt;making distribution more efficient &lt;li/&gt; improving findability &lt;/ol&gt;&lt;br /&gt;&lt;li/&gt; Not everyone does everything for money: &lt;ol&gt; &lt;li/&gt; We are entering a "reputation economy" (people blog or write books for reputation, not money) &lt;li/&gt;Our talents are more varied than our job functions (I love this one!).&lt;/ol&gt; Both of these point towards the rise of the amateur professional (the expert who doesn't do it for money)&lt;br /&gt;&lt;br /&gt;&lt;li/&gt; Don't confuse limited distribution with shared taste (i.e. boxoffice hits happen because the supply of movies is limited by distribution, not because everyone necessarily loves those movies)&lt;br /&gt;&lt;br /&gt;&lt;li/&gt; Everyone deviates from the 'mainstream' &lt;i&gt;somewhere&lt;/i&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115162040104228690?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115162040104228690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115162040104228690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115162040104228690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115162040104228690'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/06/mr-anderson.html' title='Mr Anderson'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115082829012663154</id><published>2006-06-20T11:22:00.000-07:00</published><updated>2006-06-20T11:31:30.203-07:00</updated><title type='text'>Distributed Systems Engineering</title><content type='html'>So as I've mentioned &lt;a href="http://bhanoo.blogspot.com/2006/03/scobeleizer-vs-all-things-distributed.html"&gt;tangentially before&lt;/a&gt;, I work on building large scale distributed systems at &lt;a href="http://www.amazon.com"&gt;amazon.com&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;These are systems that power not only all of our retails websites (.com plus the various international sites), but also our affiliate sites (like &lt;a href="http://www.target.com"&gt;target.com&lt;/a&gt;) and all of the cool webservices (like the &lt;a href="http://www.amazon.com/gp/browse.html?node=16427261"&gt;Simple Storage Service&lt;/a&gt;, &lt;a href="http://www.mturk.com/mturk/welcome"&gt;Mechanical Turk&lt;/a&gt;, and &lt;a href="http://www.amazon.com/gp/browse.html?node=12738641"&gt;ECS&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Now you can finally learn more about what we do by checking out the &lt;a href="http://ds.amazon.com/"&gt;Distributed Systems Engineering site&lt;/a&gt;. This is a pseudo-official site that we wanted to put up to let people know what we work on. If you have comments about the site, feel free to post them here.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115082829012663154?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115082829012663154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115082829012663154' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115082829012663154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115082829012663154'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/06/distributed-systems-engineering.html' title='Distributed Systems Engineering'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-115074598551861653</id><published>2006-06-19T12:39:00.000-07:00</published><updated>2006-06-19T12:42:46.176-07:00</updated><title type='text'>radio debut</title><content type='html'>We have a radio debut in the family! Listen &lt;a href="http://filespace.org/hbhanoo/debut.mp3"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-115074598551861653?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/115074598551861653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=115074598551861653' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115074598551861653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/115074598551861653'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/06/radio-debut.html' title='radio debut'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-114961642969728295</id><published>2006-06-06T10:52:00.000-07:00</published><updated>2006-06-06T10:53:49.710-07:00</updated><title type='text'>google spreadsheet.</title><content type='html'>Google's much anticipated entry into the office-tools market has begun. They &lt;a href="http://googleblog.blogspot.com/2006/06/its-nice-to-share.html"&gt;beta launched&lt;/a&gt; Google Spreadsheet. Wow.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-114961642969728295?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/114961642969728295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=114961642969728295' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114961642969728295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114961642969728295'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/06/google-spreadsheet.html' title='google spreadsheet.'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-114773355555173043</id><published>2006-05-15T15:48:00.000-07:00</published><updated>2006-05-15T15:52:40.196-07:00</updated><title type='text'>service work in india</title><content type='html'>If you are of Indian Origin (aka 'brown') and have done any service work in India, then check out the &lt;a href="http://stories.indicorps.org/index.php?option=com_content&amp;task=view&amp;id=12&amp;Itemid=26"&gt;call for submissions&lt;/a&gt; for &lt;a href="http://fullcircle.indicorps.org/"&gt;fullcircle&lt;/a&gt;, an anthology of stories from people like you about their experiences.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-114773355555173043?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/114773355555173043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=114773355555173043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114773355555173043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114773355555173043'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/05/service-work-in-india.html' title='service work in india'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-114737197848268782</id><published>2006-05-11T11:20:00.000-07:00</published><updated>2006-05-11T14:36:03.390-07:00</updated><title type='text'>page 3</title><content type='html'>Last night, we watched &lt;a href="http://www.netflix.com/MovieDisplay?movieid=70037497"&gt;Page 3&lt;/a&gt;, a Hindi/English movie about a journalist who covers "Page 3" (the page with photographs and gossip about the glitterati of a city) for a Mumbai newspaper. The journalist is played by &lt;a href="http://www.imdb.com/name/nm1234298/"&gt;Konkana Sen&lt;/a&gt;. I've seen her before in &lt;a href="http://www.netflix.com/MovieDisplay?movieid=60032689"&gt;Mr. and Mrs. Iyer&lt;/a&gt; and &lt;a href="http://www.netflix.com/MovieDisplay?movieid=70046382&amp;trkid=1660"&gt;15, Park Avenue&lt;/a&gt; and she has been outstanding in all three.&lt;br /&gt;&lt;br /&gt;Page 3 left me a little depressed, but I highly recommend the movie.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-114737197848268782?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/114737197848268782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=114737197848268782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114737197848268782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114737197848268782'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/05/page-3.html' title='page 3'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-114728777078362460</id><published>2006-05-10T12:02:00.000-07:00</published><updated>2006-05-10T12:02:50.793-07:00</updated><title type='text'>mechturk</title><content type='html'>&lt;a href="http://aws.typepad.com/aws/2006/05/10000_sheep_col.html"&gt;this&lt;/a&gt; is a &lt;i&gt;hilarious&lt;/i&gt; use of mechanical turk.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-114728777078362460?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/114728777078362460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=114728777078362460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114728777078362460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114728777078362460'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/05/mechturk.html' title='mechturk'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-114650620138246189</id><published>2006-05-01T10:46:00.000-07:00</published><updated>2006-05-01T11:01:55.900-07:00</updated><title type='text'>classical music</title><content type='html'>Last night I went to hear &lt;a href="http://en.wikipedia.org/wiki/Ashwini_Bhide_Deshpande"&gt;Ashwini Bhide Deshpande&lt;/a&gt; in &lt;a href="http://www.ragamala.org/index_files/Page355.htm"&gt;concert&lt;/a&gt;, accompanied by Seema (Harmonium) and Vishwanath (Tabla) Shirodkar.&lt;br /&gt;&lt;br /&gt;It was a pretty good concert although &lt;ul&gt;&lt;br /&gt;&lt;li /&gt; Ashwiniji seemed to have a bit of a cold, though her singing was fantastic&lt;br /&gt;&lt;li /&gt; Her penultimate song (a jhula) seemed to finish prematurely/abruptly; I think this was due to the tabalji going into a long improv.&lt;br /&gt;&lt;li /&gt; To my very amateur ears/eyes, it seemed like she got off beat a few times. I feel stupid saying that because she's an extremely accomplished artiste, but I could swear that, a few times, she took the &lt;i&gt;sam&lt;/i&gt; on the 13th maatra of a teentaal instead of on the 1st. I was relying both on my counting as well as on the tabalji's left hand playing the &lt;i&gt;tin&lt;/i&gt; (with his palm instead of his fingers). Maybe someone can corroborate or shoot me down?&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Regardless, I thoroughly enjoyed the evening. I also ran into my old music teacher, as well as some fellow vocal students and some amazon collegues.&lt;br /&gt;&lt;br /&gt;In other news, we moved out of temp. housing and into our own apartment. To my surprise, I have a partial view of Mt. Rainier along with the Seattle skyline. Since we didn't really get to use our new furniture before leaving Bangalore, we spent much of the weekend excitedly unpacking and setting up the place. Unfortunately, we imported some dust from Bangalore along with our boxes and also spent a lot of time sneezing. Played squash yesterday after a long time so now my rear end is in pain. Am starting a 6-day white-water-kayaking class today.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-114650620138246189?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/114650620138246189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=114650620138246189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114650620138246189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114650620138246189'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/05/classical-music.html' title='classical music'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-114590066779547281</id><published>2006-04-24T10:31:00.000-07:00</published><updated>2006-04-24T10:47:02.963-07:00</updated><title type='text'>The Journey of Man</title><content type='html'>If you haven't seen it, try to check out the PBS documentary &lt;a href="http://www.netflix.com/MovieDisplay?movieid=70017464"&gt;'The Jounrney of Man'&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I watched it with some friends on Saturday night and it was the first movie in a long time that caused so much discussion.&lt;br /&gt;&lt;br /&gt;Here's the summary: by analysing the Y chromosome of people from around the world researchers were able to build a tree / map of how people migrated over time. Breifly:&lt;ul&gt;&lt;br /&gt;&lt;li /&gt; Until 50,000 years ago, everyone was chilling in Africa&lt;br /&gt;&lt;li /&gt; Drought caused by the looming ice-age drove one group of people to follow a coastal route through India and to Autstralia.&lt;br /&gt;&lt;li /&gt; About 40,000 years ago, there was a big branching out of people from central asia - two groups moved east to China, one group moved down to India. Another group headed far north-east.&lt;br /&gt;&lt;li /&gt; From the north-east, one group returned west to beome europeans and the rest trudged on eastwards in the arctic circle.&lt;br /&gt;&lt;li /&gt; About 10,000 years ago around 20 people survived the crossing across Beringia (the land mass that was exposed when the Bering Strait water levels were low). Within 800 years they multiplied and inhabited the whole American continent.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;That means that, only about 2000 generations ago, our ancestors were all buddies, chilling in Africa.&lt;br /&gt;&lt;br /&gt;The documentary is a little slow but seeing portraits of people around the world makes the similarities so apparent - it's definitely worth watching.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-114590066779547281?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/114590066779547281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=114590066779547281' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114590066779547281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114590066779547281'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/04/journey-of-man.html' title='The Journey of Man'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-114434642308362459</id><published>2006-04-06T10:50:00.000-07:00</published><updated>2006-04-06T11:02:43.483-07:00</updated><title type='text'>exceptions</title><content type='html'>A coworker lent me an amazing book: &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/0321246756/ref=ase_bhanoo-20/002-1432938-4080003?v=glance&amp;s=books"&gt;Framework Design Guidelines&lt;/a&gt;. Yes, yes, it's an MSFT book and talks about the .NET platform and is thus, by definition, evil. But it's still a phenomenal book and full of bits of wisdom. &lt;br /&gt;&lt;br /&gt;Each time I've picked it up, I've wish I could condense it into a cheat sheet and paste it to my monitor while coding. The following excerpt is not exactly groundbreaking, but something I wish I could remember when I design APIs:&lt;br /&gt;&lt;blockquote&gt;It's OK for exceptions to have a property returning some kind of error code, but I would be very careful about this. Each exception can carry two main pieces of information: the exception message explaining to the developer what went wrong and how to fix it and the exception type that should be used by handlers to decide what programmatic action to take. If you think you need to have a property on your exception that would return additional error code, ask yourself who this code is for. Is it for the developer or for the exception handler? If for the developer, add additional information to the message. If for the handlers, add a new exception type. (pp. 184/185)&lt;/blockquote&gt;&lt;br /&gt;(I'm sure I'm guilty of adding a stupid error code to an exception)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-114434642308362459?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/114434642308362459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=114434642308362459' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114434642308362459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114434642308362459'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/04/exceptions.html' title='exceptions'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-114366838592708296</id><published>2006-03-29T13:21:00.000-08:00</published><updated>2006-03-29T13:41:54.176-08:00</updated><title type='text'>scobeleizer vs all things distributed</title><content type='html'>ok that's a stupid, exaggerated, eyecatching title for a post, really. But if print media does it, so can I.&lt;br /&gt;&lt;br /&gt;Quite frequently employees at &lt;a href="http://www.amazon.com"&gt;amazon&lt;/a&gt; have the privilege of getting into a small conference room with an author or artist and hearing them speak or perform. For example, yesterday I got to listen to  Ben Harper busting out some songs from &lt;a href="http://www.amazon.com/exec/obidos/ASIN/B000EGEKWE/bhanoo-20?creative=327641&amp;camp=14573&amp;adid=0QHYREF7BHN3B9TTC84H&amp;link_code=as1"&gt;his latest album&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Well today &lt;a href="http://scobleizer.wordpress.com/"&gt;Robert Scoble&lt;/a&gt; visited us to promote &lt;a href="http://www.amazon.com/exec/obidos/ASIN/047174719X/bhanoo-20/102-5601196-2592957?%5Fencoding=UTF8&amp;camp=1789&amp;link%5Fcode=xm2"&gt;his latest book&lt;/a&gt;. The talk was okay, but what made it lively was the discussion between him and &lt;a href="http://www.allthingsdistributed.com/"&gt;Werner Vogels&lt;/a&gt; (I guess it also helped that I won a copy of their book in a raffle)&lt;br /&gt;&lt;br /&gt;Definitely a treat for an otherwise normal Wednesday at work.&lt;br /&gt;&lt;br /&gt;Oh - and in addition to those perks, did I mention that you get to work on building real, large-scale distributed systems to power the most customer focussed company in the world? :)&lt;br /&gt;(&lt;a href="mailto:resumes@hbhanoo.fastmail.fm"&gt;email me&lt;/a&gt; your resume if I didn't scare you off with all of that company kool-aid)&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=bhanoo-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=B000EGEKWE&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000ff&amp;bc1=000000&amp;bg1=ffffff&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=bhanoo-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=047174719X&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000ff&amp;bc1=000000&amp;bg1=ffffff&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-114366838592708296?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/114366838592708296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=114366838592708296' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114366838592708296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114366838592708296'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/03/scobeleizer-vs-all-things-distributed.html' title='scobeleizer vs all things distributed'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-114193792054179782</id><published>2006-03-09T12:54:00.000-08:00</published><updated>2006-03-09T12:58:40.553-08:00</updated><title type='text'>summing it up</title><content type='html'>I'm kind of sick of trying to sum up 15 months of India into a hallway conversation. But I guess after doing it for the past week, I've become somewhat proficient.&lt;br /&gt;&lt;br /&gt;I love that the air is fresh enough to go running in the (cold) mornings. &lt;br /&gt;&lt;br /&gt;I love that I can take a quiet bus ride to work and do a bit of reading on the way.&lt;br /&gt;&lt;br /&gt;I love the &lt;a href="http://www.spl.org/default.asp?pageID=branch_central&amp;branchID=1"&gt;Seattle Public Library&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-114193792054179782?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/114193792054179782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=114193792054179782' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114193792054179782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114193792054179782'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/03/summing-it-up.html' title='summing it up'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-114131728478359778</id><published>2006-03-02T08:31:00.000-08:00</published><updated>2006-03-02T08:50:59.316-08:00</updated><title type='text'>catchup</title><content type='html'>Lots to catch up on...&lt;br /&gt;&lt;br /&gt;At the end of January/early February, we made the trip to Goa with some friends. It was fantastic. In Palolem, where we stayed the first night, we had what S described as the best pizza she'd ever tried. It was pretty yummy. The place is run by some Italian guy. The next two nights were spent close to Baga. I was worried about S having a good time since she doesn't drink that much, is vegetarian, allergic to the sun, and not a big fan of motorbikes. But we sat on the beach (under umbrellas) and ate seafood (she ate alu paranthas), drank (she drank fresh watermellon juice), and rented motorcycles to get around town. And she had an amazing time.&lt;br /&gt;&lt;br /&gt;After Goa we were in Bangalore for a week, taking care of lots of logistics in preparation for the move. At the end of that week, we got in the car and drove to Belgaum to visit my mama, and then drove on to Sangli to visit his daughter, and then spent a few days in Pune with my sister's family. We left the car there and flew back to Bangalore, sad that we won't be seeing them as often anymore.&lt;br /&gt;&lt;br /&gt;Next we took a bus to Coorg, a large coffee growing region south-west of Bangalore. It was an amazing, week-long trip. We spent the first 2 nights at a resort called Misty Woods. I highly recommend &lt;span style="font-weight:bold;"&gt;against&lt;/span&gt; going there. It's not a value for money. The staff is great and the rooms are nice, but the food is terrible and the place doesn't justify the cost at all. Instead, try out Palace Estate, a small homestay close by (we didn't stay there but it looked pretty nice and we heard good things about it). Both are located near the palace, outside the town of Kakkabe. We spent the next 3 days at &lt;a href="http://www.sand-banks.com"&gt;sand banks&lt;/a&gt;, a home-stay close to Ammathi. Mr. and Mrs. Kallappa were extremely hospitable, and made our stay wonderful. The food was fantastic and the location was very rustic and peaceful. Highly recommended.&lt;br /&gt;&lt;br /&gt;We were in Bangalore only for 3 days after that, during which time we sorted through all of our belongings in preparation for the packer/movers. I flew to Delhi to spend a week with my parents, while S did a short trip around south india to visit more family, and then joined me in Delhi.&lt;br /&gt;&lt;br /&gt;From Delhi, my mom and I did a short trip to Rishikesh/Haridwar, where we stayed at the small and rustic but comfortable &lt;a href="http://www.shreevithalashram.org/"&gt;Vitthal Ashram&lt;/a&gt;. I spent a morning kayaking in the cold Ganga waters, and the rest of the time checking out temples. I was quite disgusted by how commercialized the temple-areas were and how many people were out to get your money using God's name. I guess that's to be expected given the number of tourists that go there. oh well.&lt;br /&gt;&lt;br /&gt;I landed in Seattle on Monday and it feels quite surreal to be back here. I have caught up with a bunch of friends already, and should get a chance to meet everyone by this weekend. I still haven't gotten a cellphone so I do feel a little disconnected still.&lt;br /&gt;&lt;br /&gt;Yesterday was my first day at work. I'm not yet sure how excited I am to be working again. :) But I'll be looking into caching which looks to be pretty interesting.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-114131728478359778?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/114131728478359778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=114131728478359778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114131728478359778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/114131728478359778'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/03/catchup.html' title='catchup'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-113895106441182977</id><published>2006-02-02T23:02:00.000-08:00</published><updated>2007-02-03T22:05:05.336-08:00</updated><title type='text'>grasshopper</title><content type='html'>The other night we went to a restaurant way out on Bannerghatta Road called Grasshopper. I'd heard about it for a while and had been trying to coordinate a trip with a few people. But S and I finally decided to go there on Wednesday night lest we miss a trip there altogether.&lt;br /&gt;&lt;br /&gt;We were the only people there. Seating was outdoor and they provided shawls since it was a little chilly. They have a boutique out front featuring clothes (and accesories) from 6 designers. The ambiance was awesome. &lt;br /&gt;&lt;br /&gt;I wrote down the contents of our 6 course meal but seem to have misplaced it somewhere. I absolutely loved my food. S liked hers (she had the veg. option) but was not as enthusiastic as me.&lt;br /&gt;&lt;br /&gt;I think I remember my meal:&lt;br /&gt;- Oven fresh bread&lt;br /&gt;- Fig stuffed with Feta&lt;br /&gt;- Asparagus with mint and lime&lt;br /&gt;- Prawn with ginger&lt;br /&gt;- Walnut and pear salad.&lt;br /&gt;- Sea bass&lt;br /&gt;- Veal Chops&lt;br /&gt;- Lemon cheese cake with grape reduction&lt;br /&gt;&lt;br /&gt;S got bruschetta instead of the prawn, a feta-stuffed sweet chilli instead of the sea bass, and broiled vegetables in butter-bean sauce as her main course.&lt;br /&gt;&lt;br /&gt;The Sula Sauvignon Blanc that we had was a disappointment. I ended the meal with a shot of espresso for the long drive home.&lt;br /&gt;&lt;br /&gt;My mouth is watering while writing it down. In fact I may just stop writing for now because I need to go grab lunch.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; anonymizing.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-113895106441182977?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/113895106441182977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=113895106441182977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113895106441182977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113895106441182977'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/02/grasshopper.html' title='grasshopper'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-113894865632944304</id><published>2006-02-02T22:26:00.000-08:00</published><updated>2006-02-02T22:37:36.380-08:00</updated><title type='text'>rang de basanti</title><content type='html'>Last night Sindya and I went and watched &lt;a href="http://www.rangdebasanti.net"&gt;Rang De Basanti&lt;/a&gt;, starring Amir Khan, Kunal Kapoor, Soha Ali Khan, and others. We tried getting tickets a few days back at the Forum Mall in Bangalore, but it was sold out for the full week. We were walking around Brigade Road yesterday and decided, on a whim, to try for tickets.&lt;br /&gt;&lt;br /&gt;I'm glad we did. It's a great movie. The acting was solid, as was the cinematography. The soundtrack was fantastic too. The storyline was new and refreshing, and I think it struck a chord with many.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-113894865632944304?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/113894865632944304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=113894865632944304' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113894865632944304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113894865632944304'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/02/rang-de-basanti.html' title='rang de basanti'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-113862755787278565</id><published>2006-01-30T05:05:00.000-08:00</published><updated>2006-01-30T08:00:11.066-08:00</updated><title type='text'>Red Tape: Getting a police clearance certificate</title><content type='html'>I realized that I should have started this as a series when I first moved to India but I didn't think of it until recently. There are many "gotcha's" associated with getting any government work done in India which result in this "Damn. Now I know what to do next time" feeling. However, many tasks (e.g. getting a Marriage Certificate) are such that one rarely needs to do them more than once. &lt;br /&gt;So I figured I'd put down at least one such experience in writing for the benefit of others.&lt;br /&gt;&lt;i&gt;Please update this information by leaving a comment&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What:&lt;/b&gt; Getting police certificates from the regional passport office, and the local police station in Bangalore. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why:&lt;/b&gt; In my case, it was to apply for a visa.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Est. Time:&lt;/b&gt; 1 week (at minimum), 3-4 weeks normal time. &lt;br /&gt;&lt;br /&gt;In order to expedite, you'll need a letter explaining why. If it's for business purposes, it should be on company letterhead. If for personal purposes (as in my case) make sure that you can explain the reason in one sentence, and that the letter is written in formal style.&lt;br /&gt;&lt;br /&gt;For pretty much every step, you'll need a recent photo. Keep a stack of them and a glue stick with you at all times.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Summary of Events&lt;/b&gt;&lt;ol&gt;&lt;br /&gt;&lt;li/&gt; You submit all the applications&lt;br /&gt;&lt;li/&gt; The request for passport clearance is forwarded from the passport office to the commisioner's office to the local police station.&lt;br /&gt;&lt;li/&gt; The police clearance request is forwarded from the commisioner's office to the local police station.&lt;br /&gt;&lt;li/&gt; The local police check your records and residence and get a statement from your neighbors.&lt;br /&gt;&lt;li/&gt; The applications travel back along the same route they came&lt;br /&gt;&lt;li/&gt; You pick them up at their respective starting points&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Hopefully this will help you waste less time in the process.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Step x where x &amp;lt; 4: Get familiar with the local police station&lt;/h2&gt;&lt;br /&gt;Since both requests will finally come to the local police station, you should go there at some point before completing step 5, and get to know the person who'll do the verification. Explain your urgency, and ask him for any documents that he'll need so that, once the requests get to him, he can complete his end of things ASAP. In my case this guy was really nice and did all he could to help me get things done quickly. &lt;br /&gt;&lt;h2&gt;Step 1: Money&lt;/h2&gt;&lt;br /&gt;&lt;h3&gt;Passport Office&lt;/h3&gt;&lt;br /&gt;Accepts Cash&lt;br /&gt;&lt;h3&gt;Commisioner's Office&lt;/h3&gt;&lt;br /&gt;The commisioner's office requires that you first go to the State Bank of Mysore, Treasury Branch and remit Rs. 200 to account number 005500103004. You'll need to specify "for PCC" and supply your name and address as you'll want listed on the certificate. &lt;br /&gt;You don't have to do this in person; I was able to send my driver to take care of this. However, I didn't know that it needed a name and address and he just guessed the spellings of both, so he had to do it again, this time with a PostIt with my name and address written on it.&lt;br /&gt;&lt;b&gt;Time:&lt;/b&gt;My driver said that there was a line for this as well, and it took about three hours.&lt;br /&gt;&lt;h2&gt;Step 2: Forms&lt;/h2&gt;&lt;br /&gt;&lt;h3&gt;Passport Office&lt;/h3&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; &lt;a href="http://kar.nic.in/passport/EAP-II.pdf"&gt;Form 2&lt;/a&gt;&lt;br /&gt;&lt;li&gt; Personal Particulars Form in duplicate (pages 10-13) and index card (page 3) from the &lt;a href="http://kar.nic.in/passport/EAP-I.pdf"&gt;passport application form&lt;/a&gt;&lt;br /&gt;&lt;li&gt; Passport (make sure you make copies of the important pages and visas in your passport first, because they'll hold onto your passport once you submit the application).&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Commisioner's Office&lt;/h3&gt;&lt;br /&gt;The forms required at the commisioner's office are not available online. You &lt;i&gt;may&lt;/i&gt; be able to ask someone to get them for you though I'm not sure. That process is optmized for wasting your time.&lt;br /&gt;Show up at the office called "Single Window" at the commisioner's office. There is an 'enquiry desk' at the front which supplies you with forms and information. If the guy there is in a good mood, you may be able to get a blank form from him up front. If you're having someone take care of the bank stuff for you, they can try getting you that form at the same time.&lt;br /&gt;&lt;b&gt;Time:&lt;/b&gt; Should take about 10-20 minutes depending on the size of the line.&lt;br /&gt;&lt;h2&gt;Step 3: Submit the applications&lt;/h2&gt;&lt;br /&gt;&lt;h3&gt;Passport Office&lt;/h3&gt; Show up at the passport office a little before 8am. The counter only opens at 9:45, but the line starts at 7:45 or 8:00am. &lt;br /&gt;&lt;b&gt;What to bring:&lt;/b&gt; &lt;ul&gt;&lt;br /&gt;&lt;li&gt; Proof of address&lt;br /&gt;&lt;li&gt; Forms with photo&lt;br /&gt;&lt;li&gt; Cash (About Rs. 300 I think)&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;You'll stand in line where they'll check your paperwork and give you a token number. Then you wait for your number to be called at which point they'll take your money and passport and give you a receipt. Make copies of this ASAP.&lt;br /&gt;&lt;b&gt;Time:&lt;/b&gt; If you get in line before 8am, you could be done as early as 10:30am.&lt;br /&gt;&lt;h3&gt;Commisioner's Office&lt;/h3&gt; Show up in the morning around 10 or 11am; you should be able to head there right after going to the passport office. You'll need: &lt;ul&gt;&lt;br /&gt;&lt;li&gt; Proof of address&lt;br /&gt;&lt;li&gt; Form with photo&lt;br /&gt;&lt;li&gt; Receipt from the bank&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Even if there's a big crowd when you enter, that's either people waiting in line to pick up the stupid form and figure out the process, or foreigners on long term stays registering their presence. Just go to the line in front of the window that says 'police verification' (number four, I think).&lt;br /&gt;After submitting the application, you'll get a receipt. Make copies for safe keeping.&lt;br /&gt;&lt;b&gt;Time:&lt;/b&gt; About 10-20 minutes.&lt;br /&gt;&lt;h2&gt;Step 4: Check for the request from the passport office&lt;/h2&gt;&lt;br /&gt;At the commisioner's office, there is a big room at the front (facing Infantry Road) where you can go to check on the status of a verification. It should take a day or three for the request to get from the passport office to the commisioner's office; I wasn't able to figure out how to speed this process up.&lt;br /&gt;When you walk in, you'll be confused; there are windows up front, but no lines leading up to the window. Sitting in front of the window will not result in someone coming to help you. The right thing to do is to observe for a few minutes and find someone who looks like they work there (you'll know by the fact that they keep coming and going from behind the restricted area). &lt;br /&gt;Catch a hold of one of them and ask them to check on the status of the passport verification. Give them the original receipt and they'll go back into a room somewhere and search through their files to tell you if they've gotten the request. &lt;br /&gt;Once they've gotten the request, move on to the next step.&lt;br /&gt;&lt;b&gt;Time:&lt;/b&gt;About 20 minutes each time you decide to go there and check.&lt;br /&gt;&lt;h2&gt;Step 5: Expediting the process&lt;/h2&gt;&lt;br /&gt;The requests for verification could sit around for a while in the commisioner's office and we want to avoid that. Once you find out that the passport request has been received, find out if the police certificate request (that you submitted at the commisioner's office has been forwarded to the local police station or not). If it hasn't, then you'll need to complete the following steps for both requests:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Go wait in line outside the DCP (Deputy Commisioner of Police), Intelligence's office along with your urgency letter and receipts for the requests and request him to let you take the requests 'by hand' to the local police station. He'll sign on the two receipts. His office is in a different building in the Commisioner's Office compound.&lt;br /&gt;&lt;li&gt;Wait in line outside the ACP (Assistant Commisioner of Police)'s office and ask him to . This is inside the big room when you find out about status. It's on the right when you go in. Hopefully he'll grant your request by signing on the receipts as well.&lt;br /&gt;&lt;li&gt; The ACP should instruct someone to go and prepare a sealed envelope containing both requests.&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;Time:&lt;/b&gt;About 45-60 minutes to get both signatures.&lt;br /&gt;&lt;h2&gt;Step 6: Local Verification&lt;/h2&gt;&lt;br /&gt;This may vary. The cop dictated two long statements to me which I had to sign. Both were along the lines of "I am such-and-such person living at this address. I require police clearance / passport verification for the purposes of blah. I've provided the following documents as proof of residence. I request you to please provide the verification".&lt;br /&gt;The cop came to my building and got a sworn statement from the building manager as well. Two huge packets consisting of the requests, along with address proof and statements were then signed by the head of the local police station (I forget his official title). Finally, they needed to stick my pictures in two registers, which I had to sign.&lt;br /&gt;Thanks to an urgency letter, the responses were given back to me in an envelope and I was able to take this, by hand, back to the commisioner's office.&lt;br /&gt;&lt;b&gt;Time:&lt;/b&gt; Because I'd done a lot of ground work (i.e. been there many times), the actual physical verification took about an hour. I'd reserve about half a day to write the statements, provide address proof, and to get the appropriate statements and signatures.&lt;br /&gt;&lt;h2&gt;Step 7:One down, one to go!&lt;/h2&gt;&lt;br /&gt;With the forms completed by the local police station, I was able to go back to the commisioner's office and submit them there. Again, just catch hold of someone and request to speak to the guy in charge of police verifications. If he's sweet, he might agree to complete the process that day itself. &lt;br /&gt;&lt;h3&gt;Passport Verification&lt;/h3&gt;&lt;br /&gt;Just submitting the forms is not enough, you need to request that you are assigned a &lt;b&gt;GR number&lt;/b&gt;. This should ensure that it is available for pickup from the passport office the next day.&lt;br /&gt;&lt;h3&gt;Commisioner's Verification&lt;/h3&gt;&lt;br /&gt;The receipt for your verification would have listed a pickup date 3 weeks in the future. In order to pick it up before this date, you'll need to get signatures again from the DCP of Intelligence and ACP. Show them the urgency letter and hope that they  approve your request. If they do, you should be able to take this back to the Single Window and get one your police certificate. Woohoo! One down, one to go!&lt;br /&gt;&lt;b&gt;Time:&lt;/b&gt;About half a day. Once you submit the local police reports, you should wait there to make sure you get the GR nubmer.&lt;br /&gt;&lt;h2&gt;Step 8: Expediting the Passport Verification&lt;/h2&gt;&lt;br /&gt;Show up at the passport office a little before 11am with &lt;br /&gt;&lt;ul&gt;&lt;li&gt;your receipt&lt;br /&gt;&lt;li&gt;a personal statement of urgency&lt;br /&gt;&lt;li&gt;some proof of urgency (e.g. a company letter) and, of course, &lt;br /&gt;&lt;li&gt; one more photo.&lt;/ul&gt;&lt;br /&gt;In the front of the Bangalore office, two guards jealously guard the entrance to the "Tatkal" (expedited) area. Show them your proof of urgency and they'll let you in. Go up one floor and a security guard will give you yet another form, and direct you to stand/sit in a line.&lt;br /&gt;When you get to the window, someone will check your paperwork and ask you to meet the Assitant Commisioner. You'll be shuffled along to another line outside his office. Explain your circumstances to him, and he may approve that you be provided your passport the same day or the next day.&lt;br /&gt;&lt;b&gt;Time:&lt;/b&gt; If you get there just before 11am, you should be done by about 12:30pm.&lt;br /&gt;&lt;h2&gt;Step 9: All done!&lt;/h2&gt;&lt;br /&gt;On the day you're meant to receive your passport back, you show up at the passport office between 4 and 6pm. Show your receipt, and the guards will let you go back up to the same &lt;i&gt;Tatkal&lt;/i&gt; hall. &lt;b&gt;Do not&lt;/b&gt; bother standing in line. &lt;br /&gt;They have this funky process whereby they call out 15 names or so over the PA system. Those 15 people are expected to go to the counter and pick up their passports (they'll call out the names again in the same order). If you don't show up, they'll try calling your name again in a little while.&lt;br /&gt;While this may entice you to show up at 5:30pm, I'd recommend going a little earlier just in case (remember; they strive to waste as much of your time as possible, and may come up with some even less efficient system by the time you read this).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;And that's it!&lt;/b&gt; After many man hours of effort, repeated visits to the passport office, the commisioner's office, and your local police station; you would have gotten your certificates!&lt;br /&gt;&lt;h2&gt;Appendix A: Address Proof&lt;/h2&gt;&lt;br /&gt;I have had serious problems with address proof in India. My landlady provides a phone and gas connection, and the electricity bill is in her name. The following documents are NOT considered valid address proof:&lt;ul&gt;&lt;br /&gt;&lt;li/&gt; Phone bills from private companies&lt;br /&gt;&lt;li/&gt; Your lease&lt;br /&gt;&lt;li/&gt; Credit Card bills&lt;br /&gt;&lt;li/&gt; Bank statements from a non government bank&lt;/ul&gt;&lt;br /&gt;Finally, I was able to use my tax "Saral" (a stamped piece of paper saying that you've filed taxes) as proof of address.&lt;br /&gt;I recommend getting a gas or govt. phone line in your name even if for no other reason than to provide address proof.&lt;br /&gt;&lt;h2&gt;Appendex B: Bribery&lt;/h2&gt;&lt;br /&gt;I'm the worst person to comment on this, as I don't really know how to offer someone a bribe. I'm also not at all comfortable with it.&lt;br /&gt;There were certain steps in this process where the people concerned, after completing my job in a somewhat timely manner, asked for money. I paid. There were other cases where there was no request for money but I had been helped. I asked to make sure the person would not be offended, and paid. I paid more in the second case because I felt that the person had been sincere and I think honesty is rarely rewarded in India. It was ironic and possibly defeated the purpose to reward honesty with what could be construed as a bribe.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-113862755787278565?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/113862755787278565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=113862755787278565' title='40 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113862755787278565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113862755787278565'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/01/red-tape-getting-police-clearance.html' title='Red Tape: Getting a police clearance certificate'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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>40</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7682077.post-113815799214096714</id><published>2006-01-24T18:47:00.000-08:00</published><updated>2006-01-24T18:59:52.196-08:00</updated><title type='text'>done!</title><content type='html'>Though I can't believe it myself, today is my very last day at the Amazon office in Bangalore. I came here in October 2004.&lt;br /&gt;&lt;br /&gt;The last few months have been somewhat crazy; I've been out of the office a lot for personal (family) reasons. So leaving today seems even more sudden.&lt;br /&gt;&lt;br /&gt;But I'm quite excited. Tomorrow afternoon I'm catching a flight to Goa. We are going with Romain/Elise and Sanjay/Ashima; Vikas/Pooja join us on Friday morning, and Praveen joins us on Saturday morning. We're going to South Goa (Pallolem beach) where I haven't been before; I'm looking forward to the usual fish curry and rice, as well as some motorcycling. We'll hang out there over the weekend and then head over to Belgaum and Sangli/Miraz to hang with some family.&lt;br /&gt;&lt;br /&gt;After that, things are somewhat unclear. If nothing more spectacular comes my way by middle/end of February(hint, hint!), I'm currently set to take up a really cool position back at Amazon Seattle starting March 1st. That leaves me with most of February to wrap up here as well as do some sightseeing.&lt;br /&gt;&lt;br /&gt;That is so far unplanned; we're considering visiting some friends in SE Asia, or spending time seeing areas like the Northeast of India, or Rajasthan. &lt;br /&gt;&lt;br /&gt;Obviously, both of us have mixed emotions about going back. We're excited and looking forward to it, but at the same time we've spent the past month (and will probably spend the next month) constantly pointing out things that we'll miss about India.&lt;br /&gt;&lt;br /&gt;In terms of stuff we're taking back, we've picked up (and will pick up more) a bunch of small knick-knacks; some art work, and some really cool furniture. Oh, and of course, two heads full of wonderful memories.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-113815799214096714?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/113815799214096714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=113815799214096714' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113815799214096714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113815799214096714'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/01/done.html' title='done!'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-113695410769075122</id><published>2006-01-10T20:18:00.000-08:00</published><updated>2006-01-10T20:35:07.746-08:00</updated><title type='text'>Happy New Year</title><content type='html'>I'm a little late with the New Year wishes but since this is my first post of the new year, I figured it's legit.&lt;br /&gt;&lt;br /&gt;It's eid today; I was trying to catch an autorik to go somewhere today and went out on the main road to find throngs of muslims blocking the main road. They had their prayer mats laid down and were kneeling and prostrating as prayers were chanted over a loudspeaker. It was an awesome sight. S is going out to take a look, and will hopefully catch something on video that I can upload.&lt;br /&gt;&lt;br /&gt;Last week we went to Chennai for the day. We had a few hours to kill in the afternoon and were trying to figure out what to do. Someone suggested the museum so I reluctantly agreed, figuring that we'd just stop by for a while and move on to the beach. I'm glad we went. It was the best Rs 15. I've spent in a long time! The buildings themselves were grand and very picturesque. The exhibits were also fascinating - they had lots of bronzes and stone carvings from various periods in India history. &lt;br /&gt;&lt;br /&gt;S and I didn't do much for New Years. We were in Pune at the time. On the 30th, we went out with my sister and brother-in-law to this cool little lounge called 'Kiva' that plays very upbeat 70s/80s music that just makes you want to move. We got pretty drunk there. On the 31st I was sick, and everyone was a little exhausted so we just hung out at home and chatted and watched some TV. S baked a cake which got ready at midnight, so we ate that and drank some dessert wine.&lt;br /&gt;&lt;br /&gt;That's all. We're planning on leaving India in a few months, which brings with it quite a mix of emotions; excited to move on, but sad to leave behind lots of great memories. These days I'm busy trying to wrap things up at work and at home. S has been given a license to go nuts shopping since there're so many little gifts and such that we want to take with us.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-113695410769075122?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/113695410769075122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=113695410769075122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113695410769075122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113695410769075122'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2006/01/happy-new-year.html' title='Happy New Year'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-113462212065906664</id><published>2005-12-14T20:47:00.000-08:00</published><updated>2005-12-15T02:16:54.186-08:00</updated><title type='text'>passionate about your customers</title><content type='html'>&lt;a href="http://www.joelonsoftware.com"&gt;Joel&lt;/a&gt; has a &lt;a href="http://www.joelonsoftware.com/articles/HowToShipAnything.html"&gt;great article&lt;/a&gt; on how he sped up the process of shipping dvds. Joel is a prolific writer on software development, and runs a software company. Which is why I was surprised that he put three days of effort into building a kickass mailing system instead of getting some other company to do it.&lt;br /&gt;&lt;br /&gt;Why he did that is explained &lt;a href="http://www.joelonsoftware.com/items/2005/12/14c.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-113462212065906664?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/113462212065906664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=113462212065906664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113462212065906664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113462212065906664'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2005/12/passionate-about-your-customers.html' title='passionate about your customers'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-113456133544047965</id><published>2005-12-14T03:52:00.000-08:00</published><updated>2005-12-14T03:58:43.616-08:00</updated><title type='text'>sloppy, yahoo!</title><content type='html'>ugh. yahoo! buys del.icio.us, and now I get this&lt;:&lt;br /&gt;I'm disappointed. They should have error handlers that prevent detailed errors like this being shown to users.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;System error&lt;br /&gt;error:   Can't call method "prepare" on an undefined value at /www/del.icio.us/comp/user/get line 13.&lt;br /&gt;context:   &lt;br /&gt;...   &lt;br /&gt;9:   my $usedb = 'master';&lt;br /&gt;10:   my $ret;&lt;br /&gt;11:   &lt;br /&gt;12:   if (!$auth_user) { $usedb = 'user' }&lt;br /&gt;13:   if (!exists ($db-&gt;{$usedb})) { $usedb = 'master' }&lt;br /&gt;14:   $user_name_q-&gt;{$usedb} = $db-&gt;{$usedb}-&gt;prepare('select * from users where user_name = ?');&lt;br /&gt;15:   my $query = $user_name_q-&gt;{$usedb};&lt;br /&gt;16:   $query-&gt;execute(lc($user_name));&lt;br /&gt;17:   &lt;br /&gt;...   &lt;br /&gt;code stack:   /www/del.icio.us/comp/user/get:13&lt;br /&gt;/www/del.icio.us/comp/settings/antisocial:52&lt;br /&gt;/www/del.icio.us/site/settings/dhandler:9&lt;br /&gt;/www/del.icio.us/site/autohandler:110&lt;br /&gt;raw error&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can't call method "prepare" on an undefined value at /www/del.icio.us/comp/user/get line 13.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Trace begun at /usr/share/perl5/HTML/Mason/Exceptions.pm line 131&lt;br /&gt;HTML::Mason::Exceptions::rethrow_exception('Can\'t call method "prepare" on an undefined value at /www/del.icio.us/comp/user/get line 13.^J') called at /www/del.icio.us/comp/user/get line 13&lt;br /&gt;HTML::Mason::Commands::__ANON__('dbh', 'DBI::db=HASH(0x1b66b20)', 'user_name', 'hbhanoo') called at /usr/share/perl5/HTML/Mason/Component.pm line 134&lt;br /&gt;HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x1d03aa0)', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'user_name', 'hbhanoo') called at /usr/share/perl5/HTML/Mason/Request.pm line 1069&lt;br /&gt;eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068&lt;br /&gt;HTML::Mason::Request::comp(undef, undef, 'dbh', 'DBI::db=HASH(0x1b66b20)', 'user_name', 'hbhanoo') called at /www/del.icio.us/comp/settings/antisocial line 52&lt;br /&gt;HTML::Mason::Commands::__ANON__('cookies', 'HASH(0x2fcb2b0)', 'tagview', 'list', 'browser', 'ff', 'bundleview', 'show', 'auth_user', 'hbhanoo', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'tagsort', 'alpha', 'items', 10) called at /usr/share/perl5/HTML/Mason/Component.pm line 134&lt;br /&gt;HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x37d1ba0)', 'cookies', 'HASH(0x2fcb2b0)', 'tagview', 'list', 'browser', 'ff', 'bundleview', 'show', 'auth_user', 'hbhanoo', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'tagsort', 'alpha', 'items', 10) called at /usr/share/perl5/HTML/Mason/Request.pm line 1074&lt;br /&gt;eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068&lt;br /&gt;HTML::Mason::Request::comp(undef, undef, 'cookies', 'HASH(0x2fcb2b0)', 'tagview', 'list', 'browser', 'ff', 'bundleview', 'show', 'auth_user', 'hbhanoo', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'tagsort', 'alpha', 'items', 10) called at /www/del.icio.us/site/settings/dhandler line 9&lt;br /&gt;HTML::Mason::Commands::__ANON__('dbh', 'DBI::db=HASH(0x1b66b20)', 'auth_user', 'hbhanoo', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x2fcb2b0)', 'browser', 'ff') called at /usr/share/perl5/HTML/Mason/Component.pm line 134&lt;br /&gt;HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x21c9ab0)', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'auth_user', 'hbhanoo', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x2fcb2b0)', 'browser', 'ff') called at /usr/share/perl5/HTML/Mason/Request.pm line 1074&lt;br /&gt;eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068&lt;br /&gt;HTML::Mason::Request::comp(undef, undef, 'dbh', 'DBI::db=HASH(0x1b66b20)', 'auth_user', 'hbhanoo', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x2fcb2b0)', 'browser', 'ff') called at /usr/share/perl5/HTML/Mason/Request.pm line 760&lt;br /&gt;HTML::Mason::Request::call_next('HTML::Mason::Request::ApacheHandler=HASH(0x2fc7ed0)', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'auth_user', 'hbhanoo', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x2fcb2b0)', 'browser', 'ff') called at /www/del.icio.us/site/autohandler line 110&lt;br /&gt;HTML::Mason::Commands::__ANON__ at /usr/share/perl5/HTML/Mason/Component.pm line 134&lt;br /&gt;HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x1b04180)') called at /usr/share/perl5/HTML/Mason/Request.pm line 1069&lt;br /&gt;eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068&lt;br /&gt;HTML::Mason::Request::comp(undef, undef, undef) called at /usr/share/perl5/HTML/Mason/Request.pm line 338&lt;br /&gt;eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 338&lt;br /&gt;eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 297&lt;br /&gt;HTML::Mason::Request::exec('HTML::Mason::Request::ApacheHandler=HASH(0x2fc7ed0)') called at /usr/share/perl5/HTML/Mason/ApacheHandler.pm line 134&lt;br /&gt;eval {...} at /usr/share/perl5/HTML/Mason/ApacheHandler.pm line 134&lt;br /&gt;HTML::Mason::Request::ApacheHandler::exec('HTML::Mason::Request::ApacheHandler=HASH(0x2fc7ed0)') called at /usr/share/perl5/HTML/Mason/ApacheHandler.pm line 793&lt;br /&gt;HTML::Mason::ApacheHandler::handle_request('HTML::Mason::ApacheHandler=HASH(0x1ac5e90)', 'Apache=SCALAR(0x27ced60)') called at (eval 43) line 8&lt;br /&gt;HTML::Mason::ApacheHandler::handler('HTML::Mason::ApacheHandler', 'Apache=SCALAR(0x27ced60)') called at /dev/null line 0&lt;br /&gt;eval {...} at /dev/null line 0&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update&lt;/b&gt;: Also, auto-complete for tags (when posting a new link) seems to not be working anymore. What happened to the  kickass del.icio.us site that we know and love?&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-113456133544047965?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/113456133544047965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=113456133544047965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113456133544047965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113456133544047965'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2005/12/sloppy-yahoo.html' title='sloppy, yahoo!'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-113431990438646499</id><published>2005-12-11T08:48:00.000-08:00</published><updated>2005-12-11T17:47:42.026-08:00</updated><title type='text'>VOIP</title><content type='html'>So I signed up for this service called SkypeIn - offered by skype. I now have a US number where you can call me and my laptop will ring in India. Contact me for the phone number.&lt;br /&gt;PS: remember that I'm still in India; don't call me in the middle of the night! Check &lt;a href="http://timeanddate.com/worldclock/city.html?n=176"&gt;here&lt;/a&gt; before calling me.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-113431990438646499?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/113431990438646499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=113431990438646499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113431990438646499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113431990438646499'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2005/12/voip.html' title='VOIP'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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-7682077.post-113353335850606566</id><published>2005-12-02T06:20:00.000-08:00</published><updated>2005-12-02T06:22:38.526-08:00</updated><title type='text'>origami</title><content type='html'>check out &lt;a href="http://www.itconversations.com/shows/detail660.html"&gt;this podcast&lt;/a&gt; about origami. If you don't have 15 minutes to listen to it, check out &lt;a href="http://www.langorigami.com/"&gt;this site&lt;/a&gt; and click on the 'science' section. It's amazing! I didn't know there was so much depth to origami.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
  amazon_ad_tag = "bhanoo-20";  amazon_ad_width = "120";  amazon_ad_height = "240";  amazon_ad_logo = "hide";//--&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7682077-113353335850606566?l=bhanoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bhanoo.blogspot.com/feeds/113353335850606566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7682077&amp;postID=113353335850606566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113353335850606566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7682077/posts/default/113353335850606566'/><link rel='alternate' type='text/html' href='http://bhanoo.blogspot.com/2005/12/origami.html' title='origami'/><author><name>hemantbhanoo</name><uri>http://www.blogger.com/profile/08285729716689207180</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></feed>
