<?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:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>DaveTheNinja.Net</title>
    <description>My C# is stonger than your PHP. Lets fight!</description>
    <link>http://www.davetheninja.net/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.4.5.0</generator>
    <language>en-GB</language>
    <blogChannel:blogRoll>http://www.davetheninja.net/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>My name</dc:creator>
    <dc:title>DaveTheNinja.Net</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/davetheninja" type="application/rss+xml" /><feedburner:browserFriendly></feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>Bye Bye Scotland! It was fun...</title>
      <description>&lt;p&gt;I will be moving to Hong Kong early next month to work freelance for a while until I find permanant employment.&lt;/p&gt;
&lt;p&gt;I will miss Scotland, like a hole in the head&amp;nbsp;&lt;img alt="" src="http://www.davetheninja.net/editors/FckEditor/editor/images/smiley/msn/teeth_smile.gif" /&gt;&lt;/p&gt;
&lt;p&gt;So cheerio, and ill be on my usual haunts of twitter &amp;quot;davetheninja&amp;quot; and the blog will be back up soon.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://www.destination360.com/asia/china/images/s/china-hong-kong.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ninja&lt;/p&gt;</description>
      <link>http://www.davetheninja.net/post/2009/07/15/Bye-Bye-Scotland!-It-was-fun.aspx</link>
      <author>david.nospam@nospam.davetheninja.net (DaveTheNinja)</author>
      <comments>http://www.davetheninja.net/post/2009/07/15/Bye-Bye-Scotland!-It-was-fun.aspx#comment</comments>
      <guid>http://www.davetheninja.net/post.aspx?id=b82e6a09-abea-4189-b6fe-073607c6c915</guid>
      <pubDate>Wed, 15 Jul 2009 11:14:00 -0500</pubDate>
      <category>Hong Kong</category>
      <category>HORN</category>
      <dc:publisher>DaveTheNinja</dc:publisher>
      <pingback:server>http://www.davetheninja.net/pingback.axd</pingback:server>
      <pingback:target>http://www.davetheninja.net/post.aspx?id=b82e6a09-abea-4189-b6fe-073607c6c915</pingback:target>
      <slash:comments>28</slash:comments>
      <trackback:ping>http://www.davetheninja.net/trackback.axd?id=b82e6a09-abea-4189-b6fe-073607c6c915</trackback:ping>
      <wfw:comment>http://www.davetheninja.net/post/2009/07/15/Bye-Bye-Scotland!-It-was-fun.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.davetheninja.net/syndication.axd?post=b82e6a09-abea-4189-b6fe-073607c6c915</wfw:commentRss>
    </item>
    <item>
      <title>Developer Day Scotland this Saturday 2/May/2009</title>
      <description>&lt;h1&gt;&amp;nbsp;About Developer Day Scotland&lt;/h1&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; line-height: normal; "&gt;&lt;a style="color: rgb(141, 0, 0); text-decoration: underline; " href="http://developerdayscotland.com/main/Default.aspx"&gt;Developer Day Scotland&lt;/a&gt;&amp;nbsp;(DDS) is a community event, run by community for community, which is based upon the highly successful Developer! Developer! Developer! (DDD) community conference events.&lt;/p&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; line-height: normal; "&gt;&lt;a target="_blank" style="color: rgb(141, 0, 0); text-decoration: underline; " href="http://www.scottishdevelopers.com/"&gt;Scottish Developers&lt;/a&gt;&amp;nbsp;is pleased to bring this phenomenal success to Scotland once again. The very best of the UK speaker community will be presenting on the topics delegates wish to see.&lt;/p&gt;
&lt;h2&gt;Highlights of Developer Day Scotland&lt;/h2&gt;
&lt;div style="float: right; "&gt;&amp;nbsp;&lt;/div&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; line-height: normal; "&gt;Listed below are some of the key highlights of the day:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Modern state of the art conference facility courtesy of Glasgow Caledonian University.&lt;/li&gt;
    &lt;li&gt;Four technical tracks with a capacity&amp;nbsp;of of&amp;nbsp;200 delegates.&lt;/li&gt;
    &lt;li&gt;Sixty minute in-depth technical content sessions.&lt;/li&gt;
    &lt;li&gt;Leading international speakers and technology specialists.&lt;/li&gt;
    &lt;li&gt;Networking area, CPD resources.&lt;/li&gt;
    &lt;li&gt;Sponsor area to facilitate networking with delegates&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; line-height: normal; "&gt;The Developer Day Scotland team are constantly working on adding resources and more value to the day, so remember to come back from time to time to see what&amp;rsquo;s been added.&lt;/p&gt;
