<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>sneaq.</title>
    <description>Stomping on a human face for 30 seconds at a time</description>
    <link>http://sneaq.net/</link>
    <item>
      <title>Developing a Product Sometimes Means Removing Features</title>
      <description>&lt;p&gt;As part of my &lt;a href="http://www.viget.com"&gt;daily job&lt;/a&gt;, we're constantly balancing business value with level of effort when planning which features to include in an upcoming iteration.  After reviewing an iteration's work with a client, follow-on conversations usually revolve around adding new features to the product. I was glad to see that &lt;a href="http://digg.com"&gt;Digg&lt;/a&gt; sometimes has a &lt;a href="http://blog.digg.com/?p=289"&gt;different approach&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;In the next week or so, we&#8217;ll be closing down the podcasts section and folding
    it into the video section of Digg. We&#8217;ll also be retiring the old Digg Spy. Both
    of these features have become outmoded as Digg has grown and as a result they
    have a very small number of users (under 1,000) each.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I think that the key to this sort of activity is having a clear reason to remove a feature.  In Digg's case, they were keeping an eye on their metrics and were able to justify the removal of both features based on quantifiable evidence.&lt;/p&gt;

&lt;p&gt;In the early stages of development, it's not always an option to remove a feature.  The best way to make this happen is to launch early and often and let your users decide which features are valuable and which ones aren't.&lt;/p&gt;</description>
      <pubDate>Sat, 11 Oct 2008 11:39:47 +0000</pubDate>
      <link>http://sneaq.net/developing-a-product-sometimes-means-removing-features</link>
      <guid>http://sneaq.net/developing-a-product-sometimes-means-removing-features</guid>
    </item>
    <item>
      <title>Simple</title>
      <description>&lt;p&gt;2 ways:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
$ alias irb='irb --prompt simple'
$ echo &amp;quot;IRB.conf[:PROMPT_MODE] = :SIMPLE&amp;quot; &amp;gt;&amp;gt; ~/.irbrc
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description>
      <pubDate>Mon, 06 Oct 2008 18:31:51 +0000</pubDate>
      <link>http://sneaq.net/simple</link>
      <guid>http://sneaq.net/simple</guid>
    </item>
    <item>
      <title>Tracking Changes in Git</title>
      <description>&lt;p&gt;I've always heard people refer to creating 'tracking branches' but never really knew how to set one up.  I think I've figured it out - here's my current workflow:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
  $ git clone my_git_repo
  $ git remote add other_source other_git_repo
  $ git fetch other_source
  $ git branch --track other_source_master other_source/master
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Once I have that set up, I can integrate others' changes:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
  $ git checkout master
  $ git checkout -b merge_area
  $ git merge other_source_master
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Any time I want to pull upstream changes from the other remote source:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
  $ git checkout other_source_master
  $ git pull
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description>
      <pubDate>Sun, 05 Oct 2008 11:13:04 +0000</pubDate>
      <link>http://sneaq.net/tracking-changes-in-git</link>
      <guid>http://sneaq.net/tracking-changes-in-git</guid>
    </item>
    <item>
      <title>Unit Testing Your ApplicationController</title>
      <description>&lt;p&gt;Do it!&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
