<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en">
  <title type="text">About Vinod Kurup</title>
  <subtitle type="text">Thoughts on medicine, software and life</subtitle>

  <updated>2010-07-29T18:09:30Z</updated>
  <generator uri="http://blogofile.com/">Blogofile</generator>

  <link rel="alternate" type="text/html" href="http://www.kurup.org/blog" />
  <id>http://www.kurup.org/blog/feed/atom/</id>
  
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/vkurup" /><feedburner:info uri="vkurup" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
    <author>
      <name />
      <uri>http://www.kurup.org/blog</uri>
    </author>
    <title type="html"><![CDATA[Hospitalist Notes 1]]></title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/vkurup/~3/keLpcFnpxuw/hospitalist-notes-1" />
    <id>http://www.kurup.org/blog/2010/07/29/hospitalist-notes-1</id>
    <updated>2010-07-29T13:50:00Z</updated>
    <published>2010-07-29T13:50:00Z</published>
    <category scheme="http://www.kurup.org/blog" term="medicine" />
    <category scheme="http://www.kurup.org/blog" term="hospitalist" />
    <summary type="html"><![CDATA[Hospitalist Notes 1]]></summary>
    <content type="html" xml:base="http://www.kurup.org/blog/2010/07/29/hospitalist-notes-1">&lt;p&gt;My last night shift was a little less busy than most, so I forced myself to pick something about each patient I admitted and look it up. I tend to do this anyway, but I never keep notes or write about it. Here's what I wrote about that night:
&lt;/p&gt;

&lt;h3&gt;Does Buspar (buspirone) need to be tapered?&lt;/h3&gt;
&lt;p&gt;Answer: No. The full report on Micromedex was a little conflicting, because it stated that there may be some withdrawal symptoms from Buspar, but this quote in the same profile suggests otherwise:
&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Data suggest that buspirone does not cause physical dependence and as such, no withdrawal effects have been noted (Rickels et al, 1988a; Tyrer et al, 1985; Cole et al, 1982).
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;Staging COPD&lt;/h3&gt;
&lt;p&gt;I always forget the cutoffs for the stages of COPD. There are 2 different guidleines - GOLD and ATS/ARS, but fortunately they are almost identical:
&lt;/p&gt;
&lt;p&gt;Patients need to have an FEV1/FVC ratio &amp;lt; 0.70. Staging is then based on the FEV1.
&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;
     Stage I (Mild): FEV1 &amp;gt; 80% predicted
 &lt;/li&gt;

 &lt;li&gt;
     Stage II (Moderate): FEV1 50-80% predicted
 &lt;/li&gt;

 &lt;li&gt;
     Stage III (Severe): FEV1 30-50% predicted
 &lt;/li&gt;

 &lt;li&gt;
     Stage IV: (Very Severe): FEV1 &amp;lt; 30% predicted, or &amp;lt; 50% with signs of chronic respiratory failure
 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Reference: &lt;a href="http://www.annals.org/content/147/9/633/T2.expansion.html"&gt;Annals&lt;/a&gt;
&lt;/p&gt;

&lt;h3&gt;How to determine calorie level of ADA diet?&lt;/h3&gt;
&lt;p&gt;We always put diabetic patients on an ADA diet and I choose the calorie level by gestalt. I figured there must be some formula to calculate the calorie level based on the patient's weight. Looking it up, I found a different answer altogether. The ADA no longer recommends an ADA diet in the hospital. Instead, they recommend a consistent-carbohydrate diet. In long-term care facilities (i.e. nursing homes), they go a step further and recommend a 'Regular' diet with consistency in the amount and timing of carbohydrate. They specifically state that there is no evidence to support the classic 'No concentrated sweets' diet. These guidelines are from 2007, but they obviously have not been widely disseminated yet.
&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;It is recommended that the term “ADA diet” no longer be used, since the ADA no longer endorses a single nutrition prescription or percentages of macronutrients. 
&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Reference: &lt;a href="http://care.diabetesjournals.org/content/30/suppl_1/S48.full"&gt;Diabetes Care&lt;/a&gt;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=keLpcFnpxuw:VFUR2UgVt9w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=keLpcFnpxuw:VFUR2UgVt9w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=keLpcFnpxuw:VFUR2UgVt9w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=keLpcFnpxuw:VFUR2UgVt9w:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=keLpcFnpxuw:VFUR2UgVt9w:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/vkurup/~4/keLpcFnpxuw" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.kurup.org/blog/2010/07/29/hospitalist-notes-1</feedburner:origLink></entry>
  <entry>
    <author>
      <name />
      <uri>http://www.kurup.org/blog</uri>
    </author>
    <title type="html"><![CDATA[My Anti-Writing Cycle]]></title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/vkurup/~3/-9P8T-uSKLw/my-anti-writing-cycle" />
    <id>http://www.kurup.org/blog/2010/07/27/my-anti-writing-cycle</id>
    <updated>2010-07-27T21:30:00Z</updated>
    <published>2010-07-27T21:30:00Z</published>
    <category scheme="http://www.kurup.org/blog" term="clojure" />
    <category scheme="http://www.kurup.org/blog" term="blogging" />
    <category scheme="http://www.kurup.org/blog" term="writing" />
    <summary type="html"><![CDATA[My Anti-Writing Cycle]]></summary>
    <content type="html" xml:base="http://www.kurup.org/blog/2010/07/27/my-anti-writing-cycle">&lt;p&gt;I blogged daily for a 6 day stretch a couple weeks ago, which is the
   longest continuous stretch I've ever done. It was stimulating and stressful
   at the same time. I haven't heard from the Pulitzer committee about any of
   the posts yet, but it's not the quality that matters. Writing is more about
   the process than the product, and I know from experience that writing helps
   me think. And while most of the posts were written for my own benefit, I
   really enjoyed the response that I got from family and friends about
   &lt;a href="/blog/2010/07/15/playdoh"&gt;Playdoh&lt;/a&gt;. I think I've read that post 100 times
   and I still laugh out loud at the end of it. That's the post that started
   the stretch off. As soon as I had put Kavi to bed, I knew that I wanted to
   share that story. I wrote it down quickly, so I wouldn't forget it. That
   writing process stimulated me to want to write more, so I made it an
   internal goal to write a post daily.
