<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
   <channel>
      <title>Andre Lewis is on the Internet</title>
      <link>http://earthcode.com/</link>
      <description />
      <language>en</language>
      <copyright>Copyright 2011</copyright>
      <lastBuildDate>Tue, 05 Oct 2010 20:44:43 -0800</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=4.25</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

      
      <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/earthcode" /><feedburner:info uri="earthcode" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>37.770937</geo:lat><geo:long>-122.442763</geo:long><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item>
         <title>A Sous Vide Cooking Experiment</title>
         <description><![CDATA[<p>I love a juicy, tender steak. After reading a few articles about the mouth-watering possibilities of sous vide cooking, I had to try it myself.</p>

<h2>What's Sous Vide?</h2>

<p>Take your steaks (or your fish or your veggies) and vacuum-seal 'em. Put them in a low-temperature bath for longer than you expect. <strong>That's sous vide</strong>. It's not poaching, because water never touches the food. Meat cooks completely in its own juices, and it physically <strong>cannot overcook</strong>, because the water temperature is exactly the temperature you want the meat to be. </p>

<p>High-end restaurants use expensive heaters and cirulators to make this work. The most affordable home sous vide setup is <a href="http://www.surlatable.com/product/id/231522.do">$450 from Sur La Table</a>. Here's the deal though: <strong>it's just hot water. You can do this at home.</strong></p>

<h2>Season the steaks</h2>

<p>A perfect, succulent, medium-rare steak is 130&deg;. You guarantee perfect medium-rareness by keeping the water at exactly that temperature. </p>

<p><img src="http://earthcode.com/img/sousvide/peppered.jpg" style="border:3px solid #bbb;margin:8px;"></p>

<p>I went with some new york strips from Whole Foods, and seasoned them simply with fresh ground pepper and sea salt on both sides. </p>

<h2>Bag 'em up</h2>

<p>Professional sous vide gear uses sealed, vacuum-packed plastic cooking baggies. It turns out that ziplock bags work just as well. The temperature we are cooking at is (apparently) well beneath that at which the ziplocks will leach into your food.</p>

<p><img src="http://earthcode.com/img/sousvide/bagged.jpg" style="border:3px solid #bbb;margin:8px;"></p>

<p>Here's the trick to getting as much air out as possible: immerse the bags into a bowl of cold water. The water pushes all the air out. Just zip the bag and you're set -- cheapo vacuum-pack.</p>

<p><img src="http://earthcode.com/img/sousvide/sealed.jpg" style="border:3px solid #bbb;margin:8px;"></p>

<p>I also threw some thyme into the bags for a little seasoning flair.</p>

<h2>Into the hot water</h2>

<p>My initial plan was to heat the water separately to a few degrees above target, and let the <a href="http://www.seriouseats.com/2010/04/cook-your-meat-in-a-beer-cooler-the-worlds-best-sous-vide-hack.html">cooking happen in a cooler</a>. The idea is that the insulated cooler contains the heat sufficiently for an hour or two &mdash; long enough for your steaks to cook.</p>

<p><img src="http://earthcode.com/img/sousvide/heating_water.jpg" style="border:3px solid #bbb;margin:8px;">
<img src="http://earthcode.com/img/sousvide/in_cooler.jpg" style="border:3px solid #bbb;margin:8px;"></p>

<p>As ingenious as this hack sounds, it didn't work for me. My cooler was losing water temperature too quickly. No problem; I transferred it to the stovetop in the dutch oven over the lowest possible flame, and monitored it for temperature:</p>

<p><img src="http://earthcode.com/img/sousvide/dutch_oven.jpg" style="border:3px solid #bbb;margin:8px;"></p>

<p>Total cooking time: about two hours. The time depends most on the thickness of your steak. Refer to <a href="http://amath.colorado.edu/~baldwind/sous-vide.htm">this excellent article</a> for cooking times.</p>

<h2>Out of the hot water, into the frying pan</h2>

<p>You can't have a great steak without a nice crust. That crust doesn't happen underwater. Heat up a thick-bottomed pan <strong>very hot</strong> with some olive oil. As the oil begins to smoke, transfer the steaks to the pan for 30-60 seconds on each side. The caramelization adds essential flavor and makes the steak look like a steak. Warning: this step will smoke up your kitchen.</p>

<h2>The verdict</h2>

<p><img src="http://earthcode.com/img/sousvide/plated.jpg" style="border:3px solid #bbb;margin:8px;">
<img src="http://earthcode.com/img/sousvide/sliced.jpg" style="border:3px solid #bbb;margin:8px;"></p>

<p>The steaks were delicious. The texture and flavor were amazing. The tenderness of these steaks easily surpassed that of much pricier fillets I've cooked using traditional methods.</p>

<p>So the steaks were a win. The process, not so much. One of the big advantages of sous-vide is <strong>unattended cooking</strong>: drop the food into its cozy hot bath and walk away for a few hours. It doesn't matter if stays in there an extra hour because (remember) <strong>it can't overcook</strong>.</p>

<p>The home-brew setup doesn't provide that key benefit of unattended cooking. I had to watch the temperature and adjust the burner over the two-hour cooking time. That's fine for an experimental session, but it's not viable for day-to-day use.</p>

<h2>The next step</h2>

<p>Here are two low-budget alternatives that still provide totally unattended cooking:</p>

<ol>
<li>This <a href="http://seattlefoodgeek.com/2010/02/diy-sous-vide-heating-immersion-circulator-for-about-75/">completely awesome do-it-yourself setup</a>. Can be constructed for ~$80. </li>
<li>A $140 <a href="http://www.auberins.com/index.php?main_page=product_info&amp;products_id=44">thermometer probe / controller</a> for use with a rice cooker. I'll probably go this route &mdash; It will take up minimal space and allow the rice cooker to do double-duty.</li>
</ol>

<h2>Sous Vide links</h2>

<ul>
<li><a href="http://www.seriouseats.com/2010/03/how-to-sous-vide-steak.html">How to cook a steak Sous Vide</a> at Serious Eats.</li>
<li>Lengthly <a href="http://amath.colorado.edu/~baldwind/sous-vide.html">technical Info</a>, including temperature matrices for various kinds of food.</li>
<li>The <a href="http://www.seriouseats.com/2010/04/cook-your-meat-in-a-beer-cooler-the-worlds-best-sous-vide-hack.html">cooking in a cooler</a> thread that started this whole endeavor.</li>
<li>A good <a href="http://news.ycombinator.com/item?id=1093433">Hacker News thread</a> on cooking Sous Vide.</li>
</ul>
]]></description>
         <link>http://earthcode.com/blog/2010/10/a_sous_vide_cooking_experiment.html</link>
         <guid>http://earthcode.com/blog/2010/10/a_sous_vide_cooking_experiment.html</guid>
         <category>Cooking</category>
         <pubDate>Tue, 05 Oct 2010 20:44:43 -0800</pubDate>
      </item>
      
      <item>
         <title>Rails on Ruby 1.9.1 in production: just do it</title>
         <description><![CDATA[<p><img src="http://img.skitch.com/20100111-n8nimfbxwrb9i33p1td7whd5fw.png" style="float:right; margin:10px;" /></p>

<p>Two of my side projects, <a href="http://shapewiki.com">shapewiki</a> and <a href="hotspotr.com">hotspotr</a> are now running in production on Ruby 1.9.1. There are some good resources out there for getting familiar with Ruby 1.9. I wanted to share a few tips/observations on the upgrade process.</p>

<p><strong>Gem/plugin compatibility:</strong> not really an issue on the two projects I deployed. Obviously, your experience will be a case-by-case depending on the gems/plugins you use. My takeaway was that the apprehension of dealing with this was far worse than actually dealing with it. The worst case was having to seek out a newer version (acts_as_versioned) or swapping in an alternative (nokogiri). Some of the gems/plugins I dealt with were:</p>

<ul>
<li><code>authlogic</code>: ok</li>
<li><code>geokit</code>: ok</li>
<li><code>acts_as_versioned</code>: ok, I had a pretty old version and updated it to: <code>http://github.com/technoweenie/acts_as_versioned/tree/master</code></li>
<li><code>hpricot</code>: seemed ok until I ran into run-time issues, had to switch to nokogiri. Which turned out to be very easy, essentially no code changes. Note: I did this part six months ago, and haven't checked hpricot since, so it may be fine now.</li>
<li><code>haml</code>: ok</li>
<li><code>mislav-will_paginate</code>: ok</li>
</ul>

<p><strong>Local development environment:</strong> there's just one thing you need to know: <a href="http://rvm.beginrescueend.com/">RVM</a>. RVM makes it incredibly easy to install 1.9 and switch back and forth frictionlessly. And if you're concerned about messing up your working-just-right current system, don't be: you can revert back to your original setup in one command, or remove all traces of RVM whenever you want to. But trust me, you won't want to. RVM is awesome. Install it now so you can start doing the right thing.</p>

<p><strong>Character encoding issues:</strong> this is what kept me off of 1.9 for quite a while. I initially got a few applications running on 1.9 six months ago, but ran into problems in production with extended characters from existing production data. Here are the fixes that finally got me up and running: <a href="http://gist.github.com/273741">http://gist.github.com/273741</a>. Just drop this into your Rails app as <code>confit/initializers/ruby_191_hacks.rb</code> and you should be good as long as your database content is stored as UTF-8. </p>

<p><strong>Ruby 1.9.1 in production:</strong> I took the shortcut of just using RVM to install Ruby 1.9 in production as well. A dedicated installation probably makes sense in the future, but the RVM installation works fine for now.</p>

<p>I feel strongly that building &amp; maintaining momentum on Ruby 1.9 is important for the Ruby and Rails communities. <strong>The important thing to know is that it's not hard</strong>. RVM makes it very easy to dip your toes. Gem and plugin compatibility is very good at this point, and getting better all the time. So go ahead, install RVM and start the process. Once you've upgraded your app or got a new gem working on 1.9, put up a quick post or tweet on it. Every bit helps us move forward as a community! </p>
]]></description>
         <link>http://earthcode.com/blog/2010/01/rails_on_ruby_191_in_productio.html</link>
         <guid>http://earthcode.com/blog/2010/01/rails_on_ruby_191_in_productio.html</guid>
         <category>Ruby</category>
         <pubDate>Sun, 10 Jan 2010 11:54:34 -0800</pubDate>
      </item>
      
      <item>
         <title>RubyMine + Snow Leopard</title>
         <description><![CDATA[<p><strong>UPDATE</strong>: this issue turned out to be part of a larger issue with a failing logic board on my macbook pro. RubyMine continues to be an awesome IDE for Rails development.</p>

<p>RubyMine is a pretty sweet IDE. I've been using it for a few versions now, including the current 2.0 beta.</p>

<p>However, I hit snag when I upgraded my Mac to Snow Leopard this weekend -- RubyMine was showing gibberish for any file I opened. Apparently, RubyMine is trying to use a font which doesn't exist on my upgraded Snow Leopard system. A quick fix is to go into RubyMine's preferences->fonts:</p>

<p><img src="http://img.skitch.com/20091026-etbw53kkyf8sptrkwjixynjwah.png" alt="Rubymine garbled text fix" title="" /></p>

<p>And change it to another monospaced font of your choosing. Hope this helps someone who encounters the same issue.</p>
]]></description>
         <link>http://earthcode.com/blog/2009/10/rubymine_snow_leopard_garbled.html</link>
         <guid>http://earthcode.com/blog/2009/10/rubymine_snow_leopard_garbled.html</guid>
         <category>Ruby</category>
         <pubDate>Mon, 26 Oct 2009 22:40:34 -0800</pubDate>
      </item>
      
      <item>
         <title>Business lessons learned</title>
         <description><![CDATA[<p>Scout, our <a href="http://scoutapp.com">server monitoring service</a>, has grown quite a bit in 2009.</p>

<p>We've documented two big lessons learned on the Scout blog. The main points:</p>

<ul>
<li>You will underestimate the ongoing cost of complexity in your product</li>
<li>Cool new capabilities don't sell themselves</li>
</ul>

<p><a href="http://blog.scoutapp.com/articles/2009/10/06/we-just-undid-three-months-of-dev-work-heres-what-we-learned">Give it a read</a>! We will have more hard-earned business lessons coming, so stay tuned.</p>
]]></description>
         <link>http://earthcode.com/blog/2009/10/business_lessons_learned.html</link>
         <guid>http://earthcode.com/blog/2009/10/business_lessons_learned.html</guid>
         <category>Entrepreneurial</category>
         <pubDate>Wed, 07 Oct 2009 11:31:48 -0800</pubDate>
      </item>
      
      <item>
         <title>Load Averages, Explained</title>
         <description><![CDATA[<p>Just did a writeup on <a href="http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages">Understanding CPU Load Averages</a> over on the Scout Blog ... it uses a traffic analogy to illustrate what load averages numbers depending upon how many cores/processors you have. </p>

<p>If you like the post, feel free to upvote on <a href="http://news.ycombinator.com/item?id=739687">hacker news</a>!</p>
]]></description>
         <link>http://earthcode.com/blog/2009/08/load_averages_explained.html</link>
         <guid>http://earthcode.com/blog/2009/08/load_averages_explained.html</guid>
         <category>system</category>
         <pubDate>Mon, 03 Aug 2009 12:40:08 -0800</pubDate>
      </item>
      
      <item>
         <title>git remote branch</title>
         <description><![CDATA[<p>Charles Quinn sent me this link, and I immediately installed it: <a href="http://grb.rubyforge.org/">git_remote_branch</a>. It provides nice shortcuts for dealing with remote branches. Examples:</p>

<pre><code>$ grb create branch_name [origin_server]
</code></pre>

<p><em>Create a new local branch as well as a corresponding remote branch based on the branch you currently have checked out. Track the new remote branch. Checkout the new branch.</em></p>

<pre><code>$ grb publish branch_name [origin_server]
</code></pre>

<p><em>Publish an existing local branch to the remote server. Set up the local branch to track the new remote branch.</em></p>

<p>And an additional nice touch: grb "prints all commands it runs on your behalf in red, so you eventually learn them." Nice! The link again:  <a href="http://grb.rubyforge.org/">git_remote_branch</a>.</p>
]]></description>
         <link>http://earthcode.com/blog/2009/06/git_remote_branch.html</link>
         <guid>http://earthcode.com/blog/2009/06/git_remote_branch.html</guid>
         <category>Ruby</category>
         <pubDate>Wed, 03 Jun 2009 23:41:45 -0800</pubDate>
      </item>
      
      <item>
         <title>Rails script/runner + logging + cron + production</title>
         <description><![CDATA[<p>A quick tip: you're using <code>script/runner</code> in production (likely invoked via cron for a periodic background task), you probably are not seeing logging output in your <code>production.log</code>. Why? In production mode, the Rails logger doesn't auto-flush. As far as I can tell, the logging output is simply lost. </p>

<p>An easy solution that worked for me: adding a <code>Rails.logger.flush</code> to my script/runner call in cron.</p>

<p>Before:</p>

<pre><code>*/1 * * * * deploy PATH_TO_APP/script/runner -e production 'MyClass.do_it'
</code></pre>

<p>After:</p>

<pre><code>*/1 * * * * deploy PATH_TO_APP/script/runner -e production 'MyClass.do_it; Rails.logger.flush'
</code></pre>

<p>Bonus tip: to capture any other output from the cron task, use this:</p>

<pre><code>*/1 * * * * deploy PATH_TO_APP/script/runner -e production 'MyClass.do_it; Rails.logger.flush' &gt;&gt; PATH_TO_APP/log/my.log 2&gt;&amp;1
</code></pre>

<p>Happy logging!</p>
]]></description>
         <link>http://earthcode.com/blog/2009/05/rails_script_runner_logging_cron.html</link>
         <guid>http://earthcode.com/blog/2009/05/rails_script_runner_logging_cron.html</guid>
         <category>system</category>
         <pubDate>Tue, 26 May 2009 09:00:00 -0800</pubDate>
      </item>
      
      <item>
         <title>Contributing on Github? Don't forget the tests!</title>
         <description><![CDATA[<p>I just wrote up some <a href="http://geokit.rubyforge.org/contributing.html">tips for contributing patches</a> to Geokit. Pretty applicable to any open source project. If I had to condense it to just one word, that word would definitely be <strong>tests</strong> :-)</p>

<p>Also some specifics on running tests for the gem and the plugin there.</p>
]]></description>
         <link>http://earthcode.com/blog/2009/05/contributing_on_github_dont_fo.html</link>
         <guid>http://earthcode.com/blog/2009/05/contributing_on_github_dont_fo.html</guid>
         <category>GeoKit</category>
         <pubDate>Fri, 22 May 2009 02:18:24 -0800</pubDate>
      </item>
      
      <item>
         <title>Ruby 1.9.1 is the bomb</title>
         <description><![CDATA[<p>More on this soon. All I can say for now is:</p>

<p><strong>Ruby 1.8.6:</strong></p>

<pre><code>Completed in 3368ms (View: 2256, DB: 8) | 200 OK [http://hotspotr.com/wifi/list/14-austin-tx]
Completed in 3668ms (View: 2420, DB: 8) | 200 OK [http://hotspotr.com/wifi/list/14-austin-tx]
Completed in 3312ms (View: 1964, DB: 12) | 200 OK [http://hotspotr.com/wifi/list/14-austin-tx]
Completed in 3296ms (View: 1896, DB: 8) | 200 OK [http://hotspotr.com/wifi/list/14-austin-tx]
</code></pre>

<p><strong>Ruby 1.9.1</strong></p>

<pre><code>Completed in 989ms (View: 593, DB: 7) | 200 OK [http://hotspotr.com/wifi/list/14-austin-tx]
Completed in 1035ms (View: 591, DB: 6) | 200 OK [http://hotspotr.com/wifi/list/14-austin-tx]
Completed in 1055ms (View: 588, DB: 7) | 200 OK [http://hotspotr.com/wifi/list/14-austin-tx]
Completed in 985ms (View: 592, DB: 7) | 200 OK [http://hotspotr.com/wifi/list/14-austin-tx]
</code></pre>
]]></description>
         <link>http://earthcode.com/blog/2009/05/ruby_191_is_the_bomb.html</link>
         <guid>http://earthcode.com/blog/2009/05/ruby_191_is_the_bomb.html</guid>
         <category>Ruby on Rails</category>
         <pubDate>Tue, 12 May 2009 20:22:17 -0800</pubDate>
      </item>
      
      <item>
         <title>Get your character encodings synched up</title>
         <description><![CDATA[<p>With Ruby 1.9 out there and all the <a href="http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings">multibyte string goodness</a> it brings, it's a good time to think about your character encodings. Here are a few pointers on getting everything synched up.</p>

<h3>1. MySQL encoding.</h3>

<p><strong>How to check it:</strong> I use Sequel Pro ... just click on a table name for the metadata:</p>

<p><img src="http://img.skitch.com/20090412-rhj32iuc73errh5u4puaiawsgs.png" /></p>

<p><strong>How to change it if it's wrong:</strong></p>

<p>I had a bunch of UTF content living in a latin1 table (MySQL calls it <code>ISO-5589-1 latin1</code>). To fix this, export your database and re-  import as UTF <a href="http://alexking.org/blog/2008/03/06/mysql-latin1-utf8-conversion">Details are here</a>, but the gist of it is:</p>

<pre><code>mysqldump -uUSER -pPASSWORD --default-character-set=latin1 DB_NAME | sed 's/latin1/utf8/' &gt; temp.sql 
mysql -uUSER -pPASSWORD DBNAME  &lt; temp.sql
</code></pre>

<p>Why not just run the conversions in-place (<code>ALTER TABLE table_XXX CONVERT TO CHARACTER SET utf8 COLLATE utf8_ci;</code>)? That's a different operation -- CONVERT TO CHARACTER SET is appropriate when your content and your DB's encoding already match, and you want to convert it to another encoding. If you have a mismatch in content and encoding, the export/import trick is just what you need. Discussion on additional techniques are <a href="http://www.mysqlperformanceblog.com/2007/12/18/fixing-column-encoding-mess-in-mysql/">here</a>.</p>

<h3>2. The charset defined in your HTML headers</h3>

<p><strong>How to check it:</strong> use curl</p>

<pre><code>~ $ curl -I http://hotspotr.com
HTTP/1.1 302 Found
...
Content-Type: text/html; charset=utf-8
</code></pre>

<p>Rails uses utf-8 by default, so unless you've consciously changed it you should be good.</p>

<h3>3. The charset specified in your HTML metatags.</h3>

<p><strong>How to check it:</strong> just view your source and look for something along the lines of <code>&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;</code>. Yes, this is different from the charset in the headers. Mine didn't match on one site. Fortunately, browsers pretty much ignore the metatags in favor of the value given in the header. Still, if you've got a mismatch, it's trivial to fix.</p>

<p><strong>How to fix:</strong> open up your application.html.erb and make the change.</p>

<h3>4. Your database.yml</h3>

<p>Just make sure you have the line <code>encoding: utf8</code> in your database configuration blocks in database.yml.</p>

<h3>5. One more thing to look at...</h3>

<p>if you're doing static html caching, then Apache (or whatever web server you're using) probably controls the charset when it serves up the cached page. Make sure it's setting the right charset. More details <a href="http://www.igvita.com/2007/06/13/caching-and-mime-types-in-rails/">here</a></p>
]]></description>
         <link>http://earthcode.com/blog/2009/05/ruby_character_encodings.html</link>
         <guid>http://earthcode.com/blog/2009/05/ruby_character_encodings.html</guid>
         <category>Ruby on Rails</category>
         <pubDate>Fri, 01 May 2009 19:32:20 -0800</pubDate>
      </item>
      
      <item>
         <title>Gem graphs, new in RubyGems</title>
         <description><![CDATA[<p>Cool. The newly released <a href="http://blog.segment7.net/articles/2009/04/15/rubygems-1-3-2">RubyGems 1.3.2</a> has plugins, <a href="http://blog.zenspider.com/2009/04/rubygems-now-has-plugins.html">one of which is graphs</a>. Here is my graph for my Ruby 1.8:</p>

<p><a href="/images/RubygemsAnalyzer.gif"><img src="/images/RubygemsAnalyzerSmall.png" /></a></p>

<p>And here is my graph for Ruby 1.9:</p>

<p><a href="/images/RubygemsAnalyzer19.gif"><img src="/images/RubygemsAnalyzer19.gif" width="700px"/></a></p>
]]></description>
         <link>http://earthcode.com/blog/2009/04/gem_graphs_new_in_rubygems.html</link>
         <guid>http://earthcode.com/blog/2009/04/gem_graphs_new_in_rubygems.html</guid>
         <category>Ruby on Rails</category>
         <pubDate>Wed, 22 Apr 2009 19:04:58 -0800</pubDate>
      </item>
      
      <item>
         <title>Ruby 1.9.1 Compatibility + new IP geocoder in Geokit</title>
         <description><![CDATA[<p><a href="http://geokit.rubyforge.org">Geokit</a></p>

<ul>
<li>Adding GeoPluginGeocoder for IP geocoding (thanks github/xjunior)</li>
<li>Ruby 1.9.1 compatibility and Unicode fixes (thanks github/Nielsomat)</li>
<li>thanks other githubbers who fixed bugs/submitted patches</li>
</ul>
]]></description>
         <link>http://earthcode.com/blog/2009/02/ruby_191_compatibility_new_ip_geocoder.html</link>
         <guid>http://earthcode.com/blog/2009/02/ruby_191_compatibility_new_ip_geocoder.html</guid>
         <category>GeoKit</category>
         <pubDate>Sat, 14 Feb 2009 15:52:42 -0800</pubDate>
      </item>
      
      <item>
         <title>merge a github pull request w/one command</title>
         <description><![CDATA[<p>Getting pull requests from for your open-source project on github? The official instructions are here: <a href="http://github.com/guides/pull-requests">http://github.com/guides/pull-requests</a></p>

<p>Since I don't like typing, I automated the process in a very simple Ruby script: <a href="http://gist.github.com/64519">http://gist.github.com/64519</a></p>

<h3>What it does for you</h3>

<ol>
<li>adds the remote repo</li>
<li>checks out the remote repo as a local branch </li>
<li>pulls from the remote master or specific commit you provided</li>
<li>switches back to master</li>
<li>(with your confirmation) merges the just-checked out branch</li>
<li>(with your confirmation) deletes your just-checked out branch</li>
</ol>

<h3>To use</h3>

<ul>
<li>put the contents of the gist into ~/mergefrom.rb (or anywhere in your path)</li>
<li>make sure it's executable</li>
<li>(inside a git repo): <code>mergefrom git://github.com/foo/bar.git</code></li>
</ul>
]]></description>
         <link>http://earthcode.com/blog/2009/02/merge_a_github_pull_request_wo.html</link>
         <guid>http://earthcode.com/blog/2009/02/merge_a_github_pull_request_wo.html</guid>
         <category>git</category>
         <pubDate>Sat, 14 Feb 2009 15:23:56 -0800</pubDate>
      </item>
      
      <item>
         <title>Reverse Geocoding in Geokit Gem</title>
         <description><![CDATA[<p>I pushed Geokit Gem 1.2.1 this weekend, with some minor bug fixes, the inclusion of nautical miles (in addition to miles &amp; KM), and reverse geocoding (Google geocoder only).</p>

<p>Thanks to everyone on github who made updates and sent me pull requests. The reverse geocoding is from <a href="http://github.com/FloWi">FloWi</a>.</p>
]]></description>
         <link>http://earthcode.com/blog/2009/02/reverse_geocoding_in_geokit_ge.html</link>
         <guid>http://earthcode.com/blog/2009/02/reverse_geocoding_in_geokit_ge.html</guid>
         <category>GeoKit</category>
         <pubDate>Sun, 01 Feb 2009 21:22:19 -0800</pubDate>
      </item>
      
      <item>
         <title>Geokit 1.2: Gem + Rails plugin, Rails 2.2.2 ready</title>
         <description><![CDATA[<p>Geokit gets some love!</p>

<ul>
<li><strong>Gem released:</strong> Geokit is now separated into a Gem (<a href="http://github.com/andre/geokit-gem/tree/master">geokit-gem</a>) and a Rails plugin (<a href="http://github.com/andre/geokit-rails/tree/master">geokit-rails</a>). You can use the gem separately. The plugin requires the gem.</li>
<li><strong>Rails 2.2.2 compatible:</strong> the plugin is all updated for Rails 2.2.2</li>
<li><strong>Many bug fixes/updates</strong>: 
<ul>
<li>Improved Geocoder.us support -- respects authentication, and can geocode city names or zipcodes alone</li>
<li>cross-meridian finds work correctly with bounds conditions</li>
<li>fixed a problem with columns with "distance" in their name</li>
<li>added Geonames geocoder</li>
<li>the gem and plugin are now hosted at Github. The overall site is still at<a href="http://geokit.rubyforge.org">http://geokit.rubyforge.org</a></li>
</ul></li>
</ul>

<p>Geokit makes it easy to build location-based apps. It provides geocoding, location finders, and distance calculation in an easy-to-use API. </p>
]]></description>
         <link>http://earthcode.com/blog/2008/12/geokit_gem_rails_plugin_rails_2_2.html</link>
         <guid>http://earthcode.com/blog/2008/12/geokit_gem_rails_plugin_rails_2_2.html</guid>
         <category>GeoKit</category>
         <pubDate>Sun, 21 Dec 2008 18:57:27 -0800</pubDate>
      </item>
      
   </channel>
</rss>
