<?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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Kang The Koder</title>
	
	<link>http://www.markharris.net.au/blog</link>
	<description>Mark Harris’ musings on the .net Framework, Software Development and Life</description>
	<lastBuildDate>Mon, 26 Oct 2009 13:24:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain="www.markharris.net.au" port="80" path="/blog/?rsscloud=notify" registerProcedure="" protocol="http-post" />
		<creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/net/FXnX" type="application/rss+xml" /><feedburner:emailServiceId>net/FXnX</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Running Subversion on your Windows Home Server</title>
		<link>http://feedproxy.google.com/~r/net/FXnX/~3/4LB_Qe7nLXU/</link>
		<comments>http://www.markharris.net.au/blog/2009/10/22/running-subversion-on-your-windows-home-server/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 21:43:36 +0000</pubDate>
		<dc:creator>Mark Harris</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[windows home server]]></category>

		<guid isPermaLink="false">http://www.markharris.net.au/blog/?p=157</guid>
		<description><![CDATA[
&#160;
First off i know there should be no reason for me to do this as there are hosting options galore, but sometimes its just easier having the code running in your LAN, so with that in mind i remembered reading that Scott Hanselman wrote about his experience setting up VisualSvn on WHS.&#160; 
So i decided [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.markharris.net.au/blog/wp-content/uploads/2009/10/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="left" src="http://www.markharris.net.au/blog/wp-content/uploads/2009/10/image_thumb.png" width="180" height="129" /></a></p>
<p>&#160;</p>
<p>First off i know there should be no reason for me to do this as there are hosting options galore, but sometimes its just easier having the code running in your LAN, so with that in mind i remembered reading that Scott Hanselman wrote about his experience <a href="http://www.hanselman.com/blog/RunningASubversionServerOffYourWindowsHomeServer.aspx">setting up VisualSvn on WHS</a>.&#160; </p>
<p>So i decided to follow his work and rather than reinvent the wheel, however as i went through the process i found that a couple of things needed changing to make this whole processes much easier.</p>
<ol>
<li><a href="http://www.markharris.net.au/blog/wp-content/uploads/2009/10/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://www.markharris.net.au/blog/wp-content/uploads/2009/10/image_thumb1.png" width="222" height="87" /></a>Setup a new share on your home server using the Windows Home Server Console. The recommended approach is to Uncheck the Enable Folder Duplication Check Box, though i have yet to experience any of the <a href="http://www.codeandcoffee.com/2008/05/windows-home-server-as-a-subversion-server/">locking issues described here</a></li>
<li>Log on to your Windows Home Server using Remote Desktop</li>
<li>Give the Network Service access to the share as well as permissions on the folder to Read/Write/Modify files as required. For a detailed walkthrough on what and how to modify the permissions are available in the <a href="http://www.visualsvn.com/support/topic/00022/">VisualSvn Knowledge base article</a> for Storing Repositories on a Network Share.
<p><strong>NOTE</strong>: it is recommended that you create a special user that has Run As Service Account as well as the permissions to the folder and not use the Network Service.</li>
<li>Go to <a href="http://www.visualsvn.com/server/">VisualSVN</a> Download and begin installation</li>
<li>When prompted by the installation for a location for the share provide it with the share location that you have just setup.</li>
<li>Set choose port 8443 for your port and complete the installation. If the installer gives you any warnings its likely that you have not given the Network Service its required permissions.</li>
<li>Setup up port forwarding on your router. and you should then be able to access the Visualsvn from your Home Server url either http://server:8443/ if your inside your network or http://my-dynamic-dns.homeserver.com:8443/</li>
</ol>
<p>The interesting thing about this is that while this is one of about 6 different ways i could count to do this installation while i found this the most straight forward for me YMMV.</p>
<a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F22%2Frunning-subversion-on-your-windows-home-server%2F&amp;linkname=Running%20Subversion%20on%20your%20Windows%20Home%20Server" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F22%2Frunning-subversion-on-your-windows-home-server%2F&amp;linkname=Running%20Subversion%20on%20your%20Windows%20Home%20Server" title="Google Reader" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F22%2Frunning-subversion-on-your-windows-home-server%2F&amp;linkname=Running%20Subversion%20on%20your%20Windows%20Home%20Server" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F22%2Frunning-subversion-on-your-windows-home-server%2F&amp;linkname=Running%20Subversion%20on%20your%20Windows%20Home%20Server" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F22%2Frunning-subversion-on-your-windows-home-server%2F&amp;linkname=Running%20Subversion%20on%20your%20Windows%20Home%20Server" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F22%2Frunning-subversion-on-your-windows-home-server%2F&amp;linkname=Running%20Subversion%20on%20your%20Windows%20Home%20Server" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F22%2Frunning-subversion-on-your-windows-home-server%2F&amp;linkname=Running%20Subversion%20on%20your%20Windows%20Home%20Server">Share/Save</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/net/FXnX?a=4LB_Qe7nLXU:hdTflDBwdJA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=4LB_Qe7nLXU:hdTflDBwdJA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=4LB_Qe7nLXU:hdTflDBwdJA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=4LB_Qe7nLXU:hdTflDBwdJA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=4LB_Qe7nLXU:hdTflDBwdJA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=4LB_Qe7nLXU:hdTflDBwdJA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=4LB_Qe7nLXU:hdTflDBwdJA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=4LB_Qe7nLXU:hdTflDBwdJA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=4LB_Qe7nLXU:hdTflDBwdJA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=4LB_Qe7nLXU:hdTflDBwdJA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=4LB_Qe7nLXU:hdTflDBwdJA:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=4LB_Qe7nLXU:hdTflDBwdJA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=4LB_Qe7nLXU:hdTflDBwdJA:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/net/FXnX/~4/4LB_Qe7nLXU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markharris.net.au/blog/2009/10/22/running-subversion-on-your-windows-home-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markharris.net.au/blog/2009/10/22/running-subversion-on-your-windows-home-server/</feedburner:origLink></item>
		<item>
		<title>Would you hire a half interested developer?</title>
		<link>http://feedproxy.google.com/~r/net/FXnX/~3/0Ucm0gXYoyI/</link>
		<comments>http://www.markharris.net.au/blog/2009/10/09/would-you-hire-a-half-intersted-developer/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 09:55:26 +0000</pubDate>
		<dc:creator>Mark Harris</dc:creator>
				<category><![CDATA[Career]]></category>

		<guid isPermaLink="false">http://www.markharris.net.au/blog/?p=134</guid>
		<description><![CDATA[Jeremy Miller tweeted this today which got me thinking. Jeremy&#8217;s comment was that being part of a small team mean that it mattered more. However i think that regardless of the team size or whether your a developer, a salesman, a business owner, you want an employee that will be committed to moving the business [...]]]></description>
			<content:encoded><![CDATA[<p>Jeremy Miller <a href="http://twitter.com/jeremydmiller/status/4720476971">tweeted this</a> today which got me thinking. Jeremy&#8217;s comment was that being part of a small team mean that it mattered more. However i think that regardless of the team size or whether your a developer, a salesman, a business owner, you want an employee that will be committed to moving the business forward. A half interested developer will be bad for the entire team regardless of the size. For that matter any person not moving in the same direction of that team is not worth the hire, while just like Jeremy said it might be harsh but its just my opinion.   <a rel="attachment wp-att-138" href="http://www.markharris.net.au/blog/2009/10/09/would-you-hire-a-half-intersted-developer/half-interested/"><img class="size-medium wp-image-138 alignright" title="half-interested" src="http://www.markharris.net.au/blog/wp-content/uploads/2009/10/half-interested-300x255.jpg" alt="half interested " width="300" height="255" /></a></p>
<p>Regardless of what the job is you want to find the most motivated individual. Sales people for example are motivated by great commission schemes. Interested Developers are generally motivated by good  jobs and a great environment. Finding either a good job or a motivated developer is the hard bit. Simon Segal posted a while back about <a href="http://www.simonsegal.net/blog/2008/07/20/smart-developers-are-not-semi-invested-developers/">&#8220;Semi Invested Developers&#8221;</a> and some ways to better understand the individual during the hiring process. If a developer was to have read his post in preparation for an interview and used some canned answers for those questions and managed to get hired he still shows more interest that one who has not bothered to take that step.</p>
<p>On a personal note I have reduced the number of hours I spent in front a computer since having my daughter (a time and energy vampire), however I have not lost my passion or motivation to better myself, and be a more interested developer. I find my self picking and choosing what tasks/technologies I will devote my attention to much more wisely, a skill that is very hard to acquire.</p>
<p>Just out of curiosity i created this poll to find out what people thought about hiring a half interested person /developer.</p>
<p><script src="http://twtpoll.com/js/badge.js" type="text/javascript"></script> <script src="http://twtpoll.com/badge/?twt=ipz8kv&amp;b=1" type="text/javascript"></script></p>
<a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F09%2Fwould-you-hire-a-half-intersted-developer%2F&amp;linkname=Would%20you%20hire%20a%20half%20interested%20developer%3F" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F09%2Fwould-you-hire-a-half-intersted-developer%2F&amp;linkname=Would%20you%20hire%20a%20half%20interested%20developer%3F" title="Google Reader" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F09%2Fwould-you-hire-a-half-intersted-developer%2F&amp;linkname=Would%20you%20hire%20a%20half%20interested%20developer%3F" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F09%2Fwould-you-hire-a-half-intersted-developer%2F&amp;linkname=Would%20you%20hire%20a%20half%20interested%20developer%3F" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F09%2Fwould-you-hire-a-half-intersted-developer%2F&amp;linkname=Would%20you%20hire%20a%20half%20interested%20developer%3F" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F09%2Fwould-you-hire-a-half-intersted-developer%2F&amp;linkname=Would%20you%20hire%20a%20half%20interested%20developer%3F" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F10%2F09%2Fwould-you-hire-a-half-intersted-developer%2F&amp;linkname=Would%20you%20hire%20a%20half%20interested%20developer%3F">Share/Save</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/net/FXnX?a=0Ucm0gXYoyI:xd1yNMeyAb0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=0Ucm0gXYoyI:xd1yNMeyAb0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=0Ucm0gXYoyI:xd1yNMeyAb0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=0Ucm0gXYoyI:xd1yNMeyAb0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=0Ucm0gXYoyI:xd1yNMeyAb0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=0Ucm0gXYoyI:xd1yNMeyAb0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=0Ucm0gXYoyI:xd1yNMeyAb0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=0Ucm0gXYoyI:xd1yNMeyAb0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=0Ucm0gXYoyI:xd1yNMeyAb0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=0Ucm0gXYoyI:xd1yNMeyAb0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=0Ucm0gXYoyI:xd1yNMeyAb0:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=0Ucm0gXYoyI:xd1yNMeyAb0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=0Ucm0gXYoyI:xd1yNMeyAb0:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/net/FXnX/~4/0Ucm0gXYoyI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markharris.net.au/blog/2009/10/09/would-you-hire-a-half-intersted-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markharris.net.au/blog/2009/10/09/would-you-hire-a-half-intersted-developer/</feedburner:origLink></item>
		<item>
		<title>Testing Message Handlers with NServiceBus</title>
		<link>http://feedproxy.google.com/~r/net/FXnX/~3/gTnM7yfWdrQ/</link>
		<comments>http://www.markharris.net.au/blog/2009/09/27/testing-message-handlers-with-nservicebus/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 10:12:00 +0000</pubDate>
		<dc:creator>Mark Harris</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[NServiceBus]]></category>
		<category><![CDATA[Unit Testing]]></category>
		<category><![CDATA[Rhino Mocks]]></category>

		<guid isPermaLink="false">http://www.markharris.net.au/blog/?p=110</guid>
		<description><![CDATA[One of the great things that NServiceBus ships with is a dll called “NServiceBus.Testing” which provides us with the ability to easily test your sagas. This enables us to move forward with greater confidence in knowing that the code that we have written will function as expected when we move the code into integration testing [...]]]></description>
			<content:encoded><![CDATA[<p>One of the great things that <a href="http://www.nservicebus.com/" rel="tag">NServiceBus</a> ships with is a dll called “NServiceBus.Testing” which provides us with the ability to easily test your <a href="http://www.udidahan.com/2009/04/20/saga-persistence-and-event-driven-architectures/" target="_blank">sagas</a>. This enables us to move forward with greater confidence in knowing that the code that we have written will function as expected when we move the code into integration testing and then production.&#160; Most of what i talk about here is in direct reference the <a href="http://www.udidahan.com/2009/02/07/nservicebus-19/" target="_blank">1.9 release of NServiceBus</a>. If you have not seen how Saga’s are unit tested in NServiceBus have a read of <a href="http://tech.groups.yahoo.com/group/nservicebus/message/208" target="_blank">Udi’s post on the forum</a>. This post however is about how to test a Plain old Message Handler.</p>
<p>Let us being with looking at a sample handler. </p>
<pre class="brush: csharp;">public class FileProcessMessageHandler:IMessageHandler&lt;ProcessFileMessage&gt;
{
    public IBus Bus { get; set; }
    public IFileProcessor FileProcessor {get;set;}
    public void Handle(ProcessFileMessage message)
    {
        if (FileProcessor.Run(message.FileIdentfier,message.FileSystemLocation))
        {
            var msg = Bus.CreateInstance&lt;FileProcessedMessage&gt;(m =&gt; { m.FileIdentifier = message.FileIdentfier; });
            Bus.Publish(msg);
        }
        else
        {
            Bus.Publish&lt;UnknownFileTypeMessage&gt;(m =&gt; { m.FileIdentifer = message.FileIdentfier; });
        }
    }
}</pre>
<p>&#160;</p>
<p>This code in and of itself is highly testable. We have two interfaces that are injected into the class, excellent candidates for a mock. However when i first started down this path my first inclination was to use a manual mock, before moving on to trying to use Moq, however after spending time the fluent saga testing API in NServiceBus I realized that it was what was needed in this situation a MockBus.</p>
<p>MockBus is essentially the same as what is in the NServiceBus.Testing library. However because that version is geared towards testing sagas, it required changing the way the Saga class was created, and to allow for creating a version that would work with message handler. The new structure looks like the class diagram below.</p>
<p>&#160;</p>
<p><a href="http://www.markharris.net.au/blog/wp-content/uploads/2009/09/NServiceBusTestingClassDiagram.png" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="NServiceBus Testing Class Diagram" border="0" alt="NServiceBus Testing Class Diagram" src="http://www.markharris.net.au/blog/wp-content/uploads/2009/09/NServiceBusTestingClassDiagram_thumb.png" width="463" height="398" /></a> </p>
<p>&#160;</p>
<p>What Changed</p>
<ol>
<li>The Saga class has become the MockBus class and no longer has the static method called Test() which created the Saga instance.</li>
<li>The MockBusForSaga has the method CreateInstance&lt;T&gt; which replaces the Test() method in the old Saga class.</li>
<li>Introduced a MockBusForMessageHandler which has a CreateInstance&lt;T,TK&gt;() method that creates the message handler.</li>
</ol>
<p>Having this structure now enables us to write our tests for our message handlers very simply in a fashion that does not require to understand Rhino Mocks, though having a understanding of the errors you get from the mock bus is important as all the messages that are bubbled out are Rhino Mock Messages.</p>
<pre class="brush: csharp;">[Test]
public void when_file_processor_succeds_message_handler_will_publish_a_file_processed_message()
{
    FileProcessMessageHandler msgHandler;
    var mock_bus = MockBusForMessageHandler.CreateInstance&lt;FileProcessMessageHandler,ProcessFileMessage&gt;(out msgHandler);
    var fileID = Guid.NewGuid();
    msgHandler.FileProcessor = SetupAndReturnFileProcessor(true);
    mock_bus.ExpectPublish&lt;FileProcessedMessage&gt;(d =&gt; d.FileIdentifier == fileID)
        .When(() =&gt; msgHandler.Handle(CreateProcessFileRequest(fileID)));
}</pre>
<p>&#160;</p>
<p>Lets have a look&#160; when make a call to
<pre class="brush: csharp;">CreateInstance&lt;FileProcessMessageHandler,ProcessFileMessage&gt;(out msgHandler)</pre>
</p>
<pre class="brush: csharp;">public static MockBusForMessageHandler CreateInstance&lt;T, TK&gt;(out T handler)
    where TK : IMessage
    where T : IMessageHandler&lt;TK&gt;, new()
{
    handler = (T) Activator.CreateInstance(typeof (T));
    var mocks = new MockRepository();
    var bus = mocks.DynamicMock&lt;IBus&gt;();
    try
    {
        typeof (T).GetProperty(&quot;Bus&quot;, BindingFlags.Instance | BindingFlags.Public)
            .SetValue(handler, bus, null);
    }
    catch
    {/**swallow if they dont have a Bus defined in the class**/}
    List&lt;Type&gt; typesToMap;
    MessageMapper mapper = GetMapperAndInitialize(out typesToMap);
    return new MockBusForMessageHandler(mocks, bus, mapper, typesToMap);
}</pre>
<p>The beauty in this code is all hidden away in the MockBus (aka NServiceBus.Testing.Saga) thank you <a href="http://www.udidahan.com">Udi</a> for this, </p>
<p> The bus is instantiated when the object is created however no expectations are recorded until the When() method is called in the test just before the delegate is run. Once the delegate is run you will get the callbacks to the ExpectPublish where you can assert that not only did you get the correct type of message but the contents as well. </p>
<p>The code for this is available on the <a href="http://www.markharris.net.au/blog/downloads/" rel="tag" target="_blank">downloads page</a> or go to it <a href="http://www.markharris.net.au/blog/downloads/?did=1" target="_blank">NServiceBus.Extensions.Testing download here</a></p>
<a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F09%2F27%2Ftesting-message-handlers-with-nservicebus%2F&amp;linkname=Testing%20Message%20Handlers%20with%20NServiceBus" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F09%2F27%2Ftesting-message-handlers-with-nservicebus%2F&amp;linkname=Testing%20Message%20Handlers%20with%20NServiceBus" title="Google Reader" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F09%2F27%2Ftesting-message-handlers-with-nservicebus%2F&amp;linkname=Testing%20Message%20Handlers%20with%20NServiceBus" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F09%2F27%2Ftesting-message-handlers-with-nservicebus%2F&amp;linkname=Testing%20Message%20Handlers%20with%20NServiceBus" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F09%2F27%2Ftesting-message-handlers-with-nservicebus%2F&amp;linkname=Testing%20Message%20Handlers%20with%20NServiceBus" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F09%2F27%2Ftesting-message-handlers-with-nservicebus%2F&amp;linkname=Testing%20Message%20Handlers%20with%20NServiceBus" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F09%2F27%2Ftesting-message-handlers-with-nservicebus%2F&amp;linkname=Testing%20Message%20Handlers%20with%20NServiceBus">Share/Save</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/net/FXnX?a=gTnM7yfWdrQ:c3NcapTNqCw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=gTnM7yfWdrQ:c3NcapTNqCw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=gTnM7yfWdrQ:c3NcapTNqCw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=gTnM7yfWdrQ:c3NcapTNqCw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=gTnM7yfWdrQ:c3NcapTNqCw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=gTnM7yfWdrQ:c3NcapTNqCw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=gTnM7yfWdrQ:c3NcapTNqCw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=gTnM7yfWdrQ:c3NcapTNqCw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=gTnM7yfWdrQ:c3NcapTNqCw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=gTnM7yfWdrQ:c3NcapTNqCw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=gTnM7yfWdrQ:c3NcapTNqCw:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=gTnM7yfWdrQ:c3NcapTNqCw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=gTnM7yfWdrQ:c3NcapTNqCw:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/net/FXnX/~4/gTnM7yfWdrQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markharris.net.au/blog/2009/09/27/testing-message-handlers-with-nservicebus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markharris.net.au/blog/2009/09/27/testing-message-handlers-with-nservicebus/</feedburner:origLink></item>
		<item>
		<title>Introducing Fluent WCF</title>
		<link>http://feedproxy.google.com/~r/net/FXnX/~3/XY4SM7WLi1w/</link>
		<comments>http://www.markharris.net.au/blog/2009/03/31/introducing-fluent-wcf/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 01:20:14 +0000</pubDate>
		<dc:creator>Mark Harris</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Fluent WCF]]></category>

		<guid isPermaLink="false">http://www.markharris.net.au/blog/2009/03/31/introducing-fluent-wcf/</guid>
		<description><![CDATA[About 2 weeks ago Simon and I started to work on building a fluent interface to configure WCF. Our main aim in doing so is to cover the the scenarios of configuring Services and Clients 80% (or 20%) of the time.
Our goals at this stage are

Services over Basic HTTP or TCP
Either No Security and Windows [...]]]></description>
			<content:encoded><![CDATA[<p>About 2 weeks ago Simon and I started to work on building a <a href="http://www.simonsegal.net/blog/2009/03/15/if-i-had-a-fluent-interface-for-wcf-configuration-i-would/">fluent interface to configure WCF</a>. Our main aim in doing so is to cover the the scenarios of configuring Services and Clients 80% (or 20%) of the time.</p>
<p>Our goals at this stage are</p>
<ol>
<li>Services over Basic HTTP or TCP</li>
<li>Either No Security and Windows Transport Security</li>
<li>No message level Security</li>
<li>Include Service Meta Data</li>
</ol>
<p>What this should enable us to do on the Service Host end would look like</p>
<div id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:c2bd230d-a20b-4300-a108-f882edaf933b" class="wlWriterEditableSmartContent" style="padding: 0px; width: 322px; display: block; float: none; margin-left: auto; margin-right: auto;">
<pre style="background-color:#FFFFFF;overflow: auto;"><span style="color: #000000;">var host </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> WCFHost()
        .AtAddress(</span><span style="color: #800000;">"</span><span style="color: #800000;">http://localhost:8080/</span><span style="color: #800000;">"</span><span style="color: #000000;">)
        .UsingContract(</span><span style="color: #0000FF;">typeof</span><span style="color: #000000;"> (IHelloService))
        .WithBinding(</span><span style="color: #0000FF;">new</span><span style="color: #000000;"> BasicHttpBinding())
        .EnableMex()
        .Start();</span></pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></p>
</div>
<p>I expect more on this shortly.</p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:68ce99d8-44be-4af8-8d01-4594be41444c" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">del.icio.us Tags: <a rel="tag" href="http://del.icio.us/popular/Fluent+WCF">Fluent WCF</a>,<a rel="tag" href="http://del.icio.us/popular/.net">.net</a></div>
<a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F03%2F31%2Fintroducing-fluent-wcf%2F&amp;linkname=Introducing%20Fluent%20WCF" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F03%2F31%2Fintroducing-fluent-wcf%2F&amp;linkname=Introducing%20Fluent%20WCF" title="Google Reader" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F03%2F31%2Fintroducing-fluent-wcf%2F&amp;linkname=Introducing%20Fluent%20WCF" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F03%2F31%2Fintroducing-fluent-wcf%2F&amp;linkname=Introducing%20Fluent%20WCF" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F03%2F31%2Fintroducing-fluent-wcf%2F&amp;linkname=Introducing%20Fluent%20WCF" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F03%2F31%2Fintroducing-fluent-wcf%2F&amp;linkname=Introducing%20Fluent%20WCF" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2009%2F03%2F31%2Fintroducing-fluent-wcf%2F&amp;linkname=Introducing%20Fluent%20WCF">Share/Save</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/net/FXnX?a=XY4SM7WLi1w:IUG8uK2NOuM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=XY4SM7WLi1w:IUG8uK2NOuM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=XY4SM7WLi1w:IUG8uK2NOuM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=XY4SM7WLi1w:IUG8uK2NOuM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=XY4SM7WLi1w:IUG8uK2NOuM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=XY4SM7WLi1w:IUG8uK2NOuM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=XY4SM7WLi1w:IUG8uK2NOuM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=XY4SM7WLi1w:IUG8uK2NOuM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=XY4SM7WLi1w:IUG8uK2NOuM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=XY4SM7WLi1w:IUG8uK2NOuM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=XY4SM7WLi1w:IUG8uK2NOuM:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=XY4SM7WLi1w:IUG8uK2NOuM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=XY4SM7WLi1w:IUG8uK2NOuM:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/net/FXnX/~4/XY4SM7WLi1w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markharris.net.au/blog/2009/03/31/introducing-fluent-wcf/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.markharris.net.au/blog/2009/03/31/introducing-fluent-wcf/</feedburner:origLink></item>
		<item>
		<title>Update</title>
		<link>http://feedproxy.google.com/~r/net/FXnX/~3/HeE67mujows/</link>
		<comments>http://www.markharris.net.au/blog/2008/12/10/update/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 19:32:24 +0000</pubDate>
		<dc:creator>Mark Harris</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[flickrlight]]></category>
		<category><![CDATA[silverlight]]></category>

		<guid isPermaLink="false">http://www.markharris.net.au/blog/2008/12/10/update/</guid>
		<description><![CDATA[The last month has been really been one of change. I have moved both home and job and the dust has barely settled. What I can say with some certainty is that moving home is much harder than changing jobs.
During the last month there has been a few requests for Flickrlight and where its at. [...]]]></description>
			<content:encoded><![CDATA[<p>The last month has been really been one of change. I have moved both home and job and the dust has barely settled. What I can say with some certainty is that moving home is much harder than changing jobs.</p>
<p>During the last month there has been a few requests for Flickrlight and where its at. I still intend to move the code onto codeplex however the finding the time has been my greatest difficulty. If anyone has any experience with setting up a project on codeplex and is volunteering to help it will be appreciated.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4544fec3-65ff-4b31-8dff-6dc817a13a11" class="wlWriterEditableSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/flickrlight" rel="tag">flickrlight</a>,<a href="http://del.icio.us/popular/silverlight" rel="tag">silverlight</a></div>
<a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F12%2F10%2Fupdate%2F&amp;linkname=Update" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F12%2F10%2Fupdate%2F&amp;linkname=Update" title="Google Reader" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F12%2F10%2Fupdate%2F&amp;linkname=Update" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F12%2F10%2Fupdate%2F&amp;linkname=Update" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F12%2F10%2Fupdate%2F&amp;linkname=Update" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F12%2F10%2Fupdate%2F&amp;linkname=Update" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F12%2F10%2Fupdate%2F&amp;linkname=Update">Share/Save</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/net/FXnX?a=HeE67mujows:sSjTx4PiY6o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=HeE67mujows:sSjTx4PiY6o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=HeE67mujows:sSjTx4PiY6o:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=HeE67mujows:sSjTx4PiY6o:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=HeE67mujows:sSjTx4PiY6o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=HeE67mujows:sSjTx4PiY6o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=HeE67mujows:sSjTx4PiY6o:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=HeE67mujows:sSjTx4PiY6o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=HeE67mujows:sSjTx4PiY6o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=HeE67mujows:sSjTx4PiY6o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=HeE67mujows:sSjTx4PiY6o:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=HeE67mujows:sSjTx4PiY6o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=HeE67mujows:sSjTx4PiY6o:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/net/FXnX/~4/HeE67mujows" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markharris.net.au/blog/2008/12/10/update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markharris.net.au/blog/2008/12/10/update/</feedburner:origLink></item>
		<item>
		<title>LINQ To SQL – Needs our support.</title>
		<link>http://feedproxy.google.com/~r/net/FXnX/~3/b7QEU0Zj-d0/</link>
		<comments>http://www.markharris.net.au/blog/2008/10/31/linq-to-sql-needs-our-support/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 07:36:29 +0000</pubDate>
		<dc:creator>Mark Harris</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[enity framework]]></category>
		<category><![CDATA[entity framework]]></category>
		<category><![CDATA[Linq To Sql]]></category>

		<guid isPermaLink="false">http://www.markharris.net.au/blog/2008/10/31/linq-to-sql-needs-our-support/</guid>
		<description><![CDATA[A While back Ian Cooper blogged about the need for active development of LINQ To SQL, he had this to say
As a community, as people begin to realize the suprising power of LINQ to SQL, I would like to see us dispel many of the myths that seem to have grown up around that product. [...]]]></description>
			<content:encoded><![CDATA[<p>A While back <a href="http://codebetter.com/blogs/ian_cooper/archive/2008/07/02/showing-some-support-for-linq-to-sql.aspx">Ian Cooper blogged about the need for active development of LINQ To SQL</a>, he had this to say</p>
<blockquote><p>As a community, as people begin to realize the suprising power of LINQ to SQL, I would like to see us dispel many of the myths that seem to have grown up around that product. I would like to see us put pressure on the Data Platform team to provide the support for LINQ to SQL that we want going forward. Community reaction is everything and if the LINQ to SQL community remains silent in the face of the more vocal, but probably less numerous, EF community, we won&#8217;t get the product we deserve</p>
</blockquote>
<p><a href="http://codebetter.com/blogs/david.hayden/archive/2008/10/30/linq-to-sql-gets-kicked-to-the-curb-needs-a-good-home.aspx">David Hayden has made a call to Microsoft to Open Source the development of LINQ to SQL</a> in response to the <a href="http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx">ADO.NET Teams announcement on the future of the Entity Framework and its <img style="display: inline; margin-left: 0px; margin-right: 0px" align="right" src="http://www.simonsegal.net/blog/wp-content/uploads/2008/07/linq-2-sql-hand-small.gif" width="162" height="162" />forgotten other LINQ To SQL</a>. </p>
<p>The ADO.net team says that they will improve LINQ to SQL based on community feedback then there is please head what David Hayden and Ian Cooper are saying.</p>
<p>Simon Segal has previously made a <a href="http://www.simonsegal.net/blog/2008/07/30/how-to-show-support-for-linq-to-sql/">Save LINQ to SQL badge</a> which apart from bring really cool is apt.</p>
<p>So if you want to keep POCO objects free of the <a href="http://msdn.microsoft.com/en-us/library/bb738453.aspx">IPOCO interface</a> (at least in V1 of EF), I would ask the Data Dudes to set LINQ To SQL Free as per David Hayden’s Suggestion.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c99f3d33-77e8-4517-a655-7cead5fcf7db" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/Linq+To+Sql" rel="tag">Linq To Sql</a>,<a href="http://technorati.com/tags/.net" rel="tag">.net</a>,<a href="http://technorati.com/tags/Entity+framework" rel="tag">Entity framework</a></div>
<a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F31%2Flinq-to-sql-needs-our-support%2F&amp;linkname=LINQ%20To%20SQL%20%26ndash%3B%20Needs%20our%20support." title="Delicious" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F31%2Flinq-to-sql-needs-our-support%2F&amp;linkname=LINQ%20To%20SQL%20%26ndash%3B%20Needs%20our%20support." title="Google Reader" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F31%2Flinq-to-sql-needs-our-support%2F&amp;linkname=LINQ%20To%20SQL%20%26ndash%3B%20Needs%20our%20support." title="Twitter" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F31%2Flinq-to-sql-needs-our-support%2F&amp;linkname=LINQ%20To%20SQL%20%26ndash%3B%20Needs%20our%20support." title="Facebook" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F31%2Flinq-to-sql-needs-our-support%2F&amp;linkname=LINQ%20To%20SQL%20%26ndash%3B%20Needs%20our%20support." title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F31%2Flinq-to-sql-needs-our-support%2F&amp;linkname=LINQ%20To%20SQL%20%26ndash%3B%20Needs%20our%20support." title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F31%2Flinq-to-sql-needs-our-support%2F&amp;linkname=LINQ%20To%20SQL%20%26ndash%3B%20Needs%20our%20support.">Share/Save</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/net/FXnX?a=b7QEU0Zj-d0:f3WlNl6rpag:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=b7QEU0Zj-d0:f3WlNl6rpag:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=b7QEU0Zj-d0:f3WlNl6rpag:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=b7QEU0Zj-d0:f3WlNl6rpag:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=b7QEU0Zj-d0:f3WlNl6rpag:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=b7QEU0Zj-d0:f3WlNl6rpag:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=b7QEU0Zj-d0:f3WlNl6rpag:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=b7QEU0Zj-d0:f3WlNl6rpag:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=b7QEU0Zj-d0:f3WlNl6rpag:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=b7QEU0Zj-d0:f3WlNl6rpag:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=b7QEU0Zj-d0:f3WlNl6rpag:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=b7QEU0Zj-d0:f3WlNl6rpag:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=b7QEU0Zj-d0:f3WlNl6rpag:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/net/FXnX/~4/b7QEU0Zj-d0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markharris.net.au/blog/2008/10/31/linq-to-sql-needs-our-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markharris.net.au/blog/2008/10/31/linq-to-sql-needs-our-support/</feedburner:origLink></item>
		<item>
		<title>PDC 08 – Day 2</title>
		<link>http://feedproxy.google.com/~r/net/FXnX/~3/fnmzpacArVI/</link>
		<comments>http://www.markharris.net.au/blog/2008/10/30/pdc-08-day-2/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 05:20:54 +0000</pubDate>
		<dc:creator>Mark Harris</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[PDC]]></category>
		<category><![CDATA[PDC08]]></category>

		<guid isPermaLink="false">http://www.markharris.net.au/blog/2008/10/30/pdc-08-day-2/</guid>
		<description><![CDATA[So like me your one of the many that are not at PDC this year, but you still want to know what&#8217;s going check out http://notatpdc.com/
Also check out Jim O&#8217;Neil&#8217;s PDC Day 2 Wrap Up post.&#160; I have been reading been doing my fair share of reading about all the Oslo, Windows 7 , Azure [...]]]></description>
			<content:encoded><![CDATA[<p><img style="display: inline; margin-left: 0px; margin-right: 0px" align="left" src="http://notes2self.net/mob_img/PDC2008websiteregistrationisnowlive_8529/PDC08_Brain.gif" width="104" height="141" />So like me your one of the many that are not at PDC this year, but you still want to know what&#8217;s going check out <a title="http://notatpdc.com/" href="http://notatpdc.com/">http://notatpdc.com/</a></p>
<p>Also check out <a href="http://blogs.msdn.com/jimoneil/archive/2008/10/28/hello-windows-7-pdc-day-2-keynote-recap.aspx">Jim O&#8217;Neil&#8217;s PDC Day 2 Wrap Up post.</a>&#160; I have been reading been doing my fair share of reading about all the Oslo, Windows 7 , Azure posts, not forgetting the <a href="http://channel9.msdn.com/tags/PDC08/">PDC08 video’s on Chanel 9</a>.&#160; My favourite video so far has been <a href="http://channel9.msdn.com/pdc2008/TL16/">The Future of C# by Anders Hejlsberg</a>&#160;</p>
<p>BTW if you cant find the videos for the session <a href="http://blogs.eweek.com/devlife/content/net_general/not_at_pdc_live_meetings_just_for_you_and_recorded_pdc_content.html">Julia Lerman has taken the effort to describe how to best find the PDC 08 sessions videos.</a></p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:11d9d349-8839-45e6-9d65-5886f9ab79e2" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/PDC" rel="tag">PDC</a>,<a href="http://technorati.com/tags/PDC08" rel="tag">PDC08</a></div>
<a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F30%2Fpdc-08-day-2%2F&amp;linkname=PDC%2008%20%26ndash%3B%20Day%202" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F30%2Fpdc-08-day-2%2F&amp;linkname=PDC%2008%20%26ndash%3B%20Day%202" title="Google Reader" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F30%2Fpdc-08-day-2%2F&amp;linkname=PDC%2008%20%26ndash%3B%20Day%202" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F30%2Fpdc-08-day-2%2F&amp;linkname=PDC%2008%20%26ndash%3B%20Day%202" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F30%2Fpdc-08-day-2%2F&amp;linkname=PDC%2008%20%26ndash%3B%20Day%202" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F30%2Fpdc-08-day-2%2F&amp;linkname=PDC%2008%20%26ndash%3B%20Day%202" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F30%2Fpdc-08-day-2%2F&amp;linkname=PDC%2008%20%26ndash%3B%20Day%202">Share/Save</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/net/FXnX?a=fnmzpacArVI:yg_Ajzonj48:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=fnmzpacArVI:yg_Ajzonj48:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=fnmzpacArVI:yg_Ajzonj48:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=fnmzpacArVI:yg_Ajzonj48:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=fnmzpacArVI:yg_Ajzonj48:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=fnmzpacArVI:yg_Ajzonj48:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=fnmzpacArVI:yg_Ajzonj48:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=fnmzpacArVI:yg_Ajzonj48:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=fnmzpacArVI:yg_Ajzonj48:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=fnmzpacArVI:yg_Ajzonj48:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=fnmzpacArVI:yg_Ajzonj48:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=fnmzpacArVI:yg_Ajzonj48:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=fnmzpacArVI:yg_Ajzonj48:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/net/FXnX/~4/fnmzpacArVI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markharris.net.au/blog/2008/10/30/pdc-08-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markharris.net.au/blog/2008/10/30/pdc-08-day-2/</feedburner:origLink></item>
		<item>
		<title>Silverlight Flickr Image Browser</title>
		<link>http://feedproxy.google.com/~r/net/FXnX/~3/eo5nk4iD0js/</link>
		<comments>http://www.markharris.net.au/blog/2008/10/27/silverlight-flickr-image-browser/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 05:53:28 +0000</pubDate>
		<dc:creator>Mark Harris</dc:creator>
				<category><![CDATA[silverlight]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[flickrlight]]></category>

		<guid isPermaLink="false">http://www.markharris.net.au/blog/2008/10/27/silverlight-flickr-image-browser/</guid>
		<description><![CDATA[In my last post about Flickrlight I mentioned creating a simple Flickr Image Browser in Silverlight. Feedback is required please.
Technorati Tags: silverlight,flickr,flickrlight
      Share/Save]]></description>
			<content:encoded><![CDATA[<p>In my last post about <a href="http://www.markharris.net.au/blog/2008/10/26/flickrlight-silverlight-2-compatible-flickr-api/" rel="tag">Flickrlight</a> I mentioned creating a simple <a href="http://markharris.net.au/Silverlight/FlickrBrowser/Index.html">Flickr Image Browser in Silverlight</a>. Feedback is required please.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:57896baa-28c9-4bf2-ba1d-b98448dbcda4" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/silverlight" rel="tag">silverlight</a>,<a href="http://technorati.com/tags/flickr" rel="tag">flickr</a>,<a href="http://technorati.com/tags/flickrlight" rel="tag">flickrlight</a></div>
<a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F27%2Fsilverlight-flickr-image-browser%2F&amp;linkname=Silverlight%20Flickr%20Image%20Browser" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F27%2Fsilverlight-flickr-image-browser%2F&amp;linkname=Silverlight%20Flickr%20Image%20Browser" title="Google Reader" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F27%2Fsilverlight-flickr-image-browser%2F&amp;linkname=Silverlight%20Flickr%20Image%20Browser" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F27%2Fsilverlight-flickr-image-browser%2F&amp;linkname=Silverlight%20Flickr%20Image%20Browser" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F27%2Fsilverlight-flickr-image-browser%2F&amp;linkname=Silverlight%20Flickr%20Image%20Browser" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F27%2Fsilverlight-flickr-image-browser%2F&amp;linkname=Silverlight%20Flickr%20Image%20Browser" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F27%2Fsilverlight-flickr-image-browser%2F&amp;linkname=Silverlight%20Flickr%20Image%20Browser">Share/Save</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/net/FXnX?a=eo5nk4iD0js:786BFfIElH4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=eo5nk4iD0js:786BFfIElH4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=eo5nk4iD0js:786BFfIElH4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=eo5nk4iD0js:786BFfIElH4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=eo5nk4iD0js:786BFfIElH4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=eo5nk4iD0js:786BFfIElH4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=eo5nk4iD0js:786BFfIElH4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=eo5nk4iD0js:786BFfIElH4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=eo5nk4iD0js:786BFfIElH4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=eo5nk4iD0js:786BFfIElH4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=eo5nk4iD0js:786BFfIElH4:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=eo5nk4iD0js:786BFfIElH4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=eo5nk4iD0js:786BFfIElH4:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/net/FXnX/~4/eo5nk4iD0js" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markharris.net.au/blog/2008/10/27/silverlight-flickr-image-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markharris.net.au/blog/2008/10/27/silverlight-flickr-image-browser/</feedburner:origLink></item>
		<item>
		<title>Flickrlight – Silverlight 2 compatible Flickr API</title>
		<link>http://feedproxy.google.com/~r/net/FXnX/~3/E733eVVtjvA/</link>
		<comments>http://www.markharris.net.au/blog/2008/10/26/flickrlight-silverlight-2-compatible-flickr-api/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 13:39:31 +0000</pubDate>
		<dc:creator>Mark Harris</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[flickrlight]]></category>

		<guid isPermaLink="false">http://www.markharris.net.au/blog/2008/10/26/flickrlight-silverlight-2-compatible-flickr-api/</guid>
		<description><![CDATA[In learning Silverlight 2 I needed some self imposed tasks, one such task was to build a simple Flickr image browser, among other things. In doing so as most people would I found a .net Flicker API called FlickrNet. However when you try to add a reference to FlickrNet from my Silverlight 2 project I [...]]]></description>
			<content:encoded><![CDATA[<p>In learning Silverlight 2 I needed some self imposed tasks, one such task was to build a simple Flickr image browser, among other things. In doing so as most people would I found a .net <a href="http://www.codeplex.com/FlickrNet">Flicker API called FlickrNet</a>. However when you try to add a reference to FlickrNet from my Silverlight 2 project I encountered a few issues with projects not loading. However after some research and hacking I was able to <a href="http://www.markharris.net.au/blog/2008/10/23/how-to-convert-a-normal-class-library-project-to-a-silverlight-20-class-library-project/" rel="tag">convert the FlickrNet project to Silverlight</a>. Converting the project was the easy part but it was going to be just too hard to get the entire library working because of its reliance on a lot of calls to methods that are not available in the <a href="http://msdn.microsoft.com/en-us/library/bb404713(VS.95).aspx">Silverlight Core CLR.</a> </p>
<p>Therefore I have had to strip the existing FlickrNet functionality down, I have decided to christen it <strong><em>Flickrlight</em></strong> and now have a simple working demo of the Flickr Browser Application. </p>
<p><a href="http://www.markharris.net.au/blog/wp-content/uploads/2008/10/image.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Flickrlight Demo" border="0" alt="Flickrlight Demo" src="http://www.markharris.net.au/blog/wp-content/uploads/2008/10/image-thumb.png" width="434" height="484" /></a></p>
<p>&#160; The code is fairly similar to what FlickrNet, for those of you who are familiar with the existing API.</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   1:</span> <span style="color: #0000ff">private</span> <span style="color: #0000ff">void</span> btnGetPhoto_Click(<span style="color: #0000ff">object</span> sender, RoutedEventArgs e)</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   2:</span> {</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   3:</span>     PhotoSearchOptions pso = <span style="color: #0000ff">new</span> PhotoSearchOptions();</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   4:</span>     pso.Tags = feedURL.Text;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   5:</span>     Photo p = <span style="color: #0000ff">new</span> Photo();</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   6:</span>     p.ApiKey = ApiKey;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   7:</span>     p.Secret = SharedSecret;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   8:</span>     p.OnResponseCompleted += p_OnResponseCompleted;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   9:</span>     p.BeginPhotosSearch(pso);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  10:</span> }</pre>
</p></div>
</div>
<p>One of the few changes is that the calls being made are Asynchronous and hence require the subscription to the Completed Event.</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   1:</span> <span style="color: #0000ff">private</span> <span style="color: #0000ff">void</span> p_OnResponseCompleted(FlickrResponseRecievedCompleteEventArgs&lt;FlickrBase&gt; e)</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   2:</span> {</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   3:</span>     Action bindToList = () =&gt; imageList.ItemsSource = ((Photos)e.ResultValue).PhotoCollection;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   4:</span>     <span style="color: #0000ff">this</span>.Dispatcher.BeginInvoke(bindToList);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   5:</span> }</pre>
</p></div>
</div>
<p>&#160;</p>
<p>At this stage all I have done was to begin to move the Search for Photos functionality, however over the next few weeks I will move some more of this functionality across. I will also make <a href="http://www.codeplex.com/">Flickrlight available on Codeplex</a> (unless someone tells me otherwise). Seeing as this will be my first foray into the world of open source if anyone has any experience with what I should be doing here, your help will be greatly appreciated.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7029b558-00b1-4bb1-b7bc-fdfa14a9a4bc" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/flickrlight" rel="tag">flickrlight</a>,<a href="http://technorati.com/tags/flickr" rel="tag">flickr</a>,<a href="http://technorati.com/tags/.net" rel="tag">.net</a>,<a href="http://technorati.com/tags/silverlight" rel="tag">silverlight</a></div>
<a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F26%2Fflickrlight-silverlight-2-compatible-flickr-api%2F&amp;linkname=Flickrlight%20%26%238211%3B%20Silverlight%202%20compatible%20Flickr%20API" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F26%2Fflickrlight-silverlight-2-compatible-flickr-api%2F&amp;linkname=Flickrlight%20%26%238211%3B%20Silverlight%202%20compatible%20Flickr%20API" title="Google Reader" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F26%2Fflickrlight-silverlight-2-compatible-flickr-api%2F&amp;linkname=Flickrlight%20%26%238211%3B%20Silverlight%202%20compatible%20Flickr%20API" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F26%2Fflickrlight-silverlight-2-compatible-flickr-api%2F&amp;linkname=Flickrlight%20%26%238211%3B%20Silverlight%202%20compatible%20Flickr%20API" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F26%2Fflickrlight-silverlight-2-compatible-flickr-api%2F&amp;linkname=Flickrlight%20%26%238211%3B%20Silverlight%202%20compatible%20Flickr%20API" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F26%2Fflickrlight-silverlight-2-compatible-flickr-api%2F&amp;linkname=Flickrlight%20%26%238211%3B%20Silverlight%202%20compatible%20Flickr%20API" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F26%2Fflickrlight-silverlight-2-compatible-flickr-api%2F&amp;linkname=Flickrlight%20%26%238211%3B%20Silverlight%202%20compatible%20Flickr%20API">Share/Save</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/net/FXnX?a=E733eVVtjvA:kcbbMwxKARs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=E733eVVtjvA:kcbbMwxKARs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=E733eVVtjvA:kcbbMwxKARs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=E733eVVtjvA:kcbbMwxKARs:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=E733eVVtjvA:kcbbMwxKARs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=E733eVVtjvA:kcbbMwxKARs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=E733eVVtjvA:kcbbMwxKARs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=E733eVVtjvA:kcbbMwxKARs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=E733eVVtjvA:kcbbMwxKARs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=E733eVVtjvA:kcbbMwxKARs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=E733eVVtjvA:kcbbMwxKARs:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=E733eVVtjvA:kcbbMwxKARs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=E733eVVtjvA:kcbbMwxKARs:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/net/FXnX/~4/E733eVVtjvA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markharris.net.au/blog/2008/10/26/flickrlight-silverlight-2-compatible-flickr-api/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.markharris.net.au/blog/2008/10/26/flickrlight-silverlight-2-compatible-flickr-api/</feedburner:origLink></item>
		<item>
		<title>The Devils work, in SILVERLIGHT</title>
		<link>http://feedproxy.google.com/~r/net/FXnX/~3/EVbYbyqSVjY/</link>
		<comments>http://www.markharris.net.au/blog/2008/10/25/the-devils-work-in-silverlight/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 22:24:40 +0000</pubDate>
		<dc:creator>Mark Harris</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[quakelight]]></category>

		<guid isPermaLink="false">http://www.markharris.net.au/blog/2008/10/25/the-devils-work-in-silverlight/</guid>
		<description><![CDATA[Hopefully that got your attention. But its not really the devils work. Simon has this theory about why video games and how its the devils work an opinion I do not fully share. Everything in moderation I say including moderation. Anyway I digress , The ninemsn crew has posted a fantastic video of the game [...]]]></description>
			<content:encoded><![CDATA[<p>Hopefully that got your attention. But its not really the devils work. Simon has this theory about why video games and how its the devils work an opinion I do not fully share. Everything in moderation I say including moderation. Anyway I digress , The ninemsn crew has posted a fantastic video of the game QUAKE being ported to SILVERLIGHT yes SILVERLIGHT.</p>
<p style="text-align: center;">
<a href="http://channel9.msdn.com/shows/Continuum/QuakeLightPreview/">QuakeLight Preview Video</a></p>
<p><a href="http://adamkinney.com/blog/374/default.aspx">Adam Kinney has a interview</a> with the developer <a title="Julien Frelat" href="http://www.innoveware.com/projects.html">Julien Frelat</a> about the process. I hope we get to see more in the near future.</p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:504f0dad-8758-4726-a0a1-22ab87d70d30" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/.net">.net</a>,<a rel="tag" href="http://technorati.com/tags/silverlight">silverlight</a>,<a rel="tag" href="http://technorati.com/tags/quakelight">quakelight</a></div>
<a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F25%2Fthe-devils-work-in-silverlight%2F&amp;linkname=The%20Devils%20work%2C%20in%20SILVERLIGHT" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F25%2Fthe-devils-work-in-silverlight%2F&amp;linkname=The%20Devils%20work%2C%20in%20SILVERLIGHT" title="Google Reader" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F25%2Fthe-devils-work-in-silverlight%2F&amp;linkname=The%20Devils%20work%2C%20in%20SILVERLIGHT" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F25%2Fthe-devils-work-in-silverlight%2F&amp;linkname=The%20Devils%20work%2C%20in%20SILVERLIGHT" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F25%2Fthe-devils-work-in-silverlight%2F&amp;linkname=The%20Devils%20work%2C%20in%20SILVERLIGHT" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F25%2Fthe-devils-work-in-silverlight%2F&amp;linkname=The%20Devils%20work%2C%20in%20SILVERLIGHT" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://www.markharris.net.au/blog/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.markharris.net.au%2Fblog%2F2008%2F10%2F25%2Fthe-devils-work-in-silverlight%2F&amp;linkname=The%20Devils%20work%2C%20in%20SILVERLIGHT">Share/Save</a><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/net/FXnX?a=EVbYbyqSVjY:8xDFQyJOSAE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=EVbYbyqSVjY:8xDFQyJOSAE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=EVbYbyqSVjY:8xDFQyJOSAE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=EVbYbyqSVjY:8xDFQyJOSAE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=EVbYbyqSVjY:8xDFQyJOSAE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=EVbYbyqSVjY:8xDFQyJOSAE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=EVbYbyqSVjY:8xDFQyJOSAE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=EVbYbyqSVjY:8xDFQyJOSAE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=EVbYbyqSVjY:8xDFQyJOSAE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=EVbYbyqSVjY:8xDFQyJOSAE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=EVbYbyqSVjY:8xDFQyJOSAE:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/net/FXnX?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/net/FXnX?a=EVbYbyqSVjY:8xDFQyJOSAE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/net/FXnX?i=EVbYbyqSVjY:8xDFQyJOSAE:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/net/FXnX/~4/EVbYbyqSVjY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markharris.net.au/blog/2008/10/25/the-devils-work-in-silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markharris.net.au/blog/2008/10/25/the-devils-work-in-silverlight/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 1.746 seconds -->