&lt;/p&gt;
&lt;p&gt;Then I had two night shifts and the streak was broken. I've had a few days
   off, but I still haven't written anything. I'm still learning clojure, but
   I fear writing about something that I know nothing about. Even though I've
   heard others say that this is the best time to write about a topic. I've
   also constructed a vicious cycle in my head. I want to learn clojure. I
   want to write about what I learn. I start doing so, but then I skip a day
   or so. Now, when I have free time, I think about learning clojure, but then
   I also think about the fact that I should write about it. And since I'm
   already behind, I don't want to get further behind, so maybe I shouldn't
   read that interesting tutorial until I've caught up on writing about what
   I've learned. Next thing I know, I'm monitoring Twitter streams
   second-by-second for &lt;a href="http://imgur.com"&gt;imgur&lt;/a&gt; links.
&lt;/p&gt;
&lt;p&gt;I'm hoping that writing about my mental blocks will help me overcome
   them. I plan to write more frequently, mostly for my own benefit, but I'm
   not going to let it get in the way of learning cool, interesting stuff. If
   my writing is disjointed, so be it. I can fill in the gaps later if anyone
   cares.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=-9P8T-uSKLw:jtW1hHLHvTc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=-9P8T-uSKLw:jtW1hHLHvTc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=-9P8T-uSKLw:jtW1hHLHvTc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=-9P8T-uSKLw:jtW1hHLHvTc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=-9P8T-uSKLw:jtW1hHLHvTc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/vkurup/~4/-9P8T-uSKLw" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.kurup.org/blog/2010/07/27/my-anti-writing-cycle</feedburner:origLink></entry>
  <entry>
    <author>
      <name />
      <uri>http://www.kurup.org/blog</uri>
    </author>
    <title type="html"><![CDATA[My video editing process]]></title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/vkurup/~3/-rLC1xBMb44/my-video-editing-process" />
    <id>http://www.kurup.org/blog/2010/07/20/my-video-editing-process</id>
    <updated>2010-07-20T20:51:00Z</updated>
    <published>2010-07-20T20:51:00Z</published>
    <category scheme="http://www.kurup.org/blog" term="kino" />
    <category scheme="http://www.kurup.org/blog" term="video" />
    <category scheme="http://www.kurup.org/blog" term="linux" />
    <summary type="html"><![CDATA[My video editing process]]></summary>
    <content type="html" xml:base="http://www.kurup.org/blog/2010/07/20/my-video-editing-process">&lt;p&gt;I use &lt;a href="http://www.kinodv.org/"&gt;kino&lt;/a&gt; to edit the
   &lt;a href="http://youtube.com/vkurup1"&gt;videos that we take of the kids&lt;/a&gt;. I haven't
   found a Linux program which was as nice as iMovie was on the Mac, but kino
   is pretty good. It's easy to splice and reconnect video clips together. It
   has nice special effects, though my needs are pretty simple. It's able to
   export in plenty of formats, possibly too many, for my simple mind. But,
   I've figured it out and have a stable process for getting video from camera
   to youtube.
&lt;/p&gt;
&lt;p&gt;I have 3 camcorders - a &lt;a href="http://www.theflip.com/"&gt;Flip&lt;/a&gt;, my Canon digital
   camera, and a Panasonic DVD camcorder. I can just copy the AVI files
   directly off the Flip and the Canon's SD card. The Panasonic records all of
   the video clips into a single file with a .VRO extension. I found a great
   utility called &lt;a href="http://www.pixelbeat.org/programs/dvd-vr/"&gt;dvd-vr&lt;/a&gt;, which
   reads that file and splits it into individual AVI files. Once I have a
   directory full of AVI files from the various camcorders, I use
   &lt;a href="http://www.gnu.org/software/emacs/"&gt;emacs&lt;/a&gt; to rename them consistently. I
   open up 2 buffers: an editable dired buffer (&lt;code&gt;wdired-change-to-wdired-mode&lt;/code&gt;)
   of the movies directory, and a shell buffer in that same directory. I run a
   macro which takes the first file in the directory, plays it via an mplayer
   command in the shell buffer and then renames the file using the
   date/timestamp of the file. The macro leaves the cursor in a spot where I
   can enter a brief description of the video and then run the macro again to
   do the next video. It works pretty well. I then batch convert them to DV
   format, which is what Kino accepts. Finally, I launch Kino and edit the
   files, add titles, export them to AVI again, and then upload them to
   youtube.
