<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Robin Clarke - Perl and Life</title>
	<atom:link href="http://www.robinclarke.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.robinclarke.net</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 01 Feb 2012 20:07:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Perl interface to Google Directions API</title>
		<link>http://www.robinclarke.net/archives/perl-interface-to-google-directions-api</link>
		<comments>http://www.robinclarke.net/archives/perl-interface-to-google-directions-api#comments</comments>
		<pubDate>Wed, 01 Feb 2012 19:55:50 +0000</pubDate>
		<dc:creator>robin</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[Ironman]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[directions]]></category>
		<category><![CDATA[ironman]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.robinclarke.net/?p=664</guid>
		<description><![CDATA[Google has a pretty neat service for getting driving/cycling/walking directions between places, and now there&#8217;s a perl interface to it: Google::Directions (and on GitHub) It&#8217;s Moosey and it&#8217;s juicy&#8230; I hope it helps you get from A to B with Perl a bit faster! If anybody is top-fit with Moose::Util::TypeConstraints, I have some issues in this module [...]]]></description>
			<content:encoded><![CDATA[<p>Google has a pretty neat service for getting driving/cycling/walking directions between places, and now there&#8217;s a perl interface to it: <a title="Google::Directions" href="http://search.cpan.org/perldoc?Google::Directions" target="_blank">Google::Directions</a> (and on <a title="Google::Directions on GitHub" href="https://github.com/robin13/Google-Directions" target="_blank">GitHub</a>)</p>
<p>It&#8217;s Moosey and it&#8217;s juicy&#8230; I hope it helps you get from A to B with Perl a bit faster! <img src='http://www.robinclarke.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If anybody is top-fit with Moose::Util::TypeConstraints, I have some issues in this module which I don&#8217;t understand and would really appreciate some tips with. <img src='http://www.robinclarke.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And here&#8217;s some sample code:</p>
<pre>#!/usr/bin/env perl</pre>
<pre>use strict;
use warnings;
use Google::Directions::Client;
use Getopt::Long;</pre>
<pre>my %params;
GetOptions( \%params,
 'origin=s',
 'destination=s',
 );</pre>
<pre>my $goog = Google::Directions::Client-&gt;new();</pre>
<pre>my $response = $goog-&gt;directions( %params );
my $first_leg = $response-&gt;routes-&gt;[0]-&gt;legs-&gt;[0];
printf( "That journey will take you %0.1f minutes and %0.1fkm\n",
 ( $first_leg-&gt;duration / 60 ),
 ( $first_leg-&gt;distance / 1000 ),
 );</pre>
<pre># $&gt; ./test_directions.pl --origin "Munich, Germany" --destination "Hamburg, Germany"</pre>
<pre># That journey will take you 443.8 minutes and 778.5km</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.robinclarke.net/archives/perl-interface-to-google-directions-api/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The effects of cycling 10000km</title>
		<link>http://www.robinclarke.net/archives/the-effects-of-cycling-10000km</link>
		<comments>http://www.robinclarke.net/archives/the-effects-of-cycling-10000km#comments</comments>
		<pubDate>Tue, 31 Jan 2012 12:22:21 +0000</pubDate>
		<dc:creator>robin</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[cycling]]></category>
		<category><![CDATA[munich]]></category>

		<guid isPermaLink="false">http://www.robinclarke.net/?p=660</guid>
		<description><![CDATA[This post should have come out in September 2011 because that&#8217;s when the odometer on my bike wrapped from 9999km to 0km. The stats New price: 450€ (city bike, aluminium frame, solid carrier, hub dynamo, &#8230;) At the 10000km my bike was about 4 years old (but one year in storage) I cycled an average of [...]]]></description>
			<content:encoded><![CDATA[<p>This post should have come out in September 2011 because that&#8217;s when the odometer on my bike wrapped from 9999km to 0km.</p>
<h2>The stats</h2>
<ul>
<li>New price: 450€ (city bike, aluminium frame, solid carrier, hub dynamo, &#8230;)</li>
<li>At the 10000km my bike was about 4 years old (but one year in storage)</li>
<li>I cycled an average of 3300km per year that I used it</li>
<li>Never cycled outside of Munich city</li>
<li>No recreational cycling &#8211; all commuting</li>
<li>Average speed with winter tyres: 15km/h</li>
<li>Average speed with summer tyres: 18km/h</li>
</ul>
<h2>How much wear and tear on the bike?</h2>
<ul>
<li>Replaced break blocks 3 times</li>
<li>Replaced 3 tyres</li>
<li>Replaced 2 tubes</li>
<li>Replaced break and gear cables</li>
<li>One broken crank shaft bearing</li>
<li>One new saddle</li>
<li>Replaced rear sprocket</li>
<li>Replaced crank set and pedals</li>
<li>Purchased studded winter tyres</li>
<li>Replaced front halogen lamp with powerful LED lamp</li>
<li>Lots of oil&#8230;</li>
</ul>
<div>Total cost of maintenance over 3 years: ~250€</div>
<h2>Total cost of ownership</h2>
<p>Assuming a linear depreciation to 100€ over 5 years, the cost of the bicycle, plus maintenance (my work time not included): 127€/year</p>
<p>Given that at least 2/3 of the distance travelled was work related I can write off 5ct/km (flat-rate in German taxes): 110€ per year, so it only costs me <strong>~17€ per year to cycle</strong>.</p>
<p>Had I driven that distance by car (assuming a car which I would own: a 7 year old compact) it would have cost me about 200€ taxes, 500€ insurance, 400€ maintenance, and 700€ depreciation, plus 188€ for petrol: 2000€, minus the tax deduction of 660€ leaves <strong>1340€ for a small car</strong>.  Granted I wouldn&#8217;t have only driven the car in the city, so it&#8217;s not exactly comparable&#8230;</p>
<p>Had I got a year round ticked for the local municipal transport system (MVV), it would have cost me <strong>438€ for public transport. </strong>This could be written off 100% by using the flat rate.</p>
<h2>Other effects</h2>
<ul>
<li>Depending on the distance between home and work over the years, I had anything up to 1.5 hours of fresh air and light exercise per day.  At my last general medical check-up the doctor did a stress ECG on me and found all parameters well above &#8220;healthy&#8221;.  I&#8217;m sure that has something to do with cycling.</li>
<li>I haven&#8217;t had a single sick day in the last 10 years of work.  That&#8217;s not to say I was never sick, but nothing bad enough to keep me home.  Maybe not sitting in public transport (confined metal tubes full of coughing and sneezing people) helped too&#8230;</li>
<li>I hate sitting in traffic&#8230; I hardly ever sit in traffic&#8230; <img src='http://www.robinclarke.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Taking into account the time for walking to a car, driving through traffic, finding a parking spot, and walking from there to the destination, I&#8217;m always faster by bike than you will be by car in the city.</li>
<li>I&#8217;m always faster than public transport over short distances, and in the spring/summer/autumn faster over all distances (without breaking a sweat!).</li>
</ul>
<h2>Enough already?</h2>
<p>Get on your bike! <img src='http://www.robinclarke.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.robinclarke.net/archives/the-effects-of-cycling-10000km/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Home Kanban board</title>
		<link>http://www.robinclarke.net/archives/home-kanban-board</link>
		<comments>http://www.robinclarke.net/archives/home-kanban-board#comments</comments>
		<pubDate>Sun, 29 Jan 2012 15:27:01 +0000</pubDate>
		<dc:creator>robin</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.robinclarke.net/?p=650</guid>
		<description><![CDATA[I hate having to remember stuff&#8230; so I applied some tried and tested work practices and made a home kanban board. &#160; The example above has 4 tasks Feed the dog Feed the fish Get bread and milk Water the plants Daily tasks are blue/red Weekly tasks are yellow/green. Every day we can slide the marker below along one [...]]]></description>
			<content:encoded><![CDATA[<p>I hate having to remember stuff&#8230; so I applied some tried and tested work practices and made a home <a title="Kanban" href="http://en.wikipedia.org/wiki/Kanban" target="_blank">kanban</a> board.</p>
<p>&nbsp;</p>
<p><a href="http://www.robinclarke.net/wp-content/uploads/2012/01/home_kanban_1.jpg"><img class="alignnone size-medium wp-image-651" title="Home Kanban board" src="http://www.robinclarke.net/wp-content/uploads/2012/01/home_kanban_1-300x166.jpg" alt="" width="300" height="166" /></a></p>
<p>The example above has 4 tasks</p>
<ul>
<li>Feed the dog</li>
<li>Feed the fish</li>
<li>Get bread and milk</li>
<li>Water the plants</li>
</ul>
<p>Daily tasks are <span style="color: #0000ff;"><strong>blue</strong></span>/<span style="color: #ff0000;"><strong>red</strong></span></p>
<p>Weekly tasks are <span style="color: #e9e500;"><strong>yellow</strong></span>/<span style="color: #339966;"><strong>green</strong></span>.</p>
<p>Every day we can slide the marker below along one field (there&#8217;s two weeks shown, because 7 days aren&#8217;t evenly divisible by 2, but 14 are&#8230; <img src='http://www.robinclarke.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p>At the end of the day, all the pegs should have the colour of the day showing.</p>
<p>In the example above, today is Monday, and it&#8217;s a <span style="color: #0000ff;"><strong>blue</strong></span> day, and a <span style="color: #339966;"><strong>green</strong></span> week.  Whoever fed the dog and the fish already turned the cloths pegs around to show the <span style="color: #0000ff;"><strong>blue</strong></span> side.  Milk and bread hasn&#8217;t been bought yet (so the peg is still showing <span style="color: #ff0000;"><strong>red</strong></span> from the day before), and the plants haven&#8217;t been watered yet this week.</p>
<p>Construction is pretty straight forward.  For the pegs, get cheap plastic cloths pegs in four colours.  Take them apart and reassemble them so that each peg has two colours:</p>
<p><a href="http://www.robinclarke.net/wp-content/uploads/2012/01/two_colour_peg.jpg"><img class="alignnone size-medium wp-image-653" title="Two colour peg" src="http://www.robinclarke.net/wp-content/uploads/2012/01/two_colour_peg-300x151.jpg" alt="" width="300" height="151" /></a></p>
<p>The board is just a piece of 3mm MDF (cardboard will do too) with a spacer on the back to give it some distance to the wall.  On the bottom area, make 14&#215;2 rows, and colour them in with the four colours of the cloths pegs you have.  The only complicated bit is making the slider.  I used a piece of over exposed film for a nice frame, and a strip of transparent folder as the strip for it to run on.  If you use something smooth for your board, you can probably get away with whiteboard markers, or just cut a piece of paper to size and write/draw your tasks on it &#8211; the handy thing about the pegs: you&#8217;ll only be turning one at a time, and the rest will hold the paper for you!</p>
<p>The advantages of having a board like this in your household:</p>
<ul>
<li>Everyone automatically knows what has been done, and what has to be done without asking each other</li>
<li>Nothing gets done twice (feeding animals too much can be bad for them)</li>
<li>Your mind is free to think about more productive things than &#8220;what did I still have to do today?&#8221;</li>
</ul>
<p>Say begone to confusion and forgetfulness in your household and go Kanban today! <img src='http://www.robinclarke.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.robinclarke.net/archives/home-kanban-board/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interface to EFA (Elektronische Fahrplan Auskunft)</title>
		<link>http://www.robinclarke.net/archives/interface-to-efa</link>
		<comments>http://www.robinclarke.net/archives/interface-to-efa#comments</comments>
		<pubDate>Mon, 23 Jan 2012 10:49:23 +0000</pubDate>
		<dc:creator>robin</dc:creator>
				<category><![CDATA[Ironman]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.robinclarke.net/?p=633</guid>
		<description><![CDATA[Many Municipal Transport Authorities including London, San Francisco, Munich and Basel use the EFA (Elektronische Fahrplan Auskunft) to make transport details available to the public via web interface.  Their API is RESTful, and this is a reverse engineered Perl interface to the EFA.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m publishing this module now, even though it&#8217;s not complete because I foresee not getting round to developing it much in the near future, and maybe others can benefit from it in its current state, or continue development.</p>
<ul>
<li><a title="WWW::EFA on cpan" href="http://search.cpan.org/perldoc?WWW::EFA" target="_blank">WWW::EFA on cpan</a></li>
<li><a title="WWW::EFA on github" href="https://github.com/robin13/WWW-EFA" target="_blank">WWW::EFA on github</a> (for your forking pleasure)</li>
</ul>
<h2>What is EFA?</h2>
<p>EFA is a <a title="EFA" href="http://www.mentzdv.de/deutsch/produkte/efa/" target="_blank">product from Mentz</a> Datenverarbeitung in Munich which is used my many municipal travel providers such as the <a title="MVV" href="http://www.mvv-muenchen.de/" target="_blank">MVV</a> in Munich to provide travel data for their patrons.</p>
<p>Unfortunately there is no documentation to the interface available, so my implementation is mostly reverse-engineered to their RESTful API.  A lot of ground work which helped me get ahead was done by Andreas and friends in Java with the <a title="public-transport-enabler Java" href="http://code.google.com/p/public-transport-enabler/" target="_blank">public-transport-enabler</a> (see AbstractEfaProvider in there for more details) which incidentally is the code behind the hugely popular android App <a title="Oeffi" href="http://goo.gl/X79cF" target="_blank">Öffi</a>.</p>
<h2>What can I WWW::EFA for?</h2>
<p>Querying travel times between locations, and stops within a municipal transport network.</p>
<h2>Which municipalities will it work for?</h2>
<p>There are loads of transport authorities which use EFA (London, Munich, Basel, San Francisco, &#8230;).  I have only tested it with the MVV&#8230;</p>
<h2>Where are all the unit tests and examples?</h2>
<p>Sorry&#8230; it&#8217;s a work in progress&#8230; I&#8217;d be really grateful for any contributions you want to make to make it more complete!!</p>
<h2>What other similar perl modules are there?</h2>
<ul>
<li><a title="Travel::Routing::DE::VRR" href="http://search.cpan.org/dist/Travel-Routing-DE-VRR/" target="_blank">Travel::Routing::DE::VRR</a></li>
</ul>
<h2>Code example</h2>
<pre>use WWW::EFA::Provider::MVV;</pre>
<pre>use WWW::EFA::Coordinates;</pre>
<pre>use WWW::EFA::Location;</pre>
<pre>use Class::Date qw/now/;</pre>
<pre>my %efa_params;</pre>
<pre>my $efa = WWW::EFA::Provider::MVV-&gt;new( %efa_params );</pre>
<pre>my $search_to_location = WWW::EFA::Location-&gt;new(
 coordinates =&gt; WWW::EFA::Coordinates-&gt;new(  lat =&gt; 48.171606, lon =&gt; 11.498899 ),
 );</pre>
<pre>my $search_from_location = WWW::EFA::Location-&gt;new(
 coordinates =&gt; WWW::EFA::Coordinates-&gt;new( lat =&gt; 48.140267, lon =&gt; 11.557302 ),
 );</pre>
<pre>my( $from_location ) = $efa-&gt;coord_request(
 location =&gt; $search_from_location,
 max_results =&gt; 5,
 max_distance =&gt; 100,
 );</pre>
<pre>my( $to_location ) = $efa-&gt;coord_request(
 location =&gt; $search_to_location,
 max_results =&gt; 5,
 max_distance =&gt; 100,
 );</pre>
<pre>printf "##### Getting trips between\n%s\n%s\n",
 $from_location-&gt;string, $to_location-&gt;string;</pre>
<pre>my $trips = $efa-&gt;trips(
 from =&gt; $from_location,
 to =&gt; $to_location,
 date =&gt; now(),
 );</pre>
<pre>print $trips-&gt;string;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.robinclarke.net/archives/interface-to-efa/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first Dancer webapp</title>
		<link>http://www.robinclarke.net/archives/my-first-dancer-webapp</link>
		<comments>http://www.robinclarke.net/archives/my-first-dancer-webapp#comments</comments>
		<pubDate>Mon, 09 Jan 2012 15:20:05 +0000</pubDate>
		<dc:creator>robin</dc:creator>
				<category><![CDATA[Ironman]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://www.robinclarke.net/?p=617</guid>
		<description><![CDATA[Dancer is YAPWF (Yet Another Perl Web Framework), in the same bucket as Catalyst.  To date I&#8217;ve done most of my webapp development on Catalyst, but at the last German Perl Workshop @bano99 introduced me to Dancer, so I wanted to give it a try. This is the webapp which resulted. The backend Behind the scenes I [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Dancer" href="http://search.cpan.org/perldoc?Dancer" target="_blank">Dancer</a> is YAPWF (Yet Another Perl Web Framework), in the same bucket as <a title="Catalyst" href="http://search.cpan.org/perldoc?Catalyst" target="_blank">Catalyst</a>.  To date I&#8217;ve done most of my webapp development on Catalyst, but at the last <a title="GPW2011" href="http://conferences.yapceurope.org/gpw2011/" target="_blank">German Perl Workshop</a> <a title="Denis Banovic @ Twitter" href="https://twitter.com/#!/bano99" target="_blank">@bano99</a> introduced me to Dancer, so I wanted to give it a try.</p>
<p><a title="Turtle Hibernation System data" href="http://turtle.robinclarke.net/" target="_blank">This is the webapp which resulted</a>.</p>
<h2>The backend</h2>
<p>Behind the scenes I have a home built micro-controller web server controlling the temperature in a refrigerator to bring <a title="Turtle Hibernation System" href="http://www.robinclarke.net/archives/turtle-hibernation-system" target="_blank">our turtles into a healthy winter hibernation</a>.  A perl script regularly (once per minute) queries the current status from the micro-controller, and logs the data (temperature in the tank, the refrigerator, room, humidity, and switch state) to a (<a title="SQLite" href="http://www.sqlite.org/" target="_blank">SQLite</a>) database.  So, I have some interesting data, and want to make that web accessible &#8211; how well suited is Dancer to the task?</p>
<p>Turns out: <strong>very suitable!</strong></p>
<h2>Dancer <strong>is</strong>&#8230;</h2>
<ul>
<li>super quick and easy to get started with: 2 minutes tops to get a basic web application running, <em>including</em> installing Dancer with cpanplus.</li>
<li>very intuitive for the basic stuff &#8211; in my case I had a template for the webpage, a database handler to get the data, and a method to do some basic analysis and pre-processing on the data before returning it to the client as json.</li>
<li>a bit procedural&#8230; it is possible to develop an OOP app with Dancer, but with its background singleton and plethora of new syntax it feels like, and encourages procedural practices.</li>
</ul>
<h2>Dancer is <strong>not</strong> (IMHO)&#8230;</h2>
<ul>
<li>a framework which will force/cajole you into using good design practices (OOP, MVC).  You can be quick&#8217;n'dirty with Dancer, which depending on your standpoint can be a pro or a con.</li>
<li>easy to understand the inner workings.  You may hate the global $c in Catalyst to which everything is bound, but &#8230; you do know what to bind stuff to, and you do know where to find it.  In Dancer there is (even) more hidden magic.</li>
<li>for special wishes.  For example for something as simple as having &#8220;Expires&#8221; http headers for static files, I had to add a after_file_render hook.</li>
</ul>
<h2>Better, Faster and Cooler</h2>
<p>Some other stuff I did on the way to make it BFC:</p>
<ul>
<li>Used <a title="jqPlot" href="http://www.jqplot.com/" target="_blank">jqPlot</a> for the graphs.  I really like it!  <a title="Robin Clarke on Chart::OFC2" href="http://www.robinclarke.net/archives/chartofc2">I used to be </a>into <a title="OFC" href="http://teethgrinder.co.uk/open-flash-chart/" target="_blank">OFC</a>, but jqPlot is faster, more versatile, and the big kicker: doesn&#8217;t require Flash!  Try out the zooming and mouse-over effects!</li>
<li>Data compression: originally the data for the charts weighed in at over 2MB&#8230;</li>
<ul>
<li>Reduce repetition: for the graphs, the data requires an array-of-arrays with each value paired with the relevant date.  Rather than transmitting the 5 finished array-of-arrays (each with its own set of date data), I now transmit just the 4 data arrays, and the date array, and then build them as jqPlot requires them with javascript clientside.  This reduced the transmitted data from 2MB to ~400KB.</li>
<li>Deflate the data &#8211; by using <a title="Plack::Middleware::Deflater" href="http://search.cpan.org/perldoc?Plack::Middleware::Deflater" target="_blank">Plack::Middleware::Deflater</a> I was able to further reduce the transmitted data to ~40KB</li>
</ul>
<li>Using <a title="Plack" href="http://search.cpan.org/perldoc?Plack" target="_blank">Plack</a> and <a title="Starman" href="http://search.cpan.org/perldoc?Starman" target="_blank">Starman</a> to easily put the webapp online.  Wow&#8230; that makes the transition from development on localhost to full deployment serverside childsplay!</li>
<li>Using Varnish to cache the pages server-side.  Some people make the effort of serving the static elements of a web app via a light web server, and while this has its merits, I prefer a contiguous web app which is complete in itself, and by applying the appropriate Expires http headers, let a reverse proxy do the grunt work.  I set the headers for this webapp so the worst-case load on the back-end will only be 1 request every 7 Days for any of the javascript/css files, 1 per hour for the html page, and 1 per minute for the json data.  Go ahead and slashdot me&#8230; I think I can take it, even though there&#8217;s only 3 worker processes and it&#8217;s running off a SQLite database. <img src='http://www.robinclarke.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<h2>Summary</h2>
<p>I will definitely be using Dancer again.  For any corporate and larger web applications I&#8217;d still prefer Catalyst, but for applications like this where I want to put something small online quickly, it&#8217;s the bees knees!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robinclarke.net/archives/my-first-dancer-webapp/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