&lt;span style="color:#080; font-weight:bold"&gt;class&lt;/span&gt; &lt;span style="color:#B06; font-weight:bold"&gt;ApplicationControllerTest&lt;/span&gt; &amp;lt; &lt;span style="color:#036; font-weight:bold"&gt;ActiveSupport&lt;/span&gt;::&lt;span style="color:#036; font-weight:bold"&gt;TestCase&lt;/span&gt;
  context &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#D20"&gt;An instance of ApplicationController&lt;/span&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt; &lt;span style="color:#080; font-weight:bold"&gt;do&lt;/span&gt;

    setup { &lt;span style="color:#33B"&gt;@controller&lt;/span&gt; = &lt;span style="color:#036; font-weight:bold"&gt;ApplicationController&lt;/span&gt;.new }

    should &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#D20"&gt;return nil when there is no :user_id in session&lt;/span&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt; &lt;span style="color:#080; font-weight:bold"&gt;do&lt;/span&gt;
      &lt;span style="color:#33B"&gt;@controller&lt;/span&gt;.stubs(&lt;span style="color:#A60"&gt;:session&lt;/span&gt;).returns({})
      assert_nil &lt;span style="color:#33B"&gt;@controller&lt;/span&gt;.current_user
    &lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;

    should &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#D20"&gt;retrieve the current user when there is a :user_id in session&lt;/span&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt; &lt;span style="color:#080; font-weight:bold"&gt;do&lt;/span&gt;
      user = Factory(&lt;span style="color:#A60"&gt;:user&lt;/span&gt;)
      &lt;span style="color:#33B"&gt;@controller&lt;/span&gt;.stubs(&lt;span style="color:#A60"&gt;:session&lt;/span&gt;).returns({&lt;span style="color:#A60"&gt;:user_id&lt;/span&gt; =&amp;gt; user.id})

      assert_equal user, &lt;span style="color:#33B"&gt;@controller&lt;/span&gt;.current_user
    &lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;

    should &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#D20"&gt;return nil when the :user_id in session can't be found in the database&lt;/span&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt; &lt;span style="color:#080; font-weight:bold"&gt;do&lt;/span&gt;
      &lt;span style="color:#33B"&gt;@controller&lt;/span&gt;.stubs(&lt;span style="color:#A60"&gt;:session&lt;/span&gt;).returns(&lt;span style="color:#A60"&gt;:user_id&lt;/span&gt; =&amp;gt; &lt;span style="color:#00D; font-weight:bold"&gt;1&lt;/span&gt;)

      assert_nil &lt;span style="color:#33B"&gt;@controller&lt;/span&gt;.current_user
    &lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;

  &lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;
&lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description>
      <pubDate>Tue, 30 Sep 2008 19:28:34 +0000</pubDate>
      <link>http://sneaq.net/unit-testing-your-applicationcontroller</link>
      <guid>http://sneaq.net/unit-testing-your-applicationcontroller</guid>
    </item>
    <item>
      <title>Setting Session Data the Old-School Way</title>
      <description>&lt;p&gt;Rails provides an easy way to send session data in functional tests when accessing an action (the 3rd parameter is session data):&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
  get &lt;span style="color:#A60"&gt;:index&lt;/span&gt;, {}, {&lt;span style="color:#A60"&gt;:user_id&lt;/span&gt; =&amp;gt; &lt;span style="color:#00D; font-weight:bold"&gt;1&lt;/span&gt;}
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;As you add to your functional test suite, this becomes quite tedious and doesn't play well with tools like &lt;a href="http://www.thoughtbot.com/projects/shoulda"&gt;Shoulda&lt;/a&gt;.  Here's where doing it the old-school way helps:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
context &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#D20"&gt;A GET to :index&lt;/span&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt; &lt;span style="color:#080; font-weight:bold"&gt;do&lt;/span&gt;
  context &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#D20"&gt;as a logged-in user&lt;/span&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt; &lt;span style="color:#080; font-weight:bold"&gt;do&lt;/span&gt;
    setup &lt;span style="color:#080; font-weight:bold"&gt;do&lt;/span&gt;
      &lt;span style="color:#33B"&gt;@request&lt;/span&gt;.session[&lt;span style="color:#A60"&gt;:user_id&lt;/span&gt;] = Factory(&lt;span style="color:#A60"&gt;:user&lt;/span&gt;)
      get &lt;span style="color:#A60"&gt;:index&lt;/span&gt;
    &lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;

    should_assign_to &lt;span style="color:#A60"&gt;:messages&lt;/span&gt;      
    should_render_template &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;span style="color:#D20"&gt;index&lt;/span&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;/span&gt;
  &lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;
&lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Thanks to &lt;a href="http://github.com/mig"&gt;Matt&lt;/a&gt; for giving me a hand with this today.&lt;/p&gt;</description>
      <pubDate>Mon, 29 Sep 2008 17:54:21 +0000</pubDate>
      <link>http://sneaq.net/setting-session-data-the-old-school-way</link>
      <guid>http://sneaq.net/setting-session-data-the-old-school-way</guid>
    </item>
    <item>
      <title>Overwriting "Constants"</title>
      <description>&lt;p&gt;In Ruby, constants aren't the same as in other languages since you can change them at runtime. This code:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
