<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" xmlns:atom="http://www.w3.org/2005/Atom">
   <channel>
      <title>Sridhar V Iyer's homepage</title>
      <description>Pipes Output</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=HMKXtaDS3BGlrenJjtzu1g</link>
      <atom:link rel="next" href="http://pipes.yahoo.com/pipes/pipe.run?_id=HMKXtaDS3BGlrenJjtzu1g&amp;_render=rss&amp;page=2"/>
      <pubDate>Thu, 01 Oct 2015 20:46:54 +0000</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <item>
         <title>Mosh: The ssh client replacement you probably didn't think you needed.</title>
         <link>http://feedproxy.google.com/~r/codeyman/~3/gpAsXf4GzLo/mosh-ssh-client-replacement-you.html</link>
         <description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align:left;&quot;&gt;I had to take a breather after writing the heading to avoid giving an over the top introduction to Mosh (mobile shell), but it deserves nothing less. It is a relatively new software (2012) from the well known MIT AI labs. Mosh is based on a new protocol SSP (State Sync Protocol), that runs over UDP instead of TCP. It does all the session management at the higher levels, which makes the connection incredibly robust. Few places where Mosh really shines on my setup (Mosh+Tmux):&lt;br /&gt;&lt;br /&gt;1. When moving between networks (Wireless to Wired to VPN at home), the connection automatically migrates to the new IP. This wouldn't have been possible if TCP had been used. Consequently, my shell connectivity to servers stay up... No more banging the keyboard when ssh session abruptly freezes, or me trying to clear up a ssh terminal after the computer resumes from sleep. The terminal comes back up at the same place no matter what the network situation is. Its Magic!! I'm running tmux within mosh and the difference between local and remote machines has completely blurred.&lt;br /&gt;&lt;br /&gt;2. Mosh has predictive typing! When typing on a ssh client, your keystrokes are relayed to the server, and displayed to you when it appears on the pseudo terminal at the remote end. This works great when you are working on a network with low latency, but try working from a slower connection from home, or god forbid, the caltrain, a coffee shop or from an airplane using the gogo inflight connection, there is a very significant delay between when you type and when the letters appear on your screen, which makes any sort of remote work next to impossible. Mosh gets around this issue by showing you what you type, bunching the updates to your screen in a low latency setup and later syncing the updates to your screen in background (e.g. if you type an 'i' in vi command mode, it should not show up, but it will show up when the network is very very laggy, however it will be erased when the state is synced from the remote server).&lt;br /&gt;&lt;br /&gt;3. Mosh uses SSH protocol to communicate, so it automatically uses all the SSH configurations and writes to ssh logs. All one needs to do is call &quot;mosh &quot;, just like ssh. One doesn't need to muck with _any_ configuration files.&lt;br /&gt;&lt;br /&gt;One important distinction between ssh and mosh is that ssh is a set of protocols whose utility goes well beyond providing a secure shell. It allows tunnelling, file transfer, X forwarding etc. None of those things are supported in mosh. Mosh was only meant to be a more robust shell.&lt;br /&gt;&lt;br /&gt;That being said, Mosh hasn't been battle tested the way ssh has (specifically OpenSSH), but the design looks sound and simple with a relatively small attack surface, which gives me a lot of confidence in using it.&lt;br /&gt;&lt;br /&gt;Go try it out.. and let me know what you guys think.&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=gpAsXf4GzLo:Hu-vLvkaYWY:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=gpAsXf4GzLo:Hu-vLvkaYWY:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;</description>
         <author>noreply@blogger.com (Sridhar Iyer)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-10953736.post-6865365542521206869</guid>
         <pubDate>Sat, 12 Sep 2015 01:00:00 +0000</pubDate>
      </item>
      <item>
         <title>i++ : performance centric solution to a common programming paradigm</title>
         <link>http://feedproxy.google.com/~r/codeyman/~3/bGJYZmh7vP0/i-performance-centric-solution-to.html</link>
         <description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align:left;&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Network_Functions_Virtualization&quot;&gt;NFV(Network Function Virtualization)&lt;/a&gt; is the new buzzword on everyone’s lips in the networking world. NFV, when done right, promises a big disruption to the well-established network appliance businesses by virtualizing most of its core functionality out, which in layman's term means that you don't need to spend mucho moolah on custom built Layer3-Layer7 hardware appliances. At a fraction of the cost, it can all be done in the software.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;This is all great for the businesses and network vendors, but for us, it forces us to solve problems, the solutions for which you can't Google. These problems, although critical for manageability, serviceability and billing, tend to get ignored during initial stages of product development at other companies. One such problems which I worked on was incrementing a counter... just i++, as simple as that. E.g. if one packet comes in, you increment the packet_counter by 1.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Let me start with an overview of how it is handled at BOHVs (big old hardware vendor). Most of the BOHV boxes consist of line cards, each line card will have one or more asics, and each asic will deal with a fixed number of interfaces. These have set memory regions carved for the up-keep of each interface. So if you have to increment the packet_counter for interface G0/1/1, you just go to 0xblahblahblah and add 1 there. It goes for other counters too. Most of the popular network OSes out there are based on custom built *nixes/Linux kernels. Having a directly addressable memory region that stays in memory, is not paged out and will not cause a cache miss when you are incrementing counters when more than a million packets are coming in on just one of your interfaces, is a HUUUUGE help. Since most of the hardware is modularized, if you add extra interfaces, you are inadvertently adding extra memory to support that feature. However, you can't add a new counter for an existing hardware (unless of course, a separate reserved memory space is kept… which adds to the cost).&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;This simple cookie cutter design goes out of the window, when the number of interfaces or the type of services are not fixed or capped. Heck… we don't even know whether the services are going to be deployed on bare metal or on a virtual machine!!&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;So how do you update around 150K counters in memory, when the packets are coming in at multiple 10Gbps ports, there are multiple threads accessing the same counter, and you need to be able to query the value of that counter at any time with minimal or no disruption to the traffic. To make the matters simple, let’s take a variable X, which needs to be incremented simultaneously from a variable number of threads, around a million times a second.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;If you are right out of college, and you have read anything about multithreaded programming, you'd suggest locks. However have threads taking and releasing write locks million times a second is a horrible horrible idea.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;But what about atomic adds, the cute little primitives that gcc provides for incrementing counters? Sounds like a great idea until you look at the exact use case. Most of the counters to be updated are close to each other (so if you are incrementing packets_received, you probably also want to increment bytes_received). If you don't know how atomic add works, then you'll inadvertently end up making the performance worse. In some platforms, it invalidates the cache line, so if you need to increment the next counter, you'll end up causing a cache miss. And with around 10 threads contending for the same counter, your code's performance would still be terrible.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Let's say we had a way to update these counters, how do we read them? Some control process will have to go through each module, each thread and query them one by one. Again a somewhat bad idea, if you need to maintain a running state of your system in general.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;We require some crazy out of the box thinking to solve this problem... or maybe not. We'll use the &quot;other box&quot; thinking here, use the solutions to completely different problems and use it ourselves. I looked at various database implementations, system implementation at Twitter, different “new age” technologies that were trying to solve the same problem with a different set of parameters in a different domain.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;One stack that did catch my eye was Statsd in conjunction with a no-sql db. Many people had implemented exactly what we wanted, at least partly, and at much smaller scale. All the users who need to increment X, need to open a connection to Statsd, which will just aggregate the value of X over certain interval of time and then send it to the DB. There are tons of fast, slave backed performance centric DBs to chose from. This was a great design, however it would never have scaled to our use case of million counter updates per second (for 1 counter X). &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;We could definitely have the users cache the entries locally and then send the update at some interval, and we can club the updates together. But this essentially meant that we are just providing some Statsd like functionality to each thread... which we did. Adding our own daemon, which uses our own custom built IPC stack, further improved the performance a bit.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;We then benchmarked the DB to find the upper limit of counter updates it could sustain and then designed the system around it.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;So far, we just narrowed on where to store the counters, but we didn't know how to get the values to the daemon talking to the DB. The inspiration for this part came from the tried and tested &quot;malloc&quot;. Counters of any type were allocated from the same page, doled out in blocks, and maintained in the same way. Since all the counters are in the same page, reading them and updating the DB became incredibly fast. Each thread maintains it's own block and the increments, at worst, take the hit of a cache miss. &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;You could have one thread do the collection, but with NUMA, the performance will again take a hit.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;The result of the above exercise was an xml file and two simple apis exposed to the developers. All the other code was auto-generated using python. The amount of research done, and the technologies used (python, no-sql, xml ... all the way to Intel assembly, vtune, hyper-threading, prefetching and architecture) was baffling, but needed to be done in order to squeeze the most amount of work from a clock tick.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;So next time you see a counter, number of emails in your inbox, number of tickets remaining, data used by your cellphone, think of all the sweat that went into giving you that number &lt;span style=&quot;font-family:Wingdings;&quot;&gt;&lt;span style=&quot;&quot;&gt;J&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;                                          &lt;br /&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=bGJYZmh7vP0:yX5rZ3jZ7D0:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=bGJYZmh7vP0:yX5rZ3jZ7D0:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;</description>
         <author>noreply@blogger.com (Sridhar Iyer)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-10953736.post-8995105414386267247</guid>
         <pubDate>Thu, 05 Feb 2015 18:16:00 +0000</pubDate>
      </item>
      <item>
         <title>You are not special..</title>
         <link>http://feedproxy.google.com/~r/codeyman/~3/rt-rgw8tmMs/you-are-not-special.html</link>
         <description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align:left;&quot;&gt;&lt;div class=&quot;p1&quot;&gt;Are you from a country that has some sort of currency?&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;Now that you are intrigued by my idiotic question, please allow me the liberty of asking another one. If you are filthy rich in one country, lets say that you are a millionaire in US, living in a house that was featured on &quot;Cribs&quot;, and you move to country that doesn't recognize your wealth. Do you instantly become poor? The answer is a resounding yes. Then all this proves is that you were rich only because you and other people around you, attached some value to the pieces of paper with numbers scribbled on them. The whole economy functions only because everyone sees some value in those pieces of paper. If I'm able to convince people that my torn sock has some value, then other people will think I'm rich. I'll be actually rich, when I believe that my torn sock is valuable, or if I exchange it for some belief system that I actually believe in (e.g. hard cash) before the reality catches up.&lt;/div&gt;&lt;div class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;Let's look at social circles. There isn't much disparity between people within a circle, I.&lt;span class=&quot;s1&quot;&gt;e&lt;/span&gt;. &lt;span class=&quot;s2&quot;&gt;you&lt;/span&gt; wouldn't find people who are a lot poorer or a lot richer than you in your active circle of friends. Money act as differentiator here because it forces a change in priority, e.g. you wouldn't take a trip to Hawaii with friends if you are short on cash, but would definitely go on local hikes because it hardly costs anything.&amp;nbsp; Gradually friends turn into acquaintances and are sometimes forgotten. Slowly but steadily, you loose touch with people (Note that there are other reasons why people loose touch, but I'm just trying to point out this particular one). If you have lived a relatively fuller life, you'd accept the fact that people move in and out of our lives, just as we move through their's. Without our knowledge, forces of economics drive people closer to each other and rips us apart. All this, because we believe in a common currency!!&lt;/div&gt;&lt;div class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;Forget money for a second, and think about culture. Think about it as money. What happens when a white catholic from America meets an upper caste Hindu &lt;span class=&quot;s1&quot;&gt;brahmin&lt;/span&gt; from India? How does that interaction go? Let's assume for one second that the American has never heard or know anything about India, and the Indian doesn't know anything about America.. &lt;span class=&quot;s2&quot;&gt;what&lt;/span&gt; then? Their interaction would completely depend on the place and environment in which they meet. If they meet at the Indian's house, the Indian would probably find the American less modestly dressed, lacking any knowledge of his religion, his traditions, bordering on blasphemy. The American would see the Indian in the same light if the meeting happened in America, he would find the clothes, food, traditions, deities with multiple hands completely weird. Both of them would find each other less cultured. Assuming both of them to be decent humans, the Indian would encourage the American to go to temples and introduce him to scriptures, on the other hand, the American would do the same if he is religious, if not he'd encourage the Indian to watch some opera or Broadway to get some &quot;culture&quot;. If either of them disagree, there would be hostilities thrown around.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;Sadly that is how most of the wars start, because of both parties fail to understand the different point of view because it is so radically different. We got around the money problem by having currency exchanges which arbitrarily pits currencies against each other based on supply and demand and not the purchasing power it facilitates in the region where it is prevalent. I.&lt;span class=&quot;s1&quot;&gt;e&lt;/span&gt;. &lt;span class=&quot;s2&quot;&gt;if&lt;/span&gt; a 1 &lt;span class=&quot;s3&quot;&gt;USD&lt;/span&gt; = 60 &lt;span class=&quot;s3&quot;&gt;INR&lt;/span&gt;, and a couch costs 1 &lt;span class=&quot;s3&quot;&gt;USD&lt;/span&gt; in USA but 30&lt;span class=&quot;s3&quot;&gt;INR&lt;/span&gt; in India, who is richer, the guy with 30&lt;span class=&quot;s3&quot;&gt;INR&lt;/span&gt; or the guy with 1&lt;span class=&quot;s3&quot;&gt;USD&lt;/span&gt;? Still, these currency exchanges allow retention of economic status all over the globe... &lt;span class=&quot;s2&quot;&gt;because&lt;/span&gt; everyone believes in some currency and they are more or less inter changeable.&lt;/div&gt;&lt;div class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;Should we setup a culture exchanges like currency exchanges then ? If you can distinguish between Chardonnay and &lt;span class=&quot;s1&quot;&gt;Sauvignon&lt;/span&gt; Blanc, should you be considered a high priest in Navajo? Would you consider Dr &lt;span class=&quot;s1&quot;&gt;BalmuraliKrishna&lt;/span&gt; and Puccini similar? Would you see Baptism and &lt;span class=&quot;s1&quot;&gt;Upnayanam&lt;/span&gt; in the same light regardless of your religious inclinations?&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;Of course that would be absurd. Cultural, economical, &lt;span class=&quot;s4&quot;&gt;socio&lt;/span&gt;logical inequalities are all absurd because they depend on a belief on an arbitrarily defined concept perpetuated by people. These concepts might be bit alien to people who have not interacted a lot with other cultures and have spent their whole life in a cocoon.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;Attacks on our rigidly held belief system tend to anger us. If the belief system is big enough, it might even start a war. A lack of a belief system, however, evokes nihilism, depression and general &lt;span class=&quot;s4&quot;&gt;socio&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;pathic&lt;/span&gt; tendencies. This seems to be a catch 22 situation. A belief system has given us distinct evolutionary advantage, even if has been something which defies logic. However, evolution's only concern is the survival of the species, not it's well being. (A recent study shows that chicken taste good to humans because chickens wouldn't have survived in the wild without human help, so humans started rearing tastier breeds of chickens while ignoring the other breeds). It may very well be the case that a fundamentalist faction exterminates all other races (as has been tried multiple times in the past) on earth.. We might end up becoming a paragraph in a grade school book. We might all be doomed to the same fate as Neanderthals when homo &lt;span class=&quot;s1&quot;&gt;sapiens&lt;/span&gt; roamed the earth. Of course, the process won't end there. There'll be fractures in the victor's factions, a power struggle between the sub-factions, and eventual destruction of culture and advancement.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;Humanity is stuck in a feedback loop and is shaped by our own intellect, the limits of which, we cannot comprehend. We need a better approach, and we need to shape our own destiny as a race. What matters to you, doesn't matter to anyone else and vice versa. Why shouldn't we accept the disparity in the belief systems without being combative?&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=rt-rgw8tmMs:hGfu1A5C1qI:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=rt-rgw8tmMs:hGfu1A5C1qI:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;</description>
         <author>noreply@blogger.com (Sridhar Iyer)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-10953736.post-7455504237438403970</guid>
         <pubDate>Mon, 19 May 2014 01:07:00 +0000</pubDate>
      </item>
      <item>
         <title>Stop yearning for yester years..</title>
         <link>http://feedproxy.google.com/~r/codeyman/~3/3vWjxsu3Shw/stop-yearning-for-yester-years.html</link>
         <description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align:left;&quot;&gt;Let me articulate a problem that people don't realize they have, and two words that cause this: Happiness &amp;amp; Sadness. We people like to be happy (whatever be the cost), and do not like to be sad. However, almost all of us, mistakenly assume happiness to be the exact opposite of sadness. This assumption is ingrained in our psyche, thrust onto us by our education system, our family, the society, the media, almost universally. But why is this wrong?&lt;br /&gt;&lt;br /&gt;Take something banal from your own life, from say 10 years ago, say sharing a cup of road side chai with one of your friends/roommate, or taking a bus ride home on a bus that had barely any place to stand, or maybe just looking outside the window of your room (10 years ago). How do they make you feel now? Nostalgic, yes.. but also happy. How did you feel when you were actually living those moments? Just meh!&lt;br /&gt;&lt;br /&gt;Now, take some actual defining moments in your life, when you were actually happy in that particular instant: these includes graduation, marriage, winning some contest that only 50 people in the world care about. How do they make you feel now? Those were just a blips in your existence when you were almost ecstatic. You were definitely happy during those few hours or few days of festivities, but your journey to those defining events, your college years, your courtship period is what made you more happy than those events itself.&lt;br /&gt;&lt;br /&gt;So are you happy now? Most of us too jaded by the monotony would respond to this ambiguously, and even if someone replied that they were happy, they wouldn't be able to articulate why. Let me articulate it now for every one of you reading this post; You were happy in the past.. you will always be happy in the past.. 10 years from now, you will think you were happy at this very moment.&lt;br /&gt;&lt;br /&gt;Lets switch to sadness. What makes you sad? Traffic Jam, chores at home, office work on weekend, existential crisis, when things don't work according to you.. in short pretty much everything.&lt;br /&gt;&lt;br /&gt;What about some sad defining moments in your life? Loss of a loved one, an accident, getting fired from a job? This generally tend to generate two different kind of reaction, either you will look at them fondly (yes you heard me right) because it made you what you are today (the hardship you faced gave to skills to progress in life), or it will make you shed a tear whenever you think about it. The first kind generally tend to invoke happiness indirectly when you look back on your struggle, the second one might put you in a downward spiral or sadness, but you do eventually recover from it.&lt;br /&gt;&lt;br /&gt;On an average, when are/were you sad? Now.. and when are/were you happy? In the past. This justifies the predisposition of people to yearn for the past, sometimes elevating it up to the utopian standards. This is a sad universal truth; in America, people want to live the way their parents lived, when the jobs were plentiful and everyone had a car and a house, but they discount and turn a blind eye to slavery. In India, the movies and soaps puts every one on a trip down memory lane, with all the bahus (daugher-in-laws) taking care of the house and guys bringing the moolah, but discount sati and dowry practices.&lt;br /&gt;&lt;br /&gt;Everyone is chasing the proverbial happiness carrot, without realizing that it is something that cannot be achieved, only looked at. If you are not sad now, then you'll be happy in the future thinking about this very instant, so don't be sad because you are not happy now, because that'll rob you of your happiness in the future.&lt;br /&gt;&lt;br /&gt;Learn from your experiences, and make new ones, but don't try to yearn for old ones.&lt;br /&gt;&lt;br /&gt;PS: Inspired by the Republican rhetoric and Jon Stewart :)&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=3vWjxsu3Shw:PIINB6MLI_8:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=3vWjxsu3Shw:PIINB6MLI_8:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;</description>
         <author>noreply@blogger.com (Sridhar Iyer)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-10953736.post-5308349685497456731</guid>
         <pubDate>Sun, 13 Oct 2013 20:12:00 +0000</pubDate>
      </item>
      <item>
         <title>Stop the card madness...</title>
         <link>http://feedproxy.google.com/~r/codeyman/~3/wuOaf6EiPDE/stop-card-madness.html</link>
         <description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align:left;&quot;&gt;Let's say that you have 5 five friends and you want to find what they are up to. How do you interact with them?&lt;br /&gt;&lt;br /&gt;&lt;ol style=&quot;text-align:left;&quot;&gt;&lt;li&gt;You meet/call/mail them each individually and talk to them.&amp;nbsp;&lt;/li&gt;&lt;li&gt;You have a conference call, facebook/watsapp group message, group email thread, where you just ask what is going on. People respond is random order, but you process the response &lt;b&gt;serially. &lt;/b&gt;You lose some of that personal one on one conversation that you might have had, but you still easily touch base with them. All of them talk to each other, crack some common joke, and after a while the group messaging stops. You have effectively reduced the amount of work needed to communicate, and you have checked up on them so they know that you exist, but you still managed to alienate them... but you might not have spent the energy on an individual mail had it not been for the group chat, so this is still a win win situation.&lt;/li&gt;&lt;li&gt;Now imagine that you ask your friends to continuously tell you what they are doing, but instead of communicating serially, they start shouting simultaneously. This is the craziest and the most inefficient way to communicate and that is being thrust down our throats by all the card interface craziness going on.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let me explain; Pinterest, google currents, flipboard, and as of today, google plus, use card interface. What that means is they'll have each nugget of information on cards, and depending on the application, you can swipe, close, add, append etc these cards. Each of these cards takes a hell lot of screen space and has all the gooey gradient goodness with shadows and what not. Looks great and works great too.. if all you are reading is few occasional tidbits. If you are one of them, just imagine facebook stream arranged into huge squares and thrown about all over your screen.. or just imagine if each email in your inbox was delivered as these boxes. This interface does makes sense if you are discovering content, but not if you are going through a curated set of content, such as RSS feeds or social networking stream.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There have been tons of UI studies where the eyeball of the users were tracked and found to gravitate towards left hand edge of the screen/web page, by forcing these eyeballs all over the screen, these companies are causing a disservice to their customers.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, admittedly, I'm still pretty hung up on Google Reader, but that is how I get to the gobs and gobs of information, I read about 20 articles daily, but for that, I go through 200+ feeds daily. The ability to go through everything and selectively read what I want is what makes stream readers such a good interface. Same thing holds for facebook. You scroll endlessly until something catches your eye, then you click that and explore. Imagine if every object in your news feed, the ones that you don't care about, took as much time; you wouldn't be able to process all that information in time.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With that said, card interface is not all bad. They work on mobile devices, but the powers that be should realize that it doesn't make sense on a desktop, and should show a device specific interface. It might even make sense for something like stumbleUpon.. but please.. not my email, not my feeds and not my social stream.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=wuOaf6EiPDE:E0L0oDAwgAw:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=wuOaf6EiPDE:E0L0oDAwgAw:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;</description>
         <author>noreply@blogger.com (Sridhar Iyer)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-10953736.post-335290379106714135</guid>
         <pubDate>Wed, 29 May 2013 22:44:00 +0000</pubDate>
      </item>
      <item>
         <title>Sh*t will always fly</title>
         <link>http://feedproxy.google.com/~r/codeyman/~3/2iwyxJ8Xs1g/sht-will-always-fly.html</link>
         <description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align:left;&quot;&gt;Are you living in the perfect world of your own? Do you want something to change? Chances are that you do. If you don't then you probably have achieved nirvana and are reading this blog from a higher state of existence.&lt;br /&gt;&lt;br /&gt;Dial your life back by a few years, dial it as far as you can go, access your oldest memory. What were your problems back then? You were probably not old enough to understand any financial problem that your parents might have, you were probably fed by someone, someone did your laundry, somebody&amp;nbsp;chauffeured you around, you had friends who could play with you, and even a discarded carton was a spaceship to you... but what were you worried about? Grades!! thats right. Even though, your life was perfect, so much so that songs have been written about fantasies to get back to childhood, you worried about that 1/2 a grade that you didn't get in history. You thought that life would be perfect if you could just get that 1/2 a grade. Of course, now you know that, your life was perfect, and it was immature of you to want that 1/2 a grade.. or maybe you think that the want of that 1/2 a grade shaped who you turned out now.&lt;br /&gt;&lt;br /&gt;Fast forward a few years now, just before you go to college. You think that you could ace all the classes you took few years back, if you could do it now.. and you'd be right. Now you are hot headed enough to ignore any problems that your parents might have, and think of yourself as a new generation of whatever. Still everything is paid by family so life is good. But you are still worried about grades and the college you get into. You obsess over it for a year or two. And you think that life would be good if you could just get into a good college. Of course, now you know that, your life was perfect, and it was immature of you to base your whole life around the want of the greatest university.. or maybe you think that the want shaped who you turned out now.&lt;br /&gt;&lt;br /&gt;Few more years into your life, you are now in your prime, just before you graduate. You have the closest friends you'll ever make in your life close to you, you have a clear goal of what you want to do in life. Your bills are still paid by your family and you are too busy to be worried by any problems back home. And what do you obsess about? Your job.. that's right. You obsess and obsess over finding the right job. Maybe you find it, maybe you don't. You still think the life is not perfect.&lt;br /&gt;&lt;br /&gt;A good university, a good job, a new gadget... everything gets old and transparent. We humans are evolved only to notice change, not something that is stagnant.&lt;br /&gt;&lt;br /&gt;Few years into the job, your life is still not perfect, you have a good job, but now you obsess over your personal life. You think that your life would be perfect if you just got married. Even with all the accolades you won, all the friends you have, you don't have a perfect life... And of course, we want to make it perfect, don't we.&lt;br /&gt;&lt;br /&gt;So fast forward a few years, you'll get married. This is where my experience ends.. of course there are still things in my already perfect life that I need to change to make my life &quot;perfect&quot;... But we as a species should realize that our lives are perfect the way they are. Life changes, and since a non-believer in destiny, you have the reigns of your life in your own hands. Life adds more code to your monolithic operating system, and you should know that more code mean more bugs, but remember that more code also means more functionality. If life didn't have imperfections then you'd not move the train of your life to a better destination.&lt;br /&gt;&lt;br /&gt;Don't think about that half a grade, your college search, your job search, your spouse search, or any other imperfections that you handled. Think about your schooling, your college, your friends, your job, your spouse. You'll see that you have a rich life.. enjoy it and be thankful for the imperfections that makes it richer.. cause even if you are billionaire space cowboy with pet unicorns, sh*t will alway fly.&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=2iwyxJ8Xs1g:-9SiDvN8F1c:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=2iwyxJ8Xs1g:-9SiDvN8F1c:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;</description>
         <author>noreply@blogger.com (Sridhar Iyer)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-10953736.post-8785973375272453776</guid>
         <pubDate>Fri, 10 May 2013 18:55:00 +0000</pubDate>
      </item>
      <item>
         <title>Macbook pro reviewed with vile and hate...</title>
         <link>http://feedproxy.google.com/~r/codeyman/~3/9AoZZXVhSes/macbook-pro-reviewed-with-vile-and-hate.html</link>
         <description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align:left;&quot;&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;I've made it very clear in my previous blog posts/status messages and random conversations, my disdain for closed source systems, primarily Windows and MacOSX. I was a happy camper in my last company because I got to use Ubuntu with wmii as my primary work environment.. and I was churning code like there was no tomorrow.&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;That all changed when I joined Cisco. Even though you can install whatever you want on your machine, I decided to go with the IT supported Windows 7 so I don't have to muck around with any of the internal proprietary softwares that is generally vogue in any company of Cisco's size. At the end of the day, I had to vnc over to a linux/solaris build server so I didn't care much. Windows was just a thin client, and for most part it didn't get in the way. Operating systems don't really matter if all you need them for is IM, browsing and email (the same software is available on all the oses anyway).&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;Fast forward 3 years, I needed to refresh my laptop. I decided to go with a mac book pro this time, only because it had much higher hardware specs than it's counterpart. I wondered if I had made a wise choice. In the first one week of badly missing the dock (not the OSX dock, but the hardware dock you put the thinkpad on) and the pin mouse(most people think that it is useless, but it is quite useful if you know how to type and don't want to move your hand from the keyboard), my experience with mac seemed like a self fulfilling prophecy.&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;I was ready to hate this mac book pro, and write rants for the next 3 years.. but then I really started using the damned machine. With few tweaks, I got my .vimrc, .bashrc and .screenrc to work on mac (some of these files, I've been building for over 10 years!). Adium, which to my surprise is implemented on libpurple, filled the void pidgin had left. And chrome.. what can I say about this fantastic piece of software, once you log in to the browser, you won't know the difference if you are browsing on windows, osx or linux. So OSX just got out of the way as Windows 7 did and let me do my work as I used to do earlier. &amp;nbsp;All the apps like evernote, rescueTime that I depend on pretty heavily just worked as expected.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;But then the fun started, when it started seducing me to its vertically integrated ecosystem. To install some apps, I had to get AppleID, so I got one. To get the nifty notifications I configured my facebook, twitter, gmail and flickr accounts, which automatically imported the calendar and contacts, so with barely any effort, I was using OSX's calendar, notification system and contacts. Coming from the windows/linux world, I was used to either open a software and search for relevant entries or just grep for configs/data in the respective directories, but spotlight changed all that. Searching for anything became much easier. To my surprise, some software ran faster on a windows virtual machine on mac than on windows running on my old laptop (with similar memory allocation). The douchey way to scroll became &quot;natural&quot;. It just looked like a really really well designed ubuntu system (I know people will find it funny because Ubuntu has been taking GUI cues from OSX.. but I come from that world).&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;The hardware itself is a joy to use. The 15'' retina display is great and it makes the HD IPS display of my photo processing workstation look like the screen of windows with 1024x768 resolution with 256 colors. Keyboard lights that turn on when lights are dim, extremely thin dimensions,a great touchpad, the completely silent 256G SSD and the monstrous 16G RAM makes this machine a joy to use.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;Am I a fanboy? No.. and probably will never be. Why? Well the cost of the machine with all the connectors etc have run to about $3000.. Unless someone is paying for it, there is no way in hell I'll be shelling that amount(in this case my company pays for it). I hate non-standard keyboards. I don't like the command key, I don't like the omission of page-up/down, end/home keys, and I'll never get used to the &quot;MAC&quot; way of doing things because I'll always be working in an environment where I'll be using Linux and working with people who own heterogeneous set of machines and operating systems, so I'd want something that doesn't stump a non-mac user. Even if the keys were eliminated from the laptop itself, they shouldn't be disabled when a usb keyboard is connected. Also, don't know what'll take Apple to put a hardware dock support to the mac books, but connecting a keyboard, a mouse, two displays and a power chord is a chore. The available third party solutions are nowhere close to Lenovo docks. The battery life of my 3 year old Lenovo laptop is still much much better than the new Mac Book Pro. Also MS office softwares work much better on Windows machine.&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;So what's the final verdict; undoubtedly I'm in love with the machine and is much better than my old Lenovo laptop, but since the hardware configs were different, it is not an apple to apples comparison. Do I still feel the same way about closed source software.. absolutely. Would that stop me from using a decked up mac book pro.. absolutely not :).&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;PS: Incidentally I wrote this entry, on MBP, sitting in a street corner starbuck, sipping a skinny latte, in San Francisco. I don't know the hipster/douchebaggy smugness is my own or one induced by this vile machine :)&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=9AoZZXVhSes:OkOESslb4EA:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=9AoZZXVhSes:OkOESslb4EA:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;</description>
         <author>noreply@blogger.com (Sridhar Iyer)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-10953736.post-8025283417507341265</guid>
         <pubDate>Fri, 08 Feb 2013 17:37:00 +0000</pubDate>
      </item>
      <item>
         <title>How are you feeling?</title>
         <link>http://feedproxy.google.com/~r/codeyman/~3/Vh9d1MolfNY/how-are-you-feeling.html</link>
         <description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align:left;&quot;&gt;&lt;div&gt;Me? Yes.. how am I feeling?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm going to get married in a week.. and every person who comes within earshot tries to ask me this question. I find the question as vague as it is weird. In some cases, I find this more to be an assertion of a fact than a question. Let me elaborate:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Single guys who still have few years before being peer pressured in to getting married: Their eyes will light up, they'll have a big grin on their face, as if mocking me. Their unbridled enthusiasm about my marriage and what I might not be able to do after marriage is funny. These guys expect me to be remorseful about my decision to get married. They might even be scared because they see me as their future.. and they'd be right. I felt the same way few years ago.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Single guys who are trying to find some one to get married to: The tone of these guys is more&amp;nbsp;somber&amp;nbsp; These guys would have preferred if I tell them that it is not a big deal and that I don't feel any different. These guys would like the reaffirmation of the fact that they are not missing out on anything. Again, I've been in this boat, so I&amp;nbsp;sympathize&amp;nbsp;with them, but they need to understand that I'd be ill equipped to answer their question until I'm 2-3 years into my marriage.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Single girls who are trying to find someone to get married to: Their tone is a bit melancholic. They'd like if I drop into a bollywood dance routine or a&amp;nbsp;Broadway&amp;nbsp;musical to express my feelings. Marriage is a highly romanticized affair for them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. Single girls who don't plan to get married soon: They don't ask this question.. or if they do, it's followed by &quot;woooo.. so excited for you&quot; :P&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. Married people: Maybe they ask this to compare notes on how they felt, or they are scoping out the new couple to hang out with... I really don't know. This is soon followed by a platitude about married life and some joke.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now.. the above 5 points cover every one I know, so obviously I'm not looking to offend anyone... but here's my honest answer:&lt;/div&gt;&lt;div&gt;1. Never ask a dude about his feelings.. it is weird. I might cry like a baby during SRK flicks or a&amp;nbsp;Broadway&amp;nbsp;musical, but I'll be damned if I tell anyone how I really feel about something I do feel about.&lt;/div&gt;&lt;div&gt;2. Wedding.. specially wedding in India is an expensive affair with an attendance of over 500 people, organized by people who have little to no experience in event management. Even if you are not involved in any of the planning, the magnitude of event is enough to cause a nervous breakdown.&lt;/div&gt;&lt;div&gt;3. I'm somewhat of a workaholic and I've been very very busy at work during the weeks leading up to the wedding. I've been working nights and I've been working weekends.. so the amount of time I've had the liberty of thinking about something is little to none.&lt;/div&gt;&lt;div&gt;4. I'm an engineer and I like to do literary survey and read up on problems/issues before they happen. I've been hitting the psychology journals to find out effective ways to diffuse no-win situations.. i.e. I've been assuming the worse and trying to visualize my own behavior in those times, so when the time comes I can take the most logically sound action.&lt;/div&gt;&lt;div&gt;5. I turned 30 recently, at the&amp;nbsp;height&amp;nbsp;of the bug fix phase at work.. you have no idea the about the magnitude of existential crisis that introduces.&lt;/div&gt;&lt;div&gt;5. Lastly.. Yes I'm excited about my wedding.. I'm happy about getting to spend the rest of my life with someone.. but I'm also anxious and nervous about it for the same reason. I'll be gaining something and I'll be losing something.. hopefully I'll gain a lot more that I lose, or I care to lose.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In short, all the conflicting and ginormous potpouri of emotions has made me emotionless. You won't see me gushing about marital life, nor would you see me lamenting the death of my single life. I haven't got the time or chance to process any of it yet.. and chances are, I won't until I actually get married. Or maybe, I've gone through the nauseous happiness phase during my engagement. More than anything, I feel a sense of peace, the way I did 6-7 years ago... Going out, socializing, to meet people, is any introvert's nightmare.. but I guess my EQ got a boost in these last few years.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now being an introvert, I might just be&amp;nbsp;over-thinking&amp;nbsp;a harmless question, maybe it is just a norm to ask this question to anyone who is going to get married. I guess I should be ready to field similar questions after marriage too. *sigh* .. I guess I should start writing another blog post for that..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you still need a song out of me... here it is (if you have seen this before, don't view it in the context of original musical):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:center;&quot;&gt;&lt;embed width=&quot;320&quot; height=&quot;266&quot; src=&quot;http://www.youtube.com/v/BpGA_VRc1Ro&amp;fs=1&amp;source=uds&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=Vh9d1MolfNY:tb9C3NTebLY:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=Vh9d1MolfNY:tb9C3NTebLY:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;</description>
         <author>noreply@blogger.com (Sridhar Iyer)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-10953736.post-8123844982969423429</guid>
         <pubDate>Sat, 20 Oct 2012 09:30:00 +0000</pubDate>
      </item>
      <item>
         <title>Taking risks..</title>
         <link>http://feedproxy.google.com/~r/codeyman/~3/PLYy0N5xjZY/taking-risks.html</link>
         <description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align:left;&quot;&gt;There is something unsettling about taking risks. I don't claim to be a maverick and say that I don't enjoy the calm and quiet of a risk free environment, but taking risks does have it rewards... at least that is what I keep telling myself. Now that I've spent about three decades on this earth to draw parallels from my own life (we earthlings are much too often too egotistical or too self-deprecating to draw inspirations from others.. heard this phrase: &quot;You can't do it... you are not Steve Jobs&quot;).&lt;br /&gt;&lt;br /&gt;There were couple of moments in time when my life took a complete turn and became something which I never imagined it would be... every time I shake the&amp;nbsp;equilibrium, the lows are lower, and the highs are higher.. with every jolt I become more jaded, more cynical, more experienced as I watch the child inside of me die.. but have been holding on to it. It is very important to hold on to your inner child. The moment you let him go, you are one of the old dudes, who have settled down, bitch about government/people/society/environment/police without actually doing something about it.&lt;br /&gt;&lt;br /&gt;As I grow older, the ghosts of my years past, my mistakes, my accomplishments and my losses become my baggage that I've to carry. I'm not a religious guy to believe in a divine plan, I've seen too much for that.. life is random, life is temporal, the ideas.. they stay forever. So even with this knowledge, the engineer in me tries to plot the trajectory of my personal and professional life and what may be in store for me these coming years. Let me take you to few pivotal moments from my past:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 11 years ago: &lt;/b&gt;I failed the IIT entrance exam. This was probably the first time that I felt suicidal, not because I didn't clear it, but because of the nagging doubt in my head that I didn't give it my all. If I had, life would be very different for me now. I was as harmonally charged as any other 18 year old would be at that age, and wanted to have another go at it.. but family didn't allow that. It took a long time for me to forgive them.. as I got older, I realized that things were not as financially cozy as they seemed to me. I ended up topping the college that I went to and made the best of the friends, to whom I still turn to for my emotional support.. Had I not failed in that exam, I wouldn't have met the wonderful people who taught me so much about life.. and I probably would have a moderately lower self esteem at IIT ( come on.. most of those guys are way smarter than I can fake to be).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 7 years ago: &lt;/b&gt;I graduated as a geeky hot head with a B.E. in Computer Sc. The world seemed to offer you a clean slate after you graduate, which I didn't like.. After being molly coddled by academia for about 4 years, I didn't want to be treated the same way as my 100 or so other colleagues who got the job.. I didn't want to join the army of employees in Infosys/TCS or the likes and just be a number on their balance sheets. I wanted to stand out. So even with 7 job offers, I did the most risky thing, I rejected all of them.. I applied for M.S. and got an admission here.. my plan was to be the next Bill Gates, the next Steve Jobs.. still is. Had I not made that decision, I'd have never met so many like minded people, many of whom humbled me with their empathy and lack of pride for their skill. These guys taught me that it was possible to be Howard Roark with a dash of Patch Adams thrown in..&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 5 years ago: &lt;/b&gt;Now one thing you need to know about grad school in USA is that if you want to do it right, you cannot do anything else. I was knee deep in research, doing things that often didn't understand, and things that you cannot google for. After 2 years into masters, I was seriously considering going for a PhD, more than one professor offered to be my mentors.. but I soon realized that I was losing touch with reality, most of what people talked about felt like buzzing.. I was so wrapped up in what I was doing that I didn't like to do anything else, talk to people, even eating and sleeping were activities that needed to be done. I wrote a paper as a part of an independent study and realized that this was not how I wanted to spend the rest of my life, at least see the real world before sticking with known one. So I ventured out into the real world.. I've met so many doctorates, post docs etc who were doing the same thing that I was doing in the workforce, but had overstayed in academia because they were comfortable with it.. there is something very reassuring about judging your success based on grades and have specific metrics to work on. I wished we had those in real world..&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. 3 months from now: &lt;/b&gt;I have a sweet life, I've been a single geek in the valley of geeks, working on the stuff I love. In the past few years, I've hiked to my hearts content, ran a marathon, back packed across eastern europe, met few of my idols, worked in a startup, worked on few failed startup ideas.. in other words did what I wanted to do. That is all going to change soon.. I'm going to get married to a girl I adore.. and although I'm excited about the future, I know that my life is going to change.. I'd need to de-prioritize a lot of things that I love doing that I barely get to do now ( it doesn't take a rocket scientist to realize that you can't be a photographer, a musician, athlete and an engineer at the same time without being shoddy worker).. I probably would need to be more thrifty.. both with finances and time.. all the more harder in country where being thrifty essentially means being risk averse.. &amp;nbsp;I don't know what the future has in store for me and how I'll react to it, but I do know that I'll gravitate towards risk like a moth is driven towards light.. I might pack my bags and setup shop in India, if that's what it takes to follow my dream of having my ideas out to the world.. although I'm happy to have a companion with me to share my ups and downs.. and dear fiancé, if you are reading this, you have been warned :-) .. rest assured, life will be interesting.&lt;br /&gt;&lt;br /&gt;Life is not about fixing bugs, returning phone calls, observing social&amp;nbsp;niceties or doing what others want you to do. Life is about exploration, taking risk, taking the off beaten path.. we are nothing but blips on the cosmic timeline.. but even a butterfly flapping it's wings can cause a hurricane, so there is no use being cocooned in.. let's flap our teensy wings all we can. Even if we don't cause a hurricane, we are sure to fly :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=PLYy0N5xjZY:w4ig_zB5e2c:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=PLYy0N5xjZY:w4ig_zB5e2c:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;</description>
         <author>noreply@blogger.com (Sridhar Iyer)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-10953736.post-7438076873159855632</guid>
         <pubDate>Mon, 23 Jul 2012 05:35:00 +0000</pubDate>
      </item>
      <item>
         <title>Thank you Team In Training</title>
         <link>http://feedproxy.google.com/~r/codeyman/~3/d5IHvn9948k/thank-you-team-in-training.html</link>
         <description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align:left;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://3.bp.blogspot.com/-D7hKuBswQzA/TqMi0WIUoRI/AAAAAAAAAxY/UjwqNiiYuC0/s1600/Photo_1186732.jpg&quot; style=&quot;clear:left;float:left;margin-bottom:1em;margin-right:1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://3.bp.blogspot.com/-D7hKuBswQzA/TqMi0WIUoRI/AAAAAAAAAxY/UjwqNiiYuC0/s320/Photo_1186732.jpg&quot; width=&quot;213&quot;/&gt;&lt;/a&gt;&lt;br /&gt;This has been one of the most productive year for me so far.. working on an awesome project in Cisco, got few paid gigs as a photographer, and ran a marathon.. that's right ran a friggin marathon!.. Everything else I did this year pales in comparison. I still choke up when I think of crossing that finish line, no matter how abysmal my finishing time was..&lt;br /&gt;&lt;br /&gt;It all started in May. I was pissed off at someone (and lets just leave it at that), was driving back home and stuck in traffic, there was a radio ad for &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.teamintraining.org/&quot;&gt;Team In Training&lt;/a&gt;, a team that trains people for marathons, triathlons, crazy hikes, century bike rides etc to raise money for &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.lls.org/&quot;&gt;Leukemia &amp;amp; Lymphoma Society&lt;/a&gt;.. I thought..fuck it.. I'm going to run a Marathon. It was just a whim, I had no desire to be an athlete, nor had any relation to the cause.. it was a Forrest Gump moment for me where I just wanted to run.. for no apparent reason..&lt;br /&gt;&lt;br /&gt;Now you guys have to remember that I used to bunk PE/games classes back in school and spend my time in the lab/library.. the last 5K I did was about a year ago, when I just woke up one morning, wore a sketcher shoe, and ran a 5k organized locally.. no practice etc.. i.e. I was in as good a shape as an average engineer is. Every rampup weekend run, which started at a measly 4 miles, was followed with me lying on the bed for 2 days, limping, and bitching and moaning for the rest of the week.&lt;br /&gt;&lt;br /&gt;I don't really think my words can do justice to what the staff of TnT (Team in Training) has brought into my life. I know it is a cliché but they really did change my life. I'm normally a pretty distant guy with an EQ of a dead cat, so I thought that I'd be pretty thick skinned to whatever they had to say.. I just thought that I was there for the run. Coming in contact with all the honorees, cancer survivors &amp;amp; people still suffering from cancer has given me a different perspective of life. When you see a grown man cry after he exclaims that he was told that he'd be cancer free after 15 years, or when you realize that the person running &amp;amp; motivating you for the past 10 miles had cancer and was going through chemo just few months ago.. or when you find that a bubbly, high spirited lady decided to run 3 marathons, one for each kid she had, after she was told that she was in remission.. it puts things into perspective. Life is fragile and we take so many things for granted.. we tend to be lazy and jaded &amp;amp; stop aspiring for greatness and just settle for mediocrity. That finisher's medal hanging in my room, doesn't remind me of my accomplishment, but my time &amp;amp; experience with the team, which I'm going to cherish for ever, and if life permits, return next year.&lt;br /&gt;&lt;br /&gt;The training was kind of harder than I expected, more so because of the time commitment it needed. I was running on Tuesdays, Thursdays &amp;amp; Saturdays and was supposed to cross train on Monday &amp;amp; Wednesday.. this meant that I couldn't go out with my friends on friday because I had early morning runs the next day..or Sunday because I was sore from Saturday. I think most people at my work don't remember me walking straight :P now. It was also a revelation to me that it was much easier to build stamina than the musculoskeletal system. What that means is that for longer runs, I used to hurt my legs &amp;nbsp;faster than I used to get tired. It is no secret that I have a huge ego, so on any given run, I had a choice of either hurting my ego or hurting my leg.. I obviously went with ego.. against all the warnings from my coaches.&lt;br /&gt;&lt;br /&gt;I've hurt my IT band, hamstring, medial shin, lower shin, ACL &amp;amp; Achilles tendon running.. (of course few months ago, I'd have said that I hurt my leg.. but you pick up stuff when you are on the first name basis with your massage therapist). I've bled from my nipples, and yes it is funny until it happens to you.. guys wear something called nipguards, which actually make you look like the models on paid only porn sites which put a star on the unmentionables (come on.. every teenager with access to a computer has been to those sites).. I don't remember any body part below my neck that hasn't been hurt at one point or the other. The remedies to these ailments are as weird as the ailment itself.. the best being icebaths.. it is exactly what it sounds like. You fill the bathtub with as much ice as you can manage, and dip yourself in it for 15 minutes.. you might yell obscenities for the first few minutes, but your legs will thank you later. But nothing hurts more than random advice from people who have never run in their entire life..&lt;br /&gt;&lt;br /&gt;The way training works is that you ramp up your distance every 2 weeks, but run half the distance of your longest run during week in the middle to rest, so when I was up to a 20 miler, I was supposed to run 10 miles.. just to rest. A masochistic moron that I am, decided to replace it with hike, it was a 11.3 mile hike with 2.5K feet elevation! Even if you feel ok, your body would still be in recovery mode.. so when I ran 20 miles the next weekend, I pulled something.. and was kicked out of track the next tuesday. I couldn't really walk and although the possibility of stress fracture was dismissed by a quick visit to the doctor, running was out of the question.. I just had 3 weeks to go for the race. With a lot of ice cupping, compression wrap, ice bath, foam rolling, massages and intense cardio at more than 1hr/day, I tried to make up for the lost training runs. I was still limping a bit, but atleast it didn't hurt, which was a good sign.. It would have been a wise decision to just back out and live to run another day, but as I said, my ego hurts more than my leg, so I pushed on and made it to the marathon.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;I was following the Jeff Galloway's method of running and was doing a 4:1 interval ( 4 minute run and 1 minute brisk walk) &amp;amp; based on my training, I was expected to finish in 5hr50min...well that didn't happen. At mile 18 I started falling apart, my limp became more pronounced and I could feel my legs locking up.. still kept on going till mile 21, but couldn't keep up my rhythm. They say that you run a marathon in 3 parts, first with your mind, second with your body, and third with your heart. I was at the last leg and lost my heart! I became deaf to all the cheers, all the bands playing, all I could think was to just jump of the bridge and end the misery (and Emily Dickinson's &quot;Success is counted sweetest&quot; playing in my head meant that I sure as hell wasn't going to quit the race and live). Suddenly like an angel, one of my coaches came and started running with me, she told me to run only if I could run faster than I could walk.. so I ended up just walking the remaining distance.. she stayed with me till the finish line.. I zoned out everything else and just zeroed in on her continuous chants of &quot;Lift your legs, tighten your gluts&quot;.. After which I just became more or less an automaton and finished the race. I don't think humans have the capacity to assimilate greatness without going overboard.. but I'd say this.. I cried like a baby for 30 minutes after I finished the race.. It was not because I considered finishing a marathon an overwhelming accomplishment, but because I was overcome by the gesture of my coach.. Thank god for those Oakleys, I didn't look too different to the onlooker than any other marathoner in pain. It was not even a cool guy cry.. well it was at first.. but then I started tearing up so hard that I had to gasp! They say that starvation during any extreme sport does weird things to your mind.. but I don't care.. I don't care if I was out of my senses.. but I don't think that I can thank my coaches enough for what they did.. Coach Meghan.. if you are reading this, you ROCK!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The other important aspect of the race was fund raising. I was supposed to raise $2900 in donations. I was able to raise $2400 just by shooting two events!.. the rest came from my facebook friends.. not only did it make me more confident as photographer, but it also reaffirmed my faith in my friends (those who paid anyways :))&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It has been 2 weeks after the race, I'm still limping, but I can't wait to get back track and experience it all over again... GO TEAM!!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=d5IHvn9948k:9tB96v7mEwk:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/codeyman?a=d5IHvn9948k:9tB96v7mEwk:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/codeyman?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;</description>
         <author>noreply@blogger.com (Sridhar Iyer)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-10953736.post-7312569308107335554</guid>
         <pubDate>Sat, 22 Oct 2011 20:34:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://3.bp.blogspot.com/-D7hKuBswQzA/TqMi0WIUoRI/AAAAAAAAAxY/UjwqNiiYuC0/s72-c/Photo_1186732.jpg" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
   </channel>
</rss>
<!-- fe8.yql.bf1.yahoo.com compressed/chunked Thu Oct  1 20:46:52 UTC 2015 -->