&lt;/p&gt;
&lt;p&gt;I did this today and ran into a problem with kino. The video played at
   breakneck speed and there was no audio. Google helped me figure out that
   this was a problem between PulseAudio and kino. Kino is no longer actively
   developed. The lead developer considers it stable and finished and he's
   moved on to other endeavors, which is perfectly understandable. He's
   however, taken the time to describe
   &lt;a href="http://www.kinodv.org/article/view/173/1/13/"&gt;a workaround&lt;/a&gt;. He recommends
   running &lt;code&gt;padsp kino&lt;/code&gt; which routes all audio requests from kino to
   pulseaudio. This worked, but the audio had a lot of feedback. I found an
   even better
   &lt;a href="http://ubuntuforums.org/showpost.php?p=8367831&amp;amp;postcount=7"&gt;workaround on the ubuntu forums&lt;/a&gt;. Use
   &lt;code&gt;pasuspender kino&lt;/code&gt;, which suspends all PulseAudio activity, gives kino
   direct access to audio devices, and then resumes PulseAudio once kino has
   quit. This worked with perfect audio quality, though of course, audio from
   any other program gets muted completely.
&lt;/p&gt;
&lt;p&gt;I am still on the lookout for a better video editing solution on
   Linux. Eventually, I'd like to make DVDs of the hundreds of little clips
   that I have. They don't need to be fancy, but I would like to have some
   basic menus and they need to work on standard DVD players. I've started
   doing a little research on this, so will post once I've tried some things
   out.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=-rLC1xBMb44:j-V_QjHlvmY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=-rLC1xBMb44:j-V_QjHlvmY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=-rLC1xBMb44:j-V_QjHlvmY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=-rLC1xBMb44:j-V_QjHlvmY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=-rLC1xBMb44:j-V_QjHlvmY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/vkurup/~4/-rLC1xBMb44" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.kurup.org/blog/2010/07/20/my-video-editing-process</feedburner:origLink></entry>
  <entry>
    <author>
      <name />
      <uri>http://www.kurup.org/blog</uri>
    </author>
    <title type="html"><![CDATA[Stock Market Timing]]></title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/vkurup/~3/zFmyN122q04/stock-market-timing" />
    <id>http://www.kurup.org/blog/2010/07/19/stock-market-timing</id>
    <updated>2010-07-19T16:08:00Z</updated>
    <published>2010-07-19T16:08:00Z</published>
    <category scheme="http://www.kurup.org/blog" term="investing" />
    <category scheme="http://www.kurup.org/blog" term="python" />
    <category scheme="http://www.kurup.org/blog" term="programming" />
    <summary type="html"><![CDATA[Stock Market Timing]]></summary>
    <content type="html" xml:base="http://www.kurup.org/blog/2010/07/19/stock-market-timing">&lt;p&gt;If you asked me a few years ago, I would have said you absolutely can't
   time the stock market. The 2008 crash hurt enough to make me review my
   convictions a little. I still believe that accurate market timing is
   somewhere between difficult and impossible. Trying to analyze stock charts
   to figure out what will happen in the short term is mostly a crap
   shoot. The way to win in the stock market is to buy value stocks,
   especially when everyone else is selling.
&lt;/p&gt;
&lt;p&gt;I do, however, now believe that there is a place for market timing in
   deciding when to be in the stock market, in the first place. I think there
   are some trends that have repeatedly predicted poor stock
   performance. There are some super smart people that have analyzed these
   trends over at the &lt;a href="http://boards.fool.com"&gt;Motley Fool message
boards&lt;/a&gt;. They've come up with many indicators that
   supposedly tell you when to get in and out of the stock market, but my
   favorite is the &lt;a href="http://boards.fool.com/Message.asp?mid=27442724"&gt;99 day
rule&lt;/a&gt; &lt;sup id="fnr1-607382443"&gt;&lt;a href="#fn1-607382443"&gt;1&lt;/a&gt;&lt;/sup&gt;.
&lt;/p&gt;
&lt;p&gt;The basic premise of the 99 day rule is that when the
   &lt;a href="http://finance.yahoo.com/q?s=^GSPC"&gt;S&amp;amp;P 500 Index&lt;/a&gt; stops making new highs,
   investors get pessimistic and stocks fall. When it starts making new highs
   again, optimism takes over and bull markets start. The 99 day rule has 2
   parts and coincidentally uses 99 days as the cut-off for both parts. It
   looks at whether a new high has been made recently. It defines "high" as a
   99-day high. It defines "recently" as 99 days. So, it looks for a new
   99-day high within the last 99 days. The number is arbitrary. Hop over the
   the
   &lt;a href="http://boards.fool.com/mechanical-investing-100093.aspx"&gt;Motley Fool boards&lt;/a&gt;
   to see how the dates have been tuned and pick different ones, if you like.
&lt;/p&gt;
&lt;p&gt;I like this rule, because it's simple, easy to calculate and doesn't have
   many "signals", so you're not constantly buying and selling. Of course,
   it's not perfect, but it would have gotten you out of most of the major
   bear markets.
&lt;/p&gt;
&lt;p&gt;Here is how the rule has done over time:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Period        S&amp;amp;P 500   Switching   Improvement 
---------     -------   ---------   -----------
1930-1935     -12.2%       4.3%       16.4% 
1935-1940      10.3%      16.2%        6.0% 
1940-1945       7.4%       5.6%       -1.8% 
1945-1950      10.2%       7.4%       -2.8% 
1950-1955      23.6%      22.5%       -1.1% 
1955-1960      15.2%      13.8%       -1.4% 
1960-1965      10.7%      11.7%        1.0% 
1965-1970       5.0%       7.1%        2.2% 
1970-1975      -2.4%       6.8%        9.2% 
1975-1980      14.8%      12.0%       -2.8% 
1980-1985      14.8%      20.1%        5.2% 
1985-1990      20.4%      18.8%       -1.7% 
1990-1995       8.7%       6.7%       -2.0% 
1995-2000      28.6%      27.9%       -0.7% 
2000-2005      -2.3%       4.3%        6.6% 
2005-early2008  2.0%       4.5%        2.5%
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You may have gotten to this point and are now wondering why it's worth
   following this rule. In at least 3 of the past 5 periods, this signal would
   have lost money versus staying in the market. That is true. The key is to
   understand that there is no free lunch. Any rule that tries to get you out
   of major bear markets will be imperfect and will often leave you with less
   money than if you had chosen to act on a different date (or not act at
   all). The overall goal is not to increase your returns, but to decrease
   your risk without sacrificing your returns. This signal does that. Overall,
   it does actually increase your returns by about 2% annually since 1930.