&lt;span style="color:#036; font-weight:bold"&gt;ENDPOINT_URL&lt;/span&gt; = &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;span style="color:#D20"&gt;http://mysubdomain.unfuddle.com/api/v1/&lt;/span&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;/span&gt;
&lt;span style="color:#036; font-weight:bold"&gt;ENDPOINT_URL&lt;/span&gt; = &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;span style="color:#D20"&gt;http://othersubdomain.unfuddle.com/api/v1/&lt;/span&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;/span&gt;
puts &lt;span style="color:#036; font-weight:bold"&gt;ENDPOINT_URL&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;produces this output (including the warning):&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
warning: already initialized constant ENDPOINT_URL
http://othersubdomain.unfuddle.com/api/v1/
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;If you need to override a constant and don't want to trigger a warning (in a test environment, for example) you can use the &lt;tt&gt;replace&lt;/tt&gt; method:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
&lt;span style="color:#036; font-weight:bold"&gt;ENDPOINT_URL&lt;/span&gt; = &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;span style="color:#D20"&gt;http://mysubdomain.unfuddle.com/api/v1/&lt;/span&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;/span&gt;
&lt;span style="color:#036; font-weight:bold"&gt;ENDPOINT_URL&lt;/span&gt;.replace &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;span style="color:#D20"&gt;http://othersubdomain.unfuddle.com/api/v1/&lt;/span&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;/span&gt;
puts &lt;span style="color:#036; font-weight:bold"&gt;ENDPOINT_URL&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This will only work with those objects that have a &lt;tt&gt;replace&lt;/tt&gt; method defined (e.g. Array, Hash, and String) and the new value must have the same datatype.&lt;/p&gt;</description>
      <pubDate>Thu, 25 Sep 2008 16:33:39 +0000</pubDate>
      <link>http://sneaq.net/overwriting-constants</link>
      <guid>http://sneaq.net/overwriting-constants</guid>
    </item>
    <item>
      <title>The Inevitable MySQL Gem Install</title>
      <description>&lt;p&gt;Got your new box all set up? Let's &lt;a href="http://en.wikipedia.org/wiki/Cocaine"&gt;do some Rails&lt;/a&gt;:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
$ rake db:create
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please 
install the mysql gem and try again: gem install mysql.

rake aborted!
no such file to load -- mysql
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;If you're on Ubuntu, do this:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
$ sudo apt-get install libmysqlclient15-dev 
$ which mysql_config
/usr/bin/mysql_config

$ sudo gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
Building native extensions.  This could take a while...
Successfully installed mysql-2.7
1 gem installed
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;If you're running on OSX and have installed mysql from MacPorts, &lt;tt&gt;mysql_config&lt;/tt&gt; is already installed:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
$ sudo gem install mysql -- --with-mysql-config=/opt/local/bin/mysql_config5
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Done.&lt;/p&gt;</description>
      <pubDate>Wed, 24 Sep 2008 03:58:11 +0000</pubDate>
      <link>http://sneaq.net/the-inevitable-mysql-gem-install</link>
      <guid>http://sneaq.net/the-inevitable-mysql-gem-install</guid>
    </item>
    <item>
      <title>Fun With Association Proxies</title>
      <description>&lt;p&gt;Not only are tags great, they're a requirement of Web 2.0 (read the handbook).  Here's a quick way to pull out those tags in a meaningful way:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
