<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>MickyD&#039;s Random Thoughts</title>
	<atom:link href="http://mickyd.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mickyd.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Fri, 27 Jan 2012 00:47:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mickyd.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/dc02c77369afd1feb5829648a5b47ef5?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>MickyD&#039;s Random Thoughts</title>
		<link>http://mickyd.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://mickyd.wordpress.com/osd.xml" title="MickyD&#039;s Random Thoughts" />
	<atom:link rel='hub' href='http://mickyd.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Bill Maher on SOPA &#8211; Ignorance Is Bliss It Seems?</title>
		<link>http://mickyd.wordpress.com/2012/01/27/bill-maher-ignorance-is-bliss-it-seems/</link>
		<comments>http://mickyd.wordpress.com/2012/01/27/bill-maher-ignorance-is-bliss-it-seems/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 00:32:50 +0000</pubDate>
		<dc:creator>MickyD</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">https://mickyd.wordpress.com/?p=452</guid>
		<description><![CDATA[Bill Maher created a humorous documentary on religious observations called well &#8211; Religulous.  It was similar to Richard Dawkin&#8217;s documentary and in some parts almost a clone. After watching a recent video containing Bill, I may just have to rethink my opinion of him. Watch the video below, it is from some US talk show [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=452&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bill Maher created a humorous documentary on religious observations called well &#8211; <em>Religulous</em>.  It was similar to Richard Dawkin&#8217;s documentary and in some parts almost a clone.</p>
<p>After watching a recent video containing Bill, I may just have to rethink my opinion of him. Watch the video below, it is from some US talk show where he, based on his own self-admitting ignorance, arrogantly supports the <a title="SOPA" href="http://en.wikipedia.org/wiki/Stop_Online_Piracy_Act" target="_blank">SOPA</a> and labels any anti-SOPA components in the community or government as thiefs.</p>
<span style="text-align:center; display: block;"><a href="http://mickyd.wordpress.com/2012/01/27/bill-maher-ignorance-is-bliss-it-seems/"><img src="http://img.youtube.com/vi/X1Mm1ZLYUwA/2.jpg" alt="" /></a></span>
<p>Luckily, the other speakers on the panel seemed to have done their homework and not just read the SOPA coversheet.  Now I wonder if he was just as arrogant for his Religulous documentary?</p>
<p>No doubt if SOPA goes through this article will be in violation to the act and the entire WORDPRESS site will be shutdown because of me.   Hmmm</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mickyd.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mickyd.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mickyd.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mickyd.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mickyd.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mickyd.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mickyd.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mickyd.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mickyd.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mickyd.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mickyd.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mickyd.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mickyd.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mickyd.wordpress.com/452/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=452&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mickyd.wordpress.com/2012/01/27/bill-maher-ignorance-is-bliss-it-seems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753b54a60805b7cc2ec2902c000b502a?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">MickyD</media:title>
		</media:content>
	</item>
		<item>
		<title>Skyrim, Such a Pretty Game</title>
		<link>http://mickyd.wordpress.com/2011/11/19/skyrim-such-a-pretty-game/</link>
		<comments>http://mickyd.wordpress.com/2011/11/19/skyrim-such-a-pretty-game/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 01:13:00 +0000</pubDate>
		<dc:creator>MickyD</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[bethesda]]></category>
		<category><![CDATA[skyrim]]></category>

		<guid isPermaLink="false">https://mickyd.wordpress.com/?p=446</guid>
		<description><![CDATA[I’m having such an enjoyable time with Bethesda’s latest instalment in the Elder Scrolls series – Skyrim.&#160; It looks absolutely gorgeous on my new gaming rig which I bought mainly so that Office would load faster, well no not really.&#160; I think I’m spending half my time just wandering around looking at the world taking [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=446&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’m having such an enjoyable time with <em><a href="http://www.bethsoft.com/eng/index.php" target="_blank">Bethesda’s</a></em> latest instalment in the <em><a href="http://www.elderscrolls.com/" target="_blank">Elder Scrolls</a></em> series – <a href="http://www.elderscrolls.com/skyrim/" target="_blank"><em>Skyrim</em></a><strong>.</strong>&#160; It looks absolutely gorgeous on my new gaming rig which I bought mainly so that Office would load faster, well no not really.&#160; I think I’m spending half my time just wandering around looking at the world taking postcard-worthy screenshots.&#160; Besides the pretty piccys, the game itself holds it’s own.</p>
<p>Take a look for yourself:</p>
<p><a href="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-10-22-05-52-45.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="TESV 2011-11-10 22-05-52-45" border="0" alt="TESV 2011-11-10 22-05-52-45" src="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-10-22-05-52-45_thumb.png?w=244&#038;h=139" width="244" height="139" /></a></p>
<p><a href="http://mickyd.files.wordpress.com/2011/11/image.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="image" border="0" alt="image" src="http://mickyd.files.wordpress.com/2011/11/image_thumb.png?w=244&#038;h=143" width="244" height="143" /></a></p>
<p>&#160;</p>
<p><a href="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-10-21-54-18-70.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="TESV 2011-11-10 21-54-18-70" border="0" alt="TESV 2011-11-10 21-54-18-70" src="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-10-21-54-18-70_thumb.png?w=244&#038;h=139" width="244" height="139" /></a></p>
<p><a href="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-11-17-18-14-75.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="TESV 2011-11-11 17-18-14-75" border="0" alt="TESV 2011-11-11 17-18-14-75" src="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-11-17-18-14-75_thumb.png?w=244&#038;h=154" width="244" height="154" /></a></p>
<p><a href="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-12-20-25-43-58.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="TESV 2011-11-12 20-25-43-58" border="0" alt="TESV 2011-11-12 20-25-43-58" src="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-12-20-25-43-58_thumb.png?w=244&#038;h=139" width="244" height="139" /></a></p>
<p><a href="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-17-07-16-26-88.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="TESV 2011-11-17 07-16-26-88" border="0" alt="TESV 2011-11-17 07-16-26-88" src="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-17-07-16-26-88_thumb.png?w=244&#038;h=139" width="244" height="139" /></a></p>
<p><a href="http://mickyd.files.wordpress.com/2011/11/image1.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="image" border="0" alt="image" src="http://mickyd.files.wordpress.com/2011/11/image_thumb1.png?w=244&#038;h=143" width="244" height="143" /></a></p>
<p><a href="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-18-22-05-30-35.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="TESV 2011-11-18 22-05-30-35" border="0" alt="TESV 2011-11-18 22-05-30-35" src="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-18-22-05-30-35_thumb.png?w=244&#038;h=139" width="244" height="139" /></a></p>
<p>Highly recommended.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mickyd.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mickyd.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mickyd.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mickyd.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mickyd.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mickyd.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mickyd.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mickyd.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mickyd.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mickyd.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mickyd.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mickyd.wordpress.com/446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mickyd.wordpress.com/446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mickyd.wordpress.com/446/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=446&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mickyd.wordpress.com/2011/11/19/skyrim-such-a-pretty-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753b54a60805b7cc2ec2902c000b502a?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">MickyD</media:title>
		</media:content>

		<media:content url="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-10-22-05-52-45_thumb.png" medium="image">
			<media:title type="html">TESV 2011-11-10 22-05-52-45</media:title>
		</media:content>

		<media:content url="http://mickyd.files.wordpress.com/2011/11/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-10-21-54-18-70_thumb.png" medium="image">
			<media:title type="html">TESV 2011-11-10 21-54-18-70</media:title>
		</media:content>

		<media:content url="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-11-17-18-14-75_thumb.png" medium="image">
			<media:title type="html">TESV 2011-11-11 17-18-14-75</media:title>
		</media:content>

		<media:content url="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-12-20-25-43-58_thumb.png" medium="image">
			<media:title type="html">TESV 2011-11-12 20-25-43-58</media:title>
		</media:content>

		<media:content url="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-17-07-16-26-88_thumb.png" medium="image">
			<media:title type="html">TESV 2011-11-17 07-16-26-88</media:title>
		</media:content>

		<media:content url="http://mickyd.files.wordpress.com/2011/11/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://mickyd.files.wordpress.com/2011/11/tesv-2011-11-18-22-05-30-35_thumb.png" medium="image">
			<media:title type="html">TESV 2011-11-18 22-05-30-35</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft drops Dryad; puts its big-data bets on Hadoop</title>
		<link>http://mickyd.wordpress.com/2011/11/19/microsoft-drops-dryad-puts-its-big-data-bets-on-hadoop/</link>
		<comments>http://mickyd.wordpress.com/2011/11/19/microsoft-drops-dryad-puts-its-big-data-bets-on-hadoop/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 22:45:00 +0000</pubDate>
		<dc:creator>MickyD</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[bigdata]]></category>
		<category><![CDATA[hadoop]]></category>

		<guid isPermaLink="false">https://mickyd.wordpress.com/?p=428</guid>
		<description><![CDATA[Microsoft is dropping its big-data, remote compute system in favour of Apache Hadoop – the open source implementation of the Google technologies MapReduce and Google File System. This is most likely a good thing as Microsoft’s venture is slightly unproven whereas Hadoop has many many contributors (particularly Yahoo and Cloudera) and has been around for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=428&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Microsoft is dropping its big-data, remote compute system in favour of <strong>Apache Hadoop</strong> – the open source implementation of the Google technologies <em>MapReduce</em> and <em>Google File System</em>.</p>
<p>This is most likely a good thing as Microsoft’s venture is slightly unproven whereas Hadoop has many many contributors (particularly <em>Yahoo</em> and <em>Cloudera</em>) and has been around for quite some time now.</p>
<p><a href="http://www.zdnet.com/blog/microsoft/microsoft-drops-dryad-puts-its-big-data-bets-on-hadoop/11226?utm_source=%23frankguillen&amp;utm_medium=twitter&amp;utm_campaign=FrankGuillen+Buzz">Read the full article here</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mickyd.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mickyd.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mickyd.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mickyd.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mickyd.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mickyd.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mickyd.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mickyd.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mickyd.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mickyd.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mickyd.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mickyd.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mickyd.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mickyd.wordpress.com/428/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=428&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mickyd.wordpress.com/2011/11/19/microsoft-drops-dryad-puts-its-big-data-bets-on-hadoop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753b54a60805b7cc2ec2902c000b502a?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">MickyD</media:title>
		</media:content>
	</item>
		<item>
		<title>Jobs Was Right: Adobe Abandons Mobile Flash, Backs HTML5</title>
		<link>http://mickyd.wordpress.com/2011/11/12/jobs-was-right-adobe-abandons-mobile-flash-backs-html5/</link>
		<comments>http://mickyd.wordpress.com/2011/11/12/jobs-was-right-adobe-abandons-mobile-flash-backs-html5/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 21:51:07 +0000</pubDate>
		<dc:creator>MickyD</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">https://mickyd.wordpress.com/?p=426</guid>
		<description><![CDATA[“HTML5 is now universally supported on major mobile devices, in some cases exclusively,” Adobe VP Danny Winokur said in a clear reference to Apple’s rejection of Flash support on its dominant iOS devices: the iPad, iPhone and iPod touch. “This makes HTML5 the best solution for creating and deploying content in the browser across mobile platforms. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=426&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>“HTML5 is now universally supported on major mobile devices, in some cases exclusively,” Adobe VP Danny Winokur <a style="color:#007ca5;text-decoration:none;outline-style:none;outline-width:initial;outline-color:initial;font-family:Arial, Verdana, sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:20px;orphans:2;text-align:left;text-indent:0;text-transform:none;white-space:normal;widows:2;word-spacing:0;background-color:#ffffff;margin:0;padding:0;" href="http://blogs.adobe.com/conversations/2011/11/flash-focus.html">said in a clear reference</a> to Apple’s rejection of Flash support on its dominant iOS devices: the iPad, iPhone and iPod touch. “This makes HTML5 the best solution for creating and deploying content in the browser across mobile platforms. We are excited about this, and will continue our work with key players in the HTML community, including Google, Apple, Microsoft and RIM, to drive HTML5 innovation they can use to advance their mobile browsers.” [1]</em></p>
<p>Read the full article here</p>
<p><a href="http://www.wired.com/gadgetlab/2011/11/adobe-kills-mobile-flash/">http://www.wired.com/gadgetlab/2011/11/adobe-kills-mobile-flash/</a> [1]</p>
<p> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mickyd.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mickyd.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mickyd.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mickyd.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mickyd.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mickyd.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mickyd.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mickyd.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mickyd.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mickyd.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mickyd.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mickyd.wordpress.com/426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mickyd.wordpress.com/426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mickyd.wordpress.com/426/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=426&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mickyd.wordpress.com/2011/11/12/jobs-was-right-adobe-abandons-mobile-flash-backs-html5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753b54a60805b7cc2ec2902c000b502a?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">MickyD</media:title>
		</media:content>
	</item>
		<item>
		<title>1-year-old Thinks a Magazine is a Broken iPad</title>
		<link>http://mickyd.wordpress.com/2011/10/15/1-year-old-thinks-a-magazine-is-a-broken-ipad/</link>
		<comments>http://mickyd.wordpress.com/2011/10/15/1-year-old-thinks-a-magazine-is-a-broken-ipad/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 23:42:10 +0000</pubDate>
		<dc:creator>MickyD</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[ipad]]></category>

		<guid isPermaLink="false">https://mickyd.wordpress.com/?p=423</guid>
		<description><![CDATA[I generally do not like proxy posting but check out this article at CNET, quite sad really.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=423&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I generally do not like proxy posting but check out <a href="http://news.cnet.com/8301-17852_3-20120086-71/1-year-old-thinks-a-magazine-is-a-broken-ipad/" target="_blank">this article</a> at CNET, quite sad really.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mickyd.wordpress.com/423/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mickyd.wordpress.com/423/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mickyd.wordpress.com/423/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mickyd.wordpress.com/423/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mickyd.wordpress.com/423/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mickyd.wordpress.com/423/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mickyd.wordpress.com/423/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mickyd.wordpress.com/423/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mickyd.wordpress.com/423/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mickyd.wordpress.com/423/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mickyd.wordpress.com/423/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mickyd.wordpress.com/423/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mickyd.wordpress.com/423/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mickyd.wordpress.com/423/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=423&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mickyd.wordpress.com/2011/10/15/1-year-old-thinks-a-magazine-is-a-broken-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753b54a60805b7cc2ec2902c000b502a?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">MickyD</media:title>
		</media:content>
	</item>
		<item>
		<title>Programmers &#8211; Time to Make Up Your Own Mind</title>
		<link>http://mickyd.wordpress.com/2011/10/02/programmers-time-to-make-up-your-own-mind/</link>
		<comments>http://mickyd.wordpress.com/2011/10/02/programmers-time-to-make-up-your-own-mind/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 01:54:17 +0000</pubDate>
		<dc:creator>MickyD</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[log4net]]></category>
		<category><![CDATA[nhibernate]]></category>
		<category><![CDATA[orm]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">https://mickyd.wordpress.com/?p=418</guid>
		<description><![CDATA[In this day and age of being told what we should think, whether if we should like a film or not; a restaurant or not;  a make of car or not;  or what type of food we should minimise; so to is the almost equivalent to religious evangelism publicised by certain authors, speakers or even [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=418&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="float:right;" title="Puppet.png" src="http://mickyd.files.wordpress.com/2011/10/puppet.png?w=225&#038;h=225" alt="Puppet" width="225" height="225" border="0" /></p>
<p>In this day and age of being told what we should think, whether if we should like a film or not; a restaurant or not;  a make of car or not;  or what type of food we should minimise; so to is the almost equivalent to religious evangelism publicised by certain authors, speakers or even bloggers (yes I am a blogger too) on their idea on how we should program,  or SDLC patterns such as source code control or how to implement say continuous integration and/or deployment.   Many of the suggestions are brilliant, helpful and well deserved, particularly for those with little experience in the field.   However it is all too easy to become a disciple of the new religion without questioning what is being said.</p>
<p>As with most things,  a teacher with incorrect information or a teacher with an agenda is a bad teacher with a motive.  The same is said for programming authors or speakers.  Perhaps they want to sell you more books?  Have YOU thought about it?</p>
<p>I mentioned that many will accept an idea without questioning the mechanics behind it &#8211; take database <em>object relational mapping</em> (ORM) made arguably famous by a certain well known author and speaker.  People like it cause it makes the DB look like an <em>object-orientated tree graph</em>.  Nothing wrong with that, I particularly like <em>canonical protocols</em> or singular agnostic APIs.   If I were to take the critical approach to ORM I could encounter:</p>
<blockquote><p>&#8220;awww everyone else is doing it;  It&#8217;s much easier!&#8221;  - they say</p></blockquote>
<p>Is a common defence.   Fair enough, but it demonstrates the obvious and unfortunate scenario that certain developers will do a thing if there is sufficient evidence for doing so in the first place (particularly if it requires zero-coding on their part) or if it makes their job easier.  The alternative is not to use ORM but to use more complex and time consuming patterns such as say stored procedures.  I&#8217;m not saying stored procs are better as that would be hypocritical to this topic.  I&#8217;ll let you decide.  I find some developers are not aware or do not want to think about and or investigate for themselves the overhead of data transformation let alone network activity.</p>
<p>Which is faster -</p>
<ul>
<li>the system where the majority of data processing happens inside the database in stored procs with minimal data transformation or</li>
<li>the system which the majority of data processing occurs external to the database,  subject to data transformation via an ORM data typically on another computer via a network?</li>
</ul>
<p>I&#8217;ll let you decide that.</p>
<p>It doesn&#8217;t have to be an ORM either.  Perhaps they have not fully thought about <em>log4net, StructureMap, ASP</em> models.  Are they good tools?  What are the pros?  Are there any cons?  A project for the reader.</p>
<blockquote><p>&#8220;Ease does not necessarily imply high performance in arguably the same way as complexity does not imply unreliability.&#8221; &#8211; Me</p></blockquote>
<p>Many say <em>simplicity is best</em>.  Perhaps.    The question is have YOU thought about it?  What does it mean to you?  A project for the reader.</p>
<p>Which is better &#8211; a turn of the century <em>zepplin</em> or a contempory <em>Boeing 747 Jumbo Jet</em>?  Which is more reliable?  Which has more fail-safes?  A project for the reader.</p>
<p>Don&#8217;t let your instincts prejudice your eventual decision making process.  Think before you say something I always say.  Question and debate those in authority, but try not to disagree if the only evidence on your behalf is that others are doing it your way.  You have not contributed anything personal to the debate.  Again think for yourself and come up with your own evidence.  This is what I encourage of my juniors.</p>
<blockquote><p>&#8220;Extraordinary claims requires extraordinary evidence&#8221;</p></blockquote>
<p>Some programmers sadly are so keen to use well known off the shelf systems with little thought as to their actions.</p>
<p>e.g.</p>
<p>A need for inversion of control (IoC) such that a database or logging object can be wired to client objects is quite understandable.  Such things are quite nice and do seem to make our jobs easier.  IoC systems typically require configuration as I have blogged before.  You must ask yourself -</p>
<ul>
<li>is the configuration difficult?</li>
<li>Is the configuration error prone?</li>
<li>Is the configuration open to security vulnerabilities?</li>
<li>Does it make it all worthwhile?</li>
<li>Have you considered a plain 1990s Class Factory Pattern?</li>
</ul>
<p>A project for the reader.  Again ease may not necessarily mean correctness.  What do you think?</p>
<p>Don&#8217;t think something just because someone told you to &#8211; learn to think for yourself again.</p>
<p>Again, this is not specific purely in the IT field but can apply to our daily lives too.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mickyd.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mickyd.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mickyd.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mickyd.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mickyd.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mickyd.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mickyd.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mickyd.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mickyd.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mickyd.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mickyd.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mickyd.wordpress.com/418/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mickyd.wordpress.com/418/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mickyd.wordpress.com/418/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=418&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mickyd.wordpress.com/2011/10/02/programmers-time-to-make-up-your-own-mind/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753b54a60805b7cc2ec2902c000b502a?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">MickyD</media:title>
		</media:content>

		<media:content url="http://mickyd.files.wordpress.com/2011/10/puppet.png" medium="image">
			<media:title type="html">Puppet.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Be Nice With Passwords</title>
		<link>http://mickyd.wordpress.com/2011/10/01/be-nice-with-passwords/</link>
		<comments>http://mickyd.wordpress.com/2011/10/01/be-nice-with-passwords/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 02:31:00 +0000</pubDate>
		<dc:creator>MickyD</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">https://mickyd.wordpress.com/2011/10/01/be-nice-with-passwords/</guid>
		<description><![CDATA[Ideally, if I can type it on my keyboard, then it should be an acceptable password character.&#160; Don’t limit your software like this scenario below:<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=416&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ideally, if I can type it on my keyboard, then it should be an acceptable password character.&#160; Don’t limit your software like this scenario below:</p>
<p><a href="http://mickyd.files.wordpress.com/2011/10/image.png"><img style="display:inline;" title="image" alt="image" src="http://mickyd.files.wordpress.com/2011/10/image_thumb.png?w=420&#038;h=152" width="420" height="152" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mickyd.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mickyd.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mickyd.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mickyd.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mickyd.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mickyd.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mickyd.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mickyd.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mickyd.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mickyd.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mickyd.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mickyd.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mickyd.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mickyd.wordpress.com/416/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=416&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mickyd.wordpress.com/2011/10/01/be-nice-with-passwords/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753b54a60805b7cc2ec2902c000b502a?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">MickyD</media:title>
		</media:content>

		<media:content url="http://mickyd.files.wordpress.com/2011/10/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>A Plug-in System for Web Applications Including ASP.NET Razor</title>
		<link>http://mickyd.wordpress.com/2011/09/24/a-plug-in-system-for-web-applications-including-asp-net-razor/</link>
		<comments>http://mickyd.wordpress.com/2011/09/24/a-plug-in-system-for-web-applications-including-asp-net-razor/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 01:41:00 +0000</pubDate>
		<dc:creator>MickyD</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[ioc]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[razor]]></category>
		<category><![CDATA[structuremap]]></category>

		<guid isPermaLink="false">https://mickyd.wordpress.com/2011/09/24/a-plug-in-system-for-web-applications-including-asp-net-razor/</guid>
		<description><![CDATA[Over the years at my place of work, my rather skilful peers implemented various web-based electronic health systems.  The systems were implemented using a variety of technologies, tools and languages that ensured that the products were delivered with functionality that met the requirements given a specified timeframe.  Some tools were open-source whilst others were brilliantly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=408&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p align="justify">Over the years at my place of work, my rather skilful peers implemented various web-based electronic health systems.  The systems were implemented using a variety of technologies, tools and languages that ensured that the products were delivered with functionality that met the requirements given a specified timeframe.  Some tools were open-source whilst others were brilliantly written in-house like the recent <em>content management system</em> (<strong>CMS</strong>).  Well done!</p>
<p align="justify">At the time of writing, <em>ASP.NET</em> development requires that all <em>pages</em> (for pre <em>MVC</em>), <em>views, controllers</em> and other content be in the web application project itself, which is a tad silly when you think about it. Some clever chaps (e.g. <a href="http://mvccontrib.codeplex.com/" target="_blank">Portable Areas</a>) have been working on ways to move the content to separate class libraries which while is an effective way to break up the project, is arguably sugar syntax as tight coupling still remains. To be fair though, their agenda was not to create a plug-in system as a primary requirement.</p>
<p align="justify">During the past month or so we have been discussing how we could implement a platform that would allow us to easily insert reusable modules of code, or widgets, into various areas of our web systems.  Such a platform should ideally be web technology neutral, so as to allow clients to use ASP.NET xxx, Ruby, plain HTML and with the option of Java.   Ideally it should be a <em>plug-in-based system</em>.</p>
<blockquote>
<p align="justify"><em>But isn’t that just a CMS?</em></p>
</blockquote>
<p align="justify">…I hear you say?  Perhaps.  You could make widgets for a CMS that has arguably the same end result.  But then again, if the system is just a shell and the plug-ins define the look, functionality and behaviour, then a plug-in system could do anything.</p>
<p align="justify">A CMS application could be a written using a plug-in-based framework, but not all applications based on plug-in frameworks would be CMSs.  E.g. <em>point-of-sale systems</em>.</p>
<p align="justify">So how can we move content from the main web project to a stand-alone DLL that is not directly referenced by the application?  First we need a plug-in system that acts as a mediator between the application and the plug-in.  I wrote my own – the details I cannot disclose here.  Anyway, the problem is not so much the plug-in framework, but how to redirect ASP to your code when looking for a view.  The answer is Microsoft’s .NET class <a href="http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&amp;l=EN-US&amp;k=k(SYSTEM.WEB.HOSTING.VIRTUALPATHPROVIDER)%3bk(SOLUTIONITEMSPROJECT)%3bk(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22)%3bk(DevLang-CSHARP)&amp;rd=true" target="_blank">VirtualPathProvider</a>.  This class is quite kewl.  It not only allows you to place MVC content in a different DLL but also anywhere else you want, even in a database!  Apparently many CMSs use this approach.</p>
<p align="justify">You need to derive a new class from <a href="http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&amp;l=EN-US&amp;k=k(SYSTEM.WEB.HOSTING.VIRTUALPATHPROVIDER)%3bk(SOLUTIONITEMSPROJECT)%3bk(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22)%3bk(DevLang-CSHARP)&amp;rd=true" target="_blank">VirtualPathProvider</a> and override the <a href="http://msdn.microsoft.com/en-us/library/system.web.hosting.virtualpathprovider.fileexists.aspx" target="_blank">FileExists</a> and <a href="http://msdn.microsoft.com/en-us/library/system.web.hosting.virtualpathprovider.getfile.aspx" target="_blank">GetFile</a> method’s as documented.  I whacked all this code into my special MVC service (no, not WCF) plug-in.  My framework automatically registers namespace plug-ins (the ones with say Razor stuff) with my service so that when ASP comes along asking for a particular resource, I know which plug-in to grab it from.  I&#8217;ve seen a lot of postings saying you must implement your own <a title="IViewEngine" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.iviewengine.aspx" target="_blank">IViewEngine</a> - that&#8217;s not entirely accurate.  It&#8217;s only true if you wish to do things like make custom containers in which to place your widgets/views; make a CMS-style app; or smart-clients.  If  you just wish to have say a standard ASP.NET web app albeit with your own plug-ins, then the standard view engines will be just fine.</p>
<p align="justify">Now you will find that when creating a class library you will be unable to create say Razor views since it is not a MVC project/application.  The easiest way to fix that is to create them in the web project then move them to the plugin project.  The trick is to mark them as an <em>embedded resource</em> as described <a href="http://fzysqr.com/2010/04/26/asp-net-mvc2-plugin-architecture-tutorial/" target="_blank">here</a>.   Initially I wanted to “pre-compile” them as described <a href="http://www.chrisvandesteeg.nl/2010/11/22/embedding-pre-compiled-razor-views-in-your-dll/" target="_blank">here</a> but in my experience I could not get that to work (something about compiling in some ASP namespace), nor were they pre-compiled anyway.  So I just embedded them.</p>
<p align="justify">Next I applied what I knew from my fun years writing Windows <em>shell namespace extensions</em> and <em>Microsoft Management Console</em> (<strong>MMC</strong>) snap-ins.  I really liked these APIs compared to say IoC containers such as <strong><em>StructureMap,</em></strong> mainly due to the way the former uses <em>strongly-typed contract-first</em> patterns compared to the latter’s <em>late-bound reflection</em> behaviour.   I find that when people use StructureMap they are using it like an elaborate class factory anyway with scary configuration.  I find it is better to have <em>zero configuration</em> like the patterns in the Windows shell and MMC.  My framework, which is a service container, automatically enrols and connects plug-in providers to plug-in services.</p>
<p align="justify">Not only does our new plug-in framework allow ASP.NET MVC 3 Razor views to reside in external plug-ins, but the main application should it so wish, is able to override the view and still gain access to the plug-ins model!  Yay!  This was an important “must have” that one of my peers expressed to me.</p>
<p align="justify">Also, because all the web applications are based on shell namespaces, <strong>IShellFolder, IShellView</strong> they are presentation agnostic, more so than ASP&#8217;s MVC.  We could quickly churn out a native app using the majority of the existing code except for an extra interface for rendering to iOS, WinForms or GNU windows.  The greatest thing is that now our entire website can be reduced to one or more plug-ins with the main app nothing more than a shell.  Think Smart Clients.</p>
<p align="justify">I think the new framework is much easier than my first one – <em><strong>ESP</strong></em>.  This current framework is my third generation plug-in system which is the culmination of feedback I have received over the years from my peers.  There is no need for the GAC; the main app only requires a single assembly reference and one line of code to use the framework; and plug-in authors can make use of helper classes and wizards.</p>
<p align="justify">I dedicate it to you!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mickyd.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mickyd.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mickyd.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mickyd.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mickyd.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mickyd.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mickyd.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mickyd.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mickyd.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mickyd.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mickyd.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mickyd.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mickyd.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mickyd.wordpress.com/408/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=408&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mickyd.wordpress.com/2011/09/24/a-plug-in-system-for-web-applications-including-asp-net-razor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753b54a60805b7cc2ec2902c000b502a?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">MickyD</media:title>
		</media:content>
	</item>
		<item>
		<title>SOA Services and the Many Visual Studio Solution File Problem</title>
		<link>http://mickyd.wordpress.com/2011/09/10/soa-services-and-the-many-visual-studio-solution-file-problem/</link>
		<comments>http://mickyd.wordpress.com/2011/09/10/soa-services-and-the-many-visual-studio-solution-file-problem/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 01:53:46 +0000</pubDate>
		<dc:creator>MickyD</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">https://mickyd.wordpress.com/?p=406</guid>
		<description><![CDATA[We&#8217;re working on a new project at work which is going to be implemented with a number of components with varying levels of dependencies on one another.  Since we knew that this project was to be quite large we thought it would be rather nice if we split the entire System into many Visual Studio [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=406&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re working on a new project at work which is going to be implemented with a number of components with varying levels of dependencies on one another.  Since we knew that this project was to be quite large we thought it would be rather nice if we split the entire System into many <em>Visual Studio</em> solutions.   This would encourage components to be accessed via established contracts instead of potentially back-door methods.  It creates a rather friendly &#8220;black-box&#8221; perception of said components when you can only see the referenced .DLL instead of spying source code.</p>
<p>Sadly we ran into a problem which I suspect others have come across at one time or another &#8211; it can lead to <strong>circular dependencies</strong> when one project depends on contracts in another whilst at the same time one component may require say a <em>Windows Communication Foundation</em> (<strong>WCF</strong>) client proxy.  This is quite significant when many of the components are of the WCF variety.</p>
<p>One solution of course particularly when dealing with <em>Service Orientated Architecture </em>(<strong>SOA</strong>) is to adopt a <em><a href="http://wscfblue.codeplex.com/">Schema First</a></em> practice whereby you define all your types, messages in XSD format rather than leaping straight into say c#.   Sadly, Schema First can be a bit like designing all your .net classes in a modelling tool where the code is generated &#8211; it&#8217;s nice but not particularly productive.  Plus, unless you have the rather good <em>Stylus Studio</em> and <em>WSCF.blue</em> tools, who wants to hand-crank XSD and WSDL just to add an extra argument to a method?  Not many agile programmers I don&#8217;t think.</p>
<p>Another possibility is to take all your .net domain classes and contracts for all the WCF services and place them in a separate solution.  Though this is arguably faster than code generation from modelling tools or schema first, it is rather annoying when you wish to refactor your code.   Renaming a method in the contracts solution won&#8217;t automatically rename the classes in the implementation solutions.</p>
<p>Ultimately having many Visual Studio environments open just for contracts and the services just plain sux, particularly when you need to compile things in a particular order.</p>
<p>So I&#8217;ll be boggled if I know what to do for the short to medium term.  I suppose we&#8217;ll just continue what seems to be the common practice &#8211; have a monolithic Visual Studio solution that at some point in the future we can split up once code changes become idle.</p>
<p>Which opens up another can of worms &#8211; <em>splitting up the code introduces a reasonable level of risk particularly when we can assume that its already been QA&#8217;d.</em></p>
<p>I&#8217;d love to hear if anyone has some great ways to solve this dilemma.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mickyd.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mickyd.wordpress.com/406/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mickyd.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mickyd.wordpress.com/406/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mickyd.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mickyd.wordpress.com/406/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mickyd.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mickyd.wordpress.com/406/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mickyd.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mickyd.wordpress.com/406/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mickyd.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mickyd.wordpress.com/406/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mickyd.wordpress.com/406/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mickyd.wordpress.com/406/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=406&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mickyd.wordpress.com/2011/09/10/soa-services-and-the-many-visual-studio-solution-file-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753b54a60805b7cc2ec2902c000b502a?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">MickyD</media:title>
		</media:content>
	</item>
		<item>
		<title>Let&#8217;s Make a Distributed Object Cache in .NET with WCF 4&#8217;s Peer-to-Peer Binding</title>
		<link>http://mickyd.wordpress.com/2011/09/04/lets-make-a-distributed-object-cache-in-net-with-wcf-4s-peer-to-peer-binding/</link>
		<comments>http://mickyd.wordpress.com/2011/09/04/lets-make-a-distributed-object-cache-in-net-with-wcf-4s-peer-to-peer-binding/#comments</comments>
		<pubDate>Sun, 04 Sep 2011 13:44:00 +0000</pubDate>
		<dc:creator>MickyD</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">https://mickyd.wordpress.com/2011/09/04/lets-make-a-distributed-object-cache-in-net-with-wcf-4s-peer-to-peer-binding/</guid>
		<description><![CDATA[A distributed object cache is a system that allows one program to store an object in memory and have it available to another program on another computer.&#160; Any node can store and make changes to the object.&#160;&#160; Caches make huge performance improvements in certain workflows.&#160; One of the more popular is Memcached, which I was [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=403&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A distributed object cache is a system that allows one program to store an object in memory and have it available to another program on another computer.&#160; Any node can store and make changes to the object.&#160;&#160; Caches make huge performance improvements in certain workflows.&#160; One of the more popular is <strong><em>Memcached</em></strong>, which I was hoping to use but was disappointed when I found that the devs have not made a .NET client library.&#160; I would rather use one made by the Memcached team than some third party. <img style="border-style:none;" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://mickyd.files.wordpress.com/2011/09/wlemoticon-winkingsmile.png?w=600" /></p>
<p>Making an object cache in .NET is pretty straight forward when you think about it – its just a key-value pair with items that timeout after some time interval.&#160; Making it work over the network is potentially difficult in a decentralised design but WCF 4 has the wonderful <strong>NetPeerTcpBinding</strong> that does all the tricky work of discovering, joining and leaving a virtual mesh of nodes in the distributed cache via a peer-to-peer (<strong>P2P</strong>) mesh.&#160; Actually <strong>NetPeerTcpBinding</strong> was introduced in 3.5 or possibly 3 but WCF 4 is so much easier on the whole but I digress.</p>
<p>Basically <strong>NetPeerTcpBinding</strong> acts very much like <strong>NetTcpBinding</strong> so get your program to work with that first.&#160; To transition to <strong>NetPeerTcpBinding</strong> you merely change your binding – no other changes to program flow are required.</p>
<p>Here’s a snippet of my WCF cache host config file:</p>
<p><font face="Courier New">&lt;bindings&gt;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;netNamedPipeBinding&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;binding name=&quot;noSecurityPipeCofig&quot;&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;security mode=&quot;None&quot; /&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/binding&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/netNamedPipeBinding&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;netPeerTcpBinding&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;binding name=&quot;noSecurityP2PBinding&quot;&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;security mode=&quot;None&quot; /&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/binding&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/netPeerTcpBinding&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;netTcpBinding&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;binding name=&quot;tcpNoSecurityConfig&quot;&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;security mode=&quot;None&quot; /&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/binding&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/netTcpBinding&gt;       <br />&#160;&#160;&#160;&#160; &lt;/bindings&gt;       <br />&#160;&#160;&#160;&#160; &lt;services&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;service behaviorConfiguration=&quot;myServiceBehaviour&quot; name=&quot;Schmicky.Cache.Services.CacheService&quot;&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;clear /&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;endpoint address=&quot;announcements&quot; binding=&quot;<font>netPeerTcpBinding</font>&quot;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; bindingConfiguration=&quot;noSecurityP2PBinding&quot; name=&quot;p2pEndpoint&quot;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; contract=&quot;Schmicky.Cache.Contracts.Interfaces.ICacheBroadcast&quot;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; listenUriMode=&quot;Explicit&quot;&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/endpoint&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;endpoint address=&quot;local&quot; binding=&quot;<font>netNamedPipeBinding</font>&quot; bindingConfiguration=&quot;noSecurityPipeCofig&quot;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; name=&quot;pipe&quot; contract=&quot;Schmicky.Cache.Contracts.Interfaces.ICacheQuery&quot; /&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;host&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;baseAddresses&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;add baseAddress=&quot;net.p2p://broadcastmesh/SchmickyCache/&quot; /&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;add baseAddress=&quot;net.pipe://SchmickyCache/&quot; /&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/baseAddresses&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/host&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/service&gt;       <br />&#160;&#160;&#160;&#160; &lt;/services&gt;       <br /></font></p>
<p>You will note that I have two endpoints.&#160; The reason for this is that the P2P generally only allows for announcements and therefore <em>one-way</em> calls.&#160; This sort of threw a spanner into the works as I thought a cache wouldn’t be too good if you could only store and not retrieve.</p>
<p>Then I thought, well why not make a secondary full-duplex endpoint just for queries?&#160; That would work, and so I made use of the high-speed channel from <strong>NetNamedPipeBinding</strong>.&#160; It doesn’t matter that its local host only because both endpoints are talking to the local cache access point host.&#160; Yipee!</p>
<p>So with two endpoints it makes sense to map them to two different interfaces – one for storage and the other for cache query and retrieval:</p>
<p>[ServiceContract(ProtectionLevel = ProtectionLevel.None)]   <br />&#160;&#160;&#160; <font color="#0000ff">public interface</font> <font color="#4bacc6">ICacheBroadcast</font>    <br />&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; /// &lt;summary&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; /// Puts the specified item.    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; /// &lt;/summary&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; /// &lt;param name=&quot;request&quot;&gt;The request.&lt;/param&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; [OperationContract(IsOneWay = true)]    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#0000ff">void</font> Put(<font color="#4bacc6">PutItemRequest</font> request);</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; [OperationContract(IsOneWay = true)]   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#0000ff">void</font> Touch(<font color="#4bacc6">string</font> key);    <br />&#160;&#160;&#160; }</p>
<p>&#160;</p>
<p>[ServiceContract( ProtectionLevel = ProtectionLevel.None, SessionMode = SessionMode.Allowed)]   <br />&#160;&#160;&#160; <font color="#0000ff">public interface</font> <font color="#4bacc6">ICacheQuery</font>    <br />&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; [OperationContract(IsOneWay = false)]    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#4bacc6">GetItemResponse</font> Get(<font color="#4bacc6">GetItemRequest</font> request);    <br />&#160;&#160;&#160; }</p>
<p>When an item is stored it is broadcast to all other nodes in the mesh very quickly.&#160; Retrieving an item is immediate for the app storing it in the first place as there is no network latency.&#160; Remote nodes won’t know about it till it is broadcast there.&#160; When any node gets an item I send an asynchronous <strong>touch</strong> command to all other nodes to keep the item alive.&#160; .NET 4’s <strong>Task</strong> class is quite useful here.</p>
<p>The best thing about the P2P in WCF is that there is no looping’ing of sending updates to each node – its all encapsulated by WCF. Think UDP.</p>
<p>So now I have a working distributed cache and it <u>only took me a day to do</u>.&#160; Who said things are too complex?</p>
<p>Till next time.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mickyd.wordpress.com/403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mickyd.wordpress.com/403/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mickyd.wordpress.com/403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mickyd.wordpress.com/403/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mickyd.wordpress.com/403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mickyd.wordpress.com/403/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mickyd.wordpress.com/403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mickyd.wordpress.com/403/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mickyd.wordpress.com/403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mickyd.wordpress.com/403/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mickyd.wordpress.com/403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mickyd.wordpress.com/403/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mickyd.wordpress.com/403/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mickyd.wordpress.com/403/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mickyd.wordpress.com&amp;blog=7560945&amp;post=403&amp;subd=mickyd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mickyd.wordpress.com/2011/09/04/lets-make-a-distributed-object-cache-in-net-with-wcf-4s-peer-to-peer-binding/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753b54a60805b7cc2ec2902c000b502a?s=96&#38;d=retro&#38;r=G" medium="image">
			<media:title type="html">MickyD</media:title>
		</media:content>

		<media:content url="http://mickyd.files.wordpress.com/2011/09/wlemoticon-winkingsmile.png" medium="image">
			<media:title type="html">Winking smile</media:title>
		</media:content>
	</item>
	</channel>
</rss>