&lt;/p&gt;
&lt;p&gt;The other nice feature is that it doesn't have a "slam-dunk" feel to it. My
   experience is that things that work in the stock market have to have a
   little of a "gut wrenching" feel to them. If it sounds too good to be true,
   it is. This rule feels correct, improves returns over the long run, is
   backtested well, but does so at the risk of some lower performing
   years. That feels a little gut-wrenching to me.
&lt;/p&gt;
&lt;p&gt;Here is the author's (&lt;a href="http://www.stonewellfunds.com/"&gt;mungofitch&lt;/a&gt;) description:
&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;By using the rule that I described above, you would have had
   a total return of 11.80%, with a total risk of 6.71%. So, you
   would have had 2.3% per year higher returns on average,
   while experiencing only about 56.9% of the risk. 
   Higher returns, lower risk. That sounds good, right?
&lt;/p&gt;
&lt;p&gt;But, is this one of those iffy timing systems that really only works
   because it managed to avoid the crash of 1987 of something?
   No, actually it has you in the market in the 1987 crash: it's
   not perfect. But does it really add value on average through the years?
   Not always, but pretty darned well. Sometimes you do a little worse,
   but never a lot worse. And when you do better, you do a LOT better.
   So, overall, it's worth it. 
&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;In order to keep track of the signal, I wrote a &lt;a href="http://github.com/vkurup/ninety-nine"&gt;little python
program&lt;/a&gt; to calculate whether we are
   in buy mode or sell mode. It uses the excellent &lt;a href="http://www.goldb.org/ystockquote.html"&gt;ystockquote
module&lt;/a&gt; written by Corey Goldberg.
&lt;/p&gt;

&lt;div class="footnote"&gt;&lt;hr/&gt;&lt;ol&gt;
 &lt;li id="fn1-607382443"&gt;&lt;p&gt;A much more &lt;a href="http://boards.fool.com/Message.asp?mid=27035352"&gt;detailed description of the rule and its background&lt;/a&gt;.&lt;a href="#fnr1-607382443" class="footnoteBackLink" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;
&lt;/p&gt;

 &lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=zFmyN122q04:WFXHWZQta7E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=zFmyN122q04:WFXHWZQta7E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=zFmyN122q04:WFXHWZQta7E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=zFmyN122q04:WFXHWZQta7E:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=zFmyN122q04:WFXHWZQta7E:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/vkurup/~4/zFmyN122q04" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.kurup.org/blog/2010/07/19/stock-market-timing</feedburner:origLink></entry>
  <entry>
    <author>
      <name />
      <uri>http://www.kurup.org/blog</uri>
    </author>
    <title type="html"><![CDATA[First Steps with Clojure]]></title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/vkurup/~3/pMc3FfMwT6M/first-steps-with-clojure" />
    <id>http://www.kurup.org/blog/2010/07/18/first-steps-with-clojure</id>
    <updated>2010-07-18T16:29:00Z</updated>
    <published>2010-07-18T16:29:00Z</published>
    <category scheme="http://www.kurup.org/blog" term="clojure" />
    <category scheme="http://www.kurup.org/blog" term="programming" />
    <summary type="html"><![CDATA[First Steps with Clojure]]></summary>
    <content type="html" xml:base="http://www.kurup.org/blog/2010/07/18/first-steps-with-clojure">&lt;p&gt;As mentioned yesterday, I'm teaching myself clojure. I started by trying to
   install it. 
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;vinod@ike$ aptitude install clojure
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Ubuntu has packaged version 1.0.0 of clojure. I always default to the
   OS-installed version of programs, just for ease of maintenance. The current
   stable version of clojure is 1.1 and it appears that 1.2 is in beta. I have
   no idea what has been changed in 1.1 or 1.2, but I'm going to try to get
   along using 1.0.0 and update only if I need to for a specific reason.
&lt;/p&gt;
&lt;p&gt;I then read through the
   &lt;a href="http://www.moxleystratton.com/article/clojure/for-non-lisp-programmers"&gt;tutorial for non-lisp programmers&lt;/a&gt;,
   which succinctly describes the basics of the language.&lt;sup id="fnr1-788089092"&gt;&lt;a href="#fn1-788089092"&gt;1&lt;/a&gt;&lt;/sup&gt; Everything in
   lisp is either an atom or a list. Atoms include numbers, booleans, strings,
   symbols, keywords and the nil value. Lists (delimited by parentheses &lt;code&gt;()&lt;/code&gt;)
   are the basic data structure, but include representations such as vectors
   (delimited by square brackets &lt;code&gt;[]&lt;/code&gt;) and maps (delimited by curly brackets
   &lt;code&gt;{}&lt;/code&gt;). Clojure programs are themselves simply lists, which leads to the
   power of lisp-like languages because code and data are interchangeable.