&lt;h1 style="font-size: 20px; line-height: 1.2em; font-family: Helvetica, Arial, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; "&gt;Who Should Attend?&lt;/h1&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; line-height: normal; "&gt;Anyone involved in the software development or software engineering world.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Delegates will typically be drawn from software professionals and soon-to-be professionals, including business analysts, designers, DBAs, software developers, software engineers, students, team leads, testers and not forgetting managers of all levels.&lt;/p&gt;
&lt;h1 style="font-size: 20px; line-height: 1.2em; font-family: Helvetica, Arial, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; "&gt;Dates &amp;amp; Times&lt;/h1&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; line-height: normal; "&gt;DDS will run from 9am to 5pm on Saturday&amp;nbsp;2nd May 2009.&lt;/p&gt;
&lt;h1 style="font-size: 20px; line-height: 1.2em; font-family: Helvetica, Arial, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; "&gt;Venue&lt;/h1&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; line-height: normal; "&gt;The Continuing Professional Development Centre, Glasgow Caledonian University, Cowcaddens Road, Glasgow G4 0BA.&lt;br /&gt;
&lt;br /&gt;
See the location on&amp;nbsp;&lt;a target="_blank" style="color: rgb(141, 0, 0); text-decoration: underline; " href="http://maps.google.co.uk/maps/ms?ie=UTF8&amp;amp;t=h&amp;amp;om=1&amp;amp;msa=0&amp;amp;hl=en&amp;amp;msid=113091888199208468176.000001122365c713b06f5"&gt;Google Maps&lt;/a&gt;&amp;nbsp;or the&amp;nbsp;&lt;a target="_blank" style="color: rgb(141, 0, 0); text-decoration: underline; " href="http://www.gcal.ac.uk/the-university/global/contactmaps/campus.html"&gt;Caledonian University website&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Cost&lt;/h2&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; line-height: normal; "&gt;Now the very best part! This event is free thanks to the generosity of our sponsors and supporters.&lt;/p&gt;
&lt;h2&gt;Agenda&lt;/h2&gt;
&lt;ul&gt;
    &lt;li&gt;jQuery Deep Dive :&amp;nbsp;&lt;strong&gt;Andy Gibson&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Virtualisation for Developers - What? Why? Where? :&amp;nbsp;&lt;strong&gt;Liam Westley&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Everything you wanted to know about refactoring but were afraid to ask! :&amp;nbsp;&lt;strong&gt;Gary Short&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Testing the SQL Database - Best Practice :&amp;nbsp;&lt;strong&gt;Satya SK Jayanty&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;TDD? I don't have time :&amp;nbsp;&lt;strong&gt;Craig Nicol&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Real-world MVC Architecture :&amp;nbsp;&lt;strong&gt;Steven Sanderson&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Embracing a new world - dynamic languages and .NET :&amp;nbsp;&lt;strong&gt;Ben Hall&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;77 SQL Server Myths :&amp;nbsp;&lt;strong&gt;Simon Sabin&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;What's new in C# 4.0 :&amp;nbsp;&lt;strong&gt;Guy Smith-Ferrier&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;ASP.NET MVC Best Practice :&amp;nbsp;&lt;strong&gt;Sebastien Lambla&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Make Patterns with Patterns - Introducing the MVVM design pattern for WPF :&amp;nbsp;&lt;strong&gt;Ray Booysen&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;SQL Server Optimisation - Best Practice for Writing Efficient Code and Finding and Fixing Bad SQL to Improve Performance :&amp;nbsp;&lt;strong&gt;Iain Kick&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Stop your website being stung :&amp;nbsp;&lt;strong&gt;Barry Dorrans&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;What is functional programming? :&amp;nbsp;&lt;strong&gt;Barry Carr&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;When Good Architecture Goes Bad :&amp;nbsp;&lt;strong&gt;Mark Dalgarno&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Who Needs Schema When You Have SQL Data Services? :&amp;nbsp;&lt;strong&gt;Eric Nelson&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;ASP.NET 4.0 :&amp;nbsp;&lt;strong&gt;Mike Ormond&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Scrum Pain - Lessons learned swimming against the current :&amp;nbsp;&lt;strong&gt;Abid Quereshi&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;AOP with Castle Winsor and PostSharp Chris Canal SQL Server Architecture - The Life of a Query :&amp;nbsp;&lt;strong&gt;Christian Bolton&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; line-height: normal; "&gt;You can view the&amp;nbsp;&lt;a style="color: rgb(141, 0, 0); text-decoration: underline; " href="http://www.developerdayscotland.com/main/Agenda/tabid/84/Default.aspx"&gt;full agenda&lt;/a&gt;&amp;nbsp;on the Developer Day Scotland website.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.davetheninja.net/post/2009/05/01/Developer-Day-Scotland-this-Saturday-2May2009.aspx</link>
      <author>david.nospam@nospam.davetheninja.net (DaveTheNinja)</author>
      <comments>http://www.davetheninja.net/post/2009/05/01/Developer-Day-Scotland-this-Saturday-2May2009.aspx#comment</comments>
      <guid>http://www.davetheninja.net/post.aspx?id=548d4900-286f-4d1f-894c-9102ca628268</guid>
      <pubDate>Fri, 01 May 2009 08:35:00 -0500</pubDate>
      <category>C# 3.5</category>
      <category>MVC.net</category>
      <category>ScotAlt.net</category>
      <dc:publisher>DaveTheNinja</dc:publisher>
      <pingback:server>http://www.davetheninja.net/pingback.axd</pingback:server>
      <pingback:target>http://www.davetheninja.net/post.aspx?id=548d4900-286f-4d1f-894c-9102ca628268</pingback:target>
      <slash:comments>19</slash:comments>
      <trackback:ping>http://www.davetheninja.net/trackback.axd?id=548d4900-286f-4d1f-894c-9102ca628268</trackback:ping>
      <wfw:comment>http://www.davetheninja.net/post/2009/05/01/Developer-Day-Scotland-this-Saturday-2May2009.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.davetheninja.net/syndication.axd?post=548d4900-286f-4d1f-894c-9102ca628268</wfw:commentRss>
    </item>
    <item>
      <title>PATCH: TestControllerBuilder to allow stubbing of Request.AcceptTypes</title>
      <description>&lt;p&gt;I currently have the requirement to set the Request.AcceptTypes property for a controller test. &amp;nbsp;AFAIK there is currently no way of doing this within the MVC-Contrib TestControllerBuilder.&lt;/p&gt;
