<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>ronin coder</title>
	<atom:link href="http://rcoder.net/feed" rel="self" type="application/rss+xml" />
	<link>http://rcoder.net</link>
	<description>paraliteracy has its perks</description>
	<pubDate>Sun, 06 Jul 2008 23:01:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>peace</title>
		<link>http://rcoder.net/content/peace</link>
		<comments>http://rcoder.net/content/peace#comments</comments>
		<pubDate>Sun, 06 Jul 2008 23:01:38 +0000</pubDate>
		<dc:creator>lennon</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rcoder.net/?p=119</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p align="center"><a title="DSC_0032 by rcoder, on Flickr" href="http://www.flickr.com/photos/rcoder/2643265259/"><img style="border: 2px solid black;" src="http://farm4.static.flickr.com/3256/2643265259_7fd09c5436.jpg" alt="DSC_0032" width="334" height="500" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://rcoder.net/content/peace/feed</wfw:commentRss>
		</item>
		<item>
		<title>Grad school is fun!</title>
		<link>http://rcoder.net/content/grad-school-is-fun</link>
		<comments>http://rcoder.net/content/grad-school-is-fun#comments</comments>
		<pubDate>Wed, 18 Jun 2008 02:50:42 +0000</pubDate>
		<dc:creator>lennon</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rcoder.net/?p=117</guid>
		<description><![CDATA[I am so liking this pattern:

]]></description>
			<content:encoded><![CDATA[<p>I am so liking <a href="http://rcoder.net/content/boo-yah">this pattern</a>:</p>
<p style="text-align: center;"><a href="http://rcoder.net/wp-content/uploads/2008/06/grades.jpg"><img class="aligncenter size-full wp-image-118" title="grades" src="http://rcoder.net/wp-content/uploads/2008/06/grades.jpg" alt="" width="500" height="55" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://rcoder.net/content/grad-school-is-fun/feed</wfw:commentRss>
		</item>
		<item>
		<title>More great stuff from Phusion</title>
		<link>http://rcoder.net/content/more-great-stuff-from-phusion</link>
		<comments>http://rcoder.net/content/more-great-stuff-from-phusion#comments</comments>
		<pubDate>Tue, 17 Jun 2008 18:26:19 +0000</pubDate>
		<dc:creator>lennon</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rcoder.net/?p=115</guid>
		<description><![CDATA[I suppose I&#8217;ll probably get jumped on again for this, but I just couldn&#8217;t resist pointing out how weird it is.
As of right now (Tue Jun 17 11:09:13 PDT 2008), the &#8220;Ruby Enterprise Edition&#8221; download page contains the following little gem (green rounded boxes are my own addition, of course):

(In case there are problems with [...]]]></description>
			<content:encoded><![CDATA[<p>I suppose I&#8217;ll probably get <a href="http://rcoder.net/content/least-helpful-error-of-the-week#comments">jumped on again</a> for this, but I just couldn&#8217;t resist pointing out how weird it is.</p>
<p>As of right now (Tue Jun 17 11:09:13 PDT 2008), the &#8220;Ruby Enterprise Edition&#8221; <a href="http://www.rubyenterpriseedition.com/download.html">download page</a> contains the following little gem (green rounded boxes are my own addition, of course):</p>
<p><span style="color: #0000ee; text-decoration: underline;"><a href="http://rcoder.net/wp-content/uploads/2008/06/rubyee.jpg"></a><a href="http://rcoder.net/wp-content/uploads/2008/06/rubyee.jpg"><img class="aligncenter size-full wp-image-116" title="rubyee" src="http://rcoder.net/wp-content/uploads/2008/06/rubyee.jpg" alt="" width="499" height="355" /></a></span></p>
<p>(In case there are problems with the image for anyone, the gist is that they list a download link as being for &#8220;All operating systems&#8221;, with a footnote that specifies that Windows and Mac OS X aren&#8217;t supported.)</p>
<p>I&#8217;m not trying to be a jerk about this, really. Hell, truth be told, I think it&#8217;s kind of great that they&#8217;re focusing on Linux instead of OS X or Windows &#8212; I&#8217;ve been a Linux user for a long time, and I certainly prefer it by a wide margin for production servers.</p>
<p>But c&#8217;mon, guys. &#8220;All operating systems&#8221; most decidedly <em>does</em> include Windows and Mac OS X. I think you&#8217;re doing good work, but you seem to be consistently over-selling the portability and generality of your solutions.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcoder.net/content/more-great-stuff-from-phusion/feed</wfw:commentRss>
		</item>
		<item>
		<title>Graduation</title>
		<link>http://rcoder.net/content/graduation</link>
		<comments>http://rcoder.net/content/graduation#comments</comments>
		<pubDate>Sun, 15 Jun 2008 00:39:27 +0000</pubDate>
		<dc:creator>lennon</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rcoder.net/?p=114</guid>
		<description><![CDATA[
Hannah received her Master&#8217;s in Urban and Regional Planning yesterday from PSU. She&#8217;ll be starting work as a bicycle &#38; pedestrian planner at Alta Planning &#38; Design in a week or so, but for right now, we&#8217;re both enjoying the bit of downtime that comes with the end of the school year.
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a title="DSC_0111 by rcoder, on Flickr" href="http://www.flickr.com/photos/rcoder/2579307880/"><img style="border: 2px solid black;" src="http://farm4.static.flickr.com/3099/2579307880_77b7ff2195.jpg" alt="DSC_0111" width="500" height="334" /></a></p>
<p style="text-align: left;">Hannah received her Master&#8217;s in Urban and Regional Planning yesterday from PSU. She&#8217;ll be starting work as a bicycle &amp; pedestrian planner at <a href="http://www.altaplanning.com/">Alta Planning &amp; Design</a> in a week or so, but for right now, we&#8217;re both enjoying the bit of downtime that comes with the end of the school year.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcoder.net/content/graduation/feed</wfw:commentRss>
		</item>
		<item>
		<title>Be Afraid&#8230;</title>
		<link>http://rcoder.net/content/be-afraid</link>
		<comments>http://rcoder.net/content/be-afraid#comments</comments>
		<pubDate>Mon, 09 Jun 2008 18:07:57 +0000</pubDate>
		<dc:creator>lennon</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rcoder.net/?p=112</guid>
		<description><![CDATA[Everyone&#8217;s going to be having a love-fest this week over the new 3rd-party apps being developed for the iPhone. They&#8217;ve got streaming media, location-based services, bidirectional news and blogging tools, and full 3D-accelerated games.
&#8230;and every bit of it is tightly coupled to the iPhone and its restrictive platform lock-down. This makes Microsoft&#8217;s attempts to push [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone&#8217;s going to be having a love-fest this week over the new 3rd-party apps being developed for the iPhone. They&#8217;ve got streaming media, location-based services, bidirectional news and blogging tools, and full 3D-accelerated games.</p>
<p>&#8230;and every bit of it is tightly coupled to the iPhone and its restrictive platform lock-down. This makes Microsoft&#8217;s attempts to push IE-specific browser extensions looks downright innocuous.</p>
<p>No wonder the music labels and Hollywood studios consider Apple a threat: they&#8217;re out-maneuvering them at every turn, and their customers <em>thank them for it</em>. The same evil that gets MS roundly condemned from here to Slashdot is accepted with a smile because the hardware is just so damn sexy.</p>
<p>Oh well. I guess I&#8217;ll just hang out in my un-sexy computing ghetto. Having been a Linux user since the days when Slackware was the big dog, I&#8217;ve certainly gotten used to being a second-class citizen when it comes to any sort of commercial development.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcoder.net/content/be-afraid/feed</wfw:commentRss>
		</item>
		<item>
		<title>Working</title>
		<link>http://rcoder.net/content/working</link>
		<comments>http://rcoder.net/content/working#comments</comments>
		<pubDate>Sun, 08 Jun 2008 21:49:25 +0000</pubDate>
		<dc:creator>lennon</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[long]]></category>

		<category><![CDATA[rant]]></category>

		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://rcoder.net/?p=111</guid>
		<description><![CDATA[I was listening to OPB on the radio last week, and their morning call-in show Think Out Loud was hosting a discussion on teenagers in the workforce. They had an employment economist who worked for the state of Oregon, an 18-year-old just starting in the workforce, and a variety of parents and teens contribute to [...]]]></description>
			<content:encoded><![CDATA[<p>I was listening to OPB on the radio last week, and their morning call-in show <a href="http://www.opb.org/thinkoutloud/">Think Out Loud</a> was hosting a discussion on teenagers in the workforce. They had an employment economist who worked for the state of Oregon, an 18-year-old just starting in the workforce, and a variety of parents and teens contribute to the discussion, but I was struck by a weird sort of defeatist tone beneath the entire conversation.</p>
<p>The parents, in particular, seemed to have basically given up on their kids being able to find work, due to the classic &#8220;you need experience to get experience&#8221; Catch-22. I personally found myself desperately wanting to yell back at them to stop whining, and start helping their kids out with something other than rides to the mall.</p>
<p>Going to school absolutely <em>does not</em> prepare kids for the workforce. Nothing short of <em>work</em> prepares people for work. There is an endemic assumption right now that the only reasonable course for a young person is through the K-12 system, then straight on to college, perhaps with a brief detour into a volunteering stint along the way to help pad the college application. This track produces exactly the kind of clueless, over-privileged 22-year-old that Baby Boomer managers love to complain about.</p>
<p>Admittedly, my own perspective on this is a bit skewed, compared even to a lot of my coworkers and friends. I started working in the summers when I was 14, and year-round by the time I was 16. My first job was running a summer reading program at the local county library branch, and I locked it in before the interview even started by being the only applicant to show up wearing a tie, resumé in hand. I continued working for the year I was in college, and have been supporting myself (and other people as well, occasionally) since I was 18.</p>
<p>Not every one of those jobs has been pleasant &#8212; packing boxes for shipping at a Mailboxes, Etc. during the Christmas season, for example, or making salads at a pizza shop &#8212; but I&#8217;ve learned something useful from each and every customer, project, and boss. </p>
<p>Of course, no parent would want to listen to the advice of a college dropout who has no kids of his own, right? Obviously, college and a pure white-collar background are the only real path to success.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcoder.net/content/working/feed</wfw:commentRss>
		</item>
		<item>
		<title>Don&#8217;t fear the reaper</title>
		<link>http://rcoder.net/content/dont-fear-the-reaper</link>
		<comments>http://rcoder.net/content/dont-fear-the-reaper#comments</comments>
		<pubDate>Thu, 05 Jun 2008 22:13:26 +0000</pubDate>
		<dc:creator>lennon</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rcoder.net/?p=110</guid>
		<description><![CDATA[
    
    

#include &#60;stdio.h&#62;
#include &#60;signal.h&#62;

/* Total idle timeout before sending signal to parent */
#define TIMEOUT 120

/* Verbose debugging output */
#define VERBOSE 1

static unsigned int idle_time = 0;

static void sig_handler(int sig) {
  switch(sig) {
  case SIGALRM:
    idle_time += 1;
    break;
  case [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
    <!--
      .comment {
        /* font-lock-comment-face */
        color: #ff4500;
      }
      .comment-delimiter {
        /* font-lock-comment-delimiter-face */
        color: #ff4500;
      }
      .function-name {
        /* font-lock-function-name-face */
        color: #87cefa;
      }
      .keyword {
        /* font-lock-keyword-face */
        color: #00ffff;
      }
      .preprocessor {
        /* font-lock-preprocessor-face */
        color: #b0c4de;
      }
      .string {
        /* font-lock-string-face */
        color: #ffa07a;
      }
      .type {
        /* font-lock-type-face */
        color: #98fb98;
      }
      .variable-name {
        /* font-lock-variable-name-face */
        color: #eedd82;
      }</p>
<p>      a {
        color: inherit;
        background-color: inherit;
        font: inherit;
        text-decoration: inherit;
      }
      a:hover {
        text-decoration: underline;
      }
    -->
    </style>
<pre>
<span class="preprocessor">#include</span> <span class="string">&lt;stdio.h&gt;</span>
<span class="preprocessor">#include</span> <span class="string">&lt;signal.h&gt;</span>

<span class="comment-delimiter">/* </span><span class="comment">Total idle timeout before sending signal to parent </span><span class="comment-delimiter">*/</span>
<span class="preprocessor">#define</span> <span class="variable-name">TIMEOUT</span> 120

<span class="comment-delimiter">/* </span><span class="comment">Verbose debugging output </span><span class="comment-delimiter">*/</span>
<span class="preprocessor">#define</span> <span class="variable-name">VERBOSE</span> 1

<span class="keyword">static</span> <span class="type">unsigned</span> <span class="type">int</span> <span class="variable-name">idle_time</span> = 0;

<span class="keyword">static</span> <span class="type">void</span> <span class="function-name">sig_handler</span>(<span class="type">int</span> <span class="variable-name">sig</span>) {
  <span class="keyword">switch</span>(sig) {
  <span class="keyword">case</span> SIGALRM:
    idle_time += 1;
    <span class="keyword">break</span>;
  <span class="keyword">case</span> SIGUSR1:
    idle_time = 0;
    <span class="keyword">break</span>;
  }
}

<span class="type">int</span> <span class="function-name">main</span>(<span class="type">int</span> <span class="variable-name">argc</span>, <span class="type">char</span> **<span class="variable-name">argv</span>) {
  <span class="type">pid_t</span> <span class="variable-name">parent</span> = (<span class="type">pid_t</span>) 0;
  <span class="type">int</span> <span class="variable-name">remaining</span>;

  parent = getppid();
<span class="preprocessor">#if</span> VERBOSE
  <span class="type">pid_t</span> <span class="variable-name">my_pid</span> = getpid();
  fprintf(stderr,
          <span class="string">&#8220;[%d] Waiting %d seconds to kill PID %d&#8230;\n&#8221;</span>,
          (<span class="type">int</span>) my_pid, TIMEOUT, (<span class="type">int</span>) parent);
<span class="preprocessor">#endif</span>

  signal(SIGUSR1, sig_handler);
  signal(SIGALRM, sig_handler);

  <span class="keyword">while</span>(1) {
    alarm(1);
    remaining = TIMEOUT - idle_time;
    <span class="keyword">if</span> (remaining &lt;= 0) {
      kill(parent, SIGINT);
<span class="preprocessor">#if</span> VERBOSE
      fprintf(stderr, <span class="string">&#8220;Boom!\n&#8221;</span>);
<span class="preprocessor">#endif</span>
      <span class="keyword">break</span>;
    } <span class="keyword">else</span> {
      pause();
<span class="preprocessor">#if</span> VERBOSE
      <span class="keyword">if</span> (remaining % 10 == 0) {
        fprintf(stderr, <span class="string">&#8221;  (reaper) %d seconds remaining\n&#8221;</span>, remaining);
      }
<span class="preprocessor">#endif</span>
    }
  }

  <span class="keyword">return</span> 0;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://rcoder.net/content/dont-fear-the-reaper/feed</wfw:commentRss>
		</item>
		<item>
		<title>Retro coding</title>
		<link>http://rcoder.net/content/retro-coding</link>
		<comments>http://rcoder.net/content/retro-coding#comments</comments>
		<pubDate>Thu, 05 Jun 2008 18:56:36 +0000</pubDate>
		<dc:creator>lennon</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rcoder.net/?p=109</guid>
		<description><![CDATA[I&#8217;ve been spending a fair bit of time writing C this week, and have to admit that I&#8217;m enjoying it more than I expected to. After spending most of the last 3-4 months fighting tooth-and-nail against Rails&#8217; inclination to completely own every data source in my application, as well as trying to make big, memory-hungry [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been spending a fair bit of time writing C this week, and have to admit that I&#8217;m enjoying it more than I expected to. After spending most of the last 3-4 months fighting tooth-and-nail against Rails&#8217; inclination to completely own every data source in my application, as well as trying to make big, memory-hungry web app server processes behave well under load, it&#8217;s been refreshing to strip things back to basics, and see my old friends <code>char*</code> and <code>errno</code>.</p>
<p>The specific project has involved writing a couple of plugin modules for <a href="http://lighttpd.net/">lighttpd</a>, which has also proven to be relatively painless. The <a href="http://trac.lighttpd.net/trac/wiki/Docs%3AInternalPlugins">API docs</a> are pretty solid, and none of the bundled modules are larger than a thousand lines of code or so. (Compare that to, say, mod_dav.c in the Apache 2.2 distribution, which is 3-4x larger, and requires a half-dozen additional support files.) It actually only took about four hours to bang out the first module, and I&#8217;m proud to say it happily hooked itself into the server without the usual first-run segfaults I&#8217;ve come to expect from C code that&#8217;s using unfamiliar APIs.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcoder.net/content/retro-coding/feed</wfw:commentRss>
		</item>
		<item>
		<title>Bullet trains</title>
		<link>http://rcoder.net/content/bullet-trains</link>
		<comments>http://rcoder.net/content/bullet-trains#comments</comments>
		<pubDate>Sun, 01 Jun 2008 19:15:52 +0000</pubDate>
		<dc:creator>lennon</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rcoder.net/?p=106</guid>
		<description><![CDATA[There&#8217;s been a lot of breathless blog coverage of MagLev, the new Ruby-on-a-Smalltalk-VM implementation from Avi Bryant (of Seaside and DabbleDB fame) and the Smalltalk wizards at Gemstone. They did a demo a RailsConf 2008 which showed insane performance gains over MRI, (like 10x to 100x, depending on the micro-benchmark chosen) and since the  [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been a lot of breathless <a href="http://antoniocangiano.com/2008/05/31/maglev-rocks/">blog</a> <a href="http://drewblas.com/2008/05/31/railsconf-2008-surprise-of-the-day-maglev/">coverage</a> of <a href="http://ruby.gemstone.com/">MagLev</a>, the new Ruby-on-a-Smalltalk-VM implementation from Avi Bryant (of <a href="http://www.seaside.st">Seaside</a> and <a href="http://dabbledb.com/">DabbleDB</a> fame) and the Smalltalk wizards at Gemstone. They did a demo a RailsConf 2008 which showed <em>insane</em> performance gains over MRI, (like 10x to 100x, depending on the micro-benchmark chosen) and since the <a href="http://gemstone.com/"></a> OOBMS is baked-in, they got to casually toss around numbers like &#8220;17 Petabytes.&#8221;</p>
<p>Let me say this upfront: I have a lot of respect for the guys over at Gemstone. They have some serious pedigree in the Smalltalk world, and they&#8217;ve done a good job of spinning that expertise into continuing business in the heavy-duty enterprise space. Ruby and Smalltalk obviously have a lot in common at the language level, so I can see the appeal of building a next-gen Ruby runtime atop a stable, tested Smalltalk VM.</p>
<p>However, I think that there are a couple of red flags worth noting here. First, as <a href="http://headius.blogspot.com/2008/06/maglev.html">quite effectively laid out</a> by Charles Nutter of the JRuby team, executing Ruby code in a mode fully-compatible with MRI is very much not the same thing as being able to run some programs written in Ruby syntax. The surface syntax of a language is only a small part of its overall semantics, and evaluation is much more complicated than parsing.</p>
<p>Avi and the Gemstone team are very bright cookies, and I don&#8217;t doubt that they&#8217;ll eventually be able to hit whatever level of Ruby compatibility they set out to achieve. If that means running Rails, I have little doubt they&#8217;ll be able to run Rails. If that means 100% compliance with the growing corpus of Ruby specs being developed by the other runtime projects, I have little doubt they&#8217;ll hit that milestone, too. There may be some impact on performance, but overall, I would be shocked if a solid, mature JIT-able VM like Gemstone&#8217;s <em>wasn&#8217;t</em> running circles around MRI.</p>
<p>Regardless, I personally am still unlikely to use MagLev in a more than cursory fashion, or recommend its use to others. I&#8217;ve worked in teams whose core product was dependent on the availability &#8212; <em>permission</em>, even &#8212; of a proprietary tools vendor[<a href="#proprietary">1</a>]. Smalltalk and Common Lisp toolchains (the latter being the arena in which I have more direct experience) have both had this problem for decades: the best implementations are closed-source, costly, (to the tune of several thousand dollars per developer, plus hefty runtime royalties and/or deployment licenses[<a href="#licensing">2</a>]) and tend to encourage platform lock-in with all kind of alluring features like fast, large-scale object stores that are 100% incompatible with any other language or development tools.</p>
<p>In my opinion, proprietary runtime stacks are also pretty much incompatible with open source, at least in the sense of &#8220;anyone being able to contribute to the project.&#8221; While the core language features may be portable between MagLev, MRI, JRuby, Rubinius, IronRuby, FooRuby, RubyOnAStick, et. al., the object database API most definitely will not be.</p>
<p>As a language geek, I&#8217;m definitely curious to see where these guys can take MagLev. Personally, though, I would have been a lot more excited to see Ruby on the Squeak VM or GNU Smalltalk, if the point was simply to show what Smalltalk runtimes can bring to the table for Ruby programmers. By tying the first Ruby-on-Smalltalk implementation to a proprietary toolchain, Avi &amp; Co. may have doomed it to occupying the same edge niche that Smalltalk and Common Lisp vendors have been forced into for the last 30 years.</p>
<p>(Edit: Avi himself has now weighed in with a <a href="http://www.avibryant.com/2008/06/maglev-recap.html">brief recap</a> of the presentation, including some clarification of the release and licensing plans. I don&#8217;t necessarily think that anything he said really argues to the points I make here, but it&#8217;s worth a read.)</p>
<div id="proprietary" style="font-size: small; padding-left: 30px;">1) My primary contribution to the last such team I worked on was actually porting the entire project from <a href="http://franz.com/products/allegrocl/"></a>, a proprietary version of Lisp distributed by <a href="http://franz.com/">Franz</a>, to <a href="http://clisp.cons.org/">CLisp</a>, an open-source (but much slower) alternative. This was only possible, though, because the system used only a fairly portable subset of the overall Allegro CL runtime, and avoided any dependencies on their proprietary extensions to the language, including their very-nifty object database.</div>
<div id="licensing" style="font-size: small; padding-left: 30px;">2) While I would like to be more precise about the price of licensing Gemstone/S, or any of Gemstone&#8217;s products, I&#8217;ve been unable to find any prices listed on their website.</div>
]]></content:encoded>
			<wfw:commentRss>http://rcoder.net/content/bullet-trains/feed</wfw:commentRss>
		</item>
		<item>
		<title>Contraction</title>
		<link>http://rcoder.net/content/contraction</link>
		<comments>http://rcoder.net/content/contraction#comments</comments>
		<pubDate>Thu, 29 May 2008 21:34:06 +0000</pubDate>
		<dc:creator>lennon</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[short]]></category>

		<category><![CDATA[whiny]]></category>

		<guid isPermaLink="false">http://rcoder.net/?p=105</guid>
		<description><![CDATA[Being on crutches has compressed my personal space. Walking to the convenience store on the corner for a can of tomatoes has become a painful task; something to avoid or ask someone else to do if possible. Walking eight blocks for lunch up the hill from the office is enough to leave me wheezing and [...]]]></description>
			<content:encoded><![CDATA[<p>Being on crutches has compressed my personal space. Walking to the convenience store on the corner for a can of tomatoes has become a painful task; something to avoid or ask someone else to do if possible. Walking eight blocks for lunch up the hill from the office is enough to leave me wheezing and sweaty halfway there.</p>
<p>I can feel myself getting stronger already, and I know that more of my energy will return once my body has done a bit more healing from the surgery, but that doesn&#8217;t make it less frustrating <em>right now. </em>It&#8217;s a busy time of year, both for me and for my friends and family, and I don&#8217;t want to make it worse for anyone (myself included) by needing to be chaufferred everywhere.</p>
<p>The big upside is that I&#8217;ve already lost at least five pounds, and expect that to be followed by another ten or so in the coming weeks. Not being able to cook anything elaborate or walk to my favorite nearby restaurants has cut my food intake considerably, and every step on the crutches is basically requires an ab-crunch and a half-curl of both biceps. Cutting basically all alcohol consumption doesn&#8217;t hurt on that front, either.</p>
]]></content:encoded>
			<wfw:commentRss>http://rcoder.net/content/contraction/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