&lt;/p&gt;
&lt;p&gt;You use &lt;code&gt;def&lt;/code&gt; to create variables and &lt;code&gt;defn&lt;/code&gt; to create functions. The
   language includes loops and conditional statements, just like any other
   useful language. Only &lt;code&gt;false&lt;/code&gt; and &lt;code&gt;nil&lt;/code&gt; are &lt;em&gt;false&lt;/em&gt; in clojure; zero (0),
   and the empty string ("") are &lt;em&gt;true&lt;/em&gt;, unlike a lot of languages. 
&lt;/p&gt;
&lt;p&gt;The interesting part is the integration with Java. To instantiate a java
   object, simply call &lt;code&gt;new&lt;/code&gt;:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;user=&amp;gt; (new java.util.Date)
#&amp;lt;Date Sun Jul 18 16:20:54 EDT 2010&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To call object methods or get instance/class variables, use the dot "."
   method.
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;user=&amp;gt; (. (new java.util.Date) (toString))
"Sun Jul 18 16:24:09 EDT 2010"

user=&amp;gt; (. Integer MAX_VALUE)
2147483647
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The article contains this interesting quote:
&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Sequences are in a sense, the core of idiomatic Clojure
   programming. Understand sequences and the forms that work with them, and
   you will have cleared one of the biggest hurdles in writing significant
   Clojure programs.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;So, add that to my to-do list. Where to go next? A
   &lt;a href="http://stackoverflow.com/questions/599519/which-tutorial-on-clojure-is-best"&gt;StackOverflow thread&lt;/a&gt;
   has pointed to me to a few options. I'll probably read one of these next:
&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;
     &lt;a href="http://en.wikibooks.org/wiki/Learning_Clojure"&gt;http://en.wikibooks.org/wiki/Learning_Clojure&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     &lt;a href="http://github.com/relevance/labrepl"&gt;http://github.com/relevance/labrepl&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     &lt;a href="http://java.ociweb.com/mark/clojure/article.html"&gt;http://java.ociweb.com/mark/clojure/article.html&lt;/a&gt;
 &lt;/li&gt;
&lt;/ul&gt;

&lt;div class="footnote"&gt;&lt;hr/&gt;&lt;ol&gt;
 &lt;li id="fn1-788089092"&gt;&lt;p&gt;I later read that this tutorial is out of date, so I may have to "unlearn" things later. It still comes up as the first hit on &lt;a href="http://www.google.com/search?q=clojure+tutorial"&gt;Google for "clojure tutorial"&lt;/a&gt;&lt;a href="#fnr1-788089092" class="footnoteBackLink" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;
&lt;/p&gt;

 &lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=pMc3FfMwT6M:ULSKtOY4cWE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=pMc3FfMwT6M:ULSKtOY4cWE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=pMc3FfMwT6M:ULSKtOY4cWE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=pMc3FfMwT6M:ULSKtOY4cWE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=pMc3FfMwT6M:ULSKtOY4cWE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/vkurup/~4/pMc3FfMwT6M" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.kurup.org/blog/2010/07/18/first-steps-with-clojure</feedburner:origLink></entry>
  <entry>
    <author>
      <name />
      <uri>http://www.kurup.org/blog</uri>
    </author>
    <title type="html"><![CDATA[Getting some clojure]]></title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/vkurup/~3/X43JAsrZVo0/getting-some-clojure" />
    <id>http://www.kurup.org/blog/2010/07/17/getting-some-clojure</id>
    <updated>2010-07-17T19:55:00Z</updated>
    <published>2010-07-17T19:55:00Z</published>
    <category scheme="http://www.kurup.org/blog" term="clojure" />
    <category scheme="http://www.kurup.org/blog" term="programming" />
    <summary type="html"><![CDATA[Getting some clojure]]></summary>
    <content type="html" xml:base="http://www.kurup.org/blog/2010/07/17/getting-some-clojure">&lt;p&gt;Steve Yegge is one of my favorite bloggers. I read &lt;a href="http://sites.google.com/site/steveyegge2/you-should-write-blogs"&gt;"You Should Write
Blogs"&lt;/a&gt; a
   long time ago and it is one of the main reasons that I still try to keep
   this blog going at all. He recently took a blogging hiatus and in his
   &lt;a href="http://steve-yegge.blogspot.com/2010/07/blogger-finger.html"&gt;return post&lt;/a&gt;,
   he left a little hint that he was interested in a programming language
   called &lt;a href="http://clojure.org"&gt;clojure&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;My programming skills have been rusting away (Darn those patients, always
   getting sick and stuff!), so I've been looking for a little
   inspiration. I'm hoping that clojure is it. I've always wanted to learn
   lisp. I know a little elisp and scheme, but I've never gotten comfortable
   with them. Clojure compiles code that runs on a JVM (java virtual
   machine). This gives you a lot of the "power" of java, namely the extensive
   libraries and the widespread platforms on which it will run. But instead of
   having to write java, you get to write in a dynamic, lisp-like language. At
   least that's how I understand it.
&lt;/p&gt;
&lt;p&gt;Specifically, I hope that I'll eventually be able to create applications
   that run on android phones, which is a java environment. Smartphones are
   clearly going to be a huge part of the future, if not &lt;strong&gt;the way&lt;/strong&gt; of the
   future. I don't see myself ever buying an iPhone and Mala already has a
   Droid Eris that I'd be able to play with if I needed. (Didn't tell you
   that, did I Mala?) So... Android it is.