&lt;p&gt;I updated their latest trunk and have created a patch file in case you, or the MVC-Contrib guys want to use it.&lt;/p&gt;
&lt;p&gt;Heres the test:&lt;/p&gt;
&lt;pre name="code" class="csharp"&gt;
        [Test]
        public void CanSpecifyRequestAcceptTypes()
        {
            builder.AcceptTypes = new[] {&amp;quot;some/type-extension&amp;quot;};
            var controller = new TestHelperController();
            builder.InitializeController(controller);
            Assert.That(controller.HttpContext.Request.AcceptTypes, Is.Not.Null);
            Assert.That(controller.HttpContext.Request.AcceptTypes.Length, Is.EqualTo(1));
            Assert.That(controller.HttpContext.Request.AcceptTypes[0], Is.EqualTo(&amp;quot;some/type-extension&amp;quot;));
        }&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Heres the code&lt;/p&gt;
&lt;pre name="code" class="csharp"&gt;
		protected void SetupHttpContext()
		{
			...
SetupResult.For(request.AcceptTypes).Do((Func&amp;lt;string[]&gt;)(() =&gt; AcceptTypes));

.....
		}&lt;/pre&gt;
&lt;p&gt;Download the patch: &lt;a href="http://www.davetheninja.net/UserFiles/file/Patches/MVCContrib/MvcContrib_RequestAcceptTypes_DaveTheNinja_patch.txt"&gt;click here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dave the Ninja&lt;/p&gt;</description>
      <link>http://www.davetheninja.net/post/2009/04/22/PATCH-TestControllerBuilder-to-allow-stubbing-of-RequestAcceptTypes.aspx</link>
      <author>david.nospam@nospam.davetheninja.net (DaveTheNinja)</author>
      <comments>http://www.davetheninja.net/post/2009/04/22/PATCH-TestControllerBuilder-to-allow-stubbing-of-RequestAcceptTypes.aspx#comment</comments>
      <guid>http://www.davetheninja.net/post.aspx?id=fe4cf528-7794-403f-b96e-3812933af94d</guid>
      <pubDate>Wed, 22 Apr 2009 03:18:00 -0500</pubDate>
      <category>C# 3.5</category>
      <category>MVC.net</category>
      <category>Patches</category>
      <dc:publisher>DaveTheNinja</dc:publisher>
      <pingback:server>http://www.davetheninja.net/pingback.axd</pingback:server>
      <pingback:target>http://www.davetheninja.net/post.aspx?id=fe4cf528-7794-403f-b96e-3812933af94d</pingback:target>
      <slash:comments>9</slash:comments>
      <trackback:ping>http://www.davetheninja.net/trackback.axd?id=fe4cf528-7794-403f-b96e-3812933af94d</trackback:ping>
      <wfw:comment>http://www.davetheninja.net/post/2009/04/22/PATCH-TestControllerBuilder-to-allow-stubbing-of-RequestAcceptTypes.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.davetheninja.net/syndication.axd?post=fe4cf528-7794-403f-b96e-3812933af94d</wfw:commentRss>
    </item>
    <item>
      <title>Stage 1 of the move complete</title>
      <description>&lt;p&gt;As of sunday evening all of my domains were successfully moved to GANDI.net&lt;/p&gt;
