<?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: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/" xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>.net and other musings</title>
	
	<link>http://benl.wordpress.com</link>
	<description>Ben Lovell, an agile developer living in the UK.</description>
	<lastBuildDate>Wed, 08 Feb 2012 19:44:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain="benl.wordpress.com" port="80" path="/?rsscloud=notify" registerProcedure="" protocol="http-post" />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>.net and other musings</title>
		<link>http://benl.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://benl.wordpress.com/osd.xml" title=".net and other musings" />
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/benl" /><feedburner:info uri="benl" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://benl.wordpress.com/?pushpress=hub" /><item>
		<title>Cucumber, webrat and mechanize</title>
		<link>http://feedproxy.google.com/~r/benl/~3/yV23XBKITg8/</link>
		<comments>http://benl.wordpress.com/2009/07/16/cucumber-webrat-and-mechanize/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 09:42:47 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[mechanize]]></category>
		<category><![CDATA[webrat]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/?p=401</guid>
		<description><![CDATA[There have been a few questions over on the webrat lists with regard to setting up a working environment for testing externally hosted web applications. This is actually a lot easier than perhaps what might be expected. I put together a quick sample over on github: http://github.com/benlovell/webrat-mech/tree/master With one caveat that this only works for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=401&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There have been a few questions over on the webrat lists with regard to setting up a working environment for testing externally hosted web applications. This is actually a lot easier than perhaps what might be expected. I put together a quick sample over on github:</p>
<p><a href="http://github.com/benlovell/webrat-mech/tree/master">http://github.com/benlovell/webrat-mech/tree/master</a></p>
<p>With one caveat that this only works for static content as javascript will not be interpreted by mechanize. I will put a selenium based sample up shortly to counter this.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/401/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=401&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=yV23XBKITg8:kHk5E4epd8E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=yV23XBKITg8:kHk5E4epd8E:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=yV23XBKITg8:kHk5E4epd8E:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=yV23XBKITg8:kHk5E4epd8E:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=yV23XBKITg8:kHk5E4epd8E:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=yV23XBKITg8:kHk5E4epd8E:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=yV23XBKITg8:kHk5E4epd8E:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/yV23XBKITg8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2009/07/16/cucumber-webrat-and-mechanize/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2009/07/16/cucumber-webrat-and-mechanize/</feedburner:origLink></item>
		<item>
		<title>Sinatra: Matching routes with or without trailing slashes</title>
		<link>http://feedproxy.google.com/~r/benl/~3/_wXQ2dDon3U/</link>
		<comments>http://benl.wordpress.com/2009/04/17/sinatra-matching-routes-with-or-without-trailing-slashes/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 15:07:23 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Sinatra]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/?p=399</guid>
		<description><![CDATA[I felt compelled to post this as it took me more than a few minutes to figure this one out. Sinatra treats URLs with/without trailing slashes differently unless you append &#8220;/?&#8221; to the end of your route like so: get "/test/?" do 'in test' end The route specified above will match both &#8220;/test&#8221; and &#8220;/test/&#8221;.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=399&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I felt compelled to post this as it took me more than a few minutes to figure this one out. <a title="Sinatra" href="http://www.sinatrarb.com/">Sinatra</a> treats URLs with/without trailing slashes differently unless you append &#8220;/?&#8221; to the end of your route like so:</p>
<pre>get "/test/?" do
    'in test'
end</pre>
<p>The route specified above will match both &#8220;/test&#8221; and &#8220;/test/&#8221;.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/399/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=399&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=_wXQ2dDon3U:hyFuMY6mkX0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=_wXQ2dDon3U:hyFuMY6mkX0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=_wXQ2dDon3U:hyFuMY6mkX0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=_wXQ2dDon3U:hyFuMY6mkX0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=_wXQ2dDon3U:hyFuMY6mkX0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=_wXQ2dDon3U:hyFuMY6mkX0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=_wXQ2dDon3U:hyFuMY6mkX0:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/_wXQ2dDon3U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2009/04/17/sinatra-matching-routes-with-or-without-trailing-slashes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2009/04/17/sinatra-matching-routes-with-or-without-trailing-slashes/</feedburner:origLink></item>
		<item>
		<title>Windows 7 on the unibody MacBook Pro via bootcamp redux</title>
		<link>http://feedproxy.google.com/~r/benl/~3/x0-oulmAOkI/</link>
		<comments>http://benl.wordpress.com/2009/04/16/windows-7-on-the-unibody-macbook-pro-via-bootcamp-redux/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 18:01:53 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Boot Camp]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/?p=397</guid>
		<description><![CDATA[If you follow me on twitter you would know I recently upgraded my Windows development environment from the first beta installation of Windows 7 x86 to the latest available build. This time round I&#8217;ve gone for the 64bit edition to make use of the 6GB of RAM I have installed in the beast. I have [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=397&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you follow me on <a title="Ben Lovell" href="http://twitter.com/benlovell" target="_blank">twitter</a> you would know I recently upgraded my Windows development environment from the first beta installation of Windows 7 x86 to the latest available build. This time round I&#8217;ve gone for the 64bit edition to make use of the 6GB of RAM I have installed in the beast.</p>
<p>I have to admit I&#8217;ve never performed an upgraded installation of an operating system before as I much prefer starting from scratch. So as you can imagine I was more than curious to see how this would pan out. Especially since the machine is pretty critical to my work &#8212; in the .net world at least. Well I&#8217;m pleased to say the whole experience went by completely without incident. The process took around one hour in total which included the OS install and the migration of all my applications, settings and the rest of the gumph.</p>
<p>I tend to spend more time in OSX lately since I&#8217;ve been working with Ruby a lot more recently but I will say this: Windows 7 is becoming a pleasure to use with each new build. For beta software it is rock solid and the MacBook Pro is very well supported driver-wise. The fact I rely on it daily for work is testament to that. A good acid test for me is seeing which OS I boot into for my day-to-day web browsing, tweeting and like&#8230; It almost pains me to admit that this has been Windows 7 more than OSX lately. However despite the wait, we&#8217;ll see if the balance is restored when Snow Leopard arrives.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/397/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=397&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=x0-oulmAOkI:1u8IvNgEHKs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=x0-oulmAOkI:1u8IvNgEHKs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=x0-oulmAOkI:1u8IvNgEHKs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=x0-oulmAOkI:1u8IvNgEHKs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=x0-oulmAOkI:1u8IvNgEHKs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=x0-oulmAOkI:1u8IvNgEHKs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=x0-oulmAOkI:1u8IvNgEHKs:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/x0-oulmAOkI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2009/04/16/windows-7-on-the-unibody-macbook-pro-via-bootcamp-redux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2009/04/16/windows-7-on-the-unibody-macbook-pro-via-bootcamp-redux/</feedburner:origLink></item>
		<item>
		<title>Windows 7 on the new Aluminium MacBook via Boot Camp</title>
		<link>http://feedproxy.google.com/~r/benl/~3/8ttAbbTj-Mk/</link>
		<comments>http://benl.wordpress.com/2009/01/18/windows-7-on-the-new-aluminium-macbook-via-boot-camp/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 17:36:43 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Boot Camp]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2009/01/18/windows-7-on-the-new-aluminium-macbook-via-boot-camp/</guid>
		<description><![CDATA[I’ve spent a lazy Sunday afternoon installing the latest Windows 7 beta on my MacBook via BootCamp and everything has gone swimmingly. To install I had to: Burn the ISO. I chose the 32 bit edition. Run the boot camp assistant on OSX to partition the drive. I created a 45GB partition for my initial [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=396&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’ve spent a lazy Sunday afternoon installing the latest Windows 7 beta on my MacBook via BootCamp and everything has gone swimmingly.</p>
<p>To install I had to:</p>
<ol>
<li>Burn the ISO. I chose the 32 bit edition.</li>
<li>Run the boot camp assistant on OSX to partition the drive. I created a 45GB partition for my initial experiments.</li>
<li>Reboot the machine with the installation DVD in place.</li>
</ol>
<p>Pretty simple. After the installation had done it’s thing, Windows started up in a pretty skanky looking desktop. This was cured pretty easily by running the boot camp setup from the OSX installation DVD. This installs the necessary drivers for the iSight, system devices, track pad and your other Mac hardware. A quick reboot and I was back in business and sporting transparent windows and a screen resolution greater than a pocket calculator.</p>
<p>I couldn’t get the Apple wireless keyboard and mouse to pair up over bluetooth but I’m certain a fix for this isn’t too far away.</p>
<p>One small hiccup I did solve was with connecting the 24” LED cinema display. After extending my desktop onto the display I noticed the brightness of the external display was very low compared to the MacBook’s display. This was solved by running the boot camp control panel and altering the brightness from there.</p>
<p>Windows 7 absolutely screams on this machine in boot camp as I expected. I’m still installing Vs2008 and the rest of the .net tools so I’ll report back once I get going.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/396/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=396&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=8ttAbbTj-Mk:7MAQoXV6LW0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=8ttAbbTj-Mk:7MAQoXV6LW0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=8ttAbbTj-Mk:7MAQoXV6LW0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=8ttAbbTj-Mk:7MAQoXV6LW0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=8ttAbbTj-Mk:7MAQoXV6LW0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=8ttAbbTj-Mk:7MAQoXV6LW0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=8ttAbbTj-Mk:7MAQoXV6LW0:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/8ttAbbTj-Mk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2009/01/18/windows-7-on-the-new-aluminium-macbook-via-boot-camp/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2009/01/18/windows-7-on-the-new-aluminium-macbook-via-boot-camp/</feedburner:origLink></item>
		<item>
		<title>Growl notifications with autotest made easy</title>
		<link>http://feedproxy.google.com/~r/benl/~3/8L8hYtNg_7Q/</link>
		<comments>http://benl.wordpress.com/2009/01/07/growl-notifications-with-autotest-made-easy/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 18:59:04 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[RSpec]]></category>
		<category><![CDATA[Ruby/Rails]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/?p=394</guid>
		<description><![CDATA[Setting up a new project to use growl notification via autotest can be a bit tricky. There is a fantastic gem called growl-glue that can simplify the whole procedure. Simply: [sudo] gem install growl-glue Then add the following lines to your .autotest file: require 'growl_glue' GrowlGlue::Autotest.initialize initialize will accept a block containing a stack of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=394&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Setting up a new project to use growl notification via autotest can be a bit tricky. There is a fantastic gem called <a href="http://growl-glue.rubyforge.org/">growl-glue</a> that can simplify the whole procedure. Simply:</p>
<p><code>[sudo] gem install growl-glue</code></p>
<p>Then add the following lines to your .autotest file:</p>
<p><code>require 'growl_glue'<br />
GrowlGlue::Autotest.initialize</code></p>
<p>initialize will accept a block containing a stack of different configuration options. <a href="http://growl-glue.rubyforge.org/">Take a look at what is possible here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/394/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=394&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=8L8hYtNg_7Q:T0bxOtEvRBE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=8L8hYtNg_7Q:T0bxOtEvRBE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=8L8hYtNg_7Q:T0bxOtEvRBE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=8L8hYtNg_7Q:T0bxOtEvRBE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=8L8hYtNg_7Q:T0bxOtEvRBE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=8L8hYtNg_7Q:T0bxOtEvRBE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=8L8hYtNg_7Q:T0bxOtEvRBE:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/8L8hYtNg_7Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2009/01/07/growl-notifications-with-autotest-made-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2009/01/07/growl-notifications-with-autotest-made-easy/</feedburner:origLink></item>
		<item>
		<title>MacWorld 09 Keynote 5PM (gmt)</title>
		<link>http://feedproxy.google.com/~r/benl/~3/UEauf7ZDYFg/</link>
		<comments>http://benl.wordpress.com/2009/01/06/macworld-09-keynote-5pm-gmt/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 15:33:02 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/?p=392</guid>
		<description><![CDATA[OK so only a couple hours until the MacWorld 09 keynote kicks off. I&#8217;ll be following it at macrumorslive.com and on twitter via macrumors. I&#8217;m hoping to see a new mac-mini which will supplant the Apple TV I have sitting in my front room. Other notable rumours: MacBook Pro 17&#8243; refresh. Should be moving to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=392&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>OK so only a couple hours until the MacWorld 09 keynote kicks off. I&#8217;ll be following it at <a href="http://www.macrumorslive.com/">macrumorslive.com</a> and on twitter via <a href="http://www.twitter.com/macrumors">macrumors</a>.</p>
<p>I&#8217;m hoping to see a new mac-mini which will supplant the Apple TV I have sitting in my front room. Other notable rumours:</p>
<ul>
<li>MacBook Pro 17&#8243; refresh. Should be moving to unibody design, possibly announcements of quad-core.</li>
<li>Some kind of merger between Apple TV software and the new mac-mini. Hoping for this one.</li>
<li>LED Cinema Displays replacing the existing cinema displays.</li>
<li>Larger form-factor iPod Touch like device. Would be ultra-cool but unlikely in my opinion.</li>
<li>Refreshes across the MacPro and iMac lines. Potentially quad-core in the iMacs.</li>
<li>Mini DisplayPort added across the board.</li>
</ul>
<p>Excited yet?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/392/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=392&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=UEauf7ZDYFg:Ey2XXH4a_A8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=UEauf7ZDYFg:Ey2XXH4a_A8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=UEauf7ZDYFg:Ey2XXH4a_A8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=UEauf7ZDYFg:Ey2XXH4a_A8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=UEauf7ZDYFg:Ey2XXH4a_A8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=UEauf7ZDYFg:Ey2XXH4a_A8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=UEauf7ZDYFg:Ey2XXH4a_A8:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/UEauf7ZDYFg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2009/01/06/macworld-09-keynote-5pm-gmt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2009/01/06/macworld-09-keynote-5pm-gmt/</feedburner:origLink></item>
		<item>
		<title>Windows Server 2008: Live writer and messenger installers</title>
		<link>http://feedproxy.google.com/~r/benl/~3/WfqKgZufalQ/</link>
		<comments>http://benl.wordpress.com/2008/12/16/windows-server-2008-live-writer-and-messenger-installers/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 11:51:04 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2008/12/16/windows-server-2008-live-writer-and-messenger-installers/</guid>
		<description><![CDATA[At last! With the latest RC of the Windows Live tools you can now successfully install them on the Server edition OS’s. Go and grab them here.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=391&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>At last! With the latest RC of the Windows Live tools you can now successfully install them on the Server edition OS’s. Go and <a href="http://download.live.com/writer" target="_blank">grab them here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/391/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=391&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=WfqKgZufalQ:R_40K1uoGq4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=WfqKgZufalQ:R_40K1uoGq4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=WfqKgZufalQ:R_40K1uoGq4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=WfqKgZufalQ:R_40K1uoGq4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=WfqKgZufalQ:R_40K1uoGq4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=WfqKgZufalQ:R_40K1uoGq4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=WfqKgZufalQ:R_40K1uoGq4:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/WfqKgZufalQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/12/16/windows-server-2008-live-writer-and-messenger-installers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2008/12/16/windows-server-2008-live-writer-and-messenger-installers/</feedburner:origLink></item>
		<item>
		<title>How would you like to be in charge of the legacy systems?</title>
		<link>http://feedproxy.google.com/~r/benl/~3/0hPgymtBQ1k/</link>
		<comments>http://benl.wordpress.com/2008/12/15/in-charge-of-the-legacy-systems/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 11:57:17 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/?p=389</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=389&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 650px"><img title="Dilbert" src="http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/30000/5000/800/35826/35826.strip.gif" alt="Dilbert" width="640" height="199" /><p class="wp-caption-text">Dilbert</p></div>
<p> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/389/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/389/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/389/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=389&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=0hPgymtBQ1k:roxuZbvnNZU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=0hPgymtBQ1k:roxuZbvnNZU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=0hPgymtBQ1k:roxuZbvnNZU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=0hPgymtBQ1k:roxuZbvnNZU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=0hPgymtBQ1k:roxuZbvnNZU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=0hPgymtBQ1k:roxuZbvnNZU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=0hPgymtBQ1k:roxuZbvnNZU:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/0hPgymtBQ1k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/12/15/in-charge-of-the-legacy-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>

		<media:content url="http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/30000/5000/800/35826/35826.strip.gif" medium="image">
			<media:title type="html">Dilbert</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2008/12/15/in-charge-of-the-legacy-systems/</feedburner:origLink></item>
		<item>
		<title>The hiatus is officially over</title>
		<link>http://feedproxy.google.com/~r/benl/~3/bX1APupaMgU/</link>
		<comments>http://benl.wordpress.com/2008/12/09/the-hiatus-is-officially-over/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 20:38:45 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2008/12/09/the-hiatus-is-officially-over/</guid>
		<description><![CDATA[I’m back and badder than ever. This time with even more poorly punctuated ramblings. So what have I been up to I hear you all (not) asking? Working on a couple of small ruby on rails gigs. Adding features to my very own top-secret sideline gig (hush hush!) Some .net bits with the Castle framework [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=388&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’m back and badder than ever. This time with <em>even more</em> poorly punctuated ramblings. So what have I been up to I hear you all (not) asking?</p>
<ul>
<li>Working on a couple of small ruby on rails gigs.</li>
<li>Adding features to my very own top-secret sideline gig (hush hush!)</li>
<li>Some .net bits with the Castle framework but of course.</li>
<li>Helping a friend with a hosting startup. Purchasing and configuring various doses of servers, firewalls, switches, DNS, reverse proxies… I’ve certainly learnt a lot the last few months.</li>
</ul>
<p>Not to mention I have a few interesting happenings coming down the pipeline so do stay tuned!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/388/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=388&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=bX1APupaMgU:LjGVSbrBOM8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=bX1APupaMgU:LjGVSbrBOM8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=bX1APupaMgU:LjGVSbrBOM8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=bX1APupaMgU:LjGVSbrBOM8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=bX1APupaMgU:LjGVSbrBOM8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=bX1APupaMgU:LjGVSbrBOM8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=bX1APupaMgU:LjGVSbrBOM8:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/bX1APupaMgU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/12/09/the-hiatus-is-officially-over/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2008/12/09/the-hiatus-is-officially-over/</feedburner:origLink></item>
		<item>
		<title>Incremental development with Monorail: Part Seven</title>
		<link>http://feedproxy.google.com/~r/benl/~3/yPEr0Zh2gzI/</link>
		<comments>http://benl.wordpress.com/2008/05/15/incremental-development-with-monorail-part-seven/#comments</comments>
		<pubDate>Thu, 15 May 2008 17:11:54 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Monorail]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[TestDrivenDevelopment]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windsor]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2008/05/15/incremental-development-with-monorail-part-seven/</guid>
		<description><![CDATA[Since our last installment I slipped in a ninja-edit to one of the configuration files. This was to ensure that our sole service was marked as transient rather than the default Windsor lifestyle of singleton. This was pointed out to me by an eagle-eyed commenter and was an oversight on my part. So we&#8217;re now [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=385&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Since our last installment I slipped in a ninja-edit to one of the configuration files. This was to ensure that our sole service was marked as transient rather than the default Windsor lifestyle of singleton. This was pointed out to me by an <a href="http://justinram.wordpress.com/">eagle-eyed commenter</a> and was an oversight on my part. So we&#8217;re now at rev10 and ready to roll once again!</p>
<p>In our last post we tidied up a few bits and improved our code-base rather than actually adding features as such. This time we&#8217;re going to move down into the persistence and start to drive out this notional layer.</p>
<p>We&#8217;re going to handle data access using the repository pattern. The repositories will work on our ActiveRecord entities ensuring they&#8217;re persisted to our database. We will introduce a new interaction between our service <strong>BlogPostService </strong>and the newly introduced repository interface <strong>IBlogPostRepository</strong>. Let&#8217;s get on and write a test:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/71.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="407" alt="71" src="http://benl.files.wordpress.com/2008/05/71-thumb.png?w=508&h=407" width="508" border="0"></a> </p>
<p>The test above is fairly self-explanatory. We&#8217;ve introduced the <strong>IBlogPostRepository </strong>and we&#8217;re passing it into our <strong>BlogPostService </strong>which should then call the <strong>Save </strong>method passing our mapped <strong>post</strong>. We need to get rid of the red code and get the test passing, so first we must create our new interface, and then modify the service constructor:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/72.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="77" alt="72" src="http://benl.files.wordpress.com/2008/05/72-thumb.png?w=508&h=77" width="508" border="0"></a> </p>
<p><a href="http://benl.files.wordpress.com/2008/05/73.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="118" alt="73" src="http://benl.files.wordpress.com/2008/05/73-thumb.png?w=508&h=118" width="508" border="0"></a> </p>
<p>We need to modify our other tests that construct the <strong>BlogPostService </strong>as they&#8217;re still assuming only a single argument constructor exists. As we have some duplication going on we&#8217;ll push this construction up into our setup code:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/74.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="282" alt="74" src="http://benl.files.wordpress.com/2008/05/74-thumb.png?w=508&h=282" width="508" border="0"></a> </p>
<p>We should be able to run our tests in this fixture now:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/75.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="143" alt="75" src="http://benl.files.wordpress.com/2008/05/75-thumb.png?w=508&h=143" width="508" border="0"></a> </p>
<p>As expected, since our <strong>BlogPostService </strong>doesn&#8217;t actually do much with our repository yet, we need to do some pretty minor tweaking to pass this test:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/76.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="113" alt="76" src="http://benl.files.wordpress.com/2008/05/76-thumb.png?w=508&h=113" width="508" border="0"></a></p>
<p>Let&#8217;s try again now:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/77.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="56" alt="77" src="http://benl.files.wordpress.com/2008/05/77-thumb.png?w=508&h=56" width="508" border="0"></a>&nbsp; Cool, let us try and run the whole suite including our integration type tests:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/78.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="138" alt="78" src="http://benl.files.wordpress.com/2008/05/78-thumb.png?w=508&h=138" width="508" border="0"></a> </p>
<p>The integration tests are failing as we&#8217;ve yet to map the new dependency in our Windsor configuration. We can specify this now:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/79.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="54" alt="79" src="http://benl.files.wordpress.com/2008/05/79-thumb.png?w=508&h=54" width="508" border="0"></a> </p>
<p>We still have failing integration tests though, so we need to add the <strong>BlogPostRepository</strong> specified in our configuration:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/80.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="142" alt="80" src="http://benl.files.wordpress.com/2008/05/80-thumb.png?w=508&h=142" width="508" border="0"></a> </p>
<p>As you can see it doesn&#8217;t do much, but we just want our tests passing at this stage. Let&#8217;s run the whole suite of tests now:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/81.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="30" alt="81" src="http://benl.files.wordpress.com/2008/05/81-thumb.png?w=476&h=30" width="476" border="0"></a> </p>
<p>Great, we have a working product once more. I&#8217;m going to finish here, as ever, the latest changes have been committed:</p>
<p><a title="http://code.google.com/p/mr-blogengine/" href="http://code.google.com/p/mr-blogengine/">http://code.google.com/p/mr-blogengine/</a></p>
<p>Next time we&#8217;ll make our new repository more useful and <em>finally </em>hit the database!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/benl.wordpress.com/385/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/benl.wordpress.com/385/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/385/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=385&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=yPEr0Zh2gzI:X2-_sW61uqY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=yPEr0Zh2gzI:X2-_sW61uqY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=yPEr0Zh2gzI:X2-_sW61uqY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=yPEr0Zh2gzI:X2-_sW61uqY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=yPEr0Zh2gzI:X2-_sW61uqY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=yPEr0Zh2gzI:X2-_sW61uqY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=yPEr0Zh2gzI:X2-_sW61uqY:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/yPEr0Zh2gzI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/05/15/incremental-development-with-monorail-part-seven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/71-thumb.png" medium="image">
			<media:title type="html">71</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/72-thumb.png" medium="image">
			<media:title type="html">72</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/73-thumb.png" medium="image">
			<media:title type="html">73</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/74-thumb.png" medium="image">
			<media:title type="html">74</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/75-thumb.png" medium="image">
			<media:title type="html">75</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/76-thumb.png" medium="image">
			<media:title type="html">76</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/77-thumb.png" medium="image">
			<media:title type="html">77</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/78-thumb.png" medium="image">
			<media:title type="html">78</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/79-thumb.png" medium="image">
			<media:title type="html">79</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/80-thumb.png" medium="image">
			<media:title type="html">80</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/81-thumb.png" medium="image">
			<media:title type="html">81</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2008/05/15/incremental-development-with-monorail-part-seven/</feedburner:origLink></item>
		<item>
		<title>Incremental development with Monorail: Part Six</title>
		<link>http://feedproxy.google.com/~r/benl/~3/h21J9hsLn6w/</link>
		<comments>http://benl.wordpress.com/2008/05/05/incremental-development-with-monorail-part-six/#comments</comments>
		<pubDate>Mon, 05 May 2008 09:50:14 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[Castle]]></category>
		<category><![CDATA[Monorail]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[TestDrivenDevelopment]]></category>
		<category><![CDATA[Windsor]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2008/05/05/incremental-development-with-monorail-part-six/</guid>
		<description><![CDATA[We finished up in part five with a full suite of passing tests and our BlogPostService is slowly taking shape now. The next few posts will introduce persistence and validation but before we get started on these features, we have a little housekeeping to perform on our existing code. First step is to build the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=362&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We finished up in part five with a full suite of passing tests and our <strong>BlogPostService </strong>is slowly taking shape now. The next few posts will introduce persistence and validation but before we get started on these features, we have a little housekeeping to perform on our existing code. </p>
<p>First step is to build the Castle trunk and update our references to the latest versions. Secondly, we&#8217;ll incorporate a few changes suggested by <a href="http://hammett.castleproject.org/?p=280">Hammett</a>.</p>
<p>After building and replacing our references with the latest Castle build I&#8217;ll run the tests as a sanity check before we proceed:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/62.png"><img style="border-width:0;" height="28" alt="62" src="http://benl.files.wordpress.com/2008/05/62-thumb.png?w=508&h=28" width="508" border="0"></a> </p>
<p>With that out of the way our first code change will ensure we play nicely with HTTP. It is considered good practice to ensure requests which update or create resources is carried out via POST &#8211; so we can modify our only <strong>PostController.Save</strong> action to ensure this is so but before we do this we&#8217;ll write a test:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/60.png"><img style="border-width:0;" height="105" alt="60" src="http://benl.files.wordpress.com/2008/05/60-thumb.png?w=508&h=105" width="508" border="0"></a> </p>
<p>Running our test produces the following:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/61.png"><img style="border-width:0;" height="36" alt="61" src="http://benl.files.wordpress.com/2008/05/61-thumb.png?w=508&h=36" width="508" border="0"></a> </p>
<p>We&#8217;ll modify our <strong>Save </strong>action now to ensure we only accept the <strong>POST</strong> verb:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/63.png"><img style="border-width:0;" height="130" alt="63" src="http://benl.files.wordpress.com/2008/05/63-thumb.png?w=508&h=130" width="508" border="0"></a></p>
<p>We have added the <strong>AccessibleThrough </strong>attribute and explicitly specified that our action must only allow the <strong>POST</strong> verb. We&#8217;ll run our test again and make sure everything is working as expected:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/64.png"><img style="border-width:0;" height="26" alt="64" src="http://benl.files.wordpress.com/2008/05/64-thumb.png?w=508&h=26" width="508" border="0"></a> </p>
<p>The next step is to modify our <strong>add.vm </strong>view to use the helper methods to generate our form tags. We&#8217;ve done that and once again we&#8217;ll run our tests:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/65.png"><img style="border-width:0;" height="25" alt="65" src="http://benl.files.wordpress.com/2008/05/65-thumb.png?w=508&h=25" width="508" border="0"></a> </p>
<p>I&#8217;m noticing a little duplication creeping in to our integration tests that should be removed. Also, until now we&#8217;ve had to assume that a web server is running on a specific port on our development machine in order to run the integration tests. Through a little tweaking we can spin-up a temporary server in our test fixture setup code and host our test code there instead.</p>
<p>First we add the <strong>WebDev.WebHost.dll </strong>to our <strong>lib </strong>project directory and ensure we&#8217;re referencing this from the testing project. The next step is to create an <strong>app.config</strong> file in the testing project so we can configure where and from which port our testing server should be hosting from:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/66.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="114" alt="66" src="http://benl.files.wordpress.com/2008/05/66-thumb.png?w=508&h=114" width="508" border="0"></a>&nbsp; Now we add some setup code for the fixture:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/67.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="241" alt="67" src="http://benl.files.wordpress.com/2008/05/67-thumb.png?w=508&h=241" width="508" border="0"></a> </p>
<p>We&#8217;ll also make sure we bring the server down when we&#8217;re finished:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/68.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="98" alt="68" src="http://benl.files.wordpress.com/2008/05/68-thumb.png?w=508&h=98" width="508" border="0"></a> </p>
<p>Now ensure the VS web server is not running on the same port, then we can run our tests and make sure our latest changes work out:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/69.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="81" alt="69" src="http://benl.files.wordpress.com/2008/05/69-thumb.png?w=508&h=81" width="508" border="0"></a> </p>
<p>Now, since we specify the web root and port through configuration, we should also use these configurable values to determine the URLs in our tests:</p>
<p><a href="http://benl.files.wordpress.com/2008/05/70.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="169" alt="70" src="http://benl.files.wordpress.com/2008/05/70-thumb.png?w=508&h=169" width="508" border="0"></a> </p>
<p>You can see our tests now call <strong>BuildTestUrl </strong>to determine the full URL where we&#8217;re hosting the development server. Neat. I&#8217;m sure when we add further integration fixtures we&#8217;ll extract class this, but for now we have a nice working set of tests and should remember the principle of YAGNI!</p>
<p>I&#8217;m going to cut this installment short here. In the next post we&#8217;ll get back into the swing of it and continue implementing features.</p>
<p>As ever, the latest code has been checked in and is available here:</p>
<p><a href="http://code.google.com/p/mr-blogengine/">http://code.google.com/p/mr-blogengine/</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/benl.wordpress.com/362/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/benl.wordpress.com/362/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/362/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/362/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/362/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=362&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=h21J9hsLn6w:3cAAPAbkdRw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=h21J9hsLn6w:3cAAPAbkdRw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=h21J9hsLn6w:3cAAPAbkdRw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=h21J9hsLn6w:3cAAPAbkdRw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=h21J9hsLn6w:3cAAPAbkdRw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=h21J9hsLn6w:3cAAPAbkdRw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=h21J9hsLn6w:3cAAPAbkdRw:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/h21J9hsLn6w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/05/05/incremental-development-with-monorail-part-six/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/62-thumb.png" medium="image">
			<media:title type="html">62</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/60-thumb.png" medium="image">
			<media:title type="html">60</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/61-thumb.png" medium="image">
			<media:title type="html">61</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/63-thumb.png" medium="image">
			<media:title type="html">63</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/64-thumb.png" medium="image">
			<media:title type="html">64</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/65-thumb.png" medium="image">
			<media:title type="html">65</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/66-thumb.png" medium="image">
			<media:title type="html">66</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/67-thumb.png" medium="image">
			<media:title type="html">67</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/68-thumb.png" medium="image">
			<media:title type="html">68</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/69-thumb.png" medium="image">
			<media:title type="html">69</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/05/70-thumb.png" medium="image">
			<media:title type="html">70</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2008/05/05/incremental-development-with-monorail-part-six/</feedburner:origLink></item>
		<item>
		<title>MVC Storefront</title>
		<link>http://feedproxy.google.com/~r/benl/~3/LS-P3RbSsJ4/</link>
		<comments>http://benl.wordpress.com/2008/04/29/mvc-storefront/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 07:20:57 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Castle]]></category>
		<category><![CDATA[Monorail]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[TestDrivenDevelopment]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2008/04/29/mvc-storefront/</guid>
		<description><![CDATA[Rob Conery has been posting a series of screencasts featuring the development of an ASP.NET MVC based product catalogue. This is being carried out in a &#8220;TDD&#8221; like fashion. The interesting difference between his posts and mine (apart from the obvious fact that I&#8217;m lazy and haven&#8217;t screencasted&#8230; yet) is that he starts from the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=339&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.wekeroad.com/" target="_blank">Rob Conery</a> has been posting a <a href="http://blog.wekeroad.com/mvc-storefront/mvcstore-part-6/" target="_blank">series of screencasts</a> featuring the development of an ASP.NET MVC based product catalogue. This is being carried out in a &#8220;TDD&#8221; like fashion. The interesting difference between his posts and mine (apart from the obvious fact that I&#8217;m lazy and haven&#8217;t screencasted&#8230; yet) is that he starts from the bottom of the stack and works upwards towards the UI where as I do the opposite.</p>
<p>Its interesting contrasting the two approaches not to mention the differences between the ASP.NET MVC framework and Castle Monorail way of getting things done.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/benl.wordpress.com/339/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/benl.wordpress.com/339/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=339&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=LS-P3RbSsJ4:dUnT366P4lc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=LS-P3RbSsJ4:dUnT366P4lc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=LS-P3RbSsJ4:dUnT366P4lc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=LS-P3RbSsJ4:dUnT366P4lc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=LS-P3RbSsJ4:dUnT366P4lc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=LS-P3RbSsJ4:dUnT366P4lc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=LS-P3RbSsJ4:dUnT366P4lc:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/LS-P3RbSsJ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/04/29/mvc-storefront/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2008/04/29/mvc-storefront/</feedburner:origLink></item>
		<item>
		<title>Incremental development with Monorail: Part Five</title>
		<link>http://feedproxy.google.com/~r/benl/~3/0jcfexjBctE/</link>
		<comments>http://benl.wordpress.com/2008/04/24/incremental-development-with-monorail-part-five/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 20:20:29 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Monorail]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[TestDrivenDevelopment]]></category>
		<category><![CDATA[Windsor]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2008/04/24/incremental-development-with-monorail-part-five/</guid>
		<description><![CDATA[Welcome back. In this post I&#8217;ll be getting our tests passing again and cleaning things up a little. We left off with a failing integration test: I suspect this is due to the IBlogPostMapper dependency we introduced to our BlogPostService not being handled by the container. If we run in the browser we can confirm [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=338&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome back. In this post I&#8217;ll be getting our tests passing again and cleaning things up a little. We left off with a failing integration test:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/421.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="125" alt="42" src="http://benl.files.wordpress.com/2008/04/42-thumb1.png?w=508&h=125" width="508" border="0"></a> </p>
<p>I suspect this is due to the <strong>IBlogPostMapper </strong>dependency we introduced to our <strong>BlogPostService </strong>not being handled by the container. If we run in the browser we can confirm this is in fact true:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="315" alt="" src="http://benl.files.wordpress.com/2008/04/thumb.png?w=504&h=315" width="504" border="0"></a> </p>
<p>As we&#8217;ve yet to implement our <strong>IBlogPostMapper </strong>we must go ahead and do this before we can add the container configuration to pass our integration test. Lets bust out a test and get things rolling:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/43.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="462" alt="43" src="http://benl.files.wordpress.com/2008/04/43-thumb.png?w=508&h=462" width="508" border="0"></a> </p>
<p>We have a few blanks to fill in in order to get this to compile and run:</p>
<ol>
<li>Make the DTO&#8217;s properties virtual so we can mock them. This is in preference to extracting an interface<strong>. </strong></li>
<li>Implement <strong>IBlogPostMapper</strong>.</li>
<li>Add the necessary properties to the <strong>IBlogPost </strong>interface.</li>
</ol>
<p>Lets go ahead and do this now:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/44.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="438" alt="44" src="http://benl.files.wordpress.com/2008/04/44-thumb.png?w=508&h=438" width="508" border="0"></a></p>
<p><strong>IBlogPostMapper </strong>minimal implementation:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/45.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="162" alt="45" src="http://benl.files.wordpress.com/2008/04/45-thumb.png?w=508&h=162" width="508" border="0"></a>&nbsp; </p>
<p>The necessary modifications to <strong>IBlogPost</strong>:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/46.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="167" alt="46" src="http://benl.files.wordpress.com/2008/04/46-thumb.png?w=508&h=167" width="508" border="0"></a> </p>
<p>Now we can compile and run our test:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/47.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="95" alt="47" src="http://benl.files.wordpress.com/2008/04/47-thumb.png?w=508&h=95" width="508" border="0"></a> </p>
<p>Our <strong>BlogPostMapper </strong>implementation is throwing an exception so lets go back and take another step to try and pass our test:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/48.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="133" alt="48" src="http://benl.files.wordpress.com/2008/04/48-thumb.png?w=508&h=133" width="508" border="0"></a> </p>
<p><strong>BlogPost</strong>:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/49.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="418" alt="49" src="http://benl.files.wordpress.com/2008/04/49-thumb.png?w=508&h=418" width="508" border="0"></a> </p>
<p>I&#8217;m pretty certain we&#8217;ve done enough to pass our test now. Lets have a go:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/50.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="38" alt="50" src="http://benl.files.wordpress.com/2008/04/50-thumb.png?w=508&h=38" width="508" border="0"></a> </p>
<p>OK now lets focus on the full suite:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/51.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="129" alt="51" src="http://benl.files.wordpress.com/2008/04/51-thumb.png?w=508&h=129" width="508" border="0"></a> </p>
<p>Our integration test is still bombing but as we&#8217;ve got a mapper now, we can go ahead and wire up our Windsor configuration and get things moving again:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/52.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="84" alt="52" src="http://benl.files.wordpress.com/2008/04/52-thumb.png?w=508&h=84" width="508" border="0"></a> </p>
<p>We&#8217;ve added another configuration file: <strong>mapper.config</strong> and referenced this from the <strong>web.config</strong>. We shouldn&#8217;t need to do any more than this so lets run our full test suite:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/53.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="28" alt="53" src="http://benl.files.wordpress.com/2008/04/53-thumb.png?w=508&h=28" width="508" border="0"></a> </p>
<p>Our full suite is passing now. Not bad for 5 minutes work! As usual the latest changes are checked in to the <a href="http://code.google.com/p/mr-blogengine/" target="_blank">Google code project hosted here.</a></p>
<p>Now we have a full passing suite, in our next edition I&#8217;ll be moving down into the persistence and also incorporating a <a href="http://hammett.castleproject.org/?p=280" target="_blank">few modifications from Hammett</a>. Stay tuned!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/benl.wordpress.com/338/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/benl.wordpress.com/338/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/338/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=338&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=0jcfexjBctE:tM5d3Otj22I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=0jcfexjBctE:tM5d3Otj22I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=0jcfexjBctE:tM5d3Otj22I:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=0jcfexjBctE:tM5d3Otj22I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=0jcfexjBctE:tM5d3Otj22I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=0jcfexjBctE:tM5d3Otj22I:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=0jcfexjBctE:tM5d3Otj22I:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/0jcfexjBctE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/04/24/incremental-development-with-monorail-part-five/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/42-thumb1.png" medium="image">
			<media:title type="html">42</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/thumb.png" medium="image" />

		<media:content url="http://benl.files.wordpress.com/2008/04/43-thumb.png" medium="image">
			<media:title type="html">43</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/44-thumb.png" medium="image">
			<media:title type="html">44</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/45-thumb.png" medium="image">
			<media:title type="html">45</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/46-thumb.png" medium="image">
			<media:title type="html">46</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/47-thumb.png" medium="image">
			<media:title type="html">47</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/48-thumb.png" medium="image">
			<media:title type="html">48</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/49-thumb.png" medium="image">
			<media:title type="html">49</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/50-thumb.png" medium="image">
			<media:title type="html">50</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/51-thumb.png" medium="image">
			<media:title type="html">51</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/52-thumb.png" medium="image">
			<media:title type="html">52</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/53-thumb.png" medium="image">
			<media:title type="html">53</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2008/04/24/incremental-development-with-monorail-part-five/</feedburner:origLink></item>
		<item>
		<title>Incremental development with Monorail: Part Four</title>
		<link>http://feedproxy.google.com/~r/benl/~3/EfYWpkyYmTg/</link>
		<comments>http://benl.wordpress.com/2008/04/17/incremental-development-with-monorail-part-four/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 19:35:28 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Monorail]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[TestDrivenDevelopment]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2008/04/17/incremental-development-with-monorail-part-four/</guid>
		<description><![CDATA[We finished up in the last instalment by moving down a layer into our newly introduced BlogPostService. Our tests are passing yet our application is still pretty lacking in the actual functionality department. To move things on a stage further we need to: Map from the AddPostRequestDto to our actual BlogPost aggregate root. Validate the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=311&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We finished up in the last instalment by moving down a layer into our newly introduced <strong>BlogPostService. </strong>Our tests are passing yet our application is still pretty lacking in the actual functionality department. To move things on a stage further we need to: </p>
<ol>
<li>Map from the <strong>AddPostRequestDto </strong>to our actual <strong>BlogPost </strong>aggregate root.
<li>Validate the <strong>BlogPost.</strong>
<li>Persist our new <strong>BlogPost</strong>.</li>
</ol>
<p>We need to write another test to flesh out the interaction between our service and something that can map from the DTO to our <strong>BlogPost:</strong></p>
<p><a href="http://benl.files.wordpress.com/2008/04/37.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="238" alt="37" src="http://benl.files.wordpress.com/2008/04/37-thumb.png?w=508&h=238" width="508" border="0"></a> </p>
<p>We&#8217;re now expecting the <strong>BlogPostService</strong> to accept the mapper in its constructor, and defining an interaction between the service and the mapper. Before we can get this to compile we need to make a few more changes to our test fixture:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/371.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="508" alt="37" src="http://benl.files.wordpress.com/2008/04/37-thumb1.png?w=508&h=508" width="508" border="0"></a> </p>
<p>We&#8217;ve modified an existing test to allow for our new dependency and performed some setup tasks. We&#8217;ve introduced the <strong>IBlogPostMapper </strong>and <strong>IBlogPost </strong>interfaces by way of our test. Running the test causes the compiler to choke so lets go ahead and implement what we need to pass the tests:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/38.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="133" alt="38" src="http://benl.files.wordpress.com/2008/04/38-thumb.png?w=508&h=133" width="508" border="0"></a> </p>
<p><a href="http://benl.files.wordpress.com/2008/04/39.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="125" alt="39" src="http://benl.files.wordpress.com/2008/04/39-thumb.png?w=508&h=125" width="508" border="0"></a> </p>
<p><a href="http://benl.files.wordpress.com/2008/04/40.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="250" alt="40" src="http://benl.files.wordpress.com/2008/04/40-thumb.png?w=508&h=250" width="508" border="0"></a> </p>
<p>Lets go ahead and run our <strong>BlogPostServiceFixture </strong>tests:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/41.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="43" alt="41" src="http://benl.files.wordpress.com/2008/04/41-thumb.png?w=508&h=43" width="508" border="0"></a> </p>
<p>Righteo, that went well. For the sake of completeness lets run our full test suite:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/42.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="125" alt="42" src="http://benl.files.wordpress.com/2008/04/42-thumb.png?w=508&h=125" width="508" border="0"></a> </p>
<p>The integration test is failing as we&#8217;ve yet to wire up the <strong>BlogPostService </strong>dependencies in the container. Before we can do this we need to drive out the interfaces we&#8217;ve introduced. We&#8217;ll do that in the next post.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/benl.wordpress.com/311/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/benl.wordpress.com/311/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/311/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=311&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=EfYWpkyYmTg:0trHSUFoLZo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=EfYWpkyYmTg:0trHSUFoLZo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=EfYWpkyYmTg:0trHSUFoLZo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=EfYWpkyYmTg:0trHSUFoLZo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=EfYWpkyYmTg:0trHSUFoLZo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=EfYWpkyYmTg:0trHSUFoLZo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=EfYWpkyYmTg:0trHSUFoLZo:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/EfYWpkyYmTg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/04/17/incremental-development-with-monorail-part-four/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/37-thumb.png" medium="image">
			<media:title type="html">37</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/37-thumb1.png" medium="image">
			<media:title type="html">37</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/38-thumb.png" medium="image">
			<media:title type="html">38</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/39-thumb.png" medium="image">
			<media:title type="html">39</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/40-thumb.png" medium="image">
			<media:title type="html">40</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/41-thumb.png" medium="image">
			<media:title type="html">41</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/42-thumb.png" medium="image">
			<media:title type="html">42</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2008/04/17/incremental-development-with-monorail-part-four/</feedburner:origLink></item>
		<item>
		<title>Incremental development with Monorail: Part Three</title>
		<link>http://feedproxy.google.com/~r/benl/~3/yY5-nXzZGT0/</link>
		<comments>http://benl.wordpress.com/2008/04/01/incremental-development-with-monorail-part-three/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 16:49:13 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Domain Driven Design]]></category>
		<category><![CDATA[Monorail]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2008/04/01/incremental-development-with-monorail-part-three/</guid>
		<description><![CDATA[Part OnePart Two In the last instalment we finished up with a suite of passing tests. However, we&#8217;ve yet to produce anything remotely usable so lets continue by reaching down further and driving out our services/persistence. We&#8217;ll start by writing the following test: We&#8217;ve meddled with our test setup a little to introduce the MockRepository [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=296&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://benl.wordpress.com/2008/03/27/incremental-development-with-monorail/">Part One</a><br /><a href="http://benl.wordpress.com/2008/03/27/incremental-development-with-monorail-part-two/">Part Two</a></p>
<p>In the last instalment we finished up with a suite of passing tests. However, we&#8217;ve yet to produce anything remotely usable so lets continue by reaching down further and driving out our services/persistence. We&#8217;ll start by writing the following test:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/23.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="478" alt="23" src="http://benl.files.wordpress.com/2008/04/23-thumb.png?w=508&h=478" width="508" border="0"></a> </p>
<p>We&#8217;ve meddled with our test setup a little to introduce the <strong>MockRepository </strong>for mocking out our <strong>PostController&#8217;s</strong> new dependency on the <strong>IBlogPostService. </strong>Our test now calls the <strong>AddPost </strong>method on our service interface and sets up the resulting <strong>AddPostResponseDto</strong>. Running the test produces a bunch of compiler whinging so we best implement the newly introduced bits:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/24.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="99" alt="24" src="http://benl.files.wordpress.com/2008/04/24-thumb.png?w=508&h=99" width="508" border="0"></a></p>
<p><a href="http://benl.files.wordpress.com/2008/04/25.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="309" alt="25" src="http://benl.files.wordpress.com/2008/04/25-thumb.png?w=508&h=309" width="508" border="0"></a>&nbsp; </p>
<p><a href="http://benl.files.wordpress.com/2008/04/26.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="181" alt="26" src="http://benl.files.wordpress.com/2008/04/26-thumb.png?w=508&h=181" width="508" border="0"></a> </p>
<p>These are the only changes and additions we&#8217;ve made in order for the tests to compile and run. Running our test now produces the following result:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/27.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="27" alt="27" src="http://benl.files.wordpress.com/2008/04/27-thumb.png?w=508&h=27" width="508" border="0"></a> </p>
<p>As we&#8217;ve yet to modify the <strong>PostController.Save(&#8230;) </strong>call to include a call the newly introduced <strong>IBlogPostService </strong>dependency. Lets go ahead and do this now:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/28.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="144" alt="28" src="http://benl.files.wordpress.com/2008/04/28-thumb.png?w=508&h=144" width="508" border="0"></a> </p>
<p>We&#8217;ve now included the call to our newly introduced service and we set the <strong>responseMessage </strong>if the response is signaled as successful. Lets run our test now:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/29.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="24" alt="29" src="http://benl.files.wordpress.com/2008/04/29-thumb.png?w=495&h=24" width="495" border="0"></a> </p>
<p>It works, ship it! Actually no, again we&#8217;re pretty low on <em>actual </em>functionality right now. Remember we&#8217;ve yet to actually drive out any implementation of the <strong>IBlogPostService </strong>interface as yet and I expect that the acceptance test will fail horribly since we didn&#8217;t wire up the necessary container configuration either. Lets go ahead and run the whole test suite and see what gives:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/30.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="132" alt="30" src="http://benl.files.wordpress.com/2008/04/30-thumb.png?w=508&h=132" width="508" border="0"></a> </p>
<p>In the brief moments the browser appears during the test we can see the following:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/31.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="407" alt="31" src="http://benl.files.wordpress.com/2008/04/31-thumb.png?w=508&h=407" width="508" border="0"></a> </p>
<p>Hmm, as I predicted earlier our application fails to run due to the lack of proper container configuration. Before we can do this we need to implement the <strong>IBlogPostService </strong>interface somewhere. We need to write a failing test to begin our foray into the implementation of a <strong>BlogPostService</strong>:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/32.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="124" alt="32" src="http://benl.files.wordpress.com/2008/04/32-thumb.png?w=508&h=124" width="508" border="0"></a> </p>
<p>Lets create the <strong>BlogPostService </strong>only performing the steps necessary to pass the test above:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/33.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="184" alt="33" src="http://benl.files.wordpress.com/2008/04/33-thumb.png?w=508&h=184" width="508" border="0"></a> </p>
<p>Run the test:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/34.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="19" alt="34" src="http://benl.files.wordpress.com/2008/04/34-thumb.png?w=508&h=19" width="508" border="0"></a> </p>
<p>Now we have a working <strong>BlogPostService </strong>we can now wire up our container configuration to pass the acceptance test:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/35.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="86" alt="35" src="http://benl.files.wordpress.com/2008/04/35-thumb.png?w=508&h=86" width="508" border="0"></a> </p>
<p>Now running the full suite of tests produces the following:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/36.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="36" alt="36" src="http://benl.files.wordpress.com/2008/04/36-thumb.png?w=508&h=36" width="508" border="0"></a> </p>
<p>Our tests pass!</p>
<p>That&#8217;s it for this post. I&#8217;ve checked in the latest changes to the repository. In the next post we&#8217;ll continue our efforts and begin to implement validation on our screen-bound DTO&#8217;s.</p>
<p>Google code hosted project: <a title="http://code.google.com/p/mr-blogengine/" href="http://code.google.com/p/mr-blogengine/">http://code.google.com/p/mr-blogengine/</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/benl.wordpress.com/296/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/benl.wordpress.com/296/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/benl.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/benl.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/296/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&#038;blog=178045&#038;post=296&#038;subd=benl&#038;ref=&#038;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/benl?a=yY5-nXzZGT0:nZRxDWTA7Ms:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/benl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=yY5-nXzZGT0:nZRxDWTA7Ms:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/benl?i=yY5-nXzZGT0:nZRxDWTA7Ms:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=yY5-nXzZGT0:nZRxDWTA7Ms:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/benl?i=yY5-nXzZGT0:nZRxDWTA7Ms:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/benl?a=yY5-nXzZGT0:nZRxDWTA7Ms:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/benl?i=yY5-nXzZGT0:nZRxDWTA7Ms:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/benl/~4/yY5-nXzZGT0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/04/01/incremental-development-with-monorail-part-three/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&amp;d=identicon&amp;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/23-thumb.png" medium="image">
			<media:title type="html">23</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/24-thumb.png" medium="image">
			<media:title type="html">24</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/25-thumb.png" medium="image">
			<media:title type="html">25</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/26-thumb.png" medium="image">
			<media:title type="html">26</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/27-thumb.png" medium="image">
			<media:title type="html">27</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/28-thumb.png" medium="image">
			<media:title type="html">28</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/29-thumb.png" medium="image">
			<media:title type="html">29</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/30-thumb.png" medium="image">
			<media:title type="html">30</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/31-thumb.png" medium="image">
			<media:title type="html">31</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/32-thumb.png" medium="image">
			<media:title type="html">32</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/33-thumb.png" medium="image">
			<media:title type="html">33</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/34-thumb.png" medium="image">
			<media:title type="html">34</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/35-thumb.png" medium="image">
			<media:title type="html">35</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/36-thumb.png" medium="image">
			<media:title type="html">36</media:title>
		</media:content>
	<feedburner:origLink>http://benl.wordpress.com/2008/04/01/incremental-development-with-monorail-part-three/</feedburner:origLink></item>
	</channel>
</rss>