&lt;/p&gt;
&lt;p&gt;Starting today, I'm going to start reading about clojure and taking notes
   (and maybe even posting them!). I've never been very good about taking
   notes, ever in my life. But, I clearly &lt;a href="http://sachachua.com/blog/2010/03/how-to-brain-dump-what-you-know/"&gt;need to learn&lt;/a&gt;.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=X43JAsrZVo0:qCu8KYLjMHM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=X43JAsrZVo0:qCu8KYLjMHM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=X43JAsrZVo0:qCu8KYLjMHM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=X43JAsrZVo0:qCu8KYLjMHM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=X43JAsrZVo0:qCu8KYLjMHM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/vkurup/~4/X43JAsrZVo0" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.kurup.org/blog/2010/07/17/getting-some-clojure</feedburner:origLink></entry>
  <entry>
    <author>
      <name />
      <uri>http://www.kurup.org/blog</uri>
    </author>
    <title type="html"><![CDATA[inotify]]></title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/vkurup/~3/uavdcjjfssk/inotify" />
    <id>http://www.kurup.org/blog/2010/07/16/inotify</id>
    <updated>2010-07-16T21:01:00Z</updated>
    <published>2010-07-16T21:01:00Z</published>
    <category scheme="http://www.kurup.org/blog" term="sysadmin" />
    <category scheme="http://www.kurup.org/blog" term="unix" />
    <summary type="html"><![CDATA[inotify]]></summary>
    <content type="html" xml:base="http://www.kurup.org/blog/2010/07/16/inotify">&lt;p&gt;&lt;a href="http://inotify.aiken.cz/"&gt;incron&lt;/a&gt; seems to be a pretty neat tool. It's
   cron-for-file-activities. &lt;a href="http://en.wikipedia.org/wiki/Cron"&gt;Cron&lt;/a&gt; is a
   common unix tool that allows you to run any command at a specified
   time. It's immensely useful for running anything that you want to occur on
   a regular basis: backups, daily reminder emails, downloading podcasts,
   etc. If you've used unix to any significant extent, you've used cron.
&lt;/p&gt;
&lt;p&gt;incron takes that cron metaphor and applies it to file activity. You
   specify which files you want to watch, and then you specify which activities
   you are interested in. If incron notices any of those activities occurring
   on your files, it launches the command that you specified. Activities could
   include creating a new file, modifying a file, accessing a file, among
   multiple other possibilities. incron takes advantage of the inotify system
   built into recent linux kernels, which supposedly is more efficient than
   previous ways of doing this same thing.
&lt;/p&gt;
&lt;p&gt;incron seemed to be just what I wanted. I wanted to watch a specific
   directory and launch a tool to rebuild my website if any of those files
   changed. The problem is that incron doesn't work recursively on
   directories. You have to specify each directory, the activities on that
   directory, and the command to launch. If you create new directories, you
   have to tell incron about them specifically. This ruins the benefit of the
   tool for me. It seems the developer has been planning to implement
   recursive watching for the past 4 years ago, but hasn't done it yet. If it
   hasn't happened in 4 years, it's probably not going to happen soon.
&lt;/p&gt;
&lt;p&gt;But, I found a perfectly usable way to get what I
   want. &lt;a href="http://wiki.github.com/rvoicilas/inotify-tools/"&gt;inotify-tools&lt;/a&gt;
   includes a program called &lt;code&gt;inotifywait&lt;/code&gt;. It takes a file or directory name
   and listens for specific activities that you are interested in. It
   basically waits until it sees one of those activities and then returns
   control back to you. So, you can something like (pseudocode):
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;while (inotifywait /home/vinod/web/kurup.org):
    # triggered
    rebuild my server
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;inotifywait&lt;/code&gt; waits for my activities. If it finds one, it returns TRUE and
   my server gets rebuilt, and then the while loop restarts. Best of all,
   &lt;code&gt;inotifywait&lt;/code&gt; can work recursively on a directory. Which brings me to my
   &lt;code&gt;watch-rebuild.sh&lt;/code&gt; script which watches my web source files for changes,
   and rebuilds the web generated files on demand. It also pops up a little
   GNOME notification using &lt;code&gt;notify-send&lt;/code&gt;:
&lt;/p&gt;
&lt;div class="pygments_murphy"&gt;&lt;pre&gt;    &lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;
    
    &lt;span class="nv"&gt;BLOGOFILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/usr/local/bin/blogofile&amp;#39;&lt;/span&gt;
    &lt;span class="nv"&gt;BLOGDIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/home/vinod/web/kurup.org&amp;#39;&lt;/span&gt;
    
    &lt;span class="c"&gt;# requires libnotify-bin for notify-osd notification&lt;/span&gt;
    &lt;span class="c"&gt;# requires inotify-tools&lt;/span&gt;
    &lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="nv"&gt;LINE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;inotifywait -rq --timefmt &lt;span class="s1"&gt;&amp;#39;%F %R&amp;#39;&lt;/span&gt; --format &lt;span class="s1"&gt;&amp;#39;%T %e %f&amp;#39;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
          -e close_write -e move -e delete &lt;span class="s2"&gt;&amp;quot;$BLOGDIR&amp;quot;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;;
    &lt;span class="k"&gt;do&lt;/span&gt;