&lt;p&gt;Next on the agenda is getting my old clients sites off my servers and on to their own hosting plans.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.davetheninja.net/post/2009/04/20/Stage-1-of-the-move-complete.aspx</link>
      <author>david.nospam@nospam.davetheninja.net (DaveTheNinja)</author>
      <comments>http://www.davetheninja.net/post/2009/04/20/Stage-1-of-the-move-complete.aspx#comment</comments>
      <guid>http://www.davetheninja.net/post.aspx?id=5f2f592e-e07a-4a92-a934-5ba5a6715d20</guid>
      <pubDate>Mon, 20 Apr 2009 02:44:00 -0500</pubDate>
      <category>Hong Kong</category>
      <dc:publisher>DaveTheNinja</dc:publisher>
      <pingback:server>http://www.davetheninja.net/pingback.axd</pingback:server>
      <pingback:target>http://www.davetheninja.net/post.aspx?id=5f2f592e-e07a-4a92-a934-5ba5a6715d20</pingback:target>
      <slash:comments>15</slash:comments>
      <trackback:ping>http://www.davetheninja.net/trackback.axd?id=5f2f592e-e07a-4a92-a934-5ba5a6715d20</trackback:ping>
      <wfw:comment>http://www.davetheninja.net/post/2009/04/20/Stage-1-of-the-move-complete.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.davetheninja.net/syndication.axd?post=5f2f592e-e07a-4a92-a934-5ba5a6715d20</wfw:commentRss>
    </item>
    <item>
      <title>Windows 2008 Server, your days are numbered!</title>
      <description>&lt;p&gt;It is with great joy *achem* regret that I am getting rid of my dedicated servers over the next few weeks.&lt;/p&gt;
&lt;p&gt;The main reason is cost, and limitations. I have decided to get hosting from now on, on a project per project basis, with my domains hosted over on GANDI.net&lt;/p&gt;
&lt;p&gt;I will be re-doing my blog within the next week or so over to a Ruby on Rails blog engine - and I will/should be moving my site over to brightbox.com for hosting.&lt;/p&gt;
&lt;p&gt;Hopefully this will be quite easy to do *fingers crossed* and should not interupt the site too much.&lt;/p&gt;
&lt;p&gt;I will blog on my experiences after its complete&lt;/p&gt;
&lt;p&gt;Ninja&lt;/p&gt;</description>
      <link>http://www.davetheninja.net/post/2009/04/15/Windows-2008-Server-your-days-are-numbered!.aspx</link>
      <author>david.nospam@nospam.davetheninja.net (DaveTheNinja)</author>
      <comments>http://www.davetheninja.net/post/2009/04/15/Windows-2008-Server-your-days-are-numbered!.aspx#comment</comments>
      <guid>http://www.davetheninja.net/post.aspx?id=78bbabd9-6937-4c9b-857e-28212b3406e5</guid>
      <pubDate>Wed, 15 Apr 2009 11:51:00 -0500</pubDate>
      <category>Hong Kong</category>
      <dc:publisher>DaveTheNinja</dc:publisher>
      <pingback:server>http://www.davetheninja.net/pingback.axd</pingback:server>
      <pingback:target>http://www.davetheninja.net/post.aspx?id=78bbabd9-6937-4c9b-857e-28212b3406e5</pingback:target>
      <slash:comments>8</slash:comments>
      <trackback:ping>http://www.davetheninja.net/trackback.axd?id=78bbabd9-6937-4c9b-857e-28212b3406e5</trackback:ping>
      <wfw:comment>http://www.davetheninja.net/post/2009/04/15/Windows-2008-Server-your-days-are-numbered!.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.davetheninja.net/syndication.axd?post=78bbabd9-6937-4c9b-857e-28212b3406e5</wfw:commentRss>
    </item>
    <item>
      <title>Official launch of www.richpictures.co.uk</title>
      <description>&lt;div&gt;&lt;img width="250" height="198" style="float:right; margin-left:20px;margin-bottom:20px;" alt="" src="/UserFiles/image/Projects/Rich%20Pictures/rp_galleries.jpg" /&gt;&lt;/div&gt;