&lt;span style="color:#080; font-weight:bold"&gt;class&lt;/span&gt; &lt;span style="color:#B06; font-weight:bold"&gt;Post&lt;/span&gt; &amp;lt; &lt;span style="color:#036; font-weight:bold"&gt;ActiveRecord&lt;/span&gt;::&lt;span style="color:#036; font-weight:bold"&gt;Base&lt;/span&gt;
  has_many &lt;span style="color:#A60"&gt;:taggings&lt;/span&gt;
  has_many &lt;span style="color:#A60"&gt;:tags&lt;/span&gt;, &lt;span style="color:#A60"&gt;:through&lt;/span&gt; =&amp;gt; &lt;span style="color:#A60"&gt;:taggings&lt;/span&gt; &lt;span style="color:#080; font-weight:bold"&gt;do&lt;/span&gt;
    &lt;span style="color:#080; font-weight:bold"&gt;def&lt;/span&gt; &lt;span style="color:#06B; font-weight:bold"&gt;to_s&lt;/span&gt;
      &lt;span style="color:#038; font-weight:bold"&gt;self&lt;/span&gt;.map(&amp;amp;&lt;span style="color:#A60"&gt;:name&lt;/span&gt;).join(&lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;span style="color:#D20"&gt;, &lt;/span&gt;&lt;span style="color:#710"&gt;'&lt;/span&gt;&lt;/span&gt;)
    &lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;
  &lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;
&lt;span style="color:#080; font-weight:bold"&gt;end&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Now, calling &lt;tt&gt;@post.tags.to_s&lt;/tt&gt; will return the list of tag names separated by commas.  The real magic is when you do this:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
puts &lt;span style="background-color:#fff0f0"&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background: #eee"&gt;&lt;span style="font-weight: bold; color: #888"&gt;#{&lt;/span&gt;&lt;span style="color:#33B"&gt;@post&lt;/span&gt;.tags&lt;span style="font-weight: bold; color: #888"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#710"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description>
      <pubDate>Tue, 23 Sep 2008 05:54:34 +0000</pubDate>
      <link>http://sneaq.net/fun-with-association-proxies</link>
      <guid>http://sneaq.net/fun-with-association-proxies</guid>
    </item>
    <item>
      <title>Dot-Underscore Hell</title>
      <description>&lt;p&gt;A frustrating situation courtesy of OSX and mounted drives (over SMB in this case):&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
linux-host$ svn status
?      site/actions/._contact.php
M      site/actions/contact.php
?      site/conf/._controller-config.ini
?      site/conf/._nav-config.php
M      site/conf/nav-config.php
?      site/templates/._contact.php
M      site/templates/contact.php
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Luckily, there's a command for that (OSX Leopard):&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
mac$ dot_clean .
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
linux-host$ svn status
M      site/actions/contact.php
M      site/conf/nav-config.php
M      site/templates/contact.php
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;See &lt;tt&gt;man dot_clean&lt;/tt&gt; for more information.  Credit to &lt;a href="http://www.macworld.com/article/132556/2008/04/geekfactor2504.html"&gt;MacWorld&lt;/a&gt; for this tip.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Since posting this, &lt;a href="http://www.websideattractions.com/"&gt;Brian&lt;/a&gt; pointed out that this is most likely a &lt;a href="http://manual.macromates.com/en/saving_files#extended_attributes_metadata"&gt;setting inside of TextMate&lt;/a&gt;.  To disable, just run this command from a terminal:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Do &lt;strong&gt;not&lt;/strong&gt; run this using &lt;tt&gt;sudo&lt;/tt&gt; if you want it to work (I found out the hard way).&lt;/p&gt;</description>
      <pubDate>Mon, 22 Sep 2008 19:01:24 +0000</pubDate>
      <link>http://sneaq.net/dot-underscore-hell</link>
      <guid>http://sneaq.net/dot-underscore-hell</guid>
    </item>
    <item>
      <title>Freezing Just a Single Gem</title>
      <description>&lt;p&gt;Sometimes you don't want them all frozen (maybe you want to build Hpricot on your target system instead):&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;
  $ rake gems:unpack GEM=coderay
  (in /Users/preagan/Projects/sneaq)
  Unpacked gem: '/Users/preagan/Projects/sneaq/vendor/gems/coderay-0.7.4.215'
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description>
      <pubDate>Mon, 22 Sep 2008 01:42:10 +0000</pubDate>
      <link>http://sneaq.net/freezing-just-a-single-gem</link>
      <guid>http://sneaq.net/freezing-just-a-single-gem</guid>
    </item>
    <item>
      <title>Hello, World</title>
      <description>&lt;p&gt;I'm pretty terrible with the whole blogging thing, so this is my attempt to bridge the gap between the verbosity of &lt;a href="http://twitter.com"&gt;140 characters&lt;/a&gt; and a full-fledged blog post.  To make this whole thing easier, I wrote my own &lt;a href="http://github.com/reagent/sneaq/tree/master"&gt;custom blogging software&lt;/a&gt; - we'll see how it goes...&lt;/p&gt;</description>
      <pubDate>Mon, 22 Sep 2008 01:34:03 +0000</pubDate>
      <link>http://sneaq.net/hello-world</link>
      <guid>http://sneaq.net/hello-world</guid>
    </item>
  </channel>
</rss>