&lt;span class="k"&gt;            &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;quot;Rebuilding $LINE ...&amp;quot;&lt;/span&gt;
            &lt;span class="nv"&gt;$BLOGOFILE&lt;/span&gt; -s &lt;span class="nv"&gt;$BLOGDIR&lt;/span&gt; build
            &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;done&amp;quot;&lt;/span&gt;
            notify-send -u low &lt;span class="s2"&gt;&amp;quot;Rebuild Done&amp;quot;&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;Watching again&amp;quot;&lt;/span&gt;
    &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;code&gt;-r&lt;/code&gt; = recursive&lt;br /&gt;

   &lt;code&gt;-q&lt;/code&gt; = be quiet&lt;br /&gt;

   &lt;code&gt;--timefmt&lt;/code&gt; &amp;amp; &lt;code&gt;--format&lt;/code&gt; = what we want to display on the command line&lt;br /&gt;

   &lt;code&gt;-e&lt;/code&gt; = each of the individual events that we are interested in
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=uavdcjjfssk:E0YRHkdCWAY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=uavdcjjfssk:E0YRHkdCWAY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=uavdcjjfssk:E0YRHkdCWAY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=uavdcjjfssk:E0YRHkdCWAY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=uavdcjjfssk:E0YRHkdCWAY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/vkurup/~4/uavdcjjfssk" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.kurup.org/blog/2010/07/16/inotify</feedburner:origLink></entry>
  <entry>
    <author>
      <name />
      <uri>http://www.kurup.org/blog</uri>
    </author>
    <title type="html"><![CDATA[PlayDoh]]></title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/vkurup/~3/yxVpUSe4wnQ/playdoh" />
    <id>http://www.kurup.org/blog/2010/07/15/playdoh</id>
    <updated>2010-07-15T20:30:00Z</updated>
    <published>2010-07-15T20:30:00Z</published>
    <category scheme="http://www.kurup.org/blog" term="conversation" />
    <category scheme="http://www.kurup.org/blog" term="kavi" />
    <summary type="html"><![CDATA[PlayDoh]]></summary>
    <content type="html" xml:base="http://www.kurup.org/blog/2010/07/15/playdoh">&lt;h4&gt;Kavi's bedroom - 8PM&lt;/h4&gt;
&lt;p&gt;DADDY and KAVI are lying next to each other in KAVI's bed doing their
   bedtime ritual. They have finished singing a song and are recapping the
   day.
&lt;/p&gt;
&lt;p&gt;DADDY: Did you play with playdoh today?
&lt;/p&gt;
&lt;p&gt;KAVI: No.
&lt;/p&gt;
&lt;p&gt;DADDY: Are you sure? Did you play with playdoh this morning before going to
   the Puffin room?
&lt;/p&gt;
&lt;p&gt;(KAVI thinks)
&lt;/p&gt;
&lt;p&gt;KAVI: Yes. I did. Why did I play with playdoh?
&lt;/p&gt;
&lt;p&gt;DADDY: Because you wanted to. You asked me if you could play with it.
&lt;/p&gt;
&lt;p&gt;KAVI: Why did I want to play with the playdoh?
&lt;/p&gt;
&lt;p&gt;DADDY: I don't know.
&lt;/p&gt;
&lt;p&gt;KAVI: Why you don't know?
&lt;/p&gt;
&lt;p&gt;DADDY: Because. I can't answer that question.
&lt;/p&gt;
&lt;p&gt;KAVI: Why you can't answer that question?
&lt;/p&gt;
&lt;p&gt;DADDY: It's a question of your motivation, KAVI. I can speculate about why
   you wanted to play with the playdoh, but I can't tell you why you wanted
   to.
&lt;/p&gt;
&lt;p&gt;(pause)
&lt;/p&gt;
&lt;p&gt;KAVI: Why?
&lt;/p&gt;
&lt;p&gt;DADDY: I can tell you what I want, but I can't tell you what you want.
&lt;/p&gt;
&lt;p&gt;KAVI: What do you want DADDY?
&lt;/p&gt;
&lt;p&gt;(DADDY takes a deep breath)
&lt;/p&gt;
&lt;p&gt;DADDY: A lot of things. I want you to grow up to be a strong, intelligent,
   loving, happy boy. I want Anika to grow up to be a strong, intelligent,
   loving, happy girl. I want Mommy to be able to do what she wants in life. I
   want all of us to travel, spend time with family, and enjoy the world. That's
   what I want.
&lt;/p&gt;
&lt;p&gt;KAVI: oh.
&lt;/p&gt;
&lt;p&gt;DADDY: What do you want?
&lt;/p&gt;
&lt;p&gt;KAVI: Playdoh.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=yxVpUSe4wnQ:7MaknY-Erf0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=yxVpUSe4wnQ:7MaknY-Erf0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=yxVpUSe4wnQ:7MaknY-Erf0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=yxVpUSe4wnQ:7MaknY-Erf0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=yxVpUSe4wnQ:7MaknY-Erf0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/vkurup/~4/yxVpUSe4wnQ" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.kurup.org/blog/2010/07/15/playdoh</feedburner:origLink></entry>
  <entry>
    <author>
      <name />
      <uri>http://www.kurup.org/blog</uri>
    </author>
    <title type="html"><![CDATA[Happy New Year]]></title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/vkurup/~3/TGyRTRMycWk/happy-new-year" />
    <id>http://www.kurup.org/blog/2010/01/03/happy-new-year</id>
    <updated>2010-01-03T00:00:00Z</updated>
    <published>2010-01-03T00:00:00Z</published>
    <category scheme="http://www.kurup.org/blog" term="life" />
    <category scheme="http://www.kurup.org/blog" term="family" />
    <summary type="html"><![CDATA[Happy New Year]]></summary>
    <content type="html" xml:base="http://www.kurup.org/blog/2010/01/03/happy-new-year">&lt;p&gt;This is going to be a great year. I was working on New Year's Eve. My shift
   was supposed to end at midnight, which meant that I would normally be home
   around 12:30 AM, but my colleague let me out early since the ER was
   unusually light. I got home at 11:55 PM, so I was able to kiss my beautiful
   wife as the new year began. If that's not an auspicious start to a year, I
   don't know what one would be.