&lt;p&gt;I had been working for some time on a project for my friends company Rich Pictures Ltd, who are based in Glasgow - Scotland (UK)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
The site had been up and running for quite a while as we ironed out the remaining features such as the shop and PayPal integration but on Monday I flicked the switch and rolled over to the final release of this application.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;img width="250" height="198" style="float:left; margin-right: 20px; margin-bottom: 20px; " alt="" src="http://www.davetheninja.net/UserFiles/image/Projects/Rich%20Pictures/rp_galleries_detail.jpg" /&gt;&lt;/div&gt;
&lt;p&gt;The website is designed to showcase the works of Lisa Clelland, and to enable her to clients to log in and select which photographs they would like prints of and then add them to cart for purchasing.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I am really happy how this site has evolved and with the design of the site.  This was a 1 man job from start to finish, working closely with Rich Pictures throughout the design processes&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I twittered on it and have received some lovely comments so far, two of which were from Phil Haack (Microsoft MVC) and Louis DeJardin (Spark View Engine Creator)&lt;/p&gt;
&lt;div style="text-align: center; "&gt;&lt;img width="581" height="249" alt="" src="/UserFiles/image/Projects/Rich%20Pictures/Untitled-3.jpg" /&gt;&lt;/div&gt;
&lt;p&gt;I see big things for the future of this site and company as a whole as Lisa is a very talented photographer, as you can see from looking at the site.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
You can visit Rich Pictures at &lt;a target="_blank" href="http://www.richpictures.co.uk"&gt;www.richpictures.co.uk&lt;/a&gt; or contact Lisa directly on 07786 077 891 if you are interested in booking her (quote you got the link/number from me)&lt;/p&gt;
&lt;p&gt;Dave the Ninja&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.davetheninja.net/post/2009/04/01/Official-launch-of-wwwrichpicturescouk.aspx</link>
      <author>david.nospam@nospam.davetheninja.net (DaveTheNinja)</author>
      <comments>http://www.davetheninja.net/post/2009/04/01/Official-launch-of-wwwrichpicturescouk.aspx#comment</comments>
      <guid>http://www.davetheninja.net/post.aspx?id=e1364e98-5c2b-4c76-913d-8f859280455a</guid>
      <pubDate>Wed, 01 Apr 2009 02:55:00 -0500</pubDate>
      <category>C# 3.5</category>
      <category>Family</category>
      <category>MVC.net</category>
      <dc:publisher>DaveTheNinja</dc:publisher>
      <pingback:server>http://www.davetheninja.net/pingback.axd</pingback:server>
      <pingback:target>http://www.davetheninja.net/post.aspx?id=e1364e98-5c2b-4c76-913d-8f859280455a</pingback:target>
      <slash:comments>67</slash:comments>
      <trackback:ping>http://www.davetheninja.net/trackback.axd?id=e1364e98-5c2b-4c76-913d-8f859280455a</trackback:ping>
      <wfw:comment>http://www.davetheninja.net/post/2009/04/01/Official-launch-of-wwwrichpicturescouk.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.davetheninja.net/syndication.axd?post=e1364e98-5c2b-4c76-913d-8f859280455a</wfw:commentRss>
    </item>
    <item>
      <title>Design your own Visual Studio Theme</title>
      <description>&lt;p&gt;&lt;a target="_blank" href="http://www.frickinsweet.com/tools/Theme.mvc.aspx"&gt;http://www.frickinsweet.com/tools/Theme.mvc.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sweeeeeeeeeeeeeeeeeeeeeeeet!&lt;/p&gt;
