<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-819039287462919834</id><updated>2012-02-04T17:36:42.281Z</updated><title type='text'>Steven H's Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>51</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-8195239264294309433</id><published>2009-10-26T08:47:00.004Z</published><updated>2009-10-26T08:52:02.767Z</updated><title type='text'>MY BLOG HAS MOVED!</title><content type='html'>You can  now find my ramblings @&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(255, 153, 0);font-size:180%;" &gt;&lt;a href="http://blog.holsee.com"&gt;http://blog.holsee.com&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note: I wont be porting my posts from this blog over to my new blog, nor will I be closing this site.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-8195239264294309433?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/8195239264294309433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=8195239264294309433&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/8195239264294309433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/8195239264294309433'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/10/my-blog-has-moved-you-can-now-find-my.html' title='MY BLOG HAS MOVED!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-170792598676485251</id><published>2009-08-26T21:14:00.001+01:00</published><updated>2009-08-26T21:14:54.309+01:00</updated><title type='text'>Hoping to get to Roy Osherove’s TDD Master Class UK running 21st to 25th September!</title><content type='html'>&lt;h2&gt;The Course&lt;/h2&gt;  &lt;p&gt;Roy Osherove is giving an hands-on TDD Masterclass in the UK, September 21-25. Roy is author of &amp;quot;The Art of Unit Testing&amp;quot; (&lt;a href="http://www.artofunittesting.com/"&gt;http://www.artofunittesting.com/&lt;/a&gt;), &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_3guywnw1fvw/SpWXuJpzV_I/AAAAAAAAAN4/Eju-ZeTiT5I/s1600-h/%3DArtOfUnitTesting%5B4%5D.jpg"&gt;&lt;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="=ArtOfUnitTesting" border="0" alt="=ArtOfUnitTesting" src="http://lh6.ggpht.com/_3guywnw1fvw/SpWXvINUjOI/AAAAAAAAAN8/Ke2CaO-7AuM/%3DArtOfUnitTesting_thumb%5B2%5D.jpg?imgmax=800" width="241" height="405" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;a leading tdd &amp;amp; unit testing book; he maintains a blog at &lt;a href="http://iserializable.com"&gt;http://iserializable.com&lt;/a&gt; (which amoung other things has critiqued tests written by Microsoft for &lt;a href="http://asp.net"&gt;asp.net&lt;/a&gt; MVC - check out the testreviews category) and has recently been on the Scott Hanselman podcast (&lt;a href="http://bit.ly/psgYO"&gt;http://bit.ly/psgYO&lt;/a&gt;) where he educated Scott on best practices in Unit Testing techniques. For a further insight into Roy's style, be sure to also check out Roy's talk at the recent Norwegian Developer's Conference (&lt;a href="http://bit.ly/NuJVa"&gt;http://bit.ly/NuJVa&lt;/a&gt;).&amp;#160; &lt;/p&gt;  &lt;p&gt;Full Details here: &lt;a href="http://bbits.co.uk/tddmasterclass"&gt;http://bbits.co.uk/tddmasterclass&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;bbits are holding a raffle for a free ticket for the event. To be eligible to win the ticket (worth £2395!) you MUST paste this text, including all links, into your blog and email &lt;a href="mailto:Ian@bbits.co.uk"&gt;Ian@bbits.co.uk&lt;/a&gt; with the url to the blog entry.&amp;#160; The draw will be made on September 1st and the winner informed by email and on &lt;a href="http://bbits.co.uk/blog"&gt;bbits.co.uk/blog&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;The Cost&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;The course itself costs: £2395&lt;/p&gt;    &lt;p&gt;Hilton Hotel Maidstone 4 nights w/ breakfast and dinner: £340&lt;/p&gt;    &lt;p&gt;Taxi from London Gatwick: £25 x 2 = £50&lt;/p&gt;    &lt;p&gt;Return Flights: £120 approx&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;*Fingers Crossed =]*&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-170792598676485251?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/170792598676485251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=170792598676485251&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/170792598676485251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/170792598676485251'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/08/hoping-to-get-to-roy-osheroves-tdd.html' title='Hoping to get to Roy Osherove’s TDD Master Class UK running 21st to 25th September!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_3guywnw1fvw/SpWXvINUjOI/AAAAAAAAAN8/Ke2CaO-7AuM/s72-c/%3DArtOfUnitTesting_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-6109611781880499364</id><published>2009-08-25T20:32:00.001+01:00</published><updated>2009-10-14T14:55:27.245+01:00</updated><title type='text'>Agile Zen versus My Desktop Kanban =]</title><content type='html'>&lt;p&gt;Kanban is all the rage with the cool Agile kids, and to be honest I need a list of tasks in front of me to keep productive.&lt;/p&gt;  &lt;p&gt;So.. I checked out &lt;a href="http://www.agilezen.com" target="_blank"&gt;Agile Zen&lt;/a&gt; by &lt;a href="http://kohari.org/" target="_blank"&gt;Nate Kohari&lt;/a&gt; ( &lt;a href="http://www.twitter.com/nkohari" target="_blank"&gt;@nkohari&lt;/a&gt; ) also &lt;em&gt;of &lt;/em&gt;&lt;a href="http://www.ninject.org" target="_blank"&gt;&lt;em&gt;Ninject&lt;/em&gt;&lt;/a&gt;&lt;em&gt; Fame&lt;/em&gt;.&lt;/p&gt;  &lt;p align="center"&gt;Picture from: &lt;a href="http://www.AgileZen.com"&gt;http://www.AgileZen.com&lt;/a&gt; &lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SpQ8PukoWiI/AAAAAAAAANg/-55iyC_m61w/s1600-h/clip_image001%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="clip_image001" border="0" alt="clip_image001" src="http://lh6.ggpht.com/_3guywnw1fvw/SpQ8QS2MMzI/AAAAAAAAANk/j_Acg25rEK0/clip_image001_thumb%5B1%5D.png?imgmax=800" width="240" height="192" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So Agile Zen a very nice lean project management web application, the killer feature being the post-it style Kanban Chart.&amp;#160; I do highly recommend it… and since its free for one person with one project do check it out!&lt;/p&gt;  &lt;p&gt;Nate also has open sourced a portion of his application framework:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="right"&gt;=&amp;gt; &lt;a href="http://kohari.org/2009/08/10/siesta-painless-rest-via-asp-net-mvc/" target="_blank"&gt;Siesta: Painless REST via ASP.NET MVC&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;&amp;#160;&lt;/h2&gt;  &lt;h3 align="center"&gt;So the moment you have all been waiting for my DIY DESKTOP KANBAN BOARD!!!&lt;/h3&gt;  &lt;p&gt;This project involved a mighty 30 seconds design time, and a long running 7 minutes production time (overrunning my estimation by 2 minutes D= )!&lt;/p&gt;  &lt;p&gt;Tada!!!!:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_3guywnw1fvw/StXYQKfGMPI/AAAAAAAAAOA/1lgbdEZdKHk/s1600-h/image%5B8%5D%5B12%5D.png"&gt;&lt;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="image[8]" border="0" alt="image[8]" src="http://lh5.ggpht.com/_3guywnw1fvw/StXYTH3XQ6I/AAAAAAAAAOE/Ufz4I1iCNYc/image%5B8%5D_thumb%5B10%5D.png?imgmax=800" width="382" height="328" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I used Paint.NET to create the “Board” which is a desktop wallpaper. &lt;/li&gt;    &lt;li&gt;I use Windows Sticky Notes which comes with Windows 7 for the post-its. &lt;/li&gt;    &lt;li&gt;For Online synchronisation I use the “Print Screen” key and email / shared One Note wiki. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;:) isn’t it beautiful.. &lt;/p&gt;  &lt;p&gt;Note: What started off as a joke I have actually found pretty useful in the end!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-6109611781880499364?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/6109611781880499364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=6109611781880499364&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/6109611781880499364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/6109611781880499364'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/08/agile-zen-versus-my-desktop-kanban.html' title='Agile Zen versus My Desktop Kanban =]'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_3guywnw1fvw/SpQ8QS2MMzI/AAAAAAAAANk/j_Acg25rEK0/s72-c/clip_image001_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-4659833700709172595</id><published>2009-08-25T20:00:00.001+01:00</published><updated>2009-10-16T11:02:11.380+01:00</updated><title type='text'>Activating Windows 7 RTM Enterprise without having to configure a computer on the network to host KMS software.</title><content type='html'>&lt;p&gt;I was wondering how to go about activating windows 7 without having go to the hassle of setting up a machine on my domain to host the KMS software… ( if you hadn’t already guessed from my title =] ).&amp;#160; &lt;/p&gt;  &lt;p&gt;I was getting prompted to activate my version of windows even thou I entered the product key when I installed the OS.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SpULmVSk6SI/AAAAAAAAANw/g_Uisr4Um-o/s1600-h/moz-screenshot%5B4%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="moz-screenshot" border="0" alt="moz-screenshot" src="http://lh6.ggpht.com/_3guywnw1fvw/SpULm4k1erI/AAAAAAAAAN0/yJ04owawajU/moz-screenshot_thumb%5B2%5D.jpg?imgmax=800" width="340" height="340" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;TNA’s (Three Letter Acronyms) Id never heard off were being used:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;MAK&lt;/strong&gt; – Multiple Activation Key&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;KMS&lt;/strong&gt; – Key Management System&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Turns out it was very simple to activate:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Open cmd prompt as admin &lt;/li&gt;    &lt;li&gt;Type:      &lt;blockquote&gt;       &lt;p&gt;slmgr –ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX&lt;/p&gt;     &lt;/blockquote&gt;      &lt;blockquote&gt;       &lt;p&gt;(With your MAK instead of the XXXX…)&lt;/p&gt;     &lt;/blockquote&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;blockquote&gt;   &lt;p&gt;…you should get prompted after about 30 seconds with:&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_3guywnw1fvw/SpQ03aliX6I/AAAAAAAAANY/iUYpKY8kk88/s1600-h/Activation%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Activation" border="0" alt="Activation" src="http://lh6.ggpht.com/_3guywnw1fvw/SpQ036lKhhI/AAAAAAAAANc/ZxpXMcOdyLQ/Activation_thumb%5B2%5D.png?imgmax=800" width="378" height="185" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;…and you’re done. =] !&lt;/p&gt;  &lt;p align="center"&gt;Official Resource (which took silly me a while to discover):&lt;/p&gt;  &lt;p align="center"&gt;&lt;a title="http://support.microsoft.com/kb/929826/" href="http://support.microsoft.com/kb/929826/"&gt;http://support.microsoft.com/kb/929826/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-4659833700709172595?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/4659833700709172595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=4659833700709172595&amp;isPopup=true' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4659833700709172595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4659833700709172595'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/08/activating-windows-7-rtm-enterprise.html' title='Activating Windows 7 RTM Enterprise without having to configure a computer on the network to host KMS software.'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_3guywnw1fvw/SpULm4k1erI/AAAAAAAAAN0/yJ04owawajU/s72-c/moz-screenshot_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-5278173492706388315</id><published>2009-08-11T19:00:00.001+01:00</published><updated>2009-08-11T19:00:45.796+01:00</updated><title type='text'>DISK BOOT FAILURE after I removed a Hard Drive.. How I got it fixed.</title><content type='html'>&lt;p&gt;I am running the Windows 7 RTM.&amp;#160; I seem to have made a balls up whilst installing it.&amp;#160; I seem to have created the Operating Systems (OS) “System Reserved” partition on the hard drive which I subsequently removed.&lt;/p&gt;  &lt;p&gt;The result was not the same old average fix.. but I initially perform the generic steps for a “DISK BOOT FAILURE” as I will discuss in the “Long Version”.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;DISCLAIMER: I put this post online in to hope it might help some poor lost soul who had the same issue, this is merely a documentation of my experience not a guide as such, so if your going to follow the steps I did you do so at your own risk &amp;gt;.&amp;lt;!&lt;/em&gt;&lt;/p&gt;  &lt;h4&gt;&lt;em&gt;Probable&lt;/em&gt; Cause:&lt;/h4&gt;  &lt;p&gt;- I formatted the hard drive (which I later removed) FIRST. I subsequently installed windows on another hard drive’s partition.&lt;/p&gt;  &lt;h4&gt;Effect:&lt;/h4&gt;  &lt;p&gt;- Removing the hard drive caused a:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;DISK BOOT FAILURE&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;Solution:&lt;/h4&gt;  &lt;p&gt;&lt;strong&gt;Short Version (All the steps I took):&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- Create a “System Reserved” Partition by creating a new partition on the hard drive with OS installed (if you can) or a hard drive that will live in the same machine as the OS.&amp;#160; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;If you &lt;u&gt;CANT&lt;/u&gt;, I recommend backing up you files by putting back in the hard drive you removed and booting into the OS first.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;- Now you have this partition. Run the “Startup Repair” wizard on from Windows 7 Installation media disk, your OS installation should be detected by the repair wizard now.&lt;/p&gt;  &lt;p&gt;- Your system should have repaired its MBR now and created a “System Reserved” partition.&amp;#160; Windows 7 should boot fine.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Long Version:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- Having been here before for different reasons, I proceeded to boot to the Windows 7 installation media and &lt;strong&gt;selected “Repair your computer”&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_3guywnw1fvw/SoGxwne2cgI/AAAAAAAAANI/jFw__ofAl3Y/s1600-h/WinRecover%5B10%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WinRecover" border="0" alt="WinRecover" src="http://lh4.ggpht.com/_3guywnw1fvw/SoGxyHw-BOI/AAAAAAAAANM/uNaRk_ogyHA/WinRecover_thumb%5B8%5D.jpg?imgmax=800" width="402" height="412" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;- I proceeded run ”Start-up Repair”.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I noticed that the system could not discover my installed OS at the next screen, but i proceeded regardless.&lt;/p&gt;    &lt;p&gt;Result from log entry translated to plain English “Yes, we saw a problem, and fixed it”… false hope as IT DIDN’T!&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;- After scratching my beard I realised this Booting of the OS must rely on that “System Reserved” partition in some way.&lt;/p&gt;  &lt;p&gt;- I ran the windows installer until i got to the partition screen, I had an empty partition (fortunately) which I subsequently deleted and reformatted.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- This resulted in a “System Reserved” partition being created.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_3guywnw1fvw/SoGxyUrrUGI/AAAAAAAAANQ/H4Xcpnkcn5Q/s1600-h/image%5B3%5D.png"&gt;&lt;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="image" border="0" alt="image" src="http://lh5.ggpht.com/_3guywnw1fvw/SoGxzNuLhmI/AAAAAAAAANU/UcMdSLuNsRU/image_thumb%5B1%5D.png?imgmax=800" width="240" height="75" /&gt;&lt;/a&gt; - I exited the partitioning screen and tried to boot, the result was now: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;MBR DOES NOT EXIST&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;- This was progress :)! The next step was the run the “Startup Repair” again.&amp;#160; Now it could detect my Windows 7 installation.&lt;/p&gt;  &lt;p&gt;- This time the “Startup repair” worked and I could boot into Windows 7 again without the need for the removed hard-drive.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Hope this little documentation of my initial ignorance and resulting fix helps you avoid / fix the problem if have un into it.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Thanks, &lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;ME=&amp;gt; ME == this.SH :)&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-5278173492706388315?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/5278173492706388315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=5278173492706388315&amp;isPopup=true' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/5278173492706388315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/5278173492706388315'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/08/disk-boot-failure-after-i-removed-hard.html' title='DISK BOOT FAILURE after I removed a Hard Drive.. How I got it fixed.'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_3guywnw1fvw/SoGxyHw-BOI/AAAAAAAAANM/uNaRk_ogyHA/s72-c/WinRecover_thumb%5B8%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-920877558561791906</id><published>2009-08-11T11:47:00.001+01:00</published><updated>2009-08-11T16:44:06.380+01:00</updated><title type='text'>Apple are just going too far..</title><content type='html'>&lt;p&gt;This is the rant to vent the rage (see &lt;a href="http://holsee.blogspot.com/2009/08/i-want-my-music-back-ipod-story.html" target="_blank"&gt;“I want my Music back!!” An iPod Story..”&lt;/a&gt;) probably not worth reading tbh.&lt;/p&gt;  &lt;h2&gt;Apple make nice stuff&lt;/h2&gt;  &lt;p&gt;Yes I could not agree more with that statement. Apple make ultra nice hardware and a slick intuitive OS.&amp;#160; The User Experience in Apple software is generally second to none if you ask me.. but at a very HIGH price tag.&amp;#160; &lt;/p&gt;  &lt;p&gt;Plus in my humble opinion my&lt;strong&gt; ubuntu machine with compiz &amp;gt; OSX tbh.. and it cost me a grand total of £0 !!!!!&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;Apple should change their name to inGsoc!&lt;/h2&gt;  &lt;p&gt;The famous 1984 advert..&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:36b6356a-68a3-4e8c-84da-6596a95c1e8c" class="wlWriterSmartContent"&gt;&lt;embed height="355" type="application/x-shockwave-flash" width="425" src="http://www.youtube.com/v/OYecfV3ubP8" wmode="transparent" /&gt;&lt;/div&gt;  &lt;p&gt;..they created to depict The MAN, The Establishment, their competitors (blatantly Microsoft) .. in the 80s as the Big Brother-esk character. &lt;/p&gt;  &lt;p&gt;This was blatantly a ploy to cover up the fact Apples long term game plan and fool the edgy “cool kids” into too splashing their cash on over priced hardware thinking its not and subsequently allowing apple to become controlling and damn right choice restricting to meet their ends.. Apple are not the totalitarians as it is not a matter of “Thou Shall” but “Thou Is”.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;quot;The command of the old despotism was 'thou shalt not'. The command of the totalitarians was 'thou shalt'. our command is 'thou art'.&amp;quot;&lt;/em&gt; O’Brien (Inner Party Member). “1984” by George Orwell.&lt;/p&gt;  &lt;p&gt;Funny how this works.. the Unix core of apple (full of openness) and the marketing of a free liberal cultured product ending up being the most darn right closed a proprietary company in existence removing the basic freedoms of openness from their once free-thinking target market.&lt;/p&gt;  &lt;p&gt;Apple fanatics actually BELIEVE (back to the 1984 reference) there is nothing wrong with this &lt;em&gt;(on the most part)&lt;/em&gt; and &lt;strike&gt;Big Brother&lt;/strike&gt; Apple have their best interests in mind. They have been so brainwashed that they will buy totally overpriced products and upgrades with the most crazy commitment!&lt;/p&gt;  &lt;p&gt;NEWS FLASH: Apple have only their own best interests in mind and it is at the expense of the people and choice!&lt;/p&gt;  &lt;p&gt;Truth me told I don’t really care what Apple do to progress their platform, but acting is such a manner really pisses me off and a lot of other people too.&amp;#160; There are so many other occasions which apple have acted not in the best interests of the world but themselves, but hey thats life and thats business.&lt;/p&gt;  &lt;h2&gt;Creative / Zune HD / Android &lt;/h2&gt;  &lt;p&gt;.. one of you have earned my business in the future Apple have just went too far.. like wtf is up with them pulling the Google Voice applications in an ultra evil fashion from their app store, after they have taken 30% of all sales of the apps which cost something.&amp;#160; Where are the customer refunds? + the developer had to pay $100 to even develop on the platform.. pfft nuff said I guess.&lt;/p&gt;  &lt;p&gt;If you read this far.. well done thanks for sticking with my angry little rant!!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-920877558561791906?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/920877558561791906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=920877558561791906&amp;isPopup=true' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/920877558561791906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/920877558561791906'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/08/apple-are-just-going-too-far.html' title='Apple are just going too far..'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-4558309431992390579</id><published>2009-08-11T11:44:00.001+01:00</published><updated>2009-08-14T16:52:40.429+01:00</updated><title type='text'>“I want my MUSIC back!!” An iPod Story..</title><content type='html'>&lt;p&gt;I’m going to keep this one short and sweet.. If I can!&lt;/p&gt;  &lt;p&gt;This is a tale of one mans pain caused by the Apple, their closed box evilness and their iPod Touch product.&lt;/p&gt;  &lt;h2&gt;What you on about?&lt;/h2&gt;  &lt;p&gt;I a nutshell I upgraded all my machines to the windows 7 RTM and I reinstalled iTunes (for no other reason than I have to in order to use my iPod Touch).&amp;#160; &lt;/p&gt;  &lt;p&gt;Little did I know &lt;strong&gt;since iTunes 4.7 the ability to drag you music off you iPod Touch to you computer has been removed. &lt;u&gt;I want my music back!&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;Why oh why?&lt;/h2&gt;  &lt;p&gt;I’m nearly sure Apple did this in order to piss me and only me off, but more likely the reason is some money grabbing “must use iTunes store” music buying DRM bullshit thing going on!&lt;/p&gt;  &lt;h2&gt;How&lt;u&gt; NOT&lt;/u&gt; to get you music of the iPod touch&lt;/h2&gt;  &lt;p&gt;&lt;em&gt;These were the failed attempts:&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;CopyTrans (&lt;cite&gt;&lt;a href="http://www.copytrans.net/"&gt;www.copytrans.net/&lt;/a&gt;&lt;/cite&gt;)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- They rant and rave about being £free.&lt;/p&gt;  &lt;p&gt;- They will let you rip 100 songs &lt;u&gt;then tell you that you need a license.&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;WinAmp&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- This works for regular iPods &lt;u&gt;not the iPod Touch.&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SongBird&amp;#160; (Mozilla)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- Even with various plug-ins &lt;u&gt;did not detect me media on my iPod Touch.&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;- Apparently works with regular iPods.&lt;/p&gt;  &lt;p&gt;- Being Mozilla based with Firefox-esk plug-ins &lt;u&gt;I hold high hope for this one!&lt;/u&gt;&lt;/p&gt;  &lt;h2&gt;How to get you music off the iPod touch&lt;/h2&gt;  &lt;p&gt;Music Rescue! (&lt;a title="http://www.kennettnet.co.uk/products/musicrescue/" href="http://www.kennettnet.co.uk/products/musicrescue/"&gt;http://www.kennettnet.co.uk/products/musicrescue/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SoFLnZasKcI/AAAAAAAAANA/he_p5SydJ5s/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_3guywnw1fvw/SoFLoCaLo7I/AAAAAAAAANE/P6ylJ6S8G54/image_thumb%5B2%5D.png?imgmax=800" width="359" height="155" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;u&gt;- I was able to rip all my music back off my iPod :)!&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;- &lt;u&gt;has “nag” alerts &lt;/u&gt;saying to enter a license, but as long as it kept ripping i did not care one single bit!!!&lt;/p&gt;  &lt;p&gt;- Cross platform Windows &amp;amp; OSX&lt;/p&gt;  &lt;p&gt;- Highly recommended by me!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;#UPDATE: I was also recommended:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SharePod &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;(&lt;a title="http://www.getsharepod.com/" href="http://www.getsharepod.com/"&gt;http://www.getsharepod.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;- They have iPod Touch and iPhone “Read Only” support&lt;/p&gt;  &lt;p&gt;- I haven't tried this but may in the future as it doesn't look like it has nags which Music Rescue does.&lt;/p&gt;  &lt;h2&gt;My Creative Zen.. Life was better with you!&lt;/h2&gt;  &lt;p&gt;How I love thee, thou had such openness, ability to use any MTP device compatible software which is pretty much every OS stock.&lt;/p&gt;  &lt;p&gt;..the only thing you lacked is a slick multi touch UI, an app ecosystem and a nice big screen!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-4558309431992390579?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/4558309431992390579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=4558309431992390579&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4558309431992390579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4558309431992390579'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/08/i-want-my-music-back-ipod-story.html' title='“I want my MUSIC back!!” An iPod Story..'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_3guywnw1fvw/SoFLoCaLo7I/AAAAAAAAANE/P6ylJ6S8G54/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-2135681458317810858</id><published>2009-08-10T19:18:00.001+01:00</published><updated>2009-08-10T19:20:51.015+01:00</updated><title type='text'>Freshbooks is Fantastic! Just Get Stuff Done!</title><content type='html'>&lt;p&gt;As you may, &lt;em&gt;or more likely may not know,&lt;/em&gt; I am a self employed software development consultant.&lt;/p&gt;  &lt;p&gt;As a result I have the need to bill my clients and keep track of my records of doing so.&lt;/p&gt;  &lt;p&gt;This can be a hassle if you think of it as involving:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Managing time on a project&lt;/li&gt;    &lt;li&gt;Managing numerous projects&lt;/li&gt;    &lt;li&gt;Managing tasks e.g. Development, Meetings..&lt;/li&gt;    &lt;li&gt;Variable charge i.e. Meetings may cost more..&lt;/li&gt;    &lt;li&gt;Creating invoices&lt;/li&gt;    &lt;li&gt;Delivering invoices&lt;/li&gt;    &lt;li&gt;Keeping records of payments&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;..not to mention doing this manually.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SoBkWzpngpI/AAAAAAAAAM4/QlYxNxjkbfg/s1600-h/clip_image0017.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="clip_image001" border="0" alt="clip_image001" src="http://lh5.ggpht.com/_3guywnw1fvw/SoBkXTRb-aI/AAAAAAAAAM8/4mf3QOJWIMU/clip_image001_thumb4.png?imgmax=800" width="246" height="171" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This site is great, it truly does allow your to run projects with numerous team members tracks payments, expenses, clients, projects, specific team members etc with ease.&lt;/p&gt;  &lt;p&gt;You can use it for simple one man operations right through to complex multi-project multi team members..&lt;/p&gt;  &lt;h3&gt;Steven’s Top 5 Favourite Features:&lt;/h3&gt;  &lt;ol&gt;   &lt;li&gt;FreshBooks Add-ons e.g Windows Gadgets &amp;amp; IPhone Apps&lt;/li&gt;    &lt;li&gt;Automatic invoice generation based on timesheet.&lt;/li&gt;    &lt;li&gt;Delivery of invoice via Email &amp;amp; SNAIL MAIL!&lt;/li&gt;    &lt;li&gt;Ability to charge different rates for each task type.&lt;/li&gt;    &lt;li&gt;Linking account with other company’s account.&lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Why I like it.. Speaking as a Developer&lt;/h3&gt;  &lt;p&gt;I love companies who run with the following style:&lt;/p&gt;  &lt;p&gt;An Open API to the system.. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;hence the great “Add-ons” as they call them.&amp;#160; There are numerous applications which take Advantage of the FreshBooks API for the IPod Touch / IPhone as well as the desktop gadgets / widgets which have been developed for numerous different platforms.&lt;/p&gt;    &lt;p&gt;This clearly has only strengthened their product, and is a perfect case study into how opening up a system can be beneficial to a web application.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I am a DO-er..&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I want to GET STUFF DONE, I don’t wish to spend time “doing the books” or fluffy admin business guy stuff.&amp;#160; &lt;em&gt;This is one of the reasons I like to charge more for meetings than I do for coding.. &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;With FreshBooks the operation is seamless I spend a small fraction of my time having to manage the business side of my business (of one) and most of the time doing what I am getting paid for, which just so happens to be the part of the job which I love!&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;They have a FREE plan..&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;You can use the system for free. Limited to a team of 1 and 3 clients.&amp;#160; But you get to try out all the features.. &lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;In Conclusion&lt;/h3&gt;  &lt;p&gt;Tis worth a look if you need to manage this kind of thing.. &lt;/p&gt;  &lt;p&gt;..and if you contemplating signing up I’d so go for it sooner rather than later as they warned us of price increases for new sign-ups after August 13th.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-2135681458317810858?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/2135681458317810858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=2135681458317810858&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2135681458317810858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2135681458317810858'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/08/freshbooks-is-fantastic-just-get-stuff.html' title='Freshbooks is Fantastic! Just Get Stuff Done!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_3guywnw1fvw/SoBkXTRb-aI/AAAAAAAAAM8/4mf3QOJWIMU/s72-c/clip_image001_thumb4.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-774228580847205268</id><published>2009-08-03T11:01:00.001+01:00</published><updated>2009-08-03T23:59:12.623+01:00</updated><title type='text'>MVVM &amp; Presentation Model Patterns - The Who, Where, What, When &amp; Why!?</title><content type='html'>&lt;h3&gt;Introduction&lt;/h3&gt;  &lt;p&gt;This post is the result of a discussion I had with a couple of folks from my .NET User Group (&lt;a href="http://www.NIMTUG.org"&gt;www.NIMTUG.org&lt;/a&gt;) which included Stuart Manning (&lt;em&gt;the owner and lead developer of the rTweeter project&lt;/em&gt;) and Jackie Pollock (&lt;em&gt;a .NET developer at Kainos by day and Northern Irish community hero by night&lt;/em&gt;) around &lt;strong&gt;UI design patterns for SIlverlight and WPF&lt;/strong&gt;.&lt;/p&gt;  &lt;h3&gt;Summary&lt;/h3&gt;  &lt;p&gt;My goal for this post of to &lt;strong&gt;give an overview&lt;/strong&gt; of how to begin developing a WPF or SIlverlight 3 application which takes advantage of either the Model-View-ViewModel (MVVM) or the Presentation Model Pattern, as defined by Martin Fowler &lt;a href="http://martinfowler.com/eaaDev/PresentationModel.html" target="_blank"&gt;here&lt;/a&gt;, in order to achieve full logic separation from the UI (i.e. the View).&lt;/p&gt;  &lt;p&gt;Further posts will explain in more detail the implementation and the very slight differences between these two patterns in practise, how XAML (eXtensible Application Mark-up Language) is used to elegantly data bind to data contained within the View Model / Presentation Model as well as how the interaction logic is stored separately from the View.&lt;/p&gt;  &lt;h3&gt;Who?&lt;/h3&gt;  &lt;h2&gt;Presentation Pattern&lt;/h2&gt;  &lt;p&gt;To the best of my knowledge this pattern was first formally defined by Martin Fowler and has numerous variations across many technologies but all fundamentally keeping to the main principles of the pattern.&lt;/p&gt;  &lt;h2&gt;MVVM Pattern&lt;/h2&gt;  &lt;p&gt;This pattern came out of Microsoft’s Blend project.&amp;#160; Blend was the first large scale application which took full advantage of WPF.&amp;#160; The Team was “dogfood-ing” WPF for the longest time and evolved this pattern in order to achieve the separation and flexibility they desired between the UI elements and the interaction logic.&amp;#160; &lt;/p&gt;  &lt;h2&gt;What are the Differences between View Model and Presentation Model?&lt;/h2&gt;  &lt;p&gt;&lt;strike&gt;These are subtle but the main difference is that a Presentation Model holds reference to the View and sets itself as the DataContext of the View. This View is injected as a dependency of the Presentation Model (normally via &lt;/strike&gt;&lt;a href="http://en.wikipedia.org/wiki/Dependency_injection" target="_blank"&gt;&lt;strike&gt;Dependency Injection&lt;/strike&gt;&lt;/a&gt;&lt;strike&gt;).&lt;/strike&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;strike&gt;Note: &lt;/strike&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;strike&gt;This is nice when using a Dependency Injection Framework to achieve this &lt;/strike&gt;&lt;a href="http://en.wikipedia.org/wiki/Inversion_of_control" target="_blank"&gt;&lt;strike&gt;Inversion of Control&lt;/strike&gt;&lt;/a&gt;&lt;strike&gt;.&lt;/strike&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strike&gt;Whereas with the View Model the View’s DataContext is set within the View itself, be it when the View is instantiated or by some other mechanism.&lt;/strike&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“Whether or not the View is injected into the ViewModel or the ViewModel is injected into the View does not determine it's ViewModelness or PresentationModelness :-)&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;ViewModel is PresentationModel (PM) without a doubt, as if you go by Fowler's definition the key differentiator is that the PM is the glass which the view is projected on, which is the case case regardless of which gets injected into which. What matters is that the View is rendered completely on top of the model.&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;&lt;strong&gt;What makes ViewModel different is that it is a specific flavour of PresentationModel which depends on WPF/Silverlight (XAML UI) specific concepts.        &lt;br /&gt;When you say MVVM you mean PM through Data Binding, Commands, Attached Properties, and Templates.&lt;/strong&gt;” &lt;/p&gt;    &lt;p&gt;Glenn Block - in response to this post.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This clarifies the distinction between the MVVVM and Presentation Pattern.&amp;#160; As in Glenn’s comment above, the key distinction is not whether the View is injected into the ViewModel or via versa, but that the MVVM is a WPF / Silverlight specific implementation of the Presentation Model pattern, which utilizes the key strengths of WPF and Silverlight as a technology, namely the awesome Databinding and&amp;#160; Commands.&lt;/p&gt;  &lt;h2&gt;Evolutionary Nature of the MVVM Pattern&lt;/h2&gt;  &lt;p&gt;The Presentation Model was defined by Martin Fowler and subsequently has not changed, MVVM is a variation of the Presentation Model applied to WPF and Silverlight.&lt;/p&gt;  &lt;p&gt;The MVVM pattern has changed since it was first created, and is ever evolving.&amp;#160; From my experience it is rare to ever see two implementations exactly the same, but in general they follow the main principle of:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;A View should be able to be completely replaced and rebuilt without any change being made it’s View Model.&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;The View Model should contain all the data to be displayed (including update notifications) and&amp;#160; interaction logic leaving the View with the only concern of how this is presented to the user.&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Where?&lt;/h3&gt;  &lt;p&gt;These patterns live in the Client Tier of an application.&amp;#160; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Note: &lt;strong&gt;Client Tier&lt;/strong&gt; = Executed Client side.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Specifically the logic code lives &lt;strong&gt;not&lt;/strong&gt; in the “code-behind” but in a separate class to allow for testability and maintainability, the two main positive side effects of complete separation of application logic from the View.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_3guywnw1fvw/Sna1hknjRjI/AAAAAAAAAMw/G9n5UTL-Wmk/s1600-h/AppDiagram_ClientTier123.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Application Archtecture Diagram of Client Tier" border="0" alt="Application Archtecture Diagram of Client Tier" src="http://lh5.ggpht.com/_3guywnw1fvw/Sna1ikJAwWI/AAAAAAAAAM0/RusOqDgtuHA/AppDiagram_ClientTier_thumb117.png?imgmax=800" width="388" height="292" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;What?&lt;/h3&gt;  &lt;p&gt;A View Model by definition, is a model for the View.&amp;#160; What this means is the View Model is responsible for:&lt;/p&gt;  &lt;blockquote&gt;   &lt;ul&gt;     &lt;li&gt;Retrieval of Data. &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Possibly via a web service call, or a database query..&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Storing it in a View friendly fashion. &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Will notify view that data has changed either by implementing &lt;a href="http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx" target="_blank"&gt;INotifyPropertyChanged&lt;/a&gt; or using &lt;a href="http://updatecontrols.net/cs/index.shtml" target="_blank"&gt;UpdateControls&lt;/a&gt;. (Posts on this coming soon).&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Both the Presentation Model and View Model also aim to:&lt;/p&gt;  &lt;blockquote&gt;   &lt;ul&gt;     &lt;li&gt;Hold interaction logic / presentation behaviour &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;Both the MVVM and Presentation Model are patterns that pulls presentation behaviour from a View.&amp;#160; This is done by using Commands.&lt;/p&gt;  &lt;h2&gt;What is a Command?&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;“What makes commands different from a simple event handler attached to a button or a timer is that commands separate the semantics and the originator of an action from its logic. This allows for multiple and disparate sources to invoke the same command logic, and it allows the command logic to be customized for different targets.” &lt;/p&gt;    &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms752308.aspx" target="_blank"&gt;MSDN Commanding Overview&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;What this means with regards to the developer is that you define behaviour (e.g. such as Cut, Paste, Save, SaveAll, PersistUIState, Play, Stop etc..) in the View Model / Presentation Model. &lt;/p&gt;  &lt;p&gt;Note: In Silverlight there exists only an ICommand Interface no concrete implementation out of the box (as Microsoft aim to keep the download for Silverlight as small as possible).&amp;#160; There are many implementations out there, check out the implementations used with &lt;a href="http://www.codeplex.com/PRISM" target="_blank"&gt;PRISM (Composite Application Guidance for WPF and Silverlight).&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;When?&lt;/h3&gt;  &lt;p&gt;I personally would say use a UI design pattern to separate concerns all the time, the overhead in using these patterns is negligible, beyond learning how to NOT PROGRAM IN THE CODE-BEHIND. I would often debate that using such patterns will allow for more rapid development both initially and in the long run come time to make changes.&lt;/p&gt;  &lt;p&gt;Also anytime you wish to do Test / Behaviour Driven Development you will need to be able to write tests, and tests cannot be run against code-behind files (without using special libraries).&lt;/p&gt;  &lt;h3&gt;Why?&lt;/h3&gt;  &lt;p&gt;Testability – The UI Data, Logic and Interactions can all be unit tested with having to use UI automation.&amp;#160; Remember interaction logic and presentation behaviour is in the view model. &lt;/p&gt;  &lt;p&gt;Maintainability – As I mentioned earlier a main principle / goal of these patterns is to be able to make changes to the user interface with ease as it will not be tied to the application logic. (You would be surprised how much I have seen code-behind abuse in the enterprise).&lt;/p&gt;  &lt;h3&gt;Show Me The CODE!!!!!111&lt;/h3&gt;  &lt;p&gt;Happily.. I am currently teasing out a demo project. I will append it to this post in the next couple of days.&lt;/p&gt;  &lt;p&gt;The next post regarding this topic will answer the Question: “How?!”.&lt;/p&gt;  &lt;p&gt;Please comment with all criticisms, spotted incorrectness and improvements!&lt;/p&gt;  &lt;p&gt;kThx for reading!&amp;#160; =]&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-774228580847205268?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/774228580847205268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=774228580847205268&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/774228580847205268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/774228580847205268'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/08/mvvm-presentation-model-patterns-who.html' title='MVVM &amp;amp; Presentation Model Patterns - The Who, Where, What, When &amp;amp; Why!?'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_3guywnw1fvw/Sna1ikJAwWI/AAAAAAAAAM0/RusOqDgtuHA/s72-c/AppDiagram_ClientTier_thumb117.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-1304832051248702094</id><published>2009-08-02T15:07:00.001+01:00</published><updated>2009-08-02T15:09:17.960+01:00</updated><title type='text'>rTweeter Silverlight 3 Client : Coming Soon!</title><content type='html'>&lt;p&gt;I recently volunteered to help out in an &lt;em&gt;Open Source (or at least soon to be Open Source)&lt;/em&gt; project &lt;a href="http://www.rTweeter.com"&gt;http://www.rTweeter.com&lt;/a&gt;, a web application which providers an ever increasing set of services around Twitter.&lt;/p&gt;  &lt;p&gt;It is an all-in-one approach to this space providing a unified API (mash-up style) to enrich Twitter with such services as: Tweet Breaker, Tweet URL, Tweet Map, Tweet Schedule… &lt;/p&gt;  &lt;p&gt;I said I would help out in the development of the rTweeter Silverlight 3 client which is currently in production.&amp;#160; As it stands today there is a Flex Client.. I will be interested to compare the two spaces.&lt;/p&gt;  &lt;p&gt;I have been wanting for a while now to get my hands on a Silverlight 3 app that I can put some focus into (by night anyways, as by day I’m still working on Financial Data Services to pay the bills).&lt;/p&gt;  &lt;p&gt;This is set to be a lot of fun :) and will no doubt spawn many blog posts. The first of which will be .. &lt;/p&gt;  &lt;p&gt;“MVVM &amp;amp; Presentation Pattern - Who, Where, What, When &amp;amp; Why!”&lt;/p&gt;  &lt;p&gt;.. this came from a demo I did for a few members of my .Net Group NIMTUG.org during the week regarding use of correct UI design patterns with WPF and Silverlight and WHY I wouldn’t have it any other way!&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;KThxByez! D=&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-1304832051248702094?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/1304832051248702094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=1304832051248702094&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/1304832051248702094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/1304832051248702094'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/08/rtweeter-silverlight-3-client-coming.html' title='rTweeter Silverlight 3 Client : Coming Soon!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-8166141821113296331</id><published>2009-07-15T19:09:00.005+01:00</published><updated>2009-07-15T19:16:22.810+01:00</updated><title type='text'>My Wee Gran</title><content type='html'>&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 36pt; line-height: normal;"&gt;&lt;br /&gt;She took the weight of everybody else’s problems on her shoulders,&lt;br /&gt;&lt;br /&gt;And was always there for us all,&lt;br /&gt;&lt;br /&gt;Never wanting any fuss on her part,&lt;br /&gt;&lt;br /&gt;She was selfless till the end.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 36pt; line-height: normal;"&gt;&lt;br /&gt;She put us, her family, first,&lt;br /&gt;&lt;br /&gt;Which is a lesson for us all,&lt;br /&gt;&lt;br /&gt;One that should never be forgotten,&lt;br /&gt;&lt;br /&gt;A lesson I hold dear.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;She loved peace and togetherness,&lt;br /&gt;&lt;br /&gt;And lived by “Love Thy Neighbour”,&lt;br /&gt;&lt;br /&gt;She loved her family,&lt;br /&gt;&lt;br /&gt;She held us together,&lt;br /&gt;&lt;br /&gt;And her spirit always will.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;She was so special, a lady from a better time,&lt;br /&gt;&lt;br /&gt;I loved her stories of yesteryear,&lt;br /&gt;&lt;br /&gt;Her memories bringing a sparkle to her eye,&lt;br /&gt;&lt;br /&gt;And a smile to our faces,&lt;br /&gt;&lt;br /&gt;Told so many times,&lt;br /&gt;&lt;br /&gt;So we may never forget.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now she is with Granda,&lt;br /&gt;&lt;br /&gt;Free from her aged body,&lt;br /&gt;&lt;br /&gt;Her youthful soul,&lt;br /&gt;&lt;br /&gt;Free to dance again,&lt;br /&gt;&lt;br /&gt;They are now watching over us all,&lt;br /&gt;&lt;br /&gt;Together again after 17 years.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I love you Granny,&lt;br /&gt;&lt;br /&gt;I miss you so much.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 36pt; line-height: normal;"&gt;By Steven Holdsworth (Grandson)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3guywnw1fvw/Sl4cEHwWjyI/AAAAAAAAAMY/VRcogsBAGlE/s1600-h/Gran.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 305px;" src="http://3.bp.blogspot.com/_3guywnw1fvw/Sl4cEHwWjyI/AAAAAAAAAMY/VRcogsBAGlE/s320/Gran.jpg" alt="" id="BLOGGER_PHOTO_ID_5358751463744376610" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 36pt; line-height: normal;"&gt;&lt;br /&gt;&lt;span lang="EN-GB"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 36pt; line-height: normal;"&gt;&lt;span lang="EN-GB"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-8166141821113296331?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/8166141821113296331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=8166141821113296331&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/8166141821113296331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/8166141821113296331'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/07/my-wee-gran.html' title='My Wee Gran'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3guywnw1fvw/Sl4cEHwWjyI/AAAAAAAAAMY/VRcogsBAGlE/s72-c/Gran.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-7046350191794359438</id><published>2009-06-11T09:40:00.001+01:00</published><updated>2009-06-11T09:49:00.066+01:00</updated><title type='text'>CCR &amp; AXUM {A Parallelism DSL built on CCR}</title><content type='html'>&lt;p&gt;&lt;em&gt;[I was literally asking myself these questions and thought I’d share the answers I came up with..]&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SjDC2zHv0vI/AAAAAAAAALI/5E7OkrRzvWQ/s1600-h/clip_image001%5B6%5D.png"&gt;&lt;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="clip_image001" border="0" alt="clip_image001" src="http://lh4.ggpht.com/_3guywnw1fvw/SjDC3c5e3sI/AAAAAAAAALM/u3nHbr-x460/clip_image001_thumb%5B1%5D.png?imgmax=800" width="282" height="79" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;What is the CCR?&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;..well CCR is two things:&lt;/p&gt;    &lt;p&gt;1,&lt;strong&gt;Creedence Clearwater Revival&lt;/strong&gt; “(often abbreviated &lt;b&gt;CCR&lt;/b&gt;) were an &lt;a href="http://en.wikipedia.org/wiki/United_States"&gt;American&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Rock_music"&gt;rock&lt;/a&gt; band who gained popularity in the late 1960s and early 1970s with a number of successful singles drawn from various &lt;a href="http://en.wikipedia.org/wiki/Studio_album"&gt;albums&lt;/a&gt;.” Wikipedia&lt;/p&gt;    &lt;p&gt;2, &lt;strong&gt;Concurrency &amp;amp; Coordination Runtime&lt;/strong&gt; (also abbreviated CCR)&lt;/p&gt;    &lt;p&gt;The Concurrent &amp;amp; Coordination Runtime which until the PDC (2009) was shipped with Visual Robotics Studio.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Now it is available to the world (if you got $400) and all MSDN subscribers as a separate download.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;What does the CCR do?&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;“The CCR makes programming asynchronous behaviour much simpler than the typical challenge of writing threaded code. This is a very significant benefit for writing robot applications because they require handling many processes (sensors and motors) at the same time.”&amp;#160; Jeffrey Richter &lt;/p&gt;    &lt;p&gt;From the article “&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163556.aspx"&gt;Concurrent Affairs&lt;/a&gt;”.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;The CCR is shipped with Visual Robotics Studio 2008, but it is also available separately now for use with regular .NET applications. (Available from MSDN).&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Check out the great PDC Session PL55 on the CCR and DSS: &lt;a title="http://channel9.msdn.com/pdc2008/TL55/" href="http://channel9.msdn.com/pdc2008/TL55/"&gt;http://channel9.msdn.com/pdc2008/TL55/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Any production applications using CCR?&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;There are several. One which is notable is by Siemens.&amp;#160; They have a system built using CCR which processes thousands upon thousands of mail items per second, the CCR library allows you to manage, develop and scale a solutions to these kinds of problem with relative ease.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Is this 100% Managed code?&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;YES! &lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_3guywnw1fvw/SjDC32cBw-I/AAAAAAAAAMI/mGB3UqvdZPc/s1600-h/clip_image001%5B4%5D%5B7%5D.png"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;&lt;a href="http://lh5.ggpht.com/_3guywnw1fvw/SjDC32cBw-I/AAAAAAAAAMM/FwJ_DoHG0uU/s1600-h/clip_image001%5B4%5D%5B14%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001[4]" border="0" alt="clip_image001[4]" src="http://lh3.ggpht.com/_3guywnw1fvw/SjDC5YDl7bI/AAAAAAAAALo/EBRtKxCsi6Y/clip_image001%5B4%5D_thumb%5B12%5D.png?imgmax=800" width="405" height="109" /&gt;&lt;/a&gt;&lt;/h2&gt;  &lt;h2&gt;What is AXUM?&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;AXUM is a DSL built on top of the Concurrency &amp;amp; Coordination Runtime.&lt;/p&gt;    &lt;p&gt;Note: As of this post AXUM is still an incubation project at Microsoft Dev Labs. &lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Does That mean I should use AXUM?&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;Yes and No.. &lt;/p&gt;    &lt;p&gt;Yes in that it works, its functional and it really nice. &lt;/p&gt;    &lt;p&gt;No in that it is not even sure if the project will continue to be worked on as its still in research phase and as a result it is not officially supported by Microsoft.&lt;/p&gt;    &lt;p&gt;This being said the AXUM team are high active in providing help and solutions to anybody who needs some advise.&lt;/p&gt;    &lt;p&gt;All they ask in returns is that you send your feedback to the AXUM team to help them improve the product.&amp;#160; They are very eager to get community feedback so your words will not fall on deaf ears.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;What are the differences between AXUM and CCR?&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;Well in the words of one of AXUM’s creators..&lt;/p&gt;    &lt;p&gt;“Here's what we did:&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;1. We took the CCR sources, changed most of the names, slightly refactored the interfaces and added a few things.&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;2. We built it into Microsoft.Axum.Runtime.dll&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;3. We built channel ports on top of CCR Ports (renamed OrderedInteractionPoints).&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;4. We exposed OIP to programmers (see the WebFetcher sample).&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;5. We built 'async,' 'sync,' and 'const' empty/full storage capabilities on some additions we made to CCR.&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;6. The 'receive' expression utilizes a Receiver to hook into the source.&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;One reason for the rename is that in the CTP, you really need to use the Axum capabilities (data-flow networks, receives, etc.) to program the local (within-domain) message-passing capabilities, and &lt;strong&gt;we didn't want to create another distribution of the CCR&lt;/strong&gt;. &lt;/p&gt;    &lt;p&gt;If you want to use CCR, please get it separately, as it is not currently safe to use with Axum unless you go through the language capabilities. It is likewise not generally safe to create your own threads from within an Axum domain, and there is no need to.”&amp;#160; &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/user?user=Niklas%20Gustafsson"&gt;Niklas Gustafsson&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Why?&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;Well put simply it makes writing robust, concise code (which utilizes ALL available cores) a piece of cake!&lt;/p&gt;    &lt;p&gt;The combination of a DSL which enforces the rules which allow for isolation for parallelisation and the CCR infrastructure for passing messages.&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Extra Credit..&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;As you can imagine.. I have only scratched the surface of these two new technologies so follow these links to learn more :)&lt;/p&gt;    &lt;p&gt;AXUM Site: &lt;a title="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx" href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx"&gt;http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;AXUM Programmers Guide: &lt;a title="Programmer&amp;#39;s Guide" href="http://download.microsoft.com/download/B/D/5/BD51FFB2-C777-43B0-AC24-BDE3C88E231F/Axum%20Programmers%20Guide.pdf"&gt;Programmer's Guide&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;AXUM Team Blog: &lt;a title="http://blogs.msdn.com/maestroteam/default.aspx" href="http://blogs.msdn.com/maestroteam/default.aspx"&gt;http://blogs.msdn.com/maestroteam/default.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;CCR Site: &lt;a title="http://www.microsoft.com/ccrdss/" href="http://www.microsoft.com/ccrdss/"&gt;http://www.microsoft.com/ccrdss/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;CCR Introduction: &lt;a title="http://msdn.microsoft.com/en-us/library/bb648752.aspx" href="http://msdn.microsoft.com/en-us/library/bb648752.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb648752.aspx&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;CCR PDC Session: &lt;a title="http://channel9.msdn.com/pdc2008/tl55/" href="http://channel9.msdn.com/pdc2008/tl55/"&gt;http://channel9.msdn.com/pdc2008/tl55/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Concurrent Affairs – CCR by Jeffrey Richter: &lt;a title="http://msdn.microsoft.com/en-us/magazine/cc163556.aspx" href="http://msdn.microsoft.com/en-us/magazine/cc163556.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/cc163556.aspx&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-7046350191794359438?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/7046350191794359438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=7046350191794359438&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7046350191794359438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7046350191794359438'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/06/ccr-axum-parallelism-dsl-built-on-ccr.html' title='CCR &amp;amp; AXUM {A Parallelism DSL built on CCR}'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_3guywnw1fvw/SjDC3c5e3sI/AAAAAAAAALM/u3nHbr-x460/s72-c/clip_image001_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-6917524308892315437</id><published>2009-06-01T09:10:00.001+01:00</published><updated>2009-06-06T13:34:07.293+01:00</updated><title type='text'>Summer =o?</title><content type='html'>&lt;p&gt;Wouldn’t you know it…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SiONBzewA-I/AAAAAAAAAK4/--WmZ5c1d_s/s1600-h/clip_image001%5B12%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://lh5.ggpht.com/_3guywnw1fvw/SiONCmG79LI/AAAAAAAAAK8/WUKSNMpWU-c/clip_image001_thumb%5B9%5D.png?imgmax=800" width="339" height="153" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;..the sun is out everyday in the week I start a new contract =/ !!!&lt;/p&gt;  &lt;p&gt;Lets hope it lasts till the weekend.&lt;/p&gt;  &lt;p&gt;#Update: FAIL:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_3guywnw1fvw/SipiL6pAGiI/AAAAAAAAALA/29v3H5a4yek/s1600-h/clip_image001%5B1%5D%5B5%5D.png"&gt;&lt;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="clip_image001[1]" border="0" alt="clip_image001[1]" src="http://lh4.ggpht.com/_3guywnw1fvw/SipiOyV2Y2I/AAAAAAAAALE/DCNXRgmrUUQ/clip_image001%5B1%5D_thumb%5B3%5D.png?imgmax=800" width="257" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-6917524308892315437?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/6917524308892315437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=6917524308892315437&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/6917524308892315437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/6917524308892315437'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/06/summer-o.html' title='Summer =o?'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_3guywnw1fvw/SiONCmG79LI/AAAAAAAAAK8/WUKSNMpWU-c/s72-c/clip_image001_thumb%5B9%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-7293966130156464503</id><published>2009-05-09T16:38:00.001+01:00</published><updated>2009-05-09T16:39:46.488+01:00</updated><title type='text'>Blog Analytics + Visitor map..</title><content type='html'>&lt;p&gt;So this is a Google analytics map showing the visitors to my blog..&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_3guywnw1fvw/SgWjh-M0XZI/AAAAAAAAAJ4/FJy1kHRRZQI/s1600-h/clip_image001%5B6%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://lh5.ggpht.com/_3guywnw1fvw/SgWjiZfi09I/AAAAAAAAAKA/vzYjZ0mIZ2U/clip_image001_thumb%5B3%5D.png?imgmax=800" width="404" height="223" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I got a sneak peak at Microsoft equivalent offering (which takes advantage of Silverlight) when I was down in the MS EMEA HQ in Dublin..&lt;/p&gt;  &lt;p&gt;Looks funky.. but the proof will be in the pudding and getting my hands dirty :) with it some time.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-7293966130156464503?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/7293966130156464503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=7293966130156464503&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7293966130156464503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7293966130156464503'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/05/blog-analytics-visitor-map.html' title='Blog Analytics + Visitor map..'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_3guywnw1fvw/SgWjiZfi09I/AAAAAAAAAKA/vzYjZ0mIZ2U/s72-c/clip_image001_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-2000918552961216663</id><published>2009-05-09T16:35:00.001+01:00</published><updated>2009-05-09T16:40:36.461+01:00</updated><title type='text'>Word Clouds</title><content type='html'>&lt;p&gt;&lt;a title="http://www.wordle.net/" href="http://www.wordle.net/"&gt;http://www.wordle.net/&lt;/a&gt; a great wee Java Applet which creates word clouds for whatever text you provide it with..&lt;/p&gt;  &lt;p&gt;I used my dissertation and these are some of the resulting wordles =]&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SgWitJAVuPI/AAAAAAAAAKI/mvAJhC9YSkU/s1600-h/Dissertation_Wordle%5B1%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Dissertation_Wordle" border="0" alt="Dissertation_Wordle" src="http://lh4.ggpht.com/_3guywnw1fvw/SgWit-JDGJI/AAAAAAAAAKQ/7PfVpnL1K_A/Dissertation_Wordle_thumb.png?imgmax=800" width="404" height="281" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SgWivRLMVYI/AAAAAAAAAKY/_U4FXG6fwMQ/s1600-h/Dissertation_Wordle_1%5B1%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Dissertation_Wordle_1" border="0" alt="Dissertation_Wordle_1" src="http://lh5.ggpht.com/_3guywnw1fvw/SgWiwSS2yzI/AAAAAAAAAKg/lLYuw1f3g3Y/Dissertation_Wordle_1_thumb.png?imgmax=800" width="404" height="268" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_3guywnw1fvw/SgWix30Bi-I/AAAAAAAAAKo/-eOELMIUyp8/s1600-h/Dissertation_Wordle_2%5B1%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Dissertation_Wordle_2" border="0" alt="Dissertation_Wordle_2" src="http://lh5.ggpht.com/_3guywnw1fvw/SgWiyiOV7cI/AAAAAAAAAKw/QB1byQ9COT8/Dissertation_Wordle_2_thumb.png?imgmax=800" width="404" height="257" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-2000918552961216663?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/2000918552961216663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=2000918552961216663&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2000918552961216663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2000918552961216663'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/05/word-clouds.html' title='Word Clouds'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_3guywnw1fvw/SgWit-JDGJI/AAAAAAAAAKQ/7PfVpnL1K_A/s72-c/Dissertation_Wordle_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-2974172630958440881</id><published>2009-04-01T02:41:00.001+01:00</published><updated>2009-04-01T02:41:45.829+01:00</updated><title type='text'>Should I use PRISM? Composite WPF             (a stack overflow question)</title><content type='html'>&lt;h2&gt;Question Asked on StackOverlfow.com&lt;/h2&gt;  &lt;p&gt;Are you using or going to use Prism? I had experience with Composite Application block (composite UI for WinForms) and can say that it's an overengineered hard to use framework. I've taken a look at Prism and it seems to be better designed e.g. simple to use and fast. What do you think?&lt;/p&gt;  &lt;p align="right"&gt;asked Sep 2 at 0:28&lt;/p&gt;  &lt;p align="right"&gt;&lt;a href="http://stackoverflow.com/users/1196/aku"&gt;&lt;img alt="" src="http://www.gravatar.com/avatar/73a14c05d010066c0ea9f5ad934a8510?s=32&amp;amp;d=identicon&amp;amp;r=PG" width="32" height="32" /&gt;&lt;/a&gt;&lt;a href="http://stackoverflow.com/users/1196/aku"&gt;aku&lt;/a&gt;&lt;/p&gt;  &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="left"&gt;I felt I knew enough to leave this guy well informed so…&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;My Answer&lt;/h2&gt;  &lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Yes, It comes highly recommended from myself.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The WPF CAG helps create a modular, decoupled, maintainable, expendable WPF application.&lt;/p&gt;  &lt;p&gt;Documentation rocks, and with some up front learning: dependency injection, concept of modules, composite events (using the event aggregator) you are pretty much there.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Long answer:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I have designed and developed 6 full applications using 'PRISM', 2 of which were enterprise standard.&lt;/p&gt;  &lt;p&gt;Developing applications with 'PRISM' (CAG WPF) I find to result in a well structured and loosely coupled in nature, and with ease I can plug in 'Version 2' of any aspect of my system (be it a data provider, service, View element etc), with no adverse affect on other elements of the system.&lt;/p&gt;  &lt;h2&gt;How and why?&lt;/h2&gt;  &lt;p&gt;PRISM contains nice mechanisms such as the RegionManager (for loading views in and out), EventAggreator (for registering, publishing and subscribing to events, I think of this a dependency Injection container for events) and the Container (Dependency Injection).&lt;/p&gt;  &lt;h2&gt;Separation and decoupling from dependencies&lt;/h2&gt;  &lt;p&gt;PRISM is built with the concept of Dependency injection allowing for Views, Services etc to be accessed from an area which only holds a reference to an interface, so modules are ignorant of how implementations of it dependencies.&lt;/p&gt;  &lt;p&gt;PRISM builds on the concept of loading 'Modules' in at runtime, when a module is loaded it dependencies are loaded into it automatically. (It also gives you a nice clean mechanism to state which modules depend on others i.e. a 'WeatherBrowserModule' may depend on a 'WeatherDataProviderModule'.&lt;/p&gt;  &lt;h2&gt;Components with no knowledge of each other working together flawlessly&lt;/h2&gt;  &lt;p&gt;The actual View of your app can be constructed from many different UI Modules, that can be swapped in at runtime. Loading different controls into the view (e.g. you may wish to load a version 2 of a UI component which displays data in a new 3D chart).&lt;/p&gt;  &lt;h2&gt;Communication = Publish and Subscribe&lt;/h2&gt;  &lt;p&gt;Communication between modules can take of the form of using the PRISM Composite Events (CompostiteWpfEvent) which allow for strongly typed Events to be published and subscribed to.. The &lt;strong&gt;composite event system&lt;/strong&gt; allows for events to be published (from anywhere) and subscribed to anywhere (nice Pub Sub pattern). These events are strongly typed so allow meaningful data to be communicated with ease, and all areas of the application which care about the event can access the event notification and the attached data with true ease (whilst not knowing or caring where the event was fired).&lt;/p&gt;  &lt;p&gt;Events are registered and resolved using the ‘EventAggregator’ which is available to all Modules in the system.&lt;/p&gt;  &lt;p&gt;This results in the 'Modules' maintaining separation, being easily updated / replaced completely.&lt;/p&gt;  &lt;h2&gt;Speed?&lt;/h2&gt;  &lt;p&gt;I have found no performance faults, if anything loading components in modularly has increased performance as I load and use as needed.&lt;/p&gt;  &lt;h2&gt;Speed of dev?&lt;/h2&gt;  &lt;p&gt;Due to the nice communication and decoupled modular model I find it easy to integrate and develop new functionality.&lt;/p&gt;  &lt;h2&gt;Overhead?&lt;/h2&gt;  &lt;p&gt;There is the initial overhead of learning how to compose your system, how build the UI using modules and loading 'Views' into Regions, and building &amp;amp; loading Modules..&lt;/p&gt;  &lt;p&gt;Check these screen casts out and make up your own mind.&lt;/p&gt;  &lt;p&gt;Brian Noyes on Prism: &lt;a href="http://www.dnrtv.com/default.aspx?showNum=124"&gt;http://www.dnrtv.com/default.aspx?showNum=124&lt;/a&gt; Brian Noyes on Prism Events and Commands: &lt;a href="http://www.dnrtv.com/default.aspx?showNum=132"&gt;http://www.dnrtv.com/default.aspx?showNum=132&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hope this give you and overview and helps you make an informed decision.&lt;/p&gt;  &lt;p&gt;Regards..&lt;/p&gt;  &lt;p align="right"&gt;&lt;a href="http://stackoverflow.com/users/85422/stevenh"&gt;&lt;img alt="" src="http://www.gravatar.com/avatar/bf1583bde18f91d22816d3ee9d137612?s=32&amp;amp;d=identicon&amp;amp;r=PG" width="32" height="32" /&gt;&lt;/a&gt;&lt;a href="http://stackoverflow.com/users/85422/stevenh"&gt;StevenH&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-2974172630958440881?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/2974172630958440881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=2974172630958440881&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2974172630958440881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2974172630958440881'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/04/should-i-use-prism-composite-wpf-stack.html' title='Should I use PRISM? Composite WPF             (a stack overflow question)'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-4522408914318439481</id><published>2009-03-10T23:42:00.001Z</published><updated>2009-03-10T23:42:10.909Z</updated><title type='text'>Microsoft Bizspark - NI Launch                     …worth getting up early for!</title><content type='html'>&lt;p&gt;&lt;b&gt;Date: 12&lt;sup&gt;th&lt;/sup&gt; March&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Time: 08.00-10.00am&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Location: Malone House&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Momentum is delighted to host a two hour breakfast briefing along with Invest NI and Microsoft for software companies and start-ups to focus on the key issues for software companies and the support which is available to fast track their development.&lt;/p&gt;  &lt;p&gt;This event is being organised to launch the Microsoft BizSpark Programme in N.Ireland. Momentum has recently signed up as a Network Partner in this programme which is specifically designed to facilitate the development of promising technology start-ups.&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Invest NI&lt;/b&gt; will discuss their new R&amp;amp;D programme which will assist companies to invest more in R&amp;amp;D. Invest Northern Ireland’s ‘Grant for R&amp;amp;D’, which is part funded by the European Regional Development Programme, will make it easier for companies to access financial support from the £50 million allocated by Invest NI, to promote investment in innovation-focused projects from 2008 to 2011. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Invest NI Speaker&lt;/b&gt;&lt;b&gt; - &lt;/b&gt;Nigel Carr&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Key note Speaker&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Ronan Geraghty - A member of Microsoft Ireland's Developer and Platform Group, Ronan is primarily responsible for working with Software and Service vendors from Ireland and Northern Ireland. Ronan runs Microsoft's BizSpark Program aimed at delivering software, support and visibility to Ireland's tech Start-ups&lt;/p&gt;  &lt;p&gt;&lt;b&gt;About Microsoft Bizspark&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Microsoft BizSpark provides entrepreneurs with fast and easy access to Microsoft software including development tools and server products with no upfront costs, it provides discounts on the purchase of Dell hardware and preferential rates from Internet hosters, enabling companies to get their products and services online faster and more cost effectively. In addition, BizSpark start ups receive professional support from Microsoft as well as community-driven support from a range of Network Partners. BizSpark companies will also have enhanced opportunities to interact with and meet those in the venture capital community who are actively seeking investment opportunities. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;The Bizspark programme&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Microsoft's BizSpark Programme is open to all tech start-up companies who are privately held, less than 3 years old and have less than $1m annual revenue developing a software product or service.&lt;/p&gt;  &lt;p&gt;Find out more at &lt;a href="http://www.bizspark.ie/"&gt;&lt;strong&gt;www.bizspark.ie&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Agenda&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;08.00 - 08.30 -Breakfast and networking&lt;/p&gt;  &lt;p&gt;08:30 - 08.35 -Short introduction from Momentum.&lt;/p&gt;  &lt;p&gt;08:35 - 08.55 - Invest NI presentation on new R&amp;amp;D programme and support for early stage companies. &lt;/p&gt;  &lt;p&gt;08.55 - 09.15 - Microsoft BizSpark programme - Ronan Geraghty.&lt;/p&gt;  &lt;p&gt;09:15 - 09:25 – Chance to hear from a NI company already on the programme- Speaker TBC&lt;/p&gt;  &lt;p&gt;09.25 - 09.40 - Discussion&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Cost: &lt;/b&gt;Free &lt;/p&gt;  &lt;p&gt;&lt;b&gt;To register:&lt;/b&gt; &lt;strong&gt;Please click &lt;/strong&gt;&lt;a href="http://www.momentumni.org/events/Event_Popup2.cfm?Event_id=448"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-4522408914318439481?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/4522408914318439481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=4522408914318439481&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4522408914318439481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4522408914318439481'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/03/microsoft-bizspark-ni-launch-worth.html' title='Microsoft Bizspark - NI Launch                     …worth getting up early for!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-4910451760728528789</id><published>2009-02-13T15:48:00.001Z</published><updated>2009-02-13T15:48:49.928Z</updated><title type='text'>Bespin - A Web Integrated IDE by Mozilla labs</title><content type='html'>&lt;p&gt;What is it?&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“Bespin is a Mozilla Labs experiment that proposes an open, extensible web-based framework for code editing that aims to increase developer productivity, enable compelling user experiences, and promote the use of open standards”&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a title="http://labs.mozilla.com/projects/bespin/" href="http://labs.mozilla.com/projects/bespin/"&gt;http://labs.mozilla.com/projects/bespin/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;It uses Canvas elements to deliver a user development experience which were released in HTML5 and is supported by all major browsers (except IE for some stupid reason)&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_3guywnw1fvw/SZWWX64fqoI/AAAAAAAAAJI/KJgtbxaV2uk/s1600-h/clip_image001%5B5%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://lh3.ggpht.com/_3guywnw1fvw/SZWWYdHEL9I/AAAAAAAAAJM/Mr2L5vqy4js/clip_image001_thumb%5B2%5D.png?imgmax=800" width="368" height="184" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;What is Canvas?&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Check out this great tutorial:&lt;/p&gt;    &lt;p&gt;&lt;a title="https://developer.mozilla.org/En/Canvas_tutorial" href="https://developer.mozilla.org/En/Canvas_tutorial"&gt;https://developer.mozilla.org/En/Canvas_tutorial&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;And check out Bespin for an example of the power you can obtain without any plug-ins!&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;What is Bespin then?&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;This video (from the Bespin website) goes through what Bespin is all about and shows it in action being used by the guys who made it.&lt;/p&gt; &lt;/blockquote&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:544d9077-bc83-4467-b696-b1549b2141e5" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;object width="400" height="225"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3195079&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=3195079&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/3195079"&gt;Introducing Bespin&lt;/a&gt; from &lt;a href="http://vimeo.com/dion"&gt;Dion Almaer&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;I’ll be checking it out in the near future and no doubt I'll be blogging about my experiences and thoughts.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-4910451760728528789?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/4910451760728528789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=4910451760728528789&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4910451760728528789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4910451760728528789'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/02/bespin-web-integrated-ide-by-mozilla.html' title='Bespin - A Web Integrated IDE by Mozilla labs'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_3guywnw1fvw/SZWWYdHEL9I/AAAAAAAAAJM/Mr2L5vqy4js/s72-c/clip_image001_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-29344137754956946</id><published>2009-02-08T15:15:00.001Z</published><updated>2009-02-08T15:17:44.250Z</updated><title type='text'>Mocking Dependencies using CAG WPF..</title><content type='html'>&lt;p&gt;When using Composite Application Guidance (CAG) for Windows Presentation Foundation (WPF) you will become aware of the concept of using decoupled Modules to compose the application.&lt;/p&gt;  &lt;p&gt;Modules register their ‘View’ (the actual UI) and ‘ViewModel’ / ‘Presenter’&amp;#160; (which abstracts the logic away from the UI) in a dependency injection container (Unity or some other of your preference).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_3guywnw1fvw/SY72_LOl05I/AAAAAAAAAIw/vGdTzgbT1lg/s1600-h/clip_image001%5B7%5D%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image001[7]" border="0" alt="clip_image001[7]" src="http://lh5.ggpht.com/_3guywnw1fvw/SY72_R2J_bI/AAAAAAAAAI0/NQzo4maib6k/clip_image001%5B7%5D_thumb.png?imgmax=800" width="244" height="146" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The ViewModel will have its dependencies injected via its constructor in the form of interfaces.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SY72_g3KPlI/AAAAAAAAAI4/R449sjZBjYc/s1600-h/clip_image001%5B9%5D%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image001[9]" border="0" alt="clip_image001[9]" src="http://lh4.ggpht.com/_3guywnw1fvw/SY73AAdFK8I/AAAAAAAAAI8/qxKtQiFc9-A/clip_image001%5B9%5D_thumb%5B2%5D.png?imgmax=800" width="415" height="87" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;These can MOCKED in order to have the ViewModel as the only System Under Test (SUT) in order to not be testing more than one concern at a time.&lt;/p&gt;  &lt;p&gt;The issue begins when you wish to Mock the EventAggregator, RegionManager or UnityContainer.&amp;#160; These objects did not play friendly with RhinoMocks as their behaviour is in many ways too specialized to be merely mocked via an interface implementation and NullPointerExceptions where common.&lt;/p&gt;  &lt;p&gt;The Microsoft Patterns and Practises team release the reference implementation with their actually release of the CAG WPF assemblies, and within the Stock Trader reference Application you &lt;/p&gt;  &lt;p&gt;So in my unit tests for my ViewModel which has all it dependencies injected I will set up the Mocks as so:&lt;/p&gt;  &lt;p&gt;- using RhinoMocks for my simple objects.&lt;/p&gt;  &lt;p&gt;- using the MS P&amp;amp;P teams mock implementation of their CAG WPF objects. (See reference implementation available at &lt;a title="http://www.codeplex.com/CompositeWPF" href="http://www.codeplex.com/CompositeWPF"&gt;http://www.codeplex.com/CompositeWPF&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Implementation:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SY73Az_NI-I/AAAAAAAAAJA/VmL7TdNCzZw/s1600-h/clip_image001%5B6%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://lh3.ggpht.com/_3guywnw1fvw/SY73BcgP4MI/AAAAAAAAAJE/jcHcvZa-qqM/clip_image001_thumb%5B3%5D.png?imgmax=800" width="405" height="125" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hope this helps some other lost soul.&lt;/p&gt;  &lt;p&gt;Thanks &amp;gt;.&amp;lt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Links: &lt;/h2&gt;  &lt;p&gt;Model-View-ViewModel - &lt;a title="http://www.codeproject.com/KB/WPF/ModelViewViewModelWithWPF.aspx" href="http://www.codeproject.com/KB/WPF/ModelViewViewModelWithWPF.aspx"&gt;http://www.codeproject.com/KB/WPF/ModelViewViewModelWithWPF.aspx&lt;/a&gt;, &lt;/p&gt;  &lt;p&gt;CAG WPF - &lt;a title="http://www.codeplex.com/CompositeWPF" href="http://www.codeplex.com/CompositeWPF"&gt;http://www.codeplex.com/CompositeWPF&lt;/a&gt;, &lt;/p&gt;  &lt;p&gt;Dependency Injection - &lt;a title="http://en.wikipedia.org/wiki/Dependency_injection" href="http://en.wikipedia.org/wiki/Dependency_injection"&gt;http://en.wikipedia.org/wiki/Dependency_injection&lt;/a&gt;, &lt;/p&gt;  &lt;p&gt;Unity - &lt;a title="http://www.codeplex.com/unity" href="http://www.codeplex.com/unity"&gt;http://www.codeplex.com/unity&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-29344137754956946?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/29344137754956946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=29344137754956946&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/29344137754956946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/29344137754956946'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/02/mocking-dependencies-using-cag-wpf.html' title='Mocking Dependencies using CAG WPF..'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_3guywnw1fvw/SY72_R2J_bI/AAAAAAAAAI0/NQzo4maib6k/s72-c/clip_image001%5B7%5D_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-3391680691990909447</id><published>2009-02-08T14:52:00.001Z</published><updated>2009-02-08T14:52:38.976Z</updated><title type='text'>Belfast Snow!</title><content type='html'>&lt;p&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_3guywnw1fvw/SY7xrsyRDvI/AAAAAAAAAIg/p_6NZtM_ung/s1600-h/SnowBelfast%5B4%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SnowBelfast" border="0" alt="SnowBelfast" src="http://lh6.ggpht.com/_3guywnw1fvw/SY7xs3vUapI/AAAAAAAAAIk/1f8H8E3Z3w4/SnowBelfast_thumb%5B2%5D.png?imgmax=800" width="126" height="83" /&gt;&lt;/a&gt; =0!&lt;/p&gt;  &lt;p&gt;The mountains behind my house:&lt;a href="http://lh4.ggpht.com/_3guywnw1fvw/SY7xtMzVeGI/AAAAAAAAAIo/2LPIE2I38gg/s1600-h/DSC_0492%5B5%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DSC_0492" border="0" alt="DSC_0492" src="http://lh3.ggpht.com/_3guywnw1fvw/SY7xtgASxLI/AAAAAAAAAIs/GeiDTPsQd1Y/DSC_0492_thumb%5B3%5D.jpg?imgmax=800" width="395" height="269" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I love the snow.. the cold and slushy ground not so much.. but since we hardly ever see snow its nice =]!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-3391680691990909447?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/3391680691990909447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=3391680691990909447&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/3391680691990909447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/3391680691990909447'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2009/02/belfast-snow.html' title='Belfast Snow!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_3guywnw1fvw/SY7xs3vUapI/AAAAAAAAAIk/1f8H8E3Z3w4/s72-c/SnowBelfast_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-5347450632661776262</id><published>2008-12-08T17:25:00.001Z</published><updated>2008-12-08T17:25:32.599Z</updated><title type='text'>My Adventures @ TechED EMEA - Day 3</title><content type='html'>&lt;h2&gt;The Sessions&lt;/h2&gt;  &lt;p&gt;WPF Performance and Best Practices by Dirk Primbs&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I found this to be one of the most valuable sessions, Dirk ran through various techniques and practices to building better performing WPF Applications.&amp;#160; He also gave a great overview of the tools available to developers to find the performance bottlenecks in exiting applications such as &lt;a href="http://blois.us/Snoop/" target="_blank"&gt;Snoop&lt;/a&gt;.&lt;a href="http://lh4.ggpht.com/_3guywnw1fvw/ST1YcsawDTI/AAAAAAAAAH8/DXIWwbkWL9k/s1600-h/DirkPrimbs_TechEdEMa%5B3%5D.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="283" alt="DirkPrimbs_TechEdEMa" src="http://lh4.ggpht.com/_3guywnw1fvw/ST1YeBQGudI/AAAAAAAAAIA/3xUpxY7Y0NE/DirkPrimbs_TechEdEMa_thumb%5B1%5D.png?imgmax=800" width="346" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;Did you know WPF application run in 3 different modes depending on the resource available on the machine?&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;An Agile Talks on Agility by Peter Provost&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;This was my first interactive session (small room with focus on audience participation).&amp;#160; This was a cool session, The audience were treated like the product owners and Peter was the developer. We asked the questions and Peter put them on the 'Product Backlog'.. we then gave each question a value through voting. The 1 hour session was broken into 15 minute sprints and Peter delivered value in each sprint answering the questions with the high value (most people wanted answered).&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;After each sprint even if he was mid-way through a 'Backlog item' (one of our questions) he stopped and allowed the 'product owner' (the audience) to vote again and prioritise the items on the backlog then proceeded with the item at the top of the list.. This is a way proved the point of why Agile development practices are so good at delivering what the product owner wants as the values we allocated on the 'backlog items' (our questions) changed after the first sprint and then again after the second sprint.. this showed how fickle the values placed on items can be.. and Peter was literally showing us how to deal with it.&lt;/p&gt;    &lt;p&gt;Oh and of course he was answering Agile development related Questions.. So all in all an amazing session.. so much so I stayed behind after to pester him some more, I wasn't the only one quite a few of us continued the session outside the room.. Peter was fantastic and stayed to share his experience and answer all our questions.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Developing and Deploying your first Cloud Service by David Aiken &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I arrived late for this one as I was busy chatting away with Peter Provost after his Agile session.&lt;a href="http://lh6.ggpht.com/_3guywnw1fvw/ST1YfCYQpSI/AAAAAAAAAIE/ZrbHV7Ev_cs/s1600-h/DavidAiken_TechEmea%5B3%5D.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="235" alt="DavidAiken_TechEmea" src="http://lh5.ggpht.com/_3guywnw1fvw/ST1YgOKDesI/AAAAAAAAAIM/9Sr_Dp5w_hg/DavidAiken_TechEmea_thumb%5B1%5D.png?imgmax=800" width="372" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;I hadn't seen much in the way of the Cloud and was interested in finding out more, so this seemed like a great session to get a grasp on the new Azure platform.. as a dev I WANNA SEE THE CODE :)!&amp;#160; &lt;/p&gt;    &lt;p&gt;David Aiken wrote a guest book service and deployed it to the cloud..&amp;#160; I just got my Azure key to develop some Cloud applications can't wait to get some time to do so :P! But expect posts on my experiences..&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_3guywnw1fvw/ST1YgvMuxTI/AAAAAAAAAIQ/qDU93l2hkW0/s1600-h/152899-azurePlatform_web-best_original%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="181" alt="152899-azurePlatform_web-best_original" src="http://lh5.ggpht.com/_3guywnw1fvw/ST1YhWRyhmI/AAAAAAAAAIU/jxYKwS8hNds/152899-azurePlatform_web-best_original_thumb%5B2%5D.jpg?imgmax=800" width="417" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;The Country Parties!&lt;/h2&gt;  &lt;p&gt;During Tech-ED each country rents out a different club/bar on the Wednesday..&lt;/p&gt;  &lt;p&gt;As I dandered out of the conference centre on my way back to the hotel, I saw bus drivers holding up boards with country names on them.. then I saw Ireland board and realized there was no real point heading to the hotel.. So I went over said hello had a wee chat with bus driver and waited about.&lt;/p&gt;  &lt;p&gt;I got to meet a great bunch of people from both the Northern and Southern Ireland.. Wasnt too long before both the drinks and the craic was flowing, with a lot of nerdy convos mixed in so I was happy as Larry! Met a lot of great people.. in a week with so many highlights this evening was definitely another.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_3guywnw1fvw/ST1YibJKfXI/AAAAAAAAAIY/pNTNfYiqQpM/s1600-h/DSC_03563.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="254" alt="DSC_0356" src="http://lh5.ggpht.com/_3guywnw1fvw/ST1YiwHUK_I/AAAAAAAAAIc/5rYm7A9dFDQ/DSC_0356_thumb1.jpg?imgmax=800" width="373" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Was good oul fun! Microsoft really know how to put on an event!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-5347450632661776262?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/5347450632661776262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=5347450632661776262&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/5347450632661776262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/5347450632661776262'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/12/my-adventures-teched-emea-day-3.html' title='My Adventures @ TechED EMEA - Day 3'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_3guywnw1fvw/ST1YeBQGudI/AAAAAAAAAIA/3xUpxY7Y0NE/s72-c/DirkPrimbs_TechEdEMa_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-2700970471188511914</id><published>2008-12-01T17:56:00.001Z</published><updated>2008-12-01T17:58:53.413Z</updated><title type='text'>My Adventures @ TechED EMEA - Day 2</title><content type='html'>&lt;p&gt;Today I hit up the sessions with a vengeance!&lt;/p&gt;  &lt;p&gt;A few key things I learned today:&lt;/p&gt;  &lt;h2&gt;WPF &amp;gt; XP for WPF applications - why?&lt;/h2&gt;  &lt;p&gt;Well this is something I should know, but Vista's Presentation Core can take advantage of Graphics Processing Hardware to render WPF applications, this is particularly useful for WPF 3D applications.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Thank you Tim Huckaby!&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;h2&gt;.'. My discussion with the windows embedded team&lt;/h2&gt;    &lt;p&gt;Does the current release of Windows embedded run on a XP or Vista base?&amp;#160; The Short answer is it runs on a XP base and therefore will not take advantage of specified hardware when rendering WPF..&amp;#160; But there is a options available a version called Windows Embedded Enterprise which is based on a Vista base which will therefore allow us to get the most for a WPF application.good la&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;WPF Data Providers - Rocky Lhotka&lt;/h2&gt;  &lt;p&gt;This was a very interesting talk Rocky spoke of creating custom data providers inheriting from the Data Provider base class in WPF.&amp;#160; The way this was presented, Rocky gave us a interesting alternative to the every popular Model-View-ViewModel / 'Fowler' Presentation pattern.&lt;/p&gt;  &lt;p&gt;I hope to write more on this when I get my hands dirty :) exiting stuff!&lt;/p&gt;  &lt;h2&gt;WPF Composite Application Guidance for WPF (PRISM 2 :) !)&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://lh4.ggpht.com/_3guywnw1fvw/STQlFkZxMKI/AAAAAAAAAHM/aLtAVwo7SEA/s1600-h/p%26p%5B2%5D.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="62" alt="p&amp;amp;p" src="http://lh3.ggpht.com/_3guywnw1fvw/STQlGrgsDlI/AAAAAAAAAHQ/bMecGySggHg/p%26p_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Well whilst we are talking about exiting stuff this was the session I was looking forward to the most! &lt;/p&gt;  &lt;p&gt;The last 4 or so of the WPF applications I have written to an enterprise level have taken advantage of PRISM. &lt;a href="http://www.codeplex.com/PRISM"&gt;http://www.codeplex.com/PRISM&lt;/a&gt;. So I was really intrigued to see what would be coming in the future of the Composite Application Guidance for WPF space.&lt;/p&gt;  &lt;p&gt;It was also a great opportunity to give feedback to David Hill of who works on the composite WPF Framework, as well as getting some of the epically hard questions answered!&lt;/p&gt;  &lt;h2&gt;MSP Team Event - Go carting!&lt;/h2&gt;  &lt;p&gt;Microsoft Student Partners as far as the eye could see from all over Europe.&amp;#160; This was brilliant! We all met up after the final session on day 2 and were taken of in a bus to the awesome go-carting track about 40 minutes away.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_3guywnw1fvw/STQlHcdjDPI/AAAAAAAAAHU/IOcPHP6M6c4/s1600-h/DSC_0281%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="267" alt="DSC_0281" src="http://lh4.ggpht.com/_3guywnw1fvw/STQlIGUXEHI/AAAAAAAAAHY/uVPLaH-pTXk/DSC_0281_thumb%5B2%5D.jpg?imgmax=800" width="389" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The Irish + the Greeks =]! &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_3guywnw1fvw/STQlIwJ6ZwI/AAAAAAAAAHc/UaB5aWD700Q/s1600-h/DSC_0282%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="263" alt="DSC_0282" src="http://lh5.ggpht.com/_3guywnw1fvw/STQlJtCeLkI/AAAAAAAAAHg/Q6YGgK06Wcg/DSC_0282_thumb%5B2%5D.jpg?imgmax=800" width="382" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Suited and Booted!&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/STQlKKKyvRI/AAAAAAAAAHk/LeHni4r1aDI/s1600-h/DSC_0296%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="261" alt="DSC_0296" src="http://lh6.ggpht.com/_3guywnw1fvw/STQlKtEPPpI/AAAAAAAAAHo/IAGVF4sMtbw/DSC_0296_thumb%5B1%5D.jpg?imgmax=800" width="383" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ok so what did I learn?&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Turns out the Dutch student partners are way too good at Carting, running away with 3 of them getting in the top 5 overall!&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Then to the bar for some socializing!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_3guywnw1fvw/STQlLdpoCJI/AAAAAAAAAHs/5wPqYsGlk6E/s1600-h/DSC_0284%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="270" alt="DSC_0284" src="http://lh3.ggpht.com/_3guywnw1fvw/STQlMB5ujyI/AAAAAAAAAHw/urTQTfKzEWM/DSC_0284_thumb%5B2%5D.jpg?imgmax=800" width="393" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;A bit of bus madness!&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/STQlMvPAxzI/AAAAAAAAAH0/_d1LPqowrkk/s1600-h/DSC_0351%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="278" alt="DSC_0351" src="http://lh6.ggpht.com/_3guywnw1fvw/STQlNIBh3rI/AAAAAAAAAH4/AFpTRI1Nk3k/DSC_0351_thumb%5B2%5D.jpg?imgmax=800" width="405" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Day 2 was fantastic, what more could you want :)!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-2700970471188511914?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/2700970471188511914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=2700970471188511914&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2700970471188511914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2700970471188511914'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/12/my-adventures-teched-emea-day-2.html' title='My Adventures @ TechED EMEA - Day 2'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_3guywnw1fvw/STQlGrgsDlI/AAAAAAAAAHQ/bMecGySggHg/s72-c/p%26p_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-631101328317682828</id><published>2008-11-11T09:56:00.001Z</published><updated>2008-11-11T10:16:46.462Z</updated><title type='text'>My Adventures @ TechED EMEA - Day 1</title><content type='html'>&lt;p&gt;The Eagle has landed! I am indeed here!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_3guywnw1fvw/SRlWr0lUJ9I/AAAAAAAAAG8/dKd0W-e55TI/s1600-h/DSC_02713.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="276" alt="DSC_0271" src="http://lh4.ggpht.com/_3guywnw1fvw/SRlWssEURuI/AAAAAAAAAHA/2MCDFh_ER5E/DSC_0271_thumb1.jpg?imgmax=800" width="406" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Wow what a day :)! &lt;/p&gt;  &lt;p&gt;This morning, Aideen (Cork Ireland MSP) went a grabbed some breaky before meeting up with Christina (IT Sligo MSP) and Darren ( Carlow MSP).&lt;/p&gt;  &lt;p&gt;We the headed for the CCIB the home of TechED EMEA 2008!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SRlWtqcvAYI/AAAAAAAAAHE/6Pks_9TEi-U/s1600-h/DSC_02374.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="275" alt="DSC_0237" src="http://lh4.ggpht.com/_3guywnw1fvw/SRlWuYTJxOI/AAAAAAAAAHI/n7N45f37ogw/DSC_0237_thumb2.jpg?imgmax=800" width="401" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;[That would be Darren running up the ledge to the CCIB, followed by Christina and Aideen!] &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The first event of the Day was the Keynote! this was presented by Jason Zander the lead on the Visual Studio Team @ Microsoft!&lt;/p&gt;  &lt;p&gt;The main focus of the presentation was on the new upcoming Visual Studio 2010!&amp;#160; &lt;/p&gt;  &lt;p&gt;I Talk about this below:&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:5c9da95c-cd25-4a3c-ba54-ecf77d7c36fe" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 411px; padding-top: 0px"&gt;&lt;div&gt;&lt;object width="411" height="343"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0ZH1TJ2305g"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/0ZH1TJ2305g" type="application/x-shockwave-flash" wmode="transparent" width="411" height="343"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;  &lt;blockquote&gt;   &lt;p&gt;[Boy I can move.. cant half tell I'm looking forward to the Barcelona dance floors!]&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Peace &amp;gt;.&amp;lt;! &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-631101328317682828?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/631101328317682828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=631101328317682828&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/631101328317682828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/631101328317682828'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/11/my-adventures-teched-emea-day-1.html' title='My Adventures @ TechED EMEA - Day 1'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_3guywnw1fvw/SRlWssEURuI/AAAAAAAAAHA/2MCDFh_ER5E/s72-c/DSC_0271_thumb1.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-4782280779090920089</id><published>2008-11-10T11:23:00.001Z</published><updated>2008-11-10T11:29:39.246Z</updated><title type='text'>My Adventures @ TechED EMEA - Day 0</title><content type='html'>&lt;h2&gt;Well how did I get here?&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_3guywnw1fvw/SRgav7zRnGI/AAAAAAAAAG0/iX69wC_8ERA/s1600-h/TechEDDev08%5B3%5D.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="92" alt="TechEDDev08" src="http://lh3.ggpht.com/_3guywnw1fvw/SRgaw66fM9I/AAAAAAAAAG4/diPtRHdKg-M/TechEDDev08_thumb%5B1%5D.png?imgmax=800" width="162" align="left" border="0" /&gt;&lt;/a&gt;I remember when I first heard about TechED and the whole conference scene about a year ago.. I was like &amp;quot;Damn.. I wanna GO!&amp;quot;.. then I saw the ticket price :O!! There was no way I was ever going to be able to foot a bill of about &amp;#163;2000 for a ticket alone let alone flights and accommodation! So the dream was over before it began.&lt;/p&gt;  &lt;p&gt;I was working at a company called Meridio at the time as an associate software dev. and&amp;#160; I found out they sent some of their staff to TechED each year! So the dream was alive again..&lt;/p&gt;  &lt;p&gt;Then come Christmas 2007 Meridio get taken over by Autonomy and the new policy of NO EXTERNAL TRAINING was put in place and the dream was dead again :(! &lt;/p&gt;  &lt;p&gt;Then I found out about the Microsoft Student Partner scheme and will a little encouragement and advice from my friend and former colleague Gary Gallagher.. I applied for the position and here I am today.. The Microsoft Student Partner (MSP) for Queens University Belfast!&lt;/p&gt;  &lt;p&gt;In my Interview I was told that they best student partners would be chosen and get to go to TechED in Barcelona.. &lt;/p&gt;  &lt;p&gt;.. a few talks, presentations, tech sessions, a campus conference and some general Microsoft evangelisin' later I got chosen to go! A dream coming true in less than a year.. pretty SWEET :)!&lt;/p&gt;  &lt;p&gt;So here I sit in the Airport bar on my laptop looking out the window @ Belfast International Airport on my way to TechED!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_3guywnw1fvw/SRgZrimaD_I/AAAAAAAAAGk/xLEKIQjLZ00/s1600-h/DSC_0173%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="556" alt="DSC_0173" src="http://lh4.ggpht.com/_3guywnw1fvw/SRgZscfinuI/AAAAAAAAAGo/p7WRnZGiFAg/DSC_0173_thumb%5B2%5D.jpg?imgmax=800" width="381" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt; [*ahem* ignore the NETBEANS =P J2ME assignments]&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;What I am Looking forward to:&lt;/h2&gt;  &lt;p&gt;Well I hope to be following the WPF and Silverlight tracks. I think I will get a lot out of it and am really looking forward to chatting to other devs from around EMEA who are working with the same technologies! Aaah so exited! (eek the nerd creeping out).&lt;/p&gt;  &lt;p&gt;My last 3 WPF projects have made heavy use of the Microsoft Patterns and Practices PRISM (Composite Application Guidance for WPF).. I cant wait to trap one of those guys and give my feedback directly / my suggestions for enhancement!&lt;/p&gt;  &lt;p&gt;Another event I will be looking forward to will be the MSP summit and social event!&amp;#160; This will be brilliant.. getting to meet face to face other student partners from all over Europe, Middle East and Africa that I have met through being active on Channel 8!&lt;/p&gt;  &lt;p&gt;I'll be blogging throughout the week so watch this space!&lt;/p&gt;  &lt;p&gt;Update:&lt;/p&gt;  &lt;p&gt;Check out the view from 36000ft :)!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_3guywnw1fvw/SRgZtJTiYUI/AAAAAAAAAGs/s9Egb63yyjY/s1600-h/DSC_0211%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="265" alt="DSC_0211" src="http://lh3.ggpht.com/_3guywnw1fvw/SRgZuDZqj9I/AAAAAAAAAGw/Q_76hXtnUJk/DSC_0211_thumb%5B1%5D.jpg?imgmax=800" width="389" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Peace &amp;gt;.&amp;lt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-4782280779090920089?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/4782280779090920089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=4782280779090920089&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4782280779090920089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4782280779090920089'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/11/my-adventures-teched-emea-day-0.html' title='My Adventures @ TechED EMEA - Day 0'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_3guywnw1fvw/SRgaw66fM9I/AAAAAAAAAG4/diPtRHdKg-M/s72-c/TechEDDev08_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-2569504577839842079</id><published>2008-10-14T15:17:00.001+01:00</published><updated>2008-10-14T15:17:18.609+01:00</updated><title type='text'>Representing Microsoft at Queen's University</title><content type='html'>&lt;p&gt;During the week I was asked would I help out the University by attending an event in the capacity of my Microsoft Student Partner position to help promote extra curricular learning initiatives.&lt;/p&gt;  &lt;p&gt;The initiative the University was launching was concerned with external learning over and above what is taught in the university, through programs like the Microsoft Student Partner scheme that me and Henry (pictured below) are a part of.&lt;/p&gt;  &lt;p&gt;I was happy to go along.&amp;#160; I got to chat to some business and government officials, I spoke about what Microsoft was offering the University through its initiatives and technologies.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/holSee/SPSp681U8yI/AAAAAAAAAGU/hDJwkNzVt0U/s1600-h/Steven%20and%20Henry%20at%20QUB%20event%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="286" alt="Steven and Henry at QUB event" src="http://lh6.ggpht.com/holSee/SPSp7DZlK2I/AAAAAAAAAGY/JSXGAieJv7g/Steven%20and%20Henry%20at%20QUB%20event_thumb%5B1%5D.jpg?imgmax=800" width="376" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Myself and Henry looking all smart (for a change).&amp;#160; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;All in all this was another chance for us to help out the University, giving the Microsoft Student Partners a good reputation not only within the University but within UK and Irish Businesses and Government. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-2569504577839842079?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/2569504577839842079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=2569504577839842079&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2569504577839842079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2569504577839842079'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/10/representing-microsoft-at-queen.html' title='Representing Microsoft at Queen&amp;#39;s University'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/holSee/SPSp7DZlK2I/AAAAAAAAAGY/JSXGAieJv7g/s72-c/Steven%20and%20Henry%20at%20QUB%20event_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-3872183353564468997</id><published>2008-10-14T15:06:00.001+01:00</published><updated>2008-10-14T15:08:57.788+01:00</updated><title type='text'>The Ultimate Steal! Office for £38.95!</title><content type='html'>&lt;p&gt;Ok.. I don't want to cheapen my blog by making it an advertising section.. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;...but OH MY GOODNESS! Office Ultimate for &amp;#163;38.95.. I remember when I was in high school having to beg my parents to spend about &amp;#163;200 to get me a copy of the student edition! &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;This is a time-limited offer available to &lt;i&gt;&lt;u&gt;University Students &amp;amp; Staff&lt;/u&gt;&lt;/i&gt;&amp;#160; in NORTHERN IRELAND as long as you have a &amp;quot;.ac.uk&amp;quot; email address.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Office Ultimate 2007, can cost up to &amp;#163;500 to buy the retail version, as a digital download for only &amp;#163;38.95, with the option to buy a backup on DVD for &amp;#163;9.95&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Buying on &lt;/strong&gt;&lt;a href="http://www.theultimatesteal.co.uk/"&gt;&lt;b&gt;http://www.theultimatesteal.co.uk&lt;/b&gt;&lt;/a&gt;&lt;strong&gt; is easy &amp;#8211; register with your student/staff email address, and then login and go.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.theultimatesteal.co.uk" target="_blank"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="535" alt="product" src="http://lh4.ggpht.com/holSee/SPSnb4EIw_I/AAAAAAAAAGM/7z5vIjcJ_uA/product%5B4%5D.png?imgmax=800" width="349" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Long live students getting cheap stuff is what I say! =] &lt;/p&gt;  &lt;p&gt;So check out:&lt;/p&gt;  &lt;blockquote&gt;   &lt;h3&gt;http://www.theultimatesteal.co.uk&lt;/h3&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.theultimatesteal.co.uk" target="_blank"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="96" alt="UltimateSteal" src="http://lh5.ggpht.com/holSee/SPSncaSL8ZI/AAAAAAAAAGQ/Nxm1aS9hQWg/UltimateSteal%5B5%5D.jpg?imgmax=800" width="376" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-3872183353564468997?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/3872183353564468997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=3872183353564468997&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/3872183353564468997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/3872183353564468997'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/10/ultimate-steal-office-for-3895.html' title='The Ultimate Steal! Office for £38.95!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/holSee/SPSnb4EIw_I/AAAAAAAAAGM/7z5vIjcJ_uA/s72-c/product%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-1977189037468564620</id><published>2008-10-11T18:03:00.001+01:00</published><updated>2008-10-14T17:47:05.018+01:00</updated><title type='text'>Introduction to LINQ to SQL &amp; WPF: Article</title><content type='html'>&lt;h2&gt;Summary&lt;/h2&gt;  &lt;p&gt;I was writing a simple application which took advantage of LINQ to SQL and WPF for demonstrations I plan to hold on both these technologies.&lt;/p&gt;  &lt;p&gt;I then decided to write an article to accompany the source code.&lt;/p&gt;  &lt;p&gt;I want to show how fast and simple it is now to get up and running with an application, using LINQ to SQL to simplify data access and WPF to make a next generation interface.&lt;a href="http://lh3.ggpht.com/holSee/SPTNBBrOcBI/AAAAAAAAAGc/kqJFnzE2n_k/s1600-h/NWE_Sample%5B3%5D.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="367" alt="NWE_Sample" src="http://lh3.ggpht.com/holSee/SPTNCOLasJI/AAAAAAAAAGg/55738jyHdaI/NWE_Sample_thumb%5B1%5D.png?imgmax=800" width="378" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h2&gt;Downloads&lt;/h2&gt;  &lt;p&gt;So here I am now making both the article and source available to download:&lt;/p&gt;  &lt;p&gt;Article:&lt;/p&gt;  &lt;p&gt;Word 2008&lt;/p&gt; &lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-85e958dfba14eb52.skydrive.live.com/embedrowdetail.aspx/Public/Introduction%20to%20LINQ%20to%20SQL%20|0%20WPF/Introduction%20to%20Linq%20to%20SQL%20|0%20WPF%20Part%201%20|0%202.docx" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;Word 2003&lt;/p&gt; &lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-85e958dfba14eb52.skydrive.live.com/embedrowdetail.aspx/Public/Introduction%20to%20LINQ%20to%20SQL%20|0%20WPF/Introduction%20to%20Linq%20to%20SQL%20|0%20WPF%20Part%201%20|0%202.doc" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;Source Code:&lt;/p&gt;  &lt;p&gt;WinRAR Archive&lt;/p&gt; &lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-85e958dfba14eb52.skydrive.live.com/embedrowdetail.aspx/Public/Introduction%20to%20LINQ%20to%20SQL%20|0%20WPF/LINQ|0WPF%20Example%20-%20Cassus.rar" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;WinZIP Archive&lt;/p&gt; &lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-85e958dfba14eb52.skydrive.live.com/embedrowdetail.aspx/Public/Introduction%20to%20LINQ%20to%20SQL%20|0%20WPF/LINQ|0WPF%20Example%20-%20CassusZip.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I hope you enjoy and please leave feedback!&lt;/p&gt;  &lt;p&gt;kthanx &amp;gt;.&amp;lt;!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-1977189037468564620?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/1977189037468564620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=1977189037468564620&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/1977189037468564620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/1977189037468564620'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/10/introduction-to-linq-to-sql-wpf-article.html' title='Introduction to LINQ to SQL &amp;amp; WPF: Article'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/holSee/SPTNCOLasJI/AAAAAAAAAGg/55738jyHdaI/s72-c/NWE_Sample_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-2225622469217253426</id><published>2008-09-27T00:42:00.001+01:00</published><updated>2008-09-27T00:43:58.709+01:00</updated><title type='text'>WPF &amp; Silverlight Cool List: September 2008</title><content type='html'>&lt;p&gt;I have been rocking a lot of WPF recently in my new position as a Lead Developer at Digital Future Soltutions, and thought I would share some funky tool, app's &amp;amp; general WPF goodness with you guys and gals:&lt;/p&gt;  &lt;p&gt;Top 10 to the BEST =&amp;gt;&lt;/p&gt;  &lt;h4&gt;10, PRISM&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;A.K.A &amp;quot;&lt;strong&gt;The Composite Application Guidance for WPF&lt;/strong&gt;&amp;quot; ..nice now doesn't that roll off the tongue =).&amp;#160; This is simply a great release from the Microsoft Pattern &amp;amp; Practices crew.&amp;#160; Check out the dnrTV &lt;a href="http://www.dnrtv.com/default.aspx?showNum=124" target="_blank"&gt;here&lt;/a&gt; by &lt;a href="http://briannoyes.net/" target="_blank"&gt;Brian Noyes&lt;/a&gt; with guest co-host Mark Miller.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.codeplex.com/CompositeWPF"&gt;http://www.codeplex.com/CompositeWPF&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;This is a great resource which will have you on the road to Dependency Injecting, Composite Command Routing, Loose Coupling in no time.&lt;/p&gt;    &lt;p&gt;Want to build you WPF applications properly (&amp;amp; more simply)?&lt;/p&gt;    &lt;p&gt;Look into Prism.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;9, WPF 3D Picture Helix Viewer by Kevin Pfister&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;I am a Microsoft Student Partner (MSP) Team for Northern &amp;amp; Southern Ireland but I have been subscribing to the Great Microsoft UK Student-Zine run by a United Kingdom MSP.&amp;#160; A great WPF series has been running on WPF 3D.&lt;/p&gt;    &lt;p&gt;&lt;img src="http://3.bp.blogspot.com/_DtNprzFCO3o/SNEwjC4D_LI/AAAAAAAAAGs/TtjLEpF_fTM/s320/14.jpg" /&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/ukstudentzine/archive/2008/09/09/my-pictures-3d-helix-using-wpf-part-1-of-3.aspx" target="_blank"&gt;My Pictures 3D Helix using WPF Part 1&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/ukstudentzine/archive/2008/09/09/my-pictures-3d-helix-using-wpf-part-2-of-3.aspx" target="_blank"&gt;My Pictures 3D Helix using WPF Part 2&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogplusequals.blogspot.com/" target="_blank"&gt;Kevin Pfister's blog&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;8, &lt;a href="http://karlshifflett.wordpress.com/2008/09/16/xaml-power-toys-v2-release-finally-code-name-hawaii/"&gt;XAML Power Toys v2 Released Code Name: Hawaii&lt;/a&gt;&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;Ok, This Visual Studio Add-in just rocks, and V.2 just cranked it up to 11.&amp;#160; This is a must plug-in if your dealing with XAML on a daily basis with features such as:&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;Create Business Form For Class &lt;/li&gt;    &lt;li&gt;Create Business Form &lt;/li&gt;    &lt;li&gt;Show Fields List For Class &lt;/li&gt;    &lt;li&gt;Group Into:&amp;#160; Border, StackPanel, WrapPanel, etc.&lt;/li&gt;    &lt;li&gt;Remove Designer XAML &lt;/li&gt;    &lt;li&gt;Remove All Margins &lt;/li&gt;    &lt;li&gt;Edit Grid Column and Rows&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;Check out the Videos on &lt;a href="http://karlshifflett.wordpress.com/2008/09/16/xaml-power-toys-v2-release-finally-code-name-hawaii/" target="_blank"&gt;Karl Shifflet's blog&lt;/a&gt;:&lt;/p&gt;    &lt;p&gt;Here is a taster:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://silverlight.services.live.com/invoke/48184/XAMLPowerToysv2CreateForm/iframe.html"&gt;XAML Power Toys Business Form Creation&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;7, WPF Sample WPF Applications (-A-Rama)&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://daszynski.org/dev/wpf.php"&gt;http://daszynski.org/dev/wpf.php&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;I found this site and its a pure treat, with over 40 sample WPF applications including:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://daszynski.org/wpf/misc/Office2007FontSelectionCombobox.zip"&gt;Office 2007 Font Selection ComboBox&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://daszynski.org/wpf/misc/OfficeStyleTab.zip"&gt;Office-Style Tab&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://daszynski.org/wpf/misc/OfficeStyleWindow.zip"&gt;Office-Style Window&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://daszynski.org/wpf/misc/PixelColorUnderMouse.zip"&gt;Pixel Colour Under Mouse&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://daszynski.org/wpf/misc/MultiSlider.zip"&gt;Range Slider&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://daszynski.org/wpf/misc/RssReader.zip"&gt;RSS Reader&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://daszynski.org/wpf/misc/Selector3D.zip"&gt;Selector 3D&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://daszynski.org/wpf/misc/SkinnableApp.zip"&gt;Skinnable App&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://daszynski.org/wpf/misc/SmokeEffect.zip"&gt;Smoke Effect&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://daszynski.org/wpf/apps/Family.Show 2.zip"&gt;Family.Show &lt;/a&gt;- cool application done by &lt;a href="http://www.vertigo.com/"&gt;Vertigo&lt;/a&gt; (for Microsoft) as an example others can learn from.&lt;/li&gt;      &lt;li&gt;&lt;a href="http://daszynski.org/wpf/apps/Outlook_WPF_projects.zip"&gt;Outlook-like UI&lt;/a&gt;        &lt;br /&gt;&lt;a href="http://daszynski.org/wpf/apps/Patient Monitoring Prototype.zip"&gt;Patient Monitoring Prototype&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://daszynski.org/wpf/apps/WoodgroveFinanceApplication.zip"&gt;Woodgrove Finance Application &lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;..and so so many more.. Go Go Go!!!&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;6, Adobe Illustrator Export to XAML&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://www.mikeswanson.com" target="_blank"&gt;Mike Swanson&lt;/a&gt; has got his head in the C++ so you don't have to and released this awesome plug-in for Adobe illustrator which exports your vector graphics in WPF &amp;amp; Silverlight 2.0 XAML :)&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.mikeswanson.com/xamlexport/"&gt;http://www.mikeswanson.com/xamlexport/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;5, DNRTV on WPF topics&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;Like watching screencasts to learn? Me too..&lt;/p&gt;    &lt;p&gt;Check out these timeless classics to get yourself in the know on WPF:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=56"&gt;Brian Noyes on Windows Presentation Foundation Part 1&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=59"&gt;Brian Noyes on Windows Presentation Foundation Part 2&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=101"&gt;Brian Noyes on Databinding in WPF&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=72"&gt;Mark Miller on Creating Custom Controls in WPF&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=115"&gt;Billy Hollis on Getting Smart with WPF&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=124"&gt;Brian Noyes on Prism&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Also worth a good watch is Mark Millers screencasts on the Science of Good User Experience.&amp;#160; WPF being so Visual and us being so very Developer-ish (i.e. not Designer-ish) these will help you create effective and pleasant user interfaces for your next gen-app's:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=112"&gt;Mark Miller on The Science of a Great User Experience Part 1&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=123"&gt;Mark Miller on The Science of a Great User Experience Part 2&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;4, .NET Rocks! on WPF &amp;amp; Silvelright 2.0&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;Commute much? I do.. 1.5 hrs to Coleraine (but 50% of the time I work from home so I can dig it).&lt;/p&gt;    &lt;p&gt;Podcasts save the day and especially .NET Rocks!&lt;/p&gt;    &lt;p&gt;(most recent first)&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=379"&gt;Billy Hollis on WPF and Silverlight 2.0&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=374"&gt;Glenn Block and Brian Noyes on Prism&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=348"&gt;Scott Stanfield on Deep Zoom and PhotoSynth!&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=342"&gt;Dan Wahlin on Silverlight 2.0 and WPF&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=338"&gt;Mark Miller on the Science of Good UI&lt;/a&gt; (indirectly)&lt;/li&gt;      &lt;li&gt;&lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=315"&gt;Brian Noyes: WPF Update&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=314"&gt;Adam Nathan on Popfly and Silverlight&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;and more.. but that should get you started ;)&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;3.5, Pixel8 Podcast - &lt;a title="http://pixel8.infragistics.com/" href="http://pixel8.infragistics.com/"&gt;http://pixel8.infragistics.com/&lt;/a&gt;&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;Especially Show : &lt;/p&gt;    &lt;p&gt;&lt;a href="http://pixel8.infragistics.com/Default.aspx#Episode:9071" target="_blank"&gt;John Gossman Architects WPF&lt;/a&gt; - Absolutely Great Podcast and through repeated listening I finally understood the Model-View-ViewModel Pattern =0 !&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;3, Sparkling Client - Silverlight Podcasts&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;Now these little beauties are short format knowledge based &amp;quot;infocasts&amp;quot;.&amp;#160; They basically explain key / core concepts in short bite sized explanations, including topics such as DataTemplating, Animations &amp;amp; Dependency Properties.&lt;/p&gt;    &lt;p&gt;These call all be found at &lt;a href="http://www.sparklingclient.com/"&gt;http://www.sparklingclient.com/&lt;/a&gt;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;2, Great Blogs&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.beacosta.com/blog" target="_blank"&gt;Beatrice Costa&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://joshsmithonwpf.wordpress.com/" target="_blank"&gt;Josh Smith&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://silverlight.net/blogs/jesseliberty/" target="_blank"&gt;Jesse Liberty&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://drwpf.com/blog/Default.aspx" target="_blank"&gt;Dr WPF&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;1, Ultra Simple WPF &amp;amp; LINQ to SQL Application &lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;This is a sample application I build when showing off these 2 new funky .NET goodies LINQ &amp;amp; WPF.&lt;/p&gt;    &lt;p&gt;In this application I use LINQ to SQL to grab Employees from the Northwind database and display them in a WPF Window in a simple but unconventional way making use of Reflections.&lt;/p&gt;    &lt;p&gt;I tried to keep this as simple as possible to allow some body that was new to these 2 technologies (LINQ and WPF) to clearly understand how the data is being bound to the View and How it is being queried from the Database.&lt;/p&gt;    &lt;p&gt;I'll Fire this up in my next post .. ooooo a teaser ;)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;kthanx &amp;gt;.&amp;lt;!&lt;/p&gt;  &lt;p&gt;P.S =&amp;gt; Please leave cool stuff you find in the comments :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-2225622469217253426?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/2225622469217253426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=2225622469217253426&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2225622469217253426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2225622469217253426'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/09/wpf-silverlight-cool-list-september.html' title='WPF &amp;amp; Silverlight Cool List: September 2008'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DtNprzFCO3o/SNEwjC4D_LI/AAAAAAAAAGs/TtjLEpF_fTM/s72-c/14.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-2187038028819556197</id><published>2008-09-24T15:53:00.001+01:00</published><updated>2008-09-24T15:56:28.339+01:00</updated><title type='text'>Queen's University Belfast Open Days part 2!</title><content type='html'>&lt;p&gt;Well this took place a few weeks ago now but I have a couple of (embarrassingly bad) photos of myself with Henry and &lt;a href="http://blogs.msdn.com/martharotter/" target="_blank"&gt;Martha Rotter&lt;/a&gt; at the Microsoft Stall on Day 2.&lt;/p&gt;  &lt;p&gt;Day 2 was an even bigger success than &lt;a href="http://holsee.blogspot.com/2008/09/queen-university-belfast-open-days-part.html" target="_blank"&gt;Day 1&lt;/a&gt; and we received a lot of attention from not only the students but other stalls which is always cool.&lt;/p&gt;  &lt;p&gt;I got the yabber on all day about .NET and developing and that's what I love to do so it was all good!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/holSee/SNpUcWT-N7I/AAAAAAAAAF0/zohjkT8FRYI/s1600-h/queens1%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="276" alt="queens1" src="http://lh5.ggpht.com/holSee/SNpUc5MDC4I/AAAAAAAAAF4/ww96rrVS1OY/queens1_thumb%5B1%5D.jpg?imgmax=800" width="381" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Hehe I really don't look wise in that one ^^!&amp;#160; aaaaah!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/holSee/SNpUducK1UI/AAAAAAAAAF8/4lYLazqSsA8/s1600-h/queens2%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="281" alt="queens2" src="http://lh3.ggpht.com/holSee/SNpUedPrCjI/AAAAAAAAAGA/n139vphtNyQ/queens2_thumb%5B2%5D.jpg?imgmax=800" width="386" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Our Sexy stall!&lt;/p&gt;  &lt;p&gt;Another great day, another big success what more could you ask for :=]&lt;/p&gt;  &lt;p&gt;kthanx &amp;gt;.&amp;lt;! &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-2187038028819556197?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/2187038028819556197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=2187038028819556197&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2187038028819556197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2187038028819556197'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/09/queen-university-open-day-part-2.html' title='Queen&amp;#39;s University Belfast Open Days part 2!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/holSee/SNpUc5MDC4I/AAAAAAAAAF4/ww96rrVS1OY/s72-c/queens1_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-8465824540980850278</id><published>2008-09-24T15:39:00.002+01:00</published><updated>2008-09-27T00:47:16.679+01:00</updated><title type='text'>Speaking in front of 200 Freshers @ QUB</title><content type='html'>&lt;p&gt;I was invited to come and speak at Queen's University Belfast by Anne Doris the head of Computer Science Careers.&lt;/p&gt;  &lt;p&gt;This was another chance for me to improve my speaking in front of crowds, and I don't think it went down too badly. *fingers crossed*&lt;/p&gt;  &lt;p&gt;I was part of a panel who were questioned about our experiences whilst on placement and gave general advise to the new students on the Computer based pathways.&lt;/p&gt;  &lt;p&gt;I was able to use this time to advise students of the offers Microsoft have made available to them like &lt;a href="https://downloads.channel8.msdn.com/" target="_blank"&gt;DreamSpark&lt;/a&gt;, a sweet deal, &lt;a href="http://www.software4students.co.uk/" target="_blank"&gt;Software4Students&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-gb/academic/default.aspx" target="_blank"&gt;MSDN Academic Alliance&lt;/a&gt; etc. Henry Donnelley (the other Microsoft Student Partner for QUB) spoke of his experiences whilst at Microsoft on his placement year and we gave advise of how to apply for the placements.&lt;/p&gt;  &lt;p&gt;I was a good day, we ran other competition for a copy of Microsoft Office and gave out 100s of packets of mints:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/holSee/SN10gXzKmPI/AAAAAAAAAGE/b5tOMnBuwvw/s1600-h/ASweetDeal%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="269" alt="ASweetDeal" src="http://lh3.ggpht.com/holSee/SN10g4fypHI/AAAAAAAAAGI/elDErg4Mgaw/ASweetDeal_thumb%5B2%5D.jpg?imgmax=800" width="392" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;span class="Apple-style-span" style="font-size: small"&gt;[ Image courtesy of &lt;/span&gt;&lt;a href="http://jsynnott.com/" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-size: small"&gt;Jonathan Synnott&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small"&gt; All Rights Reserved 2008 ]&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;The main thing today was to introduce ourselves as a point of contact for the students with regards to Microsoft and that is something we definitely achieved.&lt;/p&gt;  &lt;p&gt;=) kthanx&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-8465824540980850278?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/8465824540980850278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=8465824540980850278&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/8465824540980850278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/8465824540980850278'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/09/speaking-in-front-of-200-freshers-qub.html' title='Speaking in front of 200 Freshers @ QUB'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/holSee/SN10g4fypHI/AAAAAAAAAGI/elDErg4Mgaw/s72-c/ASweetDeal_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-7923096301448270452</id><published>2008-09-19T15:13:00.001+01:00</published><updated>2008-09-19T17:44:38.022+01:00</updated><title type='text'>WTF.. Life in WPF Made Easier!</title><content type='html'>&lt;h2&gt;MY RANT&lt;/h2&gt;  &lt;p&gt;Well I work a lot with Windows Presentation Foundation (WPF) formally Code Named: Avalon (but of course that was too short and cool a name to keep eh?)&lt;/p&gt;  &lt;p&gt;Any developer will tell you that the time taken to build a WPF is a lot greater than your standard WinForms / WebForms equivalent, even to those who aren't new to the technology.&lt;/p&gt;  &lt;p&gt;I think this is due to the tools being pretty much first generation.. you CAN pound out a shiny WPF app with Blend and lots of Code Behind madness, but this spawns the whole argument of DO IT FAST vrs DOING IT RIGHT!..&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;(which is a story for another day [ MVVM = &amp;lt;3 ] ) &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;but DEVELOPING WITH WPF JUST GOT A LOT FASTER!!!! &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;[see &amp;quot;MY POINT&amp;quot;]&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Anyways.. XAML can be goo-ey and a pain to work with at first.. I don't know any developers who particularly like manipulating XML all day directly in this day and age, even if it does have really nice intellisence.&lt;/p&gt;  &lt;p&gt;Expression Blend is nice, I like it, but it generates some pretty nasty XAML at times.&lt;/p&gt;  &lt;p&gt;The 'Cider' (Draggy droppy) Visual Studio 2008 WPF designer is also a culprit for the generation of XAML with margins and alignments leading to a lot of unorganised goo in your XAML.&lt;/p&gt;  &lt;p&gt;Half decent Web developers would look at it and go &amp;quot;OMGs - heard of style sheets?&amp;quot; as all the styling and positioning information will be applied directly into the Control / Window / Page XAML (with the smell of HTML before CSS) until some action is taken, which most newbies to WPF wont have a clue about &lt;u&gt;at first&lt;/u&gt;. &amp;quot;Resources, Styles.. Wa?&amp;quot;&lt;/p&gt;  &lt;p&gt;But Blend to the rescue, it has some GREAT built in tools for extracting the style and templates and referring to it them from a resources!&amp;#160; DataTemplates rock!&lt;/p&gt;  &lt;p&gt;But Visual Studio still left a bit to be desired.. (until now)&lt;/p&gt;  &lt;p&gt;I don't really mind manipulating the XAML directly in Visual Studio I almost prefer it to using Expression Blend as a design tool as the XAML generated is &lt;em&gt;&amp;quot;cleaner&amp;quot; &lt;/em&gt;.&lt;/p&gt;  &lt;h2&gt;MY (long awaited) POINT&lt;/h2&gt;  &lt;p&gt;I use 2 plug-ins (that are relevant here) in my Visual Studio Dev. Env. - &lt;a href="http://www.jetbrains.com/resharper/" target="_blank"&gt;ReSharper&lt;/a&gt; and &lt;a href="http://karlshifflett.wordpress.com/xaml-power-toys/" target="_blank"&gt;XAML Power Toys&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;XAML Power Toys is a great plug-in and one all WPF developers should have installed.&amp;#160; This has been created by the gurus of the WPF world and they really know what they are talking about, and constantly taking input to make the product better!&lt;/p&gt;  &lt;p&gt;So do check it out, and feel the POWER, of being able to generate CLEAN WPF forms, with databinding from your C# and VB entity classes, define the databinding type (one or two way), the control to be bound etc etc etc.. in a simple designer! No more hands in the XAML just to be clean! (what a weird sentence)&lt;/p&gt;  &lt;p&gt;There are also lots of other goodies like &amp;quot;REMOVE DESIGNER GENERATED XAML&amp;quot; ( =] ) which will remove all the formatting crap that comes along with a draggy droppy spree!&lt;/p&gt;  &lt;p&gt;..they are always improving this tool and I can't stress enough about how much it is worth getting and watching the videos that are on the &lt;a href="http://karlshifflett.wordpress.com/xaml-power-toys/" target="_blank"&gt;XAML Power Toys Website&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;So indeed... DEVELOPING WITH WPF JUST GOT A LOT FASTER!!!!&lt;/p&gt;  &lt;p&gt;Its almost WPF UI on RAILS ( &amp;quot;=0 ..did he actually say that?&amp;quot; ) where your data source is your Plain Old Business Objects.&lt;/p&gt;  &lt;p&gt;So Enjoy! &lt;/p&gt;  &lt;p&gt;kthnx &amp;gt;.&amp;lt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-7923096301448270452?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/7923096301448270452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=7923096301448270452&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7923096301448270452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7923096301448270452'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/09/wpf-life-made-easier.html' title='WTF.. Life in WPF Made Easier!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-9198227271985863151</id><published>2008-09-16T11:01:00.001+01:00</published><updated>2008-09-16T11:06:15.176+01:00</updated><title type='text'>Why "COM Surrogate has stopped working"!</title><content type='html'>&lt;p&gt;Well If you are running Vista and you have DIVX you will most likely be no stranger to our friend:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh3.ggpht.com/holSee/SM-D6LInx_I/AAAAAAAAAFs/27-yVV7Y4d8/s1600-h/COMSurError%5B4%5D.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="203" alt="COMSurError" src="http://lh6.ggpht.com/holSee/SM-D6oI0DQI/AAAAAAAAAFw/VfhLFnI1b_c/COMSurError_thumb%5B2%5D.png?imgmax=800" width="392" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I got sick of looking at it and have Visual Studio 2008 installed so I had the option to DEBUG.. which I did.&amp;#160; I checked out the stack trace of the error and I found it was originating at the &amp;quot;&lt;em&gt;dllhost.exe&lt;/em&gt;&amp;quot; that lives in System32.&lt;/p&gt;  &lt;p&gt;It turned out the error was sparked when exploring media folders that contained media files that used scary 3rd party codecs..&lt;/p&gt;  &lt;p&gt;This got me thinking.. does everyone who uses Vista that has some DIVX files get pestered with this error?&amp;#160; No wonder its so hated!&lt;/p&gt;  &lt;p&gt;Then I searched the problem and found this great fix at &lt;a href="http://www.howtogeek.com"&gt;www.howtogeek.com&lt;/a&gt; :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.howtogeek.com/howto/windows-vista/fix-for-com-surrogate-has-stopped-working-error-in-vista/"&gt;http://www.howtogeek.com/howto/windows-vista/fix-for-com-surrogate-has-stopped-working-error-in-vista/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;+ even thou Vista is like the most hated OS ever! I still love it to bits, &lt;strong&gt;this fix took a matter of seconds&lt;/strong&gt; to apply. &lt;/p&gt;  &lt;p&gt;Vista is a great OS it is about 6 years more advanced than XP, so all you haters dry your eyes and buy some RAM =P!&amp;#160; &lt;/p&gt;  &lt;p&gt;ENJOY! &lt;/p&gt;  &lt;p&gt;peace and love &amp;gt;.&amp;lt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-9198227271985863151?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/9198227271985863151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=9198227271985863151&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/9198227271985863151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/9198227271985863151'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/09/why-surrogate-has-stopped-working.html' title='Why &amp;quot;COM Surrogate has stopped working&amp;quot;!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/holSee/SM-D6oI0DQI/AAAAAAAAAFw/VfhLFnI1b_c/s72-c/COMSurError_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-9113000959332965155</id><published>2008-09-11T16:09:00.001+01:00</published><updated>2008-09-11T16:16:07.906+01:00</updated><title type='text'>Queen's University Belfast Open Days part 1!</title><content type='html'>&lt;h2&gt;Life at the MICROSOFT STALL- day 1 = total success!&lt;/h2&gt;  &lt;p&gt;Well today was a interesting one, my first time back at university since I left for my work placement at Meridio one year ago.&lt;/p&gt;  &lt;p&gt;Henry Donnelley and myself (the QUB Microsoft Student Partners) were charged with manning the Microsoft stall.&amp;#160; Tom Jackson from the regional Microsoft Offices also accompanied us.&lt;/p&gt;  &lt;h2&gt;Summary&lt;/h2&gt;  &lt;p&gt;Basically I wrap up day 1 of the QUB Open Day and the reasons behind our stalls success!&lt;/p&gt;  &lt;h2&gt;Grabbing their Attention&lt;/h2&gt;  &lt;p&gt;For this I can thank two key factors!&lt;/p&gt;  &lt;p&gt;Disco Lights Mode on new dell XPS 1730 laptop..&lt;/p&gt; &lt;embed src="http://www.youtube.com/v/YgQWzRWjAJ4&amp;amp;hl=en&amp;amp;fs=1" width="425" height="344" type="application/x-shockwave-flash" allowfullscreen="true" /&gt;   &lt;p&gt;&amp;amp; Rob Burke's &lt;a href="http://robburke.net/images/deeplol.html"&gt;LolCats Silverlight Deepzoom&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh3.ggpht.com/holSee/SMk0nEJpd-I/AAAAAAAAAFk/a7x3QYxucWo/s1600-h/RobBurkeLolCats%5B3%5D.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="188" alt="RobBurkeLolCats" src="http://lh5.ggpht.com/holSee/SMk0nyGwGFI/AAAAAAAAAFo/tyK6Yb8ukv8/RobBurkeLolCats_thumb%5B1%5D.png?imgmax=800" width="330" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The flashing lights caught their eye and the funny cat pictures held their attentions and made them come over for more information on the silly cats!&lt;/p&gt;  &lt;p&gt;This was great ice breaker and the start of many conversations.&lt;/p&gt;  &lt;h2&gt;Being Honest and Speaking From Experience&lt;/h2&gt;  &lt;p&gt;Our aim was to tell the swarms of high school students about the great offers Microsoft had to offer including &lt;a href="http://www.asweetdeal.co.uk"&gt;www.asweetdeal.co.uk&lt;/a&gt; where they could get their hands on a copy of Office 2007 for &amp;#163;35.50 (pretty sweet indeed), and generally big up benefits of &amp;quot;aligning with Microsoft&amp;quot;.. &lt;/p&gt;  &lt;p&gt;..It was all a bit funny at times as I was not about to stand there and give marketing speeches to these kids as I was in their position only 2 years ago and I knew the type of information that would really benefit them. &lt;/p&gt;  &lt;p&gt;I was at the Microsoft stall so I was obviously going to be getting Microsoft questions, but I was also a student of queens university so I could offer my advise on degrees in the Technology sector. &lt;/p&gt;  &lt;p&gt;I had a good time I got to talk to a lot of great enthusiastic young developers, and help out with where to get started in .NET development.&amp;#160; I found that this was greatly appreciated and I was glad I was there to help!!&lt;/p&gt;  &lt;p&gt;I was also eager to show them Expression Studio and especially Blend, the demos that came with that went down a treat!&lt;/p&gt;  &lt;p&gt;I got to help so confused individuals understand what Computer Science at QUB had to offer as well as telling them the great deals available to them from Microsoft to save them some cash.&amp;#160; &lt;/p&gt;  &lt;h2&gt;So all in all..&lt;/h2&gt;  &lt;p&gt;A GOOD DAY ALL ROUND AND LOOKING FORWARD TO TOMORROW =] !&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-9113000959332965155?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/9113000959332965155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=9113000959332965155&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/9113000959332965155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/9113000959332965155'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/09/queen-university-belfast-open-days-part.html' title='Queen&amp;#39;s University Belfast Open Days part 1!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/holSee/SMk0nyGwGFI/AAAAAAAAAFo/tyK6Yb8ukv8/s72-c/RobBurkeLolCats_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-5856976910696001858</id><published>2008-09-11T15:17:00.001+01:00</published><updated>2008-09-11T15:17:02.083+01:00</updated><title type='text'>My New Job: Digital Futures Solutions!</title><content type='html'>&lt;p&gt; So I finished up at RBS (see &lt;a href="http://holsee.blogspot.com/2008/07/contracting-job-opportunities-and-9am.html" target="_blank"&gt;here&lt;/a&gt;) and I get an email from the Managing Director of DF Solutions asking me if I would be interested in interviewing for a position as a developer that would involve working on the next generation of their home media system product.&lt;/p&gt;  &lt;p&gt;I was in two minds at first about going for the interview.. the job would involve a lot of travel as I would be based in Coleraine.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh3.ggpht.com/holSee/SMkoWXHgQTI/AAAAAAAAAFc/hjqjIJ-W7rs/s1600-h/MeToWork%5B2%5D.png"&gt;&lt;a href="http://lh3.ggpht.com/holSee/SMkoWXHgQTI/AAAAAAAAAFc/hjqjIJ-W7rs/s1600-h/MeToWork%5B2%5D.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="235" alt="MeToWork" src="http://lh3.ggpht.com/holSee/SMkoXTfgBNI/AAAAAAAAAFg/AyjRoXWCgu4/MeToWork_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Works out about 1 hour 45 minutes there and the same back.&lt;/p&gt;  &lt;p&gt;After the interview it was clear to me I wanted to be a part of the exiting work going on at DF Solutions, as they provide home integrated multimedia solutions to the rich and famous, no joke the client list is insane! ..anybody say MTV Cribs?&lt;/p&gt;  &lt;p&gt;The next generation interfaces will involve the use of technologies such as .NET more specifically Windows Presentation Foundation (WPF) and will take interactive media to a whole new level!&lt;/p&gt;  &lt;p&gt;The travelling isn't so bad, I can work whilst on the train with no bother and work from home about 50% of the time.&lt;/p&gt;  &lt;p&gt;My position includes roles ranging from architecture and design to implementation, and this is being done in a 'Green Field' fashion.. isn't this just every developers dream? =] &lt;/p&gt;  &lt;p&gt;No doubt Ill have a lot more to blabber on about soon.. check out their web site @ &lt;a title="http://www.digitalfuturesolutions.co.uk/" href="http://www.digitalfuturesolutions.co.uk/" target="_blank"&gt;http://www.digitalfuturesolutions.co.uk/&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;NOTE: I will also be&amp;#160; redesigning their web site to make it not look like something from the 80s =p!&lt;/p&gt;  &lt;p&gt;kthanx &amp;gt;.&amp;lt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-5856976910696001858?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/5856976910696001858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=5856976910696001858&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/5856976910696001858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/5856976910696001858'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/09/my-new-job-digital-futures-solutions.html' title='My New Job: Digital Futures Solutions!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/holSee/SMkoXTfgBNI/AAAAAAAAAFg/AyjRoXWCgu4/s72-c/MeToWork_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-6546352757643221684</id><published>2008-09-11T14:54:00.001+01:00</published><updated>2008-09-11T14:54:23.696+01:00</updated><title type='text'>QuMIX News: Dates Confirmed!!</title><content type='html'>&lt;p&gt;&lt;a href="http://QuMIX.AdvancedWorks.co.uk" target="_blank"&gt;QuMIX&lt;/a&gt; will be held in the Bernard Crossland Building @ Queen's University Belfast on the Friday 24th October 2008.&amp;#160; &lt;/p&gt;  &lt;p&gt;Confirmed Speakers to date:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Ronan Geraghty - C# 3.0 &amp;amp; .NET 3.5 SP1 Goodness&lt;/p&gt;    &lt;p&gt;Liam Cronin - Building your presentation skills&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Yet to confirm:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Martha Rotter - XNA Games Development&lt;/p&gt;    &lt;p&gt;Flavien&amp;#160; Charlon - WPF &amp;amp; Silverlight 2 Development&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This conference is going to rock, ironing out a few final details, I think it would be great if this was open to everyone and not just students of QUB.. waiting to hear if that will be allowed =/ !!&lt;/p&gt;  &lt;p&gt;kthanx &amp;gt;.&amp;lt;!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-6546352757643221684?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/6546352757643221684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=6546352757643221684&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/6546352757643221684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/6546352757643221684'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/09/qumix-news-dates-confirmed.html' title='QuMIX News: Dates Confirmed!!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-3340678654615662334</id><published>2008-08-31T19:07:00.001+01:00</published><updated>2008-08-31T19:07:40.609+01:00</updated><title type='text'>Getting Started Dreamspark’n @ QUB!</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I have created a guide for students of my university to help them take advantage of the &lt;strong&gt;&lt;u&gt;FREE&lt;/u&gt;&lt;/strong&gt; software available to them just for being &lt;strong&gt;&lt;u&gt;STUDENTS&lt;/u&gt;&lt;/strong&gt; =] !&lt;/p&gt;  &lt;p&gt;The process of signing up to Dreamspark can be a bit tedious and tricky as it differs for each university, as the student must authenticate that they are part of a University.&lt;/p&gt;  &lt;p&gt;So I created the guide for Student of Queens University Belfast!&amp;#160; That can be downloaded here:&lt;/p&gt; &lt;iframe style="border-bottom: #dde5e9 1px solid; border-left: #dde5e9 1px solid; padding-bottom: 0px; background-color: #ffffff; margin: 3px; padding-left: 0px; width: 240px; padding-right: 0px; height: 66px; border-top: #dde5e9 1px solid; border-right: #dde5e9 1px solid; padding-top: 0px" marginheight="0" src="http://cid-85e958dfba14eb52.skydrive.live.com/embedrowdetail.aspx/Public/QUB/QUB%20-%20Dreamspark%20Free%20Software%20Guide.doc" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;This will guide you through the process of Authenticating and Linking your Windows Live ID with your QUB account.&lt;/p&gt;  &lt;p&gt;Key Links:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a target="_blank" href="https://downloads.channel8.msdn.com/Default.aspx"&gt;Dreamspark&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a target="_blank" href="http://directory.qub.ac.uk/athens.php"&gt;QUB Athens&lt;/a&gt; (used to authenticate student status)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy the free software! &amp;gt;.&amp;lt; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-3340678654615662334?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/3340678654615662334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=3340678654615662334&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/3340678654615662334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/3340678654615662334'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/08/getting-started-dreamsparkn-qub.html' title='Getting Started Dreamspark’n @ QUB!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-8368148348247612231</id><published>2008-08-27T11:35:00.001+01:00</published><updated>2008-08-27T11:40:12.013+01:00</updated><title type='text'>Getting Started With Agile..</title><content type='html'>&lt;h2&gt;Summary&lt;/h2&gt;  &lt;p&gt;This is just a quick post to talk about Agile Development.&amp;#160; Entire job fields have been spawned in the area of &amp;quot;Agile Coaching&amp;quot; to improve how businesses go about their development..&amp;#160; &lt;/p&gt;  &lt;p&gt;· Have any of guys been using Agile?&lt;/p&gt;  &lt;p&gt;· If so how has it been going? &lt;/p&gt;  &lt;p&gt;· If you haven’t used it how does it sound?&lt;/p&gt;  &lt;p&gt;· This could be a good thread to maybe add your own resources you found helped you?&lt;/p&gt;  &lt;p&gt;· Let me know what you guys think! &lt;/p&gt;  &lt;h2&gt;What is Agile? &lt;/h2&gt;  &lt;p&gt; &amp;quot;&lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;&lt;b&gt;Agile software development&lt;/b&gt;&lt;/a&gt; refers to a group of &lt;a href="http://student-partners.com/wiki/Software_development"&gt;software development&lt;/a&gt; methodologies that promotes development &lt;a href="http://student-partners.com/wiki/Iterations#Project_management"&gt;iterations&lt;/a&gt;, open collaboration, and process adaptability throughout the life-cycle of the project. It chooses to get things into action quickly, rather than to plan at length. The plan evolves as actions are taken.&amp;quot; from Wikipedia.org&lt;/p&gt;  &lt;p&gt;First of all do some reading and research, get your head in the correct mindset, know the benefits that you will gain.&amp;#160; This will leave you in a great position to becoming more Agile. &lt;/p&gt;  &lt;h2&gt;Start&lt;b&gt; SCRUM&lt;/b&gt;'n &lt;/h2&gt;  &lt;p&gt;&amp;quot;&lt;a href="http://en.wikipedia.org/wiki/Scrum_%28development%29"&gt;&lt;b&gt;Scrum&lt;/b&gt; &lt;/a&gt;is an iterative incremental process of software development commonly used with &lt;a href="http://student-partners.com/wiki/Agile_software_development"&gt;agile software development&lt;/a&gt;.&amp;quot; from Wikipedia.org &lt;/p&gt;  &lt;p&gt;- This is worth reading about and adopting (your first attempt will be a shambles it happens to everyone but you will hit your groove)&lt;/p&gt;  &lt;h2&gt;Use &lt;b&gt;TDD &lt;/b&gt;&lt;/h2&gt;  &lt;p&gt;- Reap the benefits of making changes to your software (as requested by business-y types) with confidence as the iterative development cycle will require. (Ruby is an awesome language for agile development) &lt;/p&gt;  &lt;h2&gt;Set up &lt;b&gt;Continuous Integration&lt;/b&gt;&lt;/h2&gt;  &lt;p&gt; This includes: Maintain a code repository, Automate the build, Automate you Tests to run after each build, Automate deployment...&lt;/p&gt;  &lt;p&gt;- This will help the team build &lt;b&gt;early and often&lt;/b&gt;, and removes the age old problem of the broken builds as everyone on the team is aware of the build status and who checked in the last changes which broke it (or caused tests to fail), and this can be resolved quickly and easily.&lt;/p&gt;  &lt;p&gt;There alternative is the traditional nightly builds where people work on the code base all day checking in their changes, just to come in the next day to find the emails from the build server saying &amp;quot;such and such broke the build&amp;quot; and then the morning is spent trying to find the problem... (this aint fun believe me).&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;(some software shops has funky glowing orbs which change colour depending on the health of the build)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;RESOURCES TO GET UP TO SPEED&lt;/h2&gt;  &lt;p&gt;&lt;u&gt;(in the form of audio &amp;amp; video as you will all be too tired to read anymore after my mammoth posts o.0 )&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;SCRUM&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="http://thirstydeveloper.com/2008/07/26/TheThirstyDeveloper28SCRUMAndAgileInTheEnterprise.aspx"&gt;The Thirsty Developer 28: SCRUM and Agile in the Enterprise&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt; HanselMinutes - Ep. 23 &lt;a href="http://hanselminutes.com/default.aspx?showID=32"&gt;The Line of Scrum-mage&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Scott Hanselman has a great blog too with lots more resources: &lt;a href="http://www.hanselman.com/blog/HanselminutesPodcast23ScrumAndScrumResources.aspx"&gt;here&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;TEST DRIVEN DEVELOPMENT&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=11"&gt;Jean Paul Boodhoo on Test Driven Development Part 2 of 2&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=10"&gt;Jean Paul Boodhoo on Test Driven Development Part 1 of 2&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Continuous integration&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;HanselMinutes - Ep. 5 &lt;a href="http://student-partners.com/forums/default.aspx?showID=5"&gt;Continuous Integration&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;HanselMinutes - Ep. 113 &lt;a href="http://student-partners.com/forums/default.aspx?showID=131"&gt;Beyond Continuous Integration: Continuous Monitoring with Owen Rogers&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;kthnx &amp;gt;.&amp;lt; ! &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-8368148348247612231?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/8368148348247612231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=8368148348247612231&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/8368148348247612231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/8368148348247612231'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/08/getting-started-with-agile.html' title='Getting Started With Agile..'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-2654113335692744590</id><published>2008-08-25T23:56:00.002+01:00</published><updated>2008-08-25T23:58:18.807+01:00</updated><title type='text'>The Microsoft Ireland Podcasts!</title><content type='html'>&lt;p&gt;Wow! &lt;/p&gt;  &lt;p&gt;Anybody that knows me (that knows I am a developer) will know I love my podcasts..&lt;/p&gt;  &lt;p&gt;Whilst reading &lt;a href="http://blogs.gotdotnet.com/martharotter/" target="_blank"&gt;Martha Rotter’s blog&lt;/a&gt;, I discovered the &lt;a href="http://blogs.gotdotnet.com/martharotter/archive/tags/podcasts/default.aspx" target="_blank"&gt;Microsoft Ireland Podcasts&lt;/a&gt; that she has been releasing on a weekly basis!&lt;/p&gt;  &lt;p&gt;Ping – there is another subscription on the list, I’m going to need more commutes&lt;/p&gt;  &lt;p&gt;Look out for my upcoming post “Ultimate .NET Developer Podcast List” which will be coming to a browser near you very soon.&lt;/p&gt;  &lt;p&gt;kthnx &amp;gt;.&amp;lt;!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-2654113335692744590?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/2654113335692744590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=2654113335692744590&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2654113335692744590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2654113335692744590'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/08/microsoft-ireland-podcasts.html' title='The Microsoft Ireland Podcasts!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-5313857594754970857</id><published>2008-08-25T22:13:00.004+01:00</published><updated>2008-08-25T23:17:43.216+01:00</updated><title type='text'>Project Euler via Test Driven Development using C# .NET</title><content type='html'>&lt;h2&gt;Summary&lt;/h2&gt;  &lt;p&gt;A guide to using Test Driven Development (TDD) to derive solutions to the mathematical problems posed on ProjectEuler.net.&lt;/p&gt;  &lt;p&gt;Areas covered include a fun way to learn a new language or framework, Test Driven Development (using the NUnit framework), C#, and Performance programming.&lt;/p&gt;  &lt;h2&gt;Downloads&lt;/h2&gt;  &lt;p&gt;Word Doc of this article: &lt;/p&gt; &lt;iframe style="border: 1px solid rgb(221, 229, 233); margin: 3px; padding: 0px; width: 240px; height: 66px; background-color: rgb(255, 255, 255);" marginwidth="0" marginheight="0" src="http://cid-85e958dfba14eb52.skydrive.live.com/embedrowdetail.aspx/Public/ProjectEuler.NET/SolvingProjecEuler%20with%20C%7C3%20%7C0%20TDD.docx" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt;  &lt;p&gt;Source code: &lt;/p&gt; &lt;iframe style="border: 1px solid rgb(221, 229, 233); margin: 3px; padding: 0px; width: 240px; height: 66px; background-color: rgb(255, 255, 255);" marginwidth="0" marginheight="0" src="http://cid-85e958dfba14eb52.skydrive.live.com/embedrowdetail.aspx/Public/ProjectEuler.NET/holSee.ProjectEuler.rar" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt;  &lt;p&gt;Enjoy and Please Leave Feedback!&lt;/p&gt;  &lt;h2&gt;Introduction&lt;/h2&gt;  &lt;p&gt;I discovered Project Euler when I was listening to the podcast &lt;a href="http://thirstydeveloper.com/2007/12/23/Episode6ProjectEuler.aspx" target="_blank"&gt;The Thirsty Developer - Episode #6 - Project Euler&lt;/a&gt;&lt;em&gt;&lt;/em&gt; where they outlined ProjectEuler.net as a great place to learn a new language.&lt;/p&gt;  &lt;p&gt;Project Euler is all about solving mathematical problems with a focus on performance and elegant solutions.&lt;/p&gt;  &lt;blockquote&gt;   &lt;h5&gt;“What is Project Euler?&lt;/h5&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Project Euler is a series of challenging mathematical computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.” From &lt;a href="http://projecteuler.net/" target="_blank"&gt;ProjectEuler.net&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The rules are simple; create an algorithm to &lt;b&gt;solve the stated problem&lt;/b&gt; &lt;b&gt;in less than 60 seconds&lt;/b&gt; on an average modern machine. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Example Question:&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a name="OLE_LINK2"&gt;&lt;/a&gt;&lt;a name="OLE_LINK1"&gt;“Problem 1&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;Find the sum of all the multiples of 3 or 5 below 1000.”&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The idea is to first solve this problem and secondly tweak the algorithm to do it in the fastest and most efficient way. (In my mind there was a familiarity between this process and the processes involved in Test Driven Development, which I talk about later in this article).&lt;/p&gt;  &lt;h2&gt;Improve Your Knowledge of Performance Programming&lt;/h2&gt;  &lt;p&gt;One of the biggest benefits of working your way through Project Euler is the knowledge you gain with regard to writing of efficient and high performance code in your chosen language. As well as the satisfaction that comes with completing each problem!&lt;/p&gt;  &lt;p&gt;When you solve the problem and enter the answer on the ProjectEuler.net site and you will gain access to that specific problems forum thread. This is where you can compare and share your solution with others, and gain useful hints and tips on performance programming as well as being able to see which language solved the problem in the fastest and most elegant way.&lt;/p&gt;  &lt;p&gt;It is an interesting way to both explore and master areas of your chosen language &amp;amp; framework. You will also become familiar with the areas that cause the greatest hits in performance as well finding answers to some of the questions you may have been asking yourself...&lt;/p&gt;  &lt;p&gt;For Example in C# I was wondering:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Which is faster...?&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;- static or instance method calls?&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;- using a ‘foreach’ loop a traditional ‘for’ loop?&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;- using a generic List of integers (List&amp;lt;int&amp;gt;) or a standard integer&lt;/em&gt; &lt;em&gt;array (int[])?&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;- and so on...&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;...and if there is a difference by how much?&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;By challenging yourself and completing the problems you will be improving your knowledge and ability to write high performance code.&lt;/p&gt;  &lt;p&gt;See the Polymorphic podcast episode titled the “The performance of Everyday things” with Jeff Richter. (&lt;a href="http://weblogs.asp.net/craigshoemaker/archive/2008/06/17/the-performance-of-everyday-things.aspx"&gt;http://weblogs.asp.net/craigshoemaker/archive/2008/06/17/the-performance-of-everyday-things.aspx&lt;/a&gt;) This show has a lot of great advice on what is going on under the hood in .NET and sheds some light on how everyday programming practices can have a significant effect on application performance. As I was mentioned earlier, Project Euler is a great place to learn a new language, however, I decided I would use it to improve my proficiency in TDD using C# 3.0, the .NET framework and various unit testing frameworks; notably MBUnit and NUnit. For the following examples I use NUnit and the NUnit Test Runner.&lt;/p&gt;  &lt;h2&gt;Test Driven Development&lt;/h2&gt;  &lt;p&gt;I was no stranger to test driven development. I had used this as part of a software engineering project in university and numerous times during my placement year, but I would be first to admit it is not an easy concept to initially grasp. The ability to write good quality test cases and unit tests is a skill in its own right and one that takes practice.&lt;/p&gt;  &lt;h2&gt;Steps Involved in TDD &lt;/h2&gt;  &lt;p&gt;&lt;strong&gt;Step 0&lt;/strong&gt;: Write a TEST CASE&lt;/p&gt;  &lt;p&gt;- Must be able to add 2 integers together&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Write a UNIT TEST which targets a specific test case. &lt;/p&gt;  &lt;p&gt;Note: &lt;i&gt;Each Unit test should only ever test &lt;u&gt;One Thing!&lt;/u&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;- Write the Unit Test&lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;  &lt;pre class="code"&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;[&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(255, 198, 109);"&gt;Test&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;]&lt;br /&gt;&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;public void &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;Should_Return_The_Sum_Of_Two_Integers()&lt;br /&gt;{&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;a = &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;1&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;;&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;b = &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;1&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;;&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(255, 198, 109);"&gt;Assert&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;.AreEqual(a + b, Sum(a, b));&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;- Create a Stub for the Sum method&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;private int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;Sum(&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;a, &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;b)&lt;br /&gt;{&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;throw new &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(255, 198, 109);"&gt;NotImplementedException&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;();&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;- Run the test and it should fail.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Write the code to make this test pass&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;private int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;Sum(&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;a, &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;b)&lt;br /&gt;{&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;return &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;a + b;&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;- Run Test to see if it passes&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; &lt;b&gt;Refactor&lt;/b&gt; your code&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;“&lt;b&gt;Code refactoring&lt;/b&gt; is the process of changing a computer program's code to make it amenable to change, improve its readability, or simplify its structure, while preserving its existing functionality.” From &lt;a href="http://en.wikipedia.org/wiki/Refactoring" target="_blank"&gt;Wikipedia on Refactoring&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;- The refactoring step will help keep your code &lt;b&gt;DRY&lt;/b&gt; (Don’t Repeat Yourself).&lt;/p&gt;&lt;p&gt;In Project Euler I found myself creating my own reusable mathematics library as a result of the refactoring.&lt;/p&gt;&lt;p&gt;For example, in one of the problems, I extracted (refactored) the code that was responsible for the generation of prime numbers and put it into its own function, this would allow the function to be reused as part of other solutions to other problems involving prime numbers.&lt;/p&gt;&lt;p&gt;This process as a whole is called “Red-Green-Refactor” testing.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step1,&lt;/strong&gt; &lt;b&gt;&lt;u&gt;Red&lt;/u&gt;&lt;/b&gt; – Write the test and make sure it will &lt;b&gt;Fail&lt;/b&gt;. (As you have not written solution yet)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step2,&lt;/strong&gt; &lt;b&gt;&lt;u&gt;Green&lt;/u&gt;&lt;/b&gt; – Write the &lt;b&gt;Smallest amount of code&lt;/b&gt; to get the test to &lt;b&gt;Pass&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step3,&lt;/strong&gt; &lt;u&gt;Refactor&lt;/u&gt; – And do so &lt;b&gt;aggressively and with confidence&lt;/b&gt;, as the unit tests will keep your application honest!&lt;/p&gt;&lt;p&gt;This development process born of concept of TDD and Agile development where the code is derived from the Test, i.e. &lt;b&gt;the Tests Drive the Development.&lt;/b&gt;&lt;/p&gt;&lt;h2&gt;Benefits of TDD&lt;/h2&gt;&lt;p&gt;There are many compelling argument in favour of using TDD. &lt;/p&gt;&lt;p&gt;Here are a few which sold it to me:&lt;/p&gt;&lt;p&gt;- The code derived is concise and to the point.&lt;/p&gt;&lt;p&gt;- The developer stays focused and on producing continuous functionality (not going off on tangents, as we all love to do).&lt;/p&gt;&lt;p&gt;- The code is accurate (as it passes its test case).&lt;/p&gt;&lt;p&gt;- The code created is very modular; each function created has one specific purpose, and therefore is reusable. &lt;/p&gt;&lt;p&gt;- Regression testing is as simple as running the suite of unit tests.&lt;/p&gt;&lt;p&gt;Anybody who has worked on a large code base where they are not 100% familiar with will tell you it is almost an impossible task to see what affect your changes will have on other aspects of the system.&lt;/p&gt;&lt;h2&gt;Real World Example:&lt;/h2&gt;&lt;p&gt;I was charged with fixing a bug found by the QA department; I traced it to a URL Routing class. &lt;/p&gt;&lt;p&gt;I asked myself (as I was the new guy who was paranoid about breaking everything) “What will the affects of my change be on the rest of the application where this class is used extensively?”&lt;/p&gt;&lt;p&gt;Without unit tests, the process of fixing this simple bug involved me writing high level tests to confidence test that my changes to make sure they had not affected other areas of the system.&lt;/p&gt;&lt;p&gt;This was not easy, as I was new to the company and was guessing at best which areas may have been affected, but I was thorough and tested through every area that I was aware that the class was used. I also asked the more experienced members of the team who had worked with this code base for years to tell me where they think my changes may have affected. They knew as little as I did on the most part.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Do you see how much time and effort was involved just to be confident a simple change to the URL Routing class wouldn’t cause any issues in other parts of the application which were dependent upon it?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;If the system had been built using Test Driven Development, I could make this change then run the units tests, and be confident within minutes I hadn’t broken the system.&lt;/p&gt;&lt;p&gt;The fact is the bug would most likely not of been there in the first place as the URL Routing class would have been tested correctly upon creation and the bug I was fixing was a result of someone else’s change to the class in the first place!!&lt;/p&gt;&lt;p&gt;&lt;u&gt;Effort = Time &lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Time = Money &lt;/u&gt;&lt;/p&gt;&lt;p&gt;So if the development process in place requires that much time &amp;amp; effort to be confident of changes and fixes (not to mention reoccurring bugs from other fixes) you can see the loss of &lt;u&gt;business advantage.&lt;/u&gt;&lt;/p&gt;&lt;p&gt;For an extensive list of the benefits of TDD see:&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Test-driven_development#Benefits"&gt;http://en.wikipedia.org/wiki/Test-driven_development#Benefits&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Example of using TDD to solve Project Euler&lt;/h2&gt;&lt;p&gt;Now I will run through an example of how I went about solving Problem 1 of Project Euler by deriving my answer from the tests.&lt;/p&gt;&lt;p&gt;“Problem 1&lt;/p&gt;&lt;p&gt;&lt;i&gt;If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Find the sum of all the multiples of 3 or 5 below 1000.”&lt;/i&gt;&lt;/p&gt;&lt;p&gt;From this we can write the Unit Test to test the case which states: If we pass 10 as the limit, the sum of the multiples of 3 or 5 which less than 10 must equal 23. &lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;[&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(255, 198, 109);"&gt;Test&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;]&lt;br /&gt;&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;public void &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;Prob1_Should_Return_Sum_Of_All_Multiples_Of_3_Or_5_Below_10()&lt;br /&gt;{&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(255, 198, 109);"&gt;Assert&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;.AreEqual(&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;23&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;, projEulerInstance.GetSumOfAllMultiplesOf3Or5Below(&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;10&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;));&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Create the Stub of the Function ‘GetSumOfAllMultiplesOf3Or5Below(int pLimit)’&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;public int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;GetSumOfAllMultiplesOf3Or5Below(&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;pLimit)&lt;br /&gt;{&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;return &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;0&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;;&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Note: In Stubs of functions I would generally return nothing and have &lt;/p&gt;&lt;p&gt;throw new NotImplementedException() &lt;/p&gt;&lt;p&gt;instead, just to be sure the answer was not in fact ‘0’. But in this example I wish to show how the NUnit test runner shows what the expected value and the actual value are, as later this can be used to see your solution to Problem 1.&lt;/p&gt;&lt;p&gt;Run Unit Test &lt;/p&gt;&lt;p&gt;(In this instance I am using the NUnit test runner targeting the assembly of my Test project.)&lt;/p&gt;&lt;p&gt;Write code to solve problem&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;public int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;GetSumOfAllMultiplesOf3Or5Below(&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;pLimit)&lt;br /&gt;{&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;result = &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;0&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;;&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;for &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;(&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;i = &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;1&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;; i &amp;lt; pLimit; i++)&lt;br /&gt; {&lt;br /&gt;     &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;if &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;(i % &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;3 &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;== &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;0&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;)&lt;br /&gt;     {&lt;br /&gt;         result += i;&lt;br /&gt;         &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;continue&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;if &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;(i % &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;5 &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;== &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;0&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;)&lt;br /&gt;     {&lt;br /&gt;         result += i;&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;return &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;result;&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Run test again. &lt;/p&gt;&lt;p&gt;As you can see the test now passed.&lt;/p&gt;&lt;p&gt;Now change the parameter to that stated in the question, in this case it will be 1000. &lt;/p&gt;&lt;p&gt;Run the test and it will fail, but you will be able to see you answer as I outlined above the expected value will be 23, but the actual value will be your answer.&lt;/p&gt;&lt;p&gt;Pop the answer your ProjectEuler.net problems page, and feel good about yourself.&lt;/p&gt;&lt;p&gt;The next stipulation we must test is that the algorithm executes in less than 60 seconds. As this is one of the less CPU intensive problems it shouldn’t take more than a second to run but this will be useful for later questions which require a lot of crunch.&lt;/p&gt;&lt;p&gt;So in order to measure execution time I will lean upon the System.Diagnostics.Stopwatch class. This class has a greater degree of accuracy than the System.DateTime class and was created later in the .NET frameworks lifecycle for more accurate scientific timing.&lt;/p&gt;&lt;p&gt;The unit test to measure the execution time will look like this:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;[&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(255, 198, 109);"&gt;Test&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;]&lt;br /&gt;&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;public void &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;Prob1_Should_Return_Sum_Of_All_Multiples_Of_3_Or_5_Below_1000_Within_60_Seconds()&lt;br /&gt;{&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:gray;" &gt;//Time execution&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;timer.Start();&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;int &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;ans = projEulerInstance.Prob1_GetSumOfAllMultiplesOf3Or5Below(&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;1000&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;);&lt;br /&gt; timer.Stop();&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:gray;" &gt;//Print execution time&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(255, 198, 109);"&gt;Console&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;.WriteLine(&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(165, 194, 92);"&gt;"Elapsed Ticks: {0}\nElapsed Seconds: {1}"&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;, timer.ElapsedTicks, timer.Elapsed.Seconds);&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:gray;" &gt;//Tests Answer Correctness&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(255, 198, 109);"&gt;Assert&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;.AreEqual(&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;233168&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;, ans);&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:gray;" &gt;//Test Execution time &amp;lt; 60 seconds&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(204, 120, 50);"&gt;bool &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;ExecutionTimeLessThanSixtySeconds = (&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(104, 151, 187);"&gt;60 &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;&amp;gt; timer.Elapsed.Seconds);&lt;br /&gt; &lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(255, 198, 109);"&gt;Assert&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;.IsTrue(ExecutionTimeLessThanSixtySeconds);&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Run the Unit test again and you will see the results. If it passes your good to go!&lt;/p&gt;&lt;p&gt;So you can see how I derived my code to solve this problem from the test, you now have the freedom to change your algorithm in any fashion you want and have the unit tests there to verify if your changes haven’t broken the code.&lt;/p&gt;&lt;p&gt;This is a huge benefit when it comes to application maintainability, as you can be confident that your change is not breaking another of the system.&lt;/p&gt;&lt;p&gt;You may also find the unit test suite useful as a &lt;i&gt;runner&lt;/i&gt; for each of your algorithms, giving you a quick and easy way to run each of them individually.&lt;/p&gt;&lt;p&gt;Adding a few trace statements and print line statements you give yourself the ability to view information mid execution quickly and effectively within the NUnit Test Runner, without having to step through debug or run the program and changing which algorithms get executed.&lt;/p&gt;&lt;p&gt;E.g. &lt;/p&gt;&lt;p&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:gray;" &gt;//Print execution time &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:gray;" &gt;&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(255, 198, 109);"&gt;Console&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;.WriteLine(&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: rgb(165, 194, 92);"&gt;"Elapsed Ticks: {0}\nElapsed Seconds: {1}"&lt;/span&gt;&lt;span style="background: black none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;color:white;" &gt;, timer.ElapsedTicks, timer.Elapsed.Seconds); &lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;&lt;p&gt;The way in which I have went about solving the problems within Project Euler through the use of test driven development has really helped me over come hurdles such as figuring out what I wish to test, how to test it and how to test only one thing at a time resulting in better quality and more maintainable code.&lt;/p&gt;&lt;p&gt;The use of TDD and the skills which I gained whilst working on this project I have found to transfer perfectly into my more general business application development practices, regarding testability, modularity and performance.&lt;/p&gt;&lt;p&gt;Project Euler is a fun way improve your knowledge in whatever language you choose or by whatever means you choose to solve your problems. &lt;/p&gt;&lt;p&gt;Thank you for reading!&lt;/p&gt;&lt;blockquote&gt;&lt;div style="text-align: center;"&gt;                             &lt;a href="http://creativecommons.org/licenses/by-sa/2.0/uk/" rel="license"&gt;&lt;img style="border-width: 0px;" alt="Creative Commons License" src="http://i.creativecommons.org/l/by-sa/2.0/uk/88x31.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;span rel="dc:type" property="dc:title" href="http://purl.org/dc/dcmitype/Text" dc="http://purl.org/dc/elements/1.1/"&gt;ProjectEuler.net via Test Driven Development using C#&lt;/span&gt; &lt;/strong&gt;by &lt;span property="cc:attributionName" cc="http://creativecommons.org/ns#"&gt;&lt;strong&gt;Steven Holdsworth&lt;/strong&gt;&lt;/span&gt; is licensed under a &lt;a href="http://creativecommons.org/licenses/by-sa/2.0/uk/" rel="license"&gt;Creative Commons Attribution-Share Alike 2.0 UK: England &amp;amp; Wales License&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-5313857594754970857?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/5313857594754970857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=5313857594754970857&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/5313857594754970857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/5313857594754970857'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/08/project-euler-via-test-driven.html' title='Project Euler via Test Driven Development using C# .NET'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-7805354600830349913</id><published>2008-08-25T21:23:00.001+01:00</published><updated>2008-08-25T21:29:20.114+01:00</updated><title type='text'>Microsoft Student Partners Summit August 2008</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;h2&gt;Summary&lt;/h2&gt;  &lt;p&gt;This was a opportunity for the Microsoft Student Partners (MSP) from both Northern Ireland and the Republic of Ireland to get introduced to each other and the Microsoft Team in Dublin on the 15th August 2008.&lt;/p&gt;  &lt;h2&gt;A Sunny Dublin Morning&lt;/h2&gt;  &lt;p&gt;I travelled down to Dublin from Belfast early in the early morning Friday the 15th August.&amp;#160; &lt;/p&gt;  &lt;p&gt;It was lashing out of the heavens in Belfast so I was glad to find the sun was shinning in Dublin.&amp;#160; I made my way into the city centre (as I had some time to spare) where I found a cool little coffee shop to do a bit of work on a web site I had been creating to host registrations for QuMIX 2008.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://QuMIX.AdvancedWorks.co.uk" target="_blank"&gt;QuMIX&lt;/a&gt; is an event I have been organising to display the funky new Microsoft Technologies to other students within my University (Queens University Belfast).&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blog.mikemcmeekin.info" target="_blank"&gt;Mike McMeekin&lt;/a&gt; the MSP for the previous year ran a great QuMIX in 2007 see: &lt;a href="http://blog.mikemcmeekin.info/?tag=/qumix" target="_blank"&gt;here&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Microsoft Ireland&lt;/h2&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I made my way to the Microsoft HQ just south of Dublin.&amp;#160; I was still a bit early, which turned out to be a good thing, as the Taxi Driver took me to the wrong Microsoft Building =P but before I knew it I was shuttled over to the correct building. (This was the ill fate of many a MSP before the morning was over hehe).&lt;/p&gt;  &lt;h2&gt;The Days Events&lt;/h2&gt;  &lt;p&gt;We were greeted in Building 1 by Liam Cronin the Microsoft Academic Engagement Manager after which we were treated to some lunch.&lt;/p&gt;  &lt;p&gt;Lunch was a good opportunity to getting chatting to the other guys and gals on the Student Partner program.&amp;#160; After lunch we were given some MSP swag which include a sweet laptop bag &amp;gt;.&amp;lt; nice!&lt;/p&gt;  &lt;p&gt;Liam proceeded to introduce the program to us and give us a overview of the great opportunities and training that would be available to us as Microsoft Partners.&amp;#160; &lt;/p&gt;  &lt;p&gt;MSPs from prior years dealt out some words of experience and Orla Meede gave the low down on Placement and Graduate opportunities available at Microsoft.&lt;/p&gt;  &lt;p&gt;We spent some time taking about the Imagine Cup. MSPs shared their experiences from last year.&amp;#160; &lt;/p&gt;  &lt;p&gt;I can’t wait to get a team together now!! &lt;/p&gt;  &lt;p&gt;This years &lt;a href="http://imaginecup.com/" target="_blank"&gt;Imagine Cup&lt;/a&gt; is being held in magical Egypt, I highly recommend all you students out there to check this out!&lt;/p&gt;  &lt;h2&gt;Martha Rotter on Windows Live Services, Silverlight 2, Popfly and all things funky!&lt;/h2&gt;  &lt;p&gt;We were treated to a awesome presentation by &lt;a href="http://blogs.msdn.com/martharotter/" target="_blank"&gt;Martha Rotter&lt;/a&gt; a member of the Platform Evangelism for Ireland.&lt;/p&gt;  &lt;p&gt;She discussed all things cool happening in the Microsoft world and showed off how to take advantage of them, the highlights for me were:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;HD Media Streaming with Silverlight 2 (using Expression Studio)&lt;/p&gt;    &lt;p&gt;&lt;a href="http://robburke.net/images/deeplol.html" target="_blank"&gt;LolCats Silverlight Deepzoom&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Leaning on the new Windows Live Services to create Mash Ups with Popfly.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I had a great time chatting to Martha about Techy stuff over some Lemon Fanta(woop woop!), and I took this chance to invite her back to do a presentation at QuMIX this year!&lt;/p&gt;  &lt;p&gt;She had a great time doing so last year and sounded exited about doing it again this year =) ! &lt;/p&gt;  &lt;h2&gt;Party With the Partners!&lt;/h2&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;After the presentations and the days activities had ended at the Microsoft Campus we made our way to the Bewley’s hotel.&lt;/p&gt;  &lt;p&gt;After I got checked in and left a few bags off in my room, I joined the rest of the Student Partners in the hotel bar. (..well where else are you going to find the Students eh?)&lt;/p&gt;  &lt;p&gt;I really enjoyed getting to chat with all the guys and gals from around the country, was a really good time and this type of thing was the exact reason I wanted to become a MSP in the first place.&lt;/p&gt;  &lt;p&gt;We grabbed some dinner in cool Thai Restaurant, the banter was flowing (so was the red wine =P)!&lt;/p&gt;  &lt;p&gt;After dinner we made our way back to the hotel where the party lasted into the wee hours!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a title="MSP Summit August 2008" href="http://flickr.com/photos/jsynnott/2769609768/in/set-72157606769283688/" target="_blank"&gt;&lt;img style="margin: 0px" height="292" src="http://farm4.static.flickr.com/3105/2769609768_005ed4f794.jpg?v=0" width="383" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Good times had by all, some really great techy conversations were definitely had between myself and the other MSPs. &lt;/p&gt;  &lt;p&gt;Can’t wait for the next one I’m sure it wont take us long to organise! &lt;/p&gt;  &lt;p&gt;kthnx &amp;gt;.&amp;lt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-7805354600830349913?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/7805354600830349913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=7805354600830349913&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7805354600830349913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7805354600830349913'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/08/microsoft-student-partners-summit.html' title='Microsoft Student Partners Summit August 2008'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-4809848077042721714</id><published>2008-08-19T22:35:00.001+01:00</published><updated>2008-08-19T22:38:31.644+01:00</updated><title type='text'>Live Maps &gt; Google Maps to be honest!</title><content type='html'>&lt;p&gt;My house mate (the open source zealot) and myself were chatting over a pint tonight.. numerous interesting topics came up, and especially since I have just became a Microsoft Student Partner he had more to say than usual…&lt;/p&gt;  &lt;p&gt;but anyway's..&lt;/p&gt;  &lt;p&gt;The topic of Live Maps versus Google Maps came up and for me Live Maps was the superior futuristic zoom in from space tool based in the browser.. and believe it or not &lt;strong&gt;he agreed&lt;/strong&gt; *shock*… but we did agree it was slightly slower (we share a 20 M-Bit cable connection it was never going to affect us anyway).&lt;/p&gt;  &lt;p&gt;The winning feature was the 4 way direction “bird’s eye” view feature where you have the high quality shot from 4 angles N,S,E,W.&lt;/p&gt;  &lt;p&gt;So below is a image of the terrace block I live in right in the heart of Belfast.&lt;/p&gt;  &lt;p&gt;Our house is 3 year old, we broke it in, and check out the balcony ;) not bad for a student gaf huh? &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;     &lt;div class="wlWriterSmartContent" id="scid:84E294D0-71C9-4bd0-A0FE-95764E0368D9:98757a0e-e087-442e-82d4-c1c118266678" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;a href="http://maps.live.com/default.aspx?v=2&amp;amp;cp=t2y6rzgh3wyk&amp;amp;lvl=2&amp;amp;style=o&amp;amp;scene=12501098&amp;amp;mkt=en-US&amp;amp;FORM=LLWR" id="map-a2cf47e8-0a2a-48b5-bf46-d5e0e644610f" alt="Click to view this map on Live.com" title="Click to view this map on Live.com"&gt;&lt;img src="http://lh5.ggpht.com/holSee/SKs8hJrpbwI/AAAAAAAAAFY/i4bWuTTaXZc/map-dd4e9c99f46c.jpg?imgmax=800" width="320" height="240" alt="Map image"&gt;&lt;/a&gt;&lt;/div&gt;   &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;All you MSP's are welcome to come and party on it next time you hit up sunny Belfast!&lt;/p&gt;  &lt;p&gt;..well if we every get a summer!&lt;/p&gt;  &lt;p&gt;kthnx &amp;gt;.&amp;lt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-4809848077042721714?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/4809848077042721714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=4809848077042721714&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4809848077042721714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4809848077042721714'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/08/live-maps-google-maps-to-be-honest.html' title='Live Maps &amp;gt; Google Maps to be honest!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/holSee/SKs8hJrpbwI/AAAAAAAAAFY/i4bWuTTaXZc/s72-c/map-dd4e9c99f46c.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-5423189724561831804</id><published>2008-08-19T07:49:00.001+01:00</published><updated>2008-08-19T07:54:52.595+01:00</updated><title type='text'>Getting Started with Silverlight 2</title><content type='html'>&lt;p&gt;This post is in response to an earlier post of mine (&lt;a title="An introduction to the Next Generation of Applications and Overview of How they are made in .NET" href="http://holsee.blogspot.com/2008/07/introduction-to-generation-of.html"&gt;An introduction to the Next Generation of Applications and Overview of How they are made in .NET&lt;/a&gt;) where I talk about the next generation of applications and tools supplied to do so.&lt;/p&gt;  &lt;h2&gt;Summary&lt;/h2&gt;  &lt;p&gt;The goal of this post is to summarize that post into a quick and hopefully simple guide to get started developing rich Silverlight 2 web applications.&lt;/p&gt;  &lt;h2&gt;Tools&lt;/h2&gt;  &lt;p&gt;As of 19th August 2008 this is the tool set I use to develop Silverlight applications:&lt;/p&gt;  &lt;p&gt;Microsoft Visual Studio 2008 Team System&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Free Alternative: &lt;u&gt;&lt;a href="http://msdn.microsoft.com/en-us/vs2008/products/cc268305.aspx" target="_blank"&gt;90 Day Free Trial of Visual Studio 2008&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;    &lt;p&gt;“Express is not supported in Beta of the Silverlight tools. It will be supported in RTM. Silverlight Tools Beta 2 only supports Visual Studio.” &lt;a title="http://forums.asp.net" href="http://forums.asp.net"&gt;http://forums.asp.net&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;But in the mean time my advice is get your hands on a copy of Visual Studio 2008, It is not that hard &lt;strong&gt;especially if you are a student&lt;/strong&gt;!&amp;#160; Check out the &lt;a href="http://msdn.microsoft.com/en-gb/academic/default.aspx" target="_blank"&gt;MSDNAA&lt;/a&gt; &amp;amp; &lt;a href="https://downloads.channel8.msdn.com/" target="_blank"&gt;DreamSpark&lt;/a&gt; initiatives from Microsoft in your college / university.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=FBEE1648-7106-44A7-9649-6D9F6D58056E&amp;amp;displaylang=en" target="_blank"&gt;Microsoft Visual Studio 2008 Service Pack 1&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Having issues installing? – you wouldn’t be there first..&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A494B0E0-EB07-4FF1-A21C-A4663E456D9D&amp;amp;displaylang=en" target="_blank"&gt;Visual Studio 2008 Service Pack Preparation Tool&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;“The tool is intended to prepare systems that may have previously been updated with SP1 pre-releases.” &lt;a href="http://www.microsoft.com"&gt;www.microsoft.com&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;So if your are having any issues regarding the installation of Visual Studio SP1 run this preparation tool prior to the SP1 installer. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&amp;amp;displaylang=en" target="_blank"&gt;Microsoft .NET Framework 3.5 Service Pack 1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=50A9EC01-267B-4521-B7D7-C0DBA8866434&amp;amp;displaylang=en" target="_blank"&gt;Silverlight Tools Beta 2 for Visual Studio 2008&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“&lt;em&gt;Silverlight Tools Beta 2&lt;/em&gt; has been updated to support &lt;em&gt;Visual Studio 2008&lt;/em&gt; and &lt;em&gt;Visual Studio 2008 SP1&lt;/em&gt;.” &lt;a href="http://www.microsoft.com"&gt;www.microsoft.com&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=32A3E916-E681-4955-BC9F-CFBA49273C7C&amp;amp;displaylang=en" target="_blank"&gt;Expression Blend 2.5 June 2008 Preview&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I have not had a problem using the Expression Blend June 2008 Preview with Visual studio SP1 Projects to date, with the set-up I have just outlined.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Quick Start Guide&lt;/h3&gt;  &lt;p&gt;   &lt;p&gt;Silverlight.net has a wealth of knowledge from the Gurus!&amp;#160; I recommend starting here: &lt;a title="http://silverlight.net/GetStarted/" href="http://silverlight.net/GetStarted/"&gt;http://silverlight.net/GetStarted/&lt;/a&gt; where you will find Video tutorials and articles from the industry experts!&lt;/p&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;I will be posting my “Getting Started Meaningfully” guides soon where I got through use &amp;amp; creation of useful controls that are aimed at solving problems the majority of us face right of the bat.&lt;/em&gt;&lt;/p&gt;  &lt;h2&gt;Recommended Links&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://www.Silverlight.net"&gt;www.Silverlight.net&lt;/a&gt; – seriously its a great resource for beginners to gurus.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://silverlight.net/blogs/jesseliberty/" target="_blank"&gt;Jesse Liberty’s Blog&lt;/a&gt; – the content is a bit advanced for a beginner, but is a great place to see where the experts are pushing the boundaries and doing a lot of cool stuff with Silverlight.&lt;/p&gt;  &lt;p&gt;Check out &lt;a href="http://blogs.msdn.com/corrinab/" target="_blank"&gt;Carina Barbers blog&lt;/a&gt; UX Musings -&amp;#160; She is a &lt;u&gt;Designer&lt;/u&gt; and has released a series of awesome ( and free ) control templates i.e. “Skins” which show what is possible with regards to customisation of Silverlight controls - &lt;em&gt;upgraded for Silverlight 2&lt;/em&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-5423189724561831804?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/5423189724561831804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=5423189724561831804&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/5423189724561831804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/5423189724561831804'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/08/getting-started-with-silverlight.html' title='Getting Started with Silverlight 2'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-4393561985367523301</id><published>2008-08-12T21:41:00.003+01:00</published><updated>2008-08-19T05:35:06.876+01:00</updated><title type='text'>Start Chatting for Charity</title><content type='html'>&lt;p&gt;I discovered today the “I’M” initiative from Microsoft.&lt;/p&gt;  &lt;p&gt;#UPDATE: Only works in the USA to date.&lt;/p&gt;  &lt;h2&gt;ABOUT I’M&lt;/h2&gt; Very simply,  &lt;br /&gt;  &lt;blockquote&gt;   &lt;p&gt;“Every time you use Windows Live™ Messenger or Windows Live Hotmail®, our free webmail service, Microsoft shares a portion of the program's advertising revenue with an organization of your choice from a selection of some of the world's most effective organizations dedicated to social causes. We've set no cap on the amount we'll donate to each organization. The sky's the limit. &lt;strong&gt;&lt;u&gt;And it's free.&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;I’M&lt;/strong&gt; is about making a difference. Not in a huge expensive way, not in a time-consuming way. But in a simple, effective way.&lt;/p&gt;    &lt;p&gt;You won't have to change your conversation to change the conversation. With every e-mail and instant message, you help address an issue you feel passionate about, including poverty, child protection, disease, environmental degradation and animal protection. Just join and start talking, and we'll start giving.”&lt;/p&gt;    &lt;p&gt;..quoted from &lt;a title="http://im.live.com" href="http://im.live.com/" target="_blank"&gt;http://im.live.com/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;I'm just Diggin' the concept&lt;/h2&gt;  &lt;p&gt;Why am I blabberin' about this? Simple its a very cool idea, and another example of technology making a difference. &lt;/p&gt;  &lt;p&gt;Personally I hate being advertised at all day every day on my MSN contacts window, to the point where I would choose alternatives like trillian and pidgeon.. but the idea of the ads being there doing some good makes it easier to deal with =].&lt;/p&gt;  &lt;p&gt;[Well not for me because I am in the UK]&lt;/p&gt;  &lt;h2&gt;How Do I sign up?&lt;/h2&gt;  &lt;p&gt;Simply go &lt;a href="http://im.live.com/Messenger/IM/Join/" target="_blank"&gt;here&lt;/a&gt; and enter you Live ID (i.e. your Live Messenger email address), proceed and choose your top 3 charities.. and your done.&lt;/p&gt;  &lt;h2&gt;Catches?&lt;/h2&gt;  &lt;p&gt;Quite simply there are &lt;strong&gt;&lt;u&gt;none.&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;By simple messaging your friends via Live Messenger and Emailing from Live Mail you will be donating to the 3 charities you selected on in your “I’M” profile.&lt;/p&gt;  &lt;p&gt;Yea in reality.. Microsoft will be donating, taken from the advertising revenue they receive for showing you ads. &lt;/p&gt;  &lt;p&gt;DON’T PANIC, these are new new ads, just the same old ones that have always been there annoying you.. so now they might not annoy you just so much.&lt;/p&gt;  &lt;h2&gt;Spread the word&lt;/h2&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;So &lt;a href="http://im.live.com/Messenger/IM/Contribute/Default.aspx" target="_blank"&gt;spread the word&lt;/a&gt; to your friends and family (in the USA), It couldn’t hurt, but it could do some good!&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:b51022d5-922d-4218-9a09-e6753db87886" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 365px; padding-top: 0px"&gt;&lt;div&gt;&lt;embed src="http://images.video.msn.com/flash/soapbox1_1.swf" quality="high" width="365" height="307" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://macromedia.com/go/getflashplayer" flashvars="c=v&amp;v=75d5b591-fa11-4e82-aa3c-4695f15751ac&amp;allowFullScreen=true&amp;from=writer&amp;mkt=en-US"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-4393561985367523301?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/4393561985367523301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=4393561985367523301&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4393561985367523301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/4393561985367523301'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/08/start-chatting-for-charity.html' title='Start Chatting for Charity'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-7577681155821675434</id><published>2008-08-09T19:25:00.001+01:00</published><updated>2008-08-09T19:31:05.592+01:00</updated><title type='text'>My week with Ruby (Take 2)</title><content type='html'>&lt;p&gt;Ok as I was saying before &lt;a href="http://holsee.blogspot.com/2008/08/windows-live-writer-grrrrrrr.html" target="_blank"&gt;Windows Live Writer rudely cashed&lt;/a&gt;..&lt;/p&gt;  &lt;p&gt;I had allot of time free this week, my current contract is completely un-stimulating.. so I decided to learn a new language!&lt;/p&gt;  &lt;p&gt;You guessed it, my new love Ruby!&lt;/p&gt;  &lt;p&gt;It really is all it has been cracked up to be, created 1993 by Yukihiro Matsumoto (&amp;quot;Matz&amp;quot;) released to the world 1995 I believe and booming in the development communality almost 10 years later.&lt;/p&gt;  &lt;p&gt;Its a dynamically typed scripting language which is insanely readable, if not the most readable programming language out there, without being verbose.&amp;#160; I'm well chuffed with it, its been allot fun to learn.&lt;/p&gt;  &lt;h2&gt;Day 1: Read a book&lt;/h2&gt;  &lt;p&gt;I read &lt;a href="http://poignantguide.net/ruby/" target="_blank"&gt;Why's (poignant) Guide to Ruby&lt;/a&gt; - recommended to me by my house mate Stu, with the statement &amp;quot;It's an insane open source book on Ruby, the dude ..&amp;quot; (by which he meant the author Why The Lucky Stiff) &amp;quot;.. goes off on tangents about heroin taking cats and has cartoons of cigarette smoking foxes..&amp;quot;.&amp;#160; I too recommend this book to anyone who fancies getting into Ruby.. let the foxes guide you through your learning!&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;..see what I mean: &lt;img title="Addiction is like Pokemon!" alt="Addiction is like Pokemon!" src="http://poignantguide.net/ruby/i/the.foxes-0a.png" /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Day 2: watched some screencasts&lt;/h2&gt;  &lt;p&gt;I watched &lt;a href="http://www.dnrtv.com" target="_blank"&gt;.Net Rocks! TV&lt;/a&gt; screencasts by Venkat Subramaniam on the Topic of Ruby and Ruby like features in .Net.&lt;/p&gt;  &lt;p&gt;I had previously watched his shows on Agile Development Techniques and was well impressed, taking his advise and trying to adopt it into my everyday coding... these 4 screencasts were equally impressive, and his emphasis on how Ruby development fit so well with Agile teams opened my eyes to the benefits of dynamic languages (before hand I was so much more in favour of static typed languages). &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;It is note worthy the screencasts on the Ruby Like features in C# .NET, the bridges that have been made to use .NET libraries from Ruby and the IronRuby project. &lt;/p&gt;    &lt;p&gt;.Net Rocks! TV Show Numbers:&lt;/p&gt;    &lt;p&gt;Ruby:&amp;#160; &lt;a href="http://www.dnrtv.com/default.aspx?showNum=37" target="_blank"&gt;37&lt;/a&gt;, &lt;a href="http://www.dnrtv.com/default.aspx?showNum=38" target="_blank"&gt;38&lt;/a&gt;, &lt;/p&gt;    &lt;p&gt;Ruby Like features in .NET: &lt;a href="http://www.dnrtv.com/default.aspx?showNum=41" target="_blank"&gt;41&lt;/a&gt;, &lt;a href="http://www.dnrtv.com/default.aspx?showNum=57" target="_blank"&gt;57&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Agile Design: &lt;a href="http://www.dnrtv.com/default.aspx?showNum=73" target="_blank"&gt;73&lt;/a&gt;, &lt;a href="http://www.dnrtv.com/default.aspx?showNum=74" target="_blank"&gt;74&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Day 3: My DEV ENV. &amp;amp; Rails&lt;/h2&gt;  &lt;p&gt;Ruby on Rails in a nut shell.. It generates a MVC scaffold for your application, It uses ActiveRecord ORM design pattern, it allows you to define you DB schema in ruby and generate your DB tables from your definitions in the Model, it is swish! &lt;/p&gt;  &lt;p&gt;Check this out: Weblog made in 15 minutes (USING RAILS v1.2)&lt;/p&gt;  &lt;p&gt;#UPDATE# Watch this on the Ruby On Rails Site quality is allot better: &lt;a title="http://www.rubyonrails.org/screencasts" href="http://www.rubyonrails.org/screencasts"&gt;http://www.rubyonrails.org/screencasts&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:69a716bd-e924-47ff-98d6-b940b175b370" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 397px; padding-top: 0px"&gt;&lt;div&gt;&lt;object width="397" height="331"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Gzj723LkRJY&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Gzj723LkRJY&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" wmode="transparent" width="397" height="331"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;My laptop is retro =P so it couldn't deal with the heavy eclipse based Aptana studio.. even thou it runs multiple instances of Visual Studio Express Edition no bother!&lt;/p&gt;  &lt;p&gt;I chose to go for the TextMate rip off for windows &lt;a href="http://www.e-texteditor.com/" target="_blank"&gt;e Editor&lt;/a&gt;..&lt;/p&gt;  &lt;p&gt;(just for the sexy Vibrant Ink syntax colouring which I notably use in Visual Studio and my Blogs header ^^) &lt;/p&gt;  &lt;p&gt;..along with &lt;a href="http://instantrails.rubyforge.org/" target="_blank"&gt;InstantRails&lt;/a&gt;, which basically includes MySQL, Apache, Ruby and RubyGems and Rails.. all in one handy little package and its light weight.&lt;/p&gt;  &lt;p&gt;On my Beastly PC at home I use &lt;a href="http://www.aptana.com/" target="_blank"&gt;Aptana Studio&lt;/a&gt; for all my non Microsoft based needs.. I has an awesome &lt;a href="http://www.aptana.com/rails" target="_blank"&gt;RAD Rails&lt;/a&gt; plugin which makes developing with Ruby on rails even faster and transfers the commands from the cmd line to handy little drop down lists.&lt;/p&gt;  &lt;h2&gt;Day 4 &amp;amp; 5: Project Wiki&lt;/h2&gt;  &lt;p&gt;I got the book &lt;a href="http://pragprog.com/titles/rails2/agile-web-development-with-rails" target="_blank"&gt;Agile Web Development with Rails&lt;/a&gt;.. well my house mate did then I stole it from him. &lt;/p&gt;  &lt;p&gt;I was baffled, confused and pulling my hair out, at the changes from Rails 1.2 to Rails 2.1 (which I had installed).. a few relevant weblog entries later I found the major differences and managed to cope and continue learning.. &lt;/p&gt;  &lt;p&gt;I was creating a wiki site, that allowed users to create a quick and easy team site for a project, with tasks and a burndown chart (adding that good old agile and scrum techniques).. &lt;/p&gt;  &lt;p&gt;Ruby on Rails was more than capable of getting this up quickly, I just didn't find it that pleasant to use or easy to customise, I understand why Ruby fits well with Agile, but I recon my inexperience in using the framework was holding me back.&lt;/p&gt;  &lt;h2&gt;Dynamic Data v Ruby on Rails..coming soon&lt;/h2&gt;  &lt;p&gt;So now I am venturing to familiar pastures, I am going to implement the same project wiki site with the APS.NET Dynamic Data extension (which is available in .NET 3.5 SP1 beta 1 + Visual Studio 2008 SP1 beta) to see If it stands up to the competition.&lt;/p&gt;  &lt;p&gt;I will post my findings and comparisons, but its worth noting I only started using ruby this week and rails a few days ago.. and I completed so much.. whereas I have been developing with .NET for a couple of years.&lt;/p&gt;  &lt;p&gt;Will be interesting..&lt;/p&gt;  &lt;p&gt;Also Check out: the &lt;a href="http://codeigniter.com/" target="_blank"&gt;Code Igniter&lt;/a&gt; for you PHP fan boys out there that want a framework to do all the same guff for you!&lt;/p&gt;  &lt;p&gt;&amp;gt;.&amp;lt; cheers! (no more crashes.. phew!)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-7577681155821675434?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/7577681155821675434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=7577681155821675434&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7577681155821675434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7577681155821675434'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/08/my-week-with-ruby-take-2.html' title='My week with Ruby (Take 2)'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-6051999527751365178</id><published>2008-08-09T18:14:00.001+01:00</published><updated>2008-08-09T18:14:40.383+01:00</updated><title type='text'>Windows Live Writer grrrrrrr!</title><content type='html'>&lt;p&gt;Ok I was just writing a post about my experiences this week whilst learning Ruby and I embedded a YouTube video, Windows Live Writer just fell over on its FACE, full on crash, I'm left with 500 words lost and pissed off!&lt;/p&gt;  &lt;p&gt;I wish this has the same recovery support that is built into Microsoft&amp;#160; Office, that would be swish.. &lt;/p&gt;  &lt;p&gt;oh well.. Take 2 en route!&lt;/p&gt;  &lt;p&gt;o.0 &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-6051999527751365178?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/6051999527751365178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=6051999527751365178&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/6051999527751365178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/6051999527751365178'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/08/windows-live-writer-grrrrrrr.html' title='Windows Live Writer grrrrrrr!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-8641095766830985958</id><published>2008-07-29T19:55:00.001+01:00</published><updated>2008-07-29T19:55:08.631+01:00</updated><title type='text'>Contracting, Job Opportunities and 9am phone calls..</title><content type='html'>&lt;p&gt;Well I want to keep this one short and sweet.. just a little bit of advice and experience I wish to share with the masses on the tough times in the IT sector in the UK.. &lt;/p&gt;  &lt;h2&gt;Contracting&lt;/h2&gt;  &lt;p&gt;Ok, I am still a computer science student.. yes, but I have been inundated with job offers and contracting work since I left Meridio.&amp;#160; This gives me hope during recession stricken times.&amp;#160; &lt;/p&gt;  &lt;p&gt;Why thou am I getting these offers?&lt;/p&gt;  &lt;p&gt;Step 1, An Awesome CV - This is thanks to 2 people, My buddy Gary G. who helped me get it up to scratch and Anne D. my careers teacher who&amp;#160; helped me get it in shape to gain my first real development job with Meridio.&lt;/p&gt;  &lt;p&gt;Step 2, Post it everywhere!&amp;#160; There is lots of work out there for those who want to get it.. recession and the global credit crunch is hurting companies everywhere, rounds upon round of redundancies are taking place across the world.. but there is work believe me.. &lt;/p&gt;  &lt;h2&gt;Job Opportunities&lt;/h2&gt;  &lt;p&gt;I have seen this first hand where a lot of the guys who were on the best salaries in the company and had built the product from the ground up were made redundant recently, but they all landed on their feet and more often than not in a far better paid job.&lt;/p&gt;  &lt;p&gt;I was told I was going to be kept on with Meridio after my contract expired around Christmas '07 as my Project Lead and Manager were impressed with the work I was producing.&amp;#160; Then the soul got kicked out of the company, when they were acquired by Autonomy, a information management giant who needed a Documents and Record Management product, not long after Christmas.&amp;#160; +People lost their jobs which is the nature of the business of course, especially when a large company takes over a small one.. but the passion was gone and people seemed unmotivated, which is understandable due to their friends who had built the product up with them for years were being fired..&lt;/p&gt;  &lt;p&gt;..a few months later my contract was not renewed with Meridio after my placement year with them, but on the bright side I am now working as a contractor for the Royal Bank of Scotland earning over twice as much as I was with Meridio.. and was hired within one week of leaving!&lt;/p&gt;  &lt;h2&gt;9am phone calls&lt;/h2&gt;  &lt;p&gt;As I was saying earlier in this post, get your CV out there!&amp;#160; There are still lots of jobs especially contracting work in the IT sector in the UK!&amp;#160; &lt;/p&gt;  &lt;p&gt;Within 24 hours of putting my CV on &lt;a href="http://www.monster.co.uk/" target="_blank"&gt;Monster.co.uk&lt;/a&gt; (9am the next morning to be exact), I had a recruiter on the phone enquiring about job opportunities that may of interested me, and later that week (after being woken up every morning at 9am in the first week I had been off for a year &amp;gt;.&amp;lt;!) the opportunity to work in the financial sector for RBS a mere 20 minute walk from my house was offered to me.. so I started my contracting firm to get the liability insurance, accepted the job and the rest is history. &lt;/p&gt;  &lt;h2&gt;Final Thoughts&lt;/h2&gt;  &lt;p&gt;I hope this gives those who have had hard times in the IT sector some hope during these tough times, cause my story here is not unique and there are many others I know personally have came from being unemployed, after working and giving their heart and soul to a product for the last 7 odd years and then fired out of nowhere, to earning a lot more than they were and landing on their feet in the space of a few weeks..!&amp;#160; &lt;/p&gt;  &lt;p&gt;Opportunity is everywhere..!&amp;#160; &lt;/p&gt;  &lt;p&gt;..I'm personally looking forward to going back to university come September =] ..divert this real world for a bit longer!&lt;/p&gt;  &lt;p&gt;Thanks!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-8641095766830985958?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/8641095766830985958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=8641095766830985958&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/8641095766830985958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/8641095766830985958'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/07/contracting-job-opportunities-and-9am.html' title='Contracting, Job Opportunities and 9am phone calls..'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-2396673010619037273</id><published>2008-07-29T17:59:00.001+01:00</published><updated>2008-07-29T17:59:05.484+01:00</updated><title type='text'>Steven Holdsworth now a Microsoft Student Partner for Queen's University Belfast!</title><content type='html'>&lt;p&gt;So I get home from other days contracting work at Royal Bank of Scotland, cracked a bottle of 2006 Faustino VII Rioja, and proceeded to check my Email...&lt;/p&gt;  &lt;p&gt;..and to my delight it would appear I got the Job as the Microsoft Student Partner for Queen's University Belfast.&lt;/p&gt;  &lt;p&gt;This should be great craic, involving technical presenting, attending conferences and general Microsoft evangelism getting the news out of technologies, which I already know are great fun from my own experience, to the people in my university. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;Oh No&amp;quot; you say..&lt;/p&gt;    &lt;p&gt;&amp;quot;Microsoft fanboy Steven has lost all credibility&amp;quot; you cry..&lt;/p&gt;    &lt;p&gt;..Don't worry, if you thought I ever had credibility that is good enough for me, and I'm not about to start changing my perspective on technology and general development because of a position, I will continue to speak my mind.. &lt;/p&gt;    &lt;p&gt;..If people didn't say 'things' sucked when they do, would 'things' ever get better? &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I'm really looking forward to it plus it's pure CV candy.&amp;#160; Saying that I have a good friend who informed me about the MSP program who interviewed for Microsoft when he graduated (with a 1st) and didn't get hired, and is now a successful .NET consultant in London, so who knows how sweet that candy is.. &lt;/p&gt;  &lt;p&gt;So there is a get together on the 15th August in Dublin (which I hope I can get time off my current contract to attend). There is going to a presentation on Silverlight, XNA, Popfly and the .NET framework.. should prove interesting..&amp;#160; &lt;/p&gt;  &lt;p&gt;..I really hope this turns out to be educational and interesting, not a dry marketing speech.&amp;#160; I'm sure it will be great thou Silverlight and XNA both do kick ass and I've had lots of fun with both..&lt;/p&gt;  &lt;p&gt;..oh and there is free beer&amp;#160; w00p w00p &amp;gt;.&amp;lt;!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-2396673010619037273?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/2396673010619037273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=2396673010619037273&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2396673010619037273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2396673010619037273'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/07/steven-holdsworth-now-microsoft-student.html' title='Steven Holdsworth now a Microsoft Student Partner for Queen&amp;#39;s University Belfast!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-7282779841804207785</id><published>2008-07-28T00:15:00.001+01:00</published><updated>2008-07-28T00:17:31.389+01:00</updated><title type='text'>WARNING: Blog Templates are the root of all evil!</title><content type='html'>&lt;p&gt;I was reading a news article which was talking about blogspot.com and similar sites being the biggest villains when it came to the spread of malware.&lt;/p&gt;  &lt;blockquote&gt;&lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://news.cnet.com/8301-1009_3-9997978-83.html" target="_blank"&gt;Blogspot.com cited as the No. 1 host for malware&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I was wondering how this could be, my experience with being a user of blogger has been nothing but positive and I couldn't understand where the problem lay..&lt;/p&gt;  &lt;p&gt;..then I decided one day to update the look and feel of my blog, so I searched for a template.&lt;/p&gt;  &lt;h2&gt;The Community&lt;/h2&gt;  &lt;p&gt;So my search turned up millions of pages.. with some beautiful templates with interactive JavaScript controls and slick layouts.  &lt;/p&gt;  &lt;p&gt;I was impressed there was a budding community surrounding the blog template business.. &lt;/p&gt;  &lt;p&gt;..and from the previews provided allot of very talented designers were involved.&lt;/p&gt;  &lt;p&gt;So I found one I wished to try out..&lt;/p&gt;  &lt;p&gt;..me being paranoid about other peoples scripts, I gave it a good once over.. &lt;/p&gt;  &lt;p&gt;..It was a disgrace! The template was cram packed with trashy code, and everything was linked via some advertising channel.  &lt;/p&gt;  &lt;p&gt;So I quickly deleted that trash and started to search for others, and the majority of the results I turned up had the same templates, with some other person advertising and malicious scripts.&lt;/p&gt;  &lt;h2&gt;WARNING&lt;/h2&gt;  &lt;p&gt;So my warning to you all is beware of the templates you use from 3rd parties, 99% of them out there are efforts by unscrupulous people to use your blog as a transport vessel for their malware, advertising and general web evil.&lt;/p&gt;&lt;h2&gt;Help Me Find The Good Guys!&lt;br /&gt;&lt;/h2&gt;  &lt;p&gt;I will make the effort to find the genuine designers web sites who are posting clean templates and I will share the links on this blog!&lt;/p&gt;  &lt;p&gt;k.thanx for reading &amp;gt;.&amp;lt;!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-7282779841804207785?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/7282779841804207785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=7282779841804207785&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7282779841804207785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/7282779841804207785'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/07/warning-blog-templates-are-root-of-all.html' title='WARNING: Blog Templates are the root of all evil!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-2138844515722338215</id><published>2008-07-27T23:49:00.001+01:00</published><updated>2008-07-27T23:49:04.187+01:00</updated><title type='text'>An introduction to the "Next Generation" of Applications and "Overview of How they are made in .NET"</title><content type='html'>&lt;p&gt;&amp;quot;Next Generation&amp;quot; Interactive clients are all the rage these days, and personally I believe it was a good time for me to be working with Microsoft .Net technologies, with the power of WPF and Silverlight really blowing away the competition.&lt;/p&gt;  &lt;p&gt;Clients with elegant transitions from 'screen' to 'screen', animated menus, carousels of interactive controls, fade effects, glow effects.. all screen candy that when harnessed in the correct manner can come together to make a very pleasant and interactive experience for the user.&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;It would seem there has never been a greater need for skilled designers with ability to design application interfaces with emphasis on a interactive and pleasant user experience, harnessing the power of interactive web 2.0 technologies (such as Silverlight, AJAX with libraries like jQuery, MSAjax so on..), and the powerful smart client technologies such as Windows Presentation Foundation (WPF). &lt;/p&gt;  &lt;p&gt;If you think you have to be a designer to design pleasant user interfaces you don't.&amp;#160; Within the .Net developer community there was this idea of needing a designer to be able to use and get the most out of presentation technologies such as Silverlight and WPF.&amp;#160; This is both true and false.&lt;/p&gt;  &lt;p&gt;It is true 99% of computer science courses do not teach future developer how to put their designer shoes on and create beautiful user interfaces..&lt;/p&gt;  &lt;p&gt;..but it has been proven by sticking to a few key guidelines an awesome UI is by no means out of the question from even the most artistically challenged developer..&lt;/p&gt;  &lt;p&gt;..for proof developers who confess are from from designers can build nice UI's by following a concepts outlined as a kind of best practice see: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=115" target="_blank"&gt;Billy Hollis on Getting Smart with WPF&lt;/a&gt; (.Net Rocks! TV)&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=338" target="_blank"&gt;Mark Miller on the Science of Good UI&lt;/a&gt; (.Net Rocks! Podcast)&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://www.dnrtv.com/default.aspx?showNum=112" target="_blank"&gt;Mark Miller on The Science of a Great User Experience Part 1&lt;/a&gt; (.Net Rocks! TV)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;My personal belief thou is that a dedicated designer with the ability to not only design the application interface but the 'User Experience' is a valuable asset to any Team working on a next generation application.&lt;/p&gt;  &lt;h3&gt;Developer + Designer = Dev-igner?&lt;/h3&gt;  &lt;p&gt;Microsoft have release Expression Studio, which is a suite of tools aimed &lt;strong&gt;not &lt;/strong&gt;at developers but at designers.&lt;/p&gt;  &lt;p&gt;Expression Blend is a tool for creating Next Generation User Interfaces.&amp;#160; It allows the 'designer' to create or open up any Visual Studio WPF or Silverlight solution, and create / work directly on the User Interface windows and controls as if they were the canvas.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh6.ggpht.com/holSee/SG57niTlBVI/AAAAAAAAADQ/VJ498wtC9eU/s1600-h/Blend-%20New%20Project%5B6%5D.png"&gt;&lt;img style="margin: 0px 0px 0px 55px" height="155" alt="Blend-NewProjectScreenShot" src="http://lh6.ggpht.com/holSee/SG57oaZmFnI/AAAAAAAAADU/XZQlfOG2hvc/Blend-%20New%20Project_thumb%5B4%5D.png?imgmax=800" width="240" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Blend allows you to work on the user interface completely &lt;strong&gt;WITHOUT&lt;/strong&gt; having to touch a single line of code.This is achieved as in WPF and Silverlight the actual view is created in XAML and Blend generates the XAML (..and we all know this is exactly the type of application designers feel comfortable in and want to be using). &lt;/p&gt;  &lt;p&gt;XAML is a markup language which represents the user interface not unlike traditional html or ASP in that respect, but realistically it is more like XHTML, CSS, JavaScript &amp;amp; Flash-esk starboard animation all rolled in to one declarative-ly syntaxed mark-up language with wicked sweet two way databinding and event handling in the form of TRIGGERS.. well at least that how I describe it. &lt;/p&gt;  &lt;p&gt;So this abstraction of the view from the code (in theory) allows the designers to work away making client (eye candy) and the developers can focus on building the application functionality in Visual Studio.&lt;/p&gt;  &lt;p&gt;Personally I have Blend and Visual Studio running side by side.&lt;/p&gt;  &lt;p&gt;Visual Studio 2008 provides the out of box functionality to manipulate XAML with intellisense (auto completion) which I find to be good for creating the structure and layout of Controls and Windows within the application and I leave the styling and interactivity to Expression Blend.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/holSee/SG57r8kKqLI/AAAAAAAAADY/KEV1v-VwmN4/s1600-h/VisualStudio-WPF%5B14%5D.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="354" alt="VisualStudio-WPF" src="http://lh3.ggpht.com/holSee/SG57tOg07BI/AAAAAAAAADc/WqGuD_mvBD8/VisualStudio-WPF_thumb%5B10%5D.png?imgmax=800" width="395" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Note: Expression Design allows you to create/import graphics and export them to XAML! As all graphics in WPF are vector graphics (i.e. generated at run time) they scale beautifully and with this ability to import your Adobe Photoshop designs and export them to XAML? .. the possibilities are endless!&lt;/p&gt;  &lt;p&gt;I hope to start posting interesting Silverlight and WPF code samples and How To's very soon.. &lt;/p&gt;  &lt;h4&gt;Get Started Now! Resources:&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/express/" target="_blank"&gt;Visual Studio 2008 Express Edition&lt;/a&gt; (Free IDE)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=32a3e916-e681-4955-bc9f-cfba49273c7c&amp;amp;displaylang=en" target="_blank"&gt;Expression Blend CTP June&lt;/a&gt; (Free Trial)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-2138844515722338215?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/2138844515722338215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=2138844515722338215&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2138844515722338215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/2138844515722338215'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/07/introduction-to-generation-of.html' title='An introduction to the &amp;quot;Next Generation&amp;quot; of Applications and &amp;quot;Overview of How they are made in .NET&amp;quot;'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/holSee/SG57oaZmFnI/AAAAAAAAADU/XZQlfOG2hvc/s72-c/Blend-%20New%20Project_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-3189998673111597277</id><published>2008-07-27T23:47:00.001+01:00</published><updated>2008-07-27T23:47:49.179+01:00</updated><title type='text'>Why .Net?</title><content type='html'>&lt;h2&gt;Summary&lt;/h2&gt;  &lt;p&gt;This post briefly outlines why I spend most of my time developing with Microsoft Technologies using the .NET platform.&lt;/p&gt;  &lt;p&gt;This is not a detailed comparison of C#.NET to Java.. this merely my experiences in using C# .NET and its advantages in getting the job done and general exploration and enjoyment of development from the perspective of ME.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Side Note: If you are looking for a comparison check out this article by Jim Mischel titled &lt;a href="http://www.microsoft.com/mspress/books/6173.aspx" target="_blank"&gt;Comparing Java and .NET&lt;/a&gt;&amp;#160; and the book &lt;a href="http://www.microsoft.com/mspress/books/6173.aspx" target="_blank"&gt;C# for Java Developers&lt;/a&gt; by Allen Jones &amp;amp; Adam Freeman.&amp;#160; I like this book but I don't particularly love it.&amp;#160; It does its intended job well, maybe at times a bit biased thou.. but generally well justified and all opinions expressed within the book are justified by example.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I just start down to write post, this was the first thing that came to my mind, and the sub headings split up my ramble into little ramble sub sections.&lt;/p&gt;  &lt;h2&gt;Introduction&lt;/h2&gt;  &lt;p&gt;I picked up C# on my work placement year pretty quickly after using Java for most of my educational career.&amp;#160; &lt;/p&gt;  &lt;p&gt;C# is not worlds apart from Java syntactically, although there are a few differences that I will discuss in this post.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Note: &lt;em&gt;I don't want to sit here Java bashing.. because its pretty awesome to be honest (and I've already done that post which I decided not to publish, due to the fact I don't count myself experienced and intelligent enough to pick apart something as successful as Java &amp;amp; I was in a bad mood when I wrote it =P ), I just want to share why I personally prefer .NET these days.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Ease of learning&lt;/h2&gt;  &lt;p&gt;I was shocked at how fast I started to work productively C# .NET.&amp;#160; I did have my computer science fundamentals under my belt at this stage, which I'm sure helped speed up things, but there was more to it than that.&lt;/p&gt;  &lt;p&gt;I found the resources available on the Microsoft Developer Network (&lt;a href="http://msdn.microsoft.com/en-us/library/default.aspx" target="_blank"&gt;MSDN&lt;/a&gt;) to be a breath of fresh air compared to the Sun Java equivalent (&lt;a href="http://java.sun.com/j2se/1.4.2/docs/" target="_blank"&gt;Javadocs&lt;/a&gt;).&amp;#160; The detailed explanation of the classes contained within the .NET framework, with easy clear navigation between versions, with code samples in C# and VB is a really fantastic resource to have available to you, wether you are a newbie or professional.&amp;#160; &lt;/p&gt;  &lt;p&gt;With .NET I found the libraries to have better more descriptive naming, which helps readability and discoverability for the newbie dev, and is one of the reasons why I think more collages and universities should replace Java with .NET as a teaching tool.&lt;/p&gt;  &lt;h2&gt;Client SIDE DEVELOPMENT&lt;/h2&gt;  &lt;p&gt;With a firm grasp of C# under my belt, I found myself exploring lots of new fun technologies, that with Java I just never felt so accessible.&amp;#160; &lt;/p&gt;  &lt;p&gt;I favoured client side development and in the java world I was using the swing toolkit for the UI components.&amp;#160; The &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/package-summary.html" target="_blank"&gt;javax.swing&lt;/a&gt; package was all I knew about, and I was proud my Java and the work I had done with it and the fact it could run on all my machines (Linux, Mac OS and Windows) was a huge motivation. &lt;/p&gt;  &lt;p&gt;But as I was saying..&amp;#160; after I switched to .NET it was like Christmas.. especially in the client side of things.&amp;#160; I was so impressed with the rapid development that Windows Forms and Web Forms with ASP.NET made possible and how easy it was to create functional and professional UI's.&amp;#160; This is coming from the Java side of town.&lt;/p&gt;  &lt;p&gt;&amp;quot;Project Avalon&amp;quot; now known as Windows Presentation Foundation, with its vector based graphics, its declarative mark-up, animation support, intuitive data binding &amp;amp; Event model.. really grabbed my attention ..then when the word broke about WPF/E(verywhere) which is now know as Silverlight, a sub set of WPF which would be a competitor to Flash (and then some), I think I was sold to spending all my time in C# and the .NET libraries, I had no reason to go back to using a inferior javax.swing as a means for smart client development.&lt;/p&gt;  &lt;h2&gt;SKILLS REUSE&lt;/h2&gt;  &lt;p&gt;Long story short I can use my C# knowledge in every aspect of the development process.&amp;#160; I will go through a simple example and discuss briefly what each entails. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Side Note: I read a lot of technical articles form men &amp;amp; women better than I.&amp;#160; I am a technologist at heart, as it simply fascinates me, so I have picked up a firm grasp of what is involved at every stage during architectural design and development of full systems, what I am lacking at this stage is experience.. and time will provide that.&amp;#160; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Lets say my task is to create a system that has a data store in XML and a Database.&amp;#160; I have to create both a smart client and a web front end.&amp;#160; The system must have a interoperable service layer on top of the data (I.e. consumable by other technologies than .NET).&lt;/p&gt;  &lt;p&gt;So we have our requirements Ill point to the technology I would use to complete each stage:&lt;/p&gt;  &lt;p&gt;Getting data from the Database: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;C# &lt;/p&gt;    &lt;p&gt;using: good old SQL via ADO.NET &amp;amp; Data sets or an Object Relational Mapper(ORM) such as: LINQ to SQL, or Entity Framework, or NHibernate. (there are many available but these are my favourites).&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Getting date from XML files:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;C# &lt;/p&gt;    &lt;p&gt;using: LINQ to XML (see &lt;a href="http://www.hookedonlinq.com/LINQtoXML5MinuteOverview.ashx" target="_blank"&gt;5 minute guide&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/bb387098.aspx" target="_blank"&gt;MSDN&lt;/a&gt;), or &lt;a href="http://msdn.microsoft.com/en-us/library/system.xml.aspx" target="_blank"&gt;System.XML&lt;/a&gt; library.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Validation and Business Logic:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;C# &lt;/p&gt;    &lt;p&gt;using: There are 3rd party frameworks which help assist at this stage such as CLSA.NET with also helps you in creation of your business objects in a ORM fashion, but for non enterprise and simple systems writing your own validation and business rules doesn't require any fancy pants frameworks.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Sending the this information over the wire:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;C#&lt;/p&gt;    &lt;p&gt;using: WCF ~ Windows Communication Foundation (&amp;quot;Project Indigo&amp;quot;) is here and is a reality.&amp;#160; This is the technology of choice for myself these days when it comes to providing an interoperable service layer on top of my server side (I.e. Business Logic/Validation/Data)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Smart Client:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;C#&lt;/p&gt;    &lt;p&gt;using: Windows Presentation Foundation, Window Forms.&amp;#160; &lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Web Client:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;C#&lt;/p&gt;    &lt;p&gt;using: ASP.NET, ASP.NET MVC (only released as a preview but is capable of fully functional sites), Silverlight (although I wouldn't recommend building and entire site suing solely Silverlight, depending on the circumstances, but it is fully possible to do so, as it a lightweight version of the .NET Framework and has LINQ support).&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;NOTE: ALL THIS CAN ALSO BE DONE USING OTHER LANGUAGES BUILT TO TAKE ADVANTAGE OF .NET &lt;/p&gt;  &lt;p&gt;..such as VB.NET which I am starting to learn, it has its charm and a different kind of thinking that to it.&amp;#160; I hope to blog more on this soon.&lt;/p&gt;  &lt;p&gt;My point being C# features in each stages of this application, my skills in C# making me able to work effectively at each layer.&lt;/p&gt;  &lt;p&gt;Another thing I would mention is the &lt;a href="http://msdn.microsoft.com/en-us/embedded/bb278106.aspx" target="_blank"&gt;.NET Micro Framework&lt;/a&gt; which allows my skills to be transferable to embedded systems!!!&lt;/p&gt;  &lt;h2&gt;Threading Model&lt;/h2&gt;  &lt;p&gt;I have worked with both the Java and .NET threading models, and found that I could be far more refined and fine tuned in .NET.&amp;#160; This is obviously because it was designed for Windows Operating Systems whereas Java had to run everywhere.&lt;/p&gt;  &lt;p&gt;I have been creating a custom multithreaded server application module.&amp;#160; this being the reason threading came to mind so readily..&lt;/p&gt;  &lt;p&gt;I also found it a much more pleasant experience as a developer.&lt;/p&gt;  &lt;h2&gt;&amp;quot;Write Once, Run Everywhere&amp;quot; ..Not so much ?&lt;/h2&gt;  &lt;p&gt;Java's good old catch phrase.&amp;#160; &lt;/p&gt;  &lt;p&gt;While this is Java's strongest selling point, it is safe to say today most applications written in Java&amp;#160; are targeted at a particular OS.&amp;#160; This is due to the Java framework being so limited in scope and richness.&amp;#160; So developers often OS specific classes to access features available to the target platform.&lt;/p&gt;  &lt;h2&gt;MONO PROJECT .. ( .NET on a mac (&amp;gt;.&amp;lt;)! )&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;Mono provides the necessary software to develop and run &lt;b&gt;.NET&lt;/b&gt; client and server applications on &lt;b&gt;Linux&lt;/b&gt;, &lt;b&gt;Solaris&lt;/b&gt;, &lt;b&gt;Mac OS X&lt;/b&gt;, &lt;b&gt;Windows&lt;/b&gt;, and &lt;b&gt;Unix&lt;/b&gt;. Sponsored by &lt;a href="http://www.novell.com"&gt;Novell&lt;/a&gt; (&lt;i&gt;http://www.novell.com&lt;/i&gt;), the Mono open source project has an active and enthusiastic contributing community and is positioned to become the leading choice for development of Linux applications. &amp;quot;&lt;/p&gt;    &lt;p&gt;..from&amp;#160; &lt;a href="http://www.mono-project.com/"&gt;http://www.mono-project.com/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;this I have found very interesting, and am looking forward to getting a play with it.&lt;/p&gt;  &lt;h2&gt;INNOVATION in the Microsoft Camp&lt;/h2&gt;  &lt;p&gt;I have seen more innovation I this past 1 year come the big stage than I the many I was using Java.&amp;#160; &lt;/p&gt;  &lt;p&gt;A few things that are exiting me at the minute:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Windows Card Space&lt;/p&gt;    &lt;p&gt;Windows Presentation Foundation&lt;/p&gt;    &lt;p&gt;Silverlight 2&lt;/p&gt;    &lt;p&gt;Windows Communication Foundation&lt;/p&gt;    &lt;p&gt;LINQ to XML, SQL, Entities.. + You can create your own LINQ provider.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Community&lt;/h2&gt;  &lt;p&gt;The fun and friendly community community that surrounds this side of the world really was a far cry from what I was used to, maybe I don't ask as many stupid questions these days, but as Scott Hanselman says &amp;quot;There are no stupid questions, only inquisitive idiots&amp;quot;.&lt;/p&gt;  &lt;p&gt;I found less &amp;quot;ego&amp;quot; and more &amp;quot;humbleness&amp;quot; &amp;amp; &amp;quot;helpfulness&amp;quot; in the .NET community.&amp;#160; &lt;/p&gt;  &lt;p&gt;Maybe it was my own fault for asking for help where the most hard core Linux &amp;amp; Java zealots lived, but I have asked many a Microsoft zealot for help and didn't get RTFM'd faster than the speed of light, usually pointed in the right direction if an.&lt;/p&gt;  &lt;p&gt;The .Net community sparked a real passion for development in me, when I was developing using java and other languages I didn't get the same kind of ignition and motivation.. so for that and their help I thank you all!&lt;/p&gt;  &lt;h2&gt;My Favourite .NET Resources&lt;/h2&gt;  &lt;blockquote&gt;   &lt;h2&gt;&lt;strong&gt;Blogs:&lt;/strong&gt;&lt;/h2&gt;    &lt;p&gt;Scott Gu ~ &lt;a href="http://weblogs.asp.net/scottgu/"&gt;http://weblogs.asp.net/scottgu/&lt;/a&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;Scott Hanselman ~ &lt;a href="http://www.hanselman.com/blog/"&gt;http://www.hanselman.com/blog/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Josh Smith ~ &lt;a href="http://joshsmithonwpf.wordpress.com/"&gt;http://joshsmithonwpf.wordpress.com/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Dr WPF ~ &lt;a href="http://www.drwpf.com/blog/"&gt;http://www.drwpf.com/blog/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Beatrice Costa ~ &lt;a href="http://www.beacosta.com/blog/"&gt;http://www.beacosta.com/blog/&lt;/a&gt; &amp;lt;3 &lt;/p&gt;    &lt;p&gt;Lots of Gurus, tutorials and help to be found here - &lt;a title="http://dotnetslackers.com/" href="http://dotnetslackers.com/"&gt;http://dotnetslackers.com/&lt;/a&gt;&lt;/p&gt;    &lt;h2&gt;&lt;strong&gt;Podcasts:&lt;/strong&gt;&lt;/h2&gt;    &lt;p&gt;HanselMinutes ~ &lt;a href="http://www.hanselminutes.com/"&gt;http://www.hanselminutes.com/&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;(where it all began for me in .Net I owe this guy a lot, he gave me a lot of inspiration and I've really learned so much, he is on the button and gets the point) &lt;/p&gt;    &lt;p&gt;.Net Rocks! ~ &lt;a href="http://www.dotnetrocks.com/"&gt;http://www.dotnetrocks.com/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Polymorphic Podcast ~ &lt;a href="http://polymorphicpodcast.com/"&gt;http://polymorphicpodcast.com/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Pixel8 ~ &lt;a title="http://pixel8.infragistics.com/default.aspx" href="http://pixel8.infragistics.com/default.aspx"&gt;http://pixel8.infragistics.com/default.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;The Thirsty Developer ~ &lt;a title="http://thirstydeveloper.com/" href="http://thirstydeveloper.com/"&gt;http://thirstydeveloper.com/&lt;/a&gt;&lt;/p&gt;    &lt;h2&gt;&lt;strong&gt;Screencast:&lt;/strong&gt;&lt;/h2&gt;    &lt;p&gt;.Net Rocks! TV ~ &lt;a href="http://www.dnrtv.com/"&gt;http://www.dnrtv.com/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;END NOTE&lt;/h2&gt;  &lt;p&gt;I don't think I &amp;quot;sold out&amp;quot; as much as found a better and more enjoyable tool for the job.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Win &amp;gt;.&amp;lt;!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-3189998673111597277?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/3189998673111597277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=3189998673111597277&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/3189998673111597277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/3189998673111597277'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/07/why-net.html' title='Why .Net?'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-819039287462919834.post-6945866493836276204</id><published>2008-07-27T23:45:00.002+01:00</published><updated>2008-08-10T16:14:09.488+01:00</updated><title type='text'>My tour of blog hosts continues!</title><content type='html'>&lt;p&gt;I have landed at blogger now and will be re-posting my archived posts very soon.&lt;/p&gt;  &lt;p&gt;I will still be using windows live writer but I have plans to play with WordPress in the near future.&lt;/p&gt;&lt;p&gt;&gt;.&lt;  &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/819039287462919834-6945866493836276204?l=holsee.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://holsee.blogspot.com/feeds/6945866493836276204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=819039287462919834&amp;postID=6945866493836276204&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/6945866493836276204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/819039287462919834/posts/default/6945866493836276204'/><link rel='alternate' type='text/html' href='http://holsee.blogspot.com/2008/07/my-tour-of-blog-hosts-continues.html' title='My tour of blog hosts continues!'/><author><name>Steven Holdsworth</name><uri>http://www.blogger.com/profile/02884049151934155805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_3guywnw1fvw/SJDR49fkyMI/AAAAAAAAAFQ/GtW43fuQHSI/S220/SHAvatar.jpg'/></author><thr:total>0</thr:total></entry></feed>