&lt;/p&gt;
&lt;p&gt;I am so lucky. I have a great job, which is getting better all the time. I
   work hard, but I get some pretty good karmic rewards. It's not perfect and
   maybe someday I'll rant about the pitfalls of being a hospitalist, but it's
   certainly better than my life was as a primary care doctor.
&lt;/p&gt;
&lt;p&gt;I live in a beautiful house where I feel comfortable and "at home". I have
   a loving extended family who, thankfully, are all pretty happy and healthy.
&lt;/p&gt;
&lt;p&gt;Most importantly, I have an amazing wife and 2 darling children who can
   lift my heart into the heavens just by looking at me a certain way. They
   can also make me feel completely unfit to be a father sometimes, but I
   guess that's part of being a father. I have so much to teach them and they
   have so much to teach me.
&lt;/p&gt;
&lt;p&gt;This is starting to feel like a "Thanksgiving" post rather than a "New
   Year's" post. The bottom line is that I have a great feeling that this is
   going to be a great year for me and my family.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=TGyRTRMycWk:sIxMDQvDnEA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=TGyRTRMycWk:sIxMDQvDnEA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=TGyRTRMycWk:sIxMDQvDnEA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=TGyRTRMycWk:sIxMDQvDnEA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=TGyRTRMycWk:sIxMDQvDnEA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/vkurup/~4/TGyRTRMycWk" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.kurup.org/blog/2010/01/03/happy-new-year</feedburner:origLink></entry>
  <entry>
    <author>
      <name />
      <uri>http://www.kurup.org/blog</uri>
    </author>
    <title type="html"><![CDATA[Found the Carolina North trail]]></title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/vkurup/~3/-8Hzn-OThSk/found-the-carolina-north-trail" />
    <id>http://www.kurup.org/blog/2009/10/09/found-the-carolina-north-trail</id>
    <updated>2009-10-09T00:00:00Z</updated>
    <published>2009-10-09T00:00:00Z</published>
    <category scheme="http://www.kurup.org/blog" term="running" />
    <category scheme="http://www.kurup.org/blog" term="zen" />
    <category scheme="http://www.kurup.org/blog" term="happiness" />
    <summary type="html"><![CDATA[Found the Carolina North trail]]></summary>
    <content type="html" xml:base="http://www.kurup.org/blog/2009/10/09/found-the-carolina-north-trail">&lt;p&gt;When Mala and I started looking for homes, we listed on a yellow notepad
   all the things that were important to us. Like most little notes in my
   life, it got lost. I found it a few days after we moved into our home and
   was pleasantly surprised that we had gotten everything on our list, except
   a lake view. Not bad, and there's a lake about a half mile from our
   door. One of the things on that list that we "kinda" got was "running
   trails nearby". I say "kinda" because there is a trail which is just behind
   the back of our property, but I wouldn't call it a running trail. It is a
   paved trail which runs behind the houses in our neighborhood and extends
   about 1 mile in total length. It is mostly through woods or along the lake,
   so it's nice, but it's not a running trail. A running trail is not
   paved. More importantly, a running trail goes for miles and miles, so that
   you can feel like you are away from (sub)urban life.
&lt;/p&gt;
&lt;p&gt;So this was one of those things on our "list" that I would say we checked
   off, but, not really, you know?
&lt;/p&gt;
&lt;p&gt;I &lt;a href="http://twitter.com/vkurup/status/4533018776"&gt;went for a run&lt;/a&gt; recently
   and I can now say with certainty that this is my dream house. That paved
   running trail which I had been so ambivalent about eventually ends at a
   main road. And that's where I thought it ended. On Thursday, I crossed the
   road and found a little mowed path which takes you to the local high
   school. And then you take a right and WOW! A huge forest with a 10 foot
   wide rock and dirt trail opens up in front of you. I started down this
   trail, expecting it to end at someone's private property, but it kept going
   and going and going. It ran next to a bubbling stream with water clear
   enough to see the river's bottom. There were countless little paths snaking
   away from the main one. I just kept running and it just got more and more
   beautiful. I wish I had brought my camera. It felt like a religious
   experience. I couldn't believe that this beautiful, seemingly endless trail
   - the type of trail that I would have driven miles to get to in the past -
   was in my backyard. I ended up running 11 miles, which is longer than I
   have run since moving to North Carolina. I can't wait to run there
   again. This is just another example of how I am the luckiest man in the
   world. I always wanted to live in a house near trails like this, but didn't
   think it was possible, so I settled for a little "running trail". Just my
   luck, it turns out to be the trail of my dreams :-)
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=-8Hzn-OThSk:4zSyQ5SsRnA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=-8Hzn-OThSk:4zSyQ5SsRnA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=-8Hzn-OThSk:4zSyQ5SsRnA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/vkurup?a=-8Hzn-OThSk:4zSyQ5SsRnA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/vkurup?i=-8Hzn-OThSk:4zSyQ5SsRnA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/vkurup/~4/-8Hzn-OThSk" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.kurup.org/blog/2009/10/09/found-the-carolina-north-trail</feedburner:origLink></entry>
</feed>