&lt;p&gt;Dave the Ninja&lt;/p&gt;</description>
      <link>http://www.davetheninja.net/post/2009/03/16/Design-your-own-Visual-Studio-Theme.aspx</link>
      <author>david.nospam@nospam.davetheninja.net (DaveTheNinja)</author>
      <comments>http://www.davetheninja.net/post/2009/03/16/Design-your-own-Visual-Studio-Theme.aspx#comment</comments>
      <guid>http://www.davetheninja.net/post.aspx?id=8697379f-5b26-4abf-b123-fa132c9c2325</guid>
      <pubDate>Mon, 16 Mar 2009 10:55:00 -0500</pubDate>
      <category>C# 3.5</category>
      <category>Hong Kong</category>
      <dc:publisher>DaveTheNinja</dc:publisher>
      <pingback:server>http://www.davetheninja.net/pingback.axd</pingback:server>
      <pingback:target>http://www.davetheninja.net/post.aspx?id=8697379f-5b26-4abf-b123-fa132c9c2325</pingback:target>
      <slash:comments>14</slash:comments>
      <trackback:ping>http://www.davetheninja.net/trackback.axd?id=8697379f-5b26-4abf-b123-fa132c9c2325</trackback:ping>
      <wfw:comment>http://www.davetheninja.net/post/2009/03/16/Design-your-own-Visual-Studio-Theme.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.davetheninja.net/syndication.axd?post=8697379f-5b26-4abf-b123-fa132c9c2325</wfw:commentRss>
    </item>
    <item>
      <title>PATCH: RouteTestingExtensions for when RouteValue is a complex type</title>
      <description>&lt;div style="border:1px dashed red; padding:10px;"&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This fix is included in the current release of MVC-Contrib.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;I have been using the MVCContrib&amp;nbsp;RouteTestingExtensions today for the first time and they have been working really well.... that is until I started writing a custom route that returns a complex type to the RouteValueDictionary.&lt;/p&gt;
&lt;p&gt;The tests that I had assumed would work and pass were like the following:&lt;/p&gt;
&lt;pre name="code" class="csharp"&gt;
    [TestFixture, Category(&amp;quot;Routing&amp;quot;)]
    public class When_Url_to_route_is_dynamic_with_trailing_slash_and_no_html_extension : DynamicContentRouteSpecification
    {
        public override void Given()
        {
            base.Given();
            currentUrl = &amp;quot;~/business/something/&amp;quot;;
            dynamicUrl = new DynamicUrl(currentUrl.Substring(2));
        }

        [Test]
        public void Then_the_current_url_should_map_to_DynamicContentController_Render_action()
        {
            route.ShouldMapTo&amp;lt;DynamicContentController&gt;(a =&gt; a.Render(dynamicUrl));
        }
    }&lt;/pre&gt;
&lt;p&gt;In my code sample above the DynamicUrl is a class that wraps additional logic around the passed in url, and I have a ToString() method on it that simply returns the original url value.&lt;/p&gt;
&lt;p&gt;This test kept blowing up, and after looking at the tests and code from MVCContrib I found the code that was causing all of the problems.&lt;/p&gt;
&lt;pre name="code" class="csharp"&gt;
        public static object GetValue(this RouteValueDictionary routeValues, string key)
        {
            foreach(var routeValueKey in routeValues.Keys)
            {
                if(string.Equals(routeValueKey, key, StringComparison.InvariantCultureIgnoreCase))
                    return routeValues[routeValueKey] as String;
            }

            return null;
        }&lt;/pre&gt;
&lt;p&gt;This GetValue method within the RouteTestingExtensions would work as expected until the return &amp;quot;as String&amp;quot;. &amp;nbsp;As we know&amp;nbsp;&amp;quot;as String&amp;quot; returns a string if it can be converted or null if it can not.&lt;/p&gt;
&lt;p&gt;To resolve this issue I amended the MVCContrib code to the following:&lt;/p&gt;
&lt;pre name="code" class="csharp"&gt;
        public static object GetValue(this RouteValueDictionary routeValues, string key)
        {
            foreach(var routeValueKey in routeValues.Keys)
            {
                if(string.Equals(routeValueKey, key, StringComparison.InvariantCultureIgnoreCase))
                    return routeValues[routeValueKey].ToString();
            }

            return null;
        }&lt;/pre&gt;
&lt;p&gt;After making the changes and running the MVCContrib tests, they all passed.&lt;/p&gt;
&lt;p&gt;I then re-built and referenced the new assembly builds in my project and HAZZA! my tests started passing.&lt;/p&gt;
&lt;p&gt;I have uploaded the patch and you can &lt;a target="_blank" href="http://www.davetheninja.net/UserFiles/file/Patches/MVCContrib/MVCContrib_RouteTestingExtensions_DaveTheNinja.patch.txt"&gt;download it here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If anyone has any feedback on this, or if I have gone about using the helper the wrong way please leave me a comment.&lt;/p&gt;
&lt;p&gt;David the Ninja&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.davetheninja.net/post/2009/03/16/PATCH-RouteTestingExtensions-for-when-RouteValue-is-a-complex-type.aspx</link>
      <author>david.nospam@nospam.davetheninja.net (DaveTheNinja)</author>
      <comments>http://www.davetheninja.net/post/2009/03/16/PATCH-RouteTestingExtensions-for-when-RouteValue-is-a-complex-type.aspx#comment</comments>
      <guid>http://www.davetheninja.net/post.aspx?id=b396443d-06bb-45bd-afe3-4c4dc8a2b27e</guid>
      <pubDate>Mon, 16 Mar 2009 08:43:00 -0500</pubDate>
      <category>C# 3.5</category>
      <category>MVC.net</category>
      <category>Patches</category>
      <dc:publisher>DaveTheNinja</dc:publisher>
      <pingback:server>http://www.davetheninja.net/pingback.axd</pingback:server>
      <pingback:target>http://www.davetheninja.net/post.aspx?id=b396443d-06bb-45bd-afe3-4c4dc8a2b27e</pingback:target>
      <slash:comments>7</slash:comments>
      <trackback:ping>http://www.davetheninja.net/trackback.axd?id=b396443d-06bb-45bd-afe3-4c4dc8a2b27e</trackback:ping>
      <wfw:comment>http://www.davetheninja.net/post/2009/03/16/PATCH-RouteTestingExtensions-for-when-RouteValue-is-a-complex-type.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.davetheninja.net/syndication.axd?post=b396443d-06bb-45bd-afe3-4c4dc8a2b27e</wfw:commentRss>
    </item>
    <item>
      <title>Film: Katakuri-ke no kôfuku (aka The Happiness of the Katakuris)</title>
      <description>&lt;p&gt;&lt;a target="_blank" href="http://www.amazon.com/Happiness-Katakuris-Katakuri-ke-k&amp;ocirc;fuku-NON-USA/dp/B000X03GGW/ref=sr_1_5?ie=UTF8&amp;amp;s=dvd&amp;amp;qid=1236896000&amp;amp;sr=8-5"&gt;&lt;img align="right" width="200" style="margin-left:20px;float:right;border:0px;" alt="" src="/UserFiles/image/MV5BMTIwNzgxNzI4OF5BMl5BanBnXkFtZTcwMDIyMjQyMQ@@__V1__SX280_SY400_.jpg" /&gt;&lt;/a&gt;What can I say about this film?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: x-large; "&gt;IF&amp;nbsp;IT&amp;nbsp;IS&amp;nbsp;THE&amp;nbsp;LAST&amp;nbsp;THING&amp;nbsp;YOU&amp;nbsp;DO ON&amp;nbsp;THIS&amp;nbsp;EARTH,&amp;nbsp;WATCH&amp;nbsp;THIS&amp;nbsp;MOVIE!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I was doubled over laughing the whole way through, director &lt;a target="_blank" href="http://www.imdb.com/name/nm0586281/"&gt;Takashi Miike&lt;/a&gt; has done an amazing job once again directing this master piece!&lt;/p&gt;
&lt;p&gt;IMDB: &lt;a target="_blank" href="http://www.imdb.com/title/tt0304262/"&gt;http://www.imdb.com/title/tt0304262/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I think I have a new favourite movie!&lt;/p&gt;
&lt;p&gt;Ninja&lt;/p&gt;</description>
      <link>http://www.davetheninja.net/post/2009/03/12/Film-Katakuri-ke-no-kofuku-(aka-The-Happiness-of-the-Katakuris).aspx</link>
      <author>david.nospam@nospam.davetheninja.net (DaveTheNinja)</author>
      <comments>http://www.davetheninja.net/post/2009/03/12/Film-Katakuri-ke-no-kofuku-(aka-The-Happiness-of-the-Katakuris).aspx#comment</comments>
      <guid>http://www.davetheninja.net/post.aspx?id=724518e7-06ad-4f00-9543-2aee383d9739</guid>
      <pubDate>Thu, 12 Mar 2009 17:06:00 -0500</pubDate>
      <category>Hong Kong</category>
      <category>Movies</category>
      <dc:publisher>DaveTheNinja</dc:publisher>
      <pingback:server>http://www.davetheninja.net/pingback.axd</pingback:server>
      <pingback:target>http://www.davetheninja.net/post.aspx?id=724518e7-06ad-4f00-9543-2aee383d9739</pingback:target>
      <slash:comments>11</slash:comments>
      <trackback:ping>http://www.davetheninja.net/trackback.axd?id=724518e7-06ad-4f00-9543-2aee383d9739</trackback:ping>
      <wfw:comment>http://www.davetheninja.net/post/2009/03/12/Film-Katakuri-ke-no-kofuku-(aka-The-Happiness-of-the-Katakuris).aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.davetheninja.net/syndication.axd?post=724518e7-06ad-4f00-9543-2aee383d9739</wfw:commentRss>
    </item>
    <item>
      <title>Learn a new language every year....</title>
      <description>&lt;p&gt;&amp;nbsp;..or thats what they say anyways&amp;nbsp;&lt;img alt="" src="http://www.davetheninja.net/editors/FckEditor/editor/images/smiley/msn/wink_smile.gif" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.pragprog.com/titles/rails2/agile-web-development-with-rails"&gt;&lt;img align="right" style="margin-left:40px;margin-bottom:20px;" alt="" src="http://assets2.pragprog.com/images/covers/190x228/rails2.jpg?1184184147" /&gt;&lt;/a&gt;I have decided that this years programming language that I am going to learn is Ruby / Ruby on Rails. &amp;nbsp;I have just bought&amp;nbsp;Agile Web Development with Rails: Second Edition from the Pragmatic Programmers.&lt;/p&gt;
&lt;p&gt;I have only had time to glance through the book but it seems excellent so far, real life examples and what looks like full rails programming reference.&lt;/p&gt;
&lt;p&gt;I am looking to start properly coding my first app in rails within the next week or two so I will blog on my experiences.&lt;/p&gt;
&lt;p&gt;I am also learning Cantonese which is proving to be possible but very difficult&amp;nbsp;&lt;img alt="" src="http://www.davetheninja.net/editors/FckEditor/editor/images/smiley/msn/cry_smile.gif" /&gt;&lt;/p&gt;
&lt;p&gt;@&amp;nbsp;dgi &amp;nbsp;p.s CMS part 4 is coming soon, ive not forgotten about you&amp;nbsp;&lt;img alt="" src="http://www.davetheninja.net/editors/FckEditor/editor/images/smiley/msn/teeth_smile.gif" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dave the Ninja&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.davetheninja.net/post/2009/03/05/Learn-a-new-language-every-year.aspx</link>
      <author>david.nospam@nospam.davetheninja.net (DaveTheNinja)</author>
      <comments>http://www.davetheninja.net/post/2009/03/05/Learn-a-new-language-every-year.aspx#comment</comments>
      <guid>http://www.davetheninja.net/post.aspx?id=3e5920d3-13e4-47db-a79d-c92caa6e08be</guid>
      <pubDate>Thu, 05 Mar 2009 03:54:00 -0500</pubDate>
      <category>Ruby</category>
      <category>Ruby on Rails</category>
      <dc:publisher>DaveTheNinja</dc:publisher>
      <pingback:server>http://www.davetheninja.net/pingback.axd</pingback:server>
      <pingback:target>http://www.davetheninja.net/post.aspx?id=3e5920d3-13e4-47db-a79d-c92caa6e08be</pingback:target>
      <slash:comments>8</slash:comments>
      <trackback:ping>http://www.davetheninja.net/trackback.axd?id=3e5920d3-13e4-47db-a79d-c92caa6e08be</trackback:ping>
      <wfw:comment>http://www.davetheninja.net/post/2009/03/05/Learn-a-new-language-every-year.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.davetheninja.net/syndication.axd?post=3e5920d3-13e4-47db-a79d-c92caa6e08be</wfw:commentRss>
    </item>
  </channel>
</rss>
