<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://huntjason.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fhuntjason.spaces.live.com%2fblog%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Hunt Blog: Blog</title><description /><link>http://HuntJason.spaces.live.com/blog</link><language>en-US</language><pubDate>Wed, 20 Aug 2008 14:41:31 GMT</pubDate><lastBuildDate>Wed, 20 Aug 2008 14:41:31 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://HuntJason.spaces.live.com/feed.rss</cf:parentRSS><live:type>blog</live:type><live:identity><live:id>-7120587991840790433</live:id><live:alias>HuntJason</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Application Wanted</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!701.entry</link><description>&lt;a target="_blank" href="http://en.wikipedia.org/wiki/10-digit_dialing"&gt;Ten digit dialing&lt;/a&gt; and roaming are a PITA to the end user. It &lt;a target="_blank" href="http://about.telus.com/publicpolicy/10_digit_dialing.html"&gt;solves a problem for the service carrier&lt;/a&gt;, but certainly doesn't deliver any value to the consumer. Long distance is something I can live with. Local &lt;a target="_blank" href="http://en.wikipedia.org/wiki/10-digit_dialing"&gt;ten digit dialing&lt;/a&gt; is simply a waste. When I am roaming and I enter into a zone that has some of my contacts in it, I now have to either modify my contact entries or try and remember their 10 digit phone number to dial it, now, without the country code.&lt;br&gt;&lt;br&gt;Wanted: A phone dialing application on the &lt;a target="_blank" href="http://www.apple.com/iphone/"&gt;iPhone&lt;/a&gt; that determines the area code I am in (using location services) and appends the area code to the seven digits I dial. If the contact I am trying to dial in my contact list, is not in the same area code as me, append their country code (remember that country field in the contact list?) to their phone number. This way I can roam and just dial 7 digits and let the phone figure out whether I am roaming, calling long distance, whatever. All I have to do is enter in their 10 digits into the contact list one time and have the phone do some smarter dialing.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Application+Wanted&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>iPhone</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!701.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!701.entry</guid><pubDate>Wed, 20 Aug 2008 14:41:31 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!701/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!701.entry#comment</wfw:comment><dcterms:modified>2008-08-20T14:41:31Z</dcterms:modified></item><item><title>Note to Self Re: .NET 3.5 SP1 and Visual Studio 2008 SP1 Installation</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!700.entry</link><description> When installing &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&amp;amp;displaylang=en"&gt;Visual Studio 2008 SP1&lt;/a&gt; and &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=ab99342f-5d1a-413d-8319-81da479ab0d7&amp;amp;displaylang=en"&gt;.NET Framework 3.5 SP1&lt;/a&gt;, install &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=ab99342f-5d1a-413d-8319-81da479ab0d7&amp;amp;displaylang=en"&gt;.NET Framework 3.5 SP1&lt;/a&gt; first. &lt;br&gt;&lt;br&gt;The &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&amp;amp;displaylang=en"&gt;Visual Studio 2008 SP1&lt;/a&gt; installer tries to install &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=ab99342f-5d1a-413d-8319-81da479ab0d7&amp;amp;displaylang=en"&gt;.NET Framework 3.5 SP1&lt;/a&gt; as part of its installation and seemed to hang my Windows XP SP2 machine during installation. Canceling the installation seemed to do nothing. I had to kill the process.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Note+to+Self+Re%3a+.NET+3.5+SP1+and+Visual+Studio+2008+SP1+Installation&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!700.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!700.entry</guid><pubDate>Mon, 18 Aug 2008 21:18:32 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!700/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!700.entry#comment</wfw:comment><dcterms:modified>2008-08-18T21:18:32Z</dcterms:modified></item><item><title>iPhone 3G Feature Request: Integrate iPod functionality with Phone (Lemme choose a song as a ringtone!)</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!691.entry</link><description>I love how, if you put an address in on one of your contacts, you click the address and, shazam, Google Maps opens up and shows you the location. You can then get directions from your current location. *Nice integration!*&lt;br&gt;&lt;br&gt;Now; I'd like to choose a song (THAT I'VE ALREADY PAID FOR) from my iPod listing to be a ringtone. Oh.. yeah.. and why does it have to be only 30 seconds in duration? *Not nice integration!*&lt;br&gt;
 &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+iPhone+3G+Feature+Request%3a+Integrate+iPod+functionality+with+Phone+(Lemme+choose+a+song+as+a+ringtone!)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>iPhone</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!691.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!691.entry</guid><pubDate>Thu, 14 Aug 2008 14:59:26 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!691/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!691.entry#comment</wfw:comment><dcterms:modified>2008-08-14T14:59:26Z</dcterms:modified></item><item><title>Some of the things I've learned about active directory...</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!697.entry</link><description> Here's a list of some findings about &lt;a target="_blank" href="http://www.microsoft.com/windowsserver2003/technologies/directory/activedirectory/default.mspx"&gt;Active Directory&lt;/a&gt; (From a .NET perspective: Is the only reason it's not backed by SQL server to legitimize the DirectoryServices namespace?):&lt;br&gt;&lt;ol&gt;&lt;li&gt;When clearing a value, setting it to an empty string doesn't work. When you want to clear a value (using DirectoryServices), set it to null rather than empty string or you'll get a &lt;a target="_blank" href="http://www.google.ca/search?hl=en&amp;amp;q=HRESULT:+0x8007200B&amp;amp;btnG=Search&amp;amp;meta="&gt;DirectoryServiceCOMException&lt;/a&gt; (with the dreaded &lt;a target="_blank" href="http://www.google.ca/search?hl=en&amp;amp;q=DirectoryServicesCOMException+&amp;quot;The+attribute+syntax+specified+to+the+directory+service+is+invalid.+(Exception+from+HRESULT:+0x8007200B)&amp;quot;&amp;amp;btnG=Google+Search&amp;amp;meta="&gt;&lt;a target="_blank" href="http://www.google.ca/search?hl=en&amp;amp;q=HRESULT:+0x8007200B&amp;amp;btnG=Search&amp;amp;meta="&gt;HRESULT: 0x8007200B&lt;/a&gt;&lt;/a&gt;) for your troubles. If you're doing it in script, &lt;a target="_blank" href="http://www.microsoft.com/technet/scriptcenter/resources/qanda/mar05/hey0323.mspx"&gt;here's a better explanation&lt;/a&gt;. I believe this is because Active Directory does not store empty values. It's a big ol' property bag.&lt;li&gt;Documentation on &lt;a target="_blank" href="http://www.microsoft.com/windowsserver2003/technologies/directory/activedirectory/default.mspx"&gt;Active Directory&lt;/a&gt; seems difficult to find. Here's a collection of a few links I have found helpful:&lt;ol&gt;&lt;li&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms675085(VS.85).aspx"&gt;Active Directory Schema&lt;/a&gt;&lt;li&gt;&lt;a target="_blank" href="http://technet.microsoft.com/en-ca/sysinternals/bb963907.aspx"&gt;Active Directory Explorer&lt;/a&gt;. GET THIS!&lt;li&gt;&lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/aa997340(EXCHG.65).aspx"&gt;Active Directory Users and Computers&lt;/a&gt;. Pretty essential&lt;li&gt;Remember, you're working with COM under the hood (DirectoryServices is just an interop layer on top of the COM interfaces). DirectoryEntry and DirectorySearcher implement IDisposable. Employing the using statement to ensure proper disposal is just good form.&lt;br&gt;&lt;li&gt;&lt;a target="_blank" href="http://www.kouti.com/tables/userattributes.htm"&gt;User Attributes&lt;/a&gt;. good list though pay attention as the schema may have changed slightly for the version of AD you are working with.&lt;/ol&gt;&lt;li&gt;Some properties are not single-valued (they're an array). Use &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/bb504525.aspx"&gt;PropertyCollection.IDictionary.Add&lt;/a&gt; to add values to the property and set the value at the index to null if you want to clear one of them (see finding #1 above).&lt;br&gt;&lt;/ol&gt;&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Some+of+the+things+I've+learned+about+active+directory...&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!697.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!697.entry</guid><pubDate>Thu, 14 Aug 2008 14:23:39 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!697/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!697.entry#comment</wfw:comment><dcterms:modified>2008-08-14T14:23:39Z</dcterms:modified></item><item><title>Tethering your PC and iPhone 3G</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!694.entry</link><description> There's been &lt;a target="_blank" href="http://www.google.ca/search?hl=en&amp;amp;q=netshare+iphone&amp;amp;btnG=Search&amp;amp;meta="&gt;a lot of news&lt;/a&gt; regarding the &lt;a target="_blank" href="http://www.apple.com/ca/iphone/"&gt;iPhone&lt;/a&gt; application NetShare by &lt;a target="_blank" href="http://www.nullriver.com/"&gt;NullRiver&lt;/a&gt; and it's &lt;a target="_blank" href="http://www.macrumors.com/2008/08/01/netshare-tethering-app-reappears-on-app-store/"&gt;appearing/disappearing act on the Apple AppStore&lt;/a&gt;. A quick search revealed a &lt;a target="_blank" href="http://www.everythingicafe.com/forum/iphone-app-store/looking-for-netshare-tether-instructions-for-pc-33683.html#post319666"&gt;post&lt;/a&gt; providing both written and video step-by-step instructions on how to tether NetShare with your PC. *sweet* ... if you can get it during a time it's actually available.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Tethering+your+PC+and+iPhone+3G&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>iPhone</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!694.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!694.entry</guid><pubDate>Wed, 06 Aug 2008 17:25:58 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!694/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!694.entry#comment</wfw:comment><dcterms:modified>2008-08-06T17:25:58Z</dcterms:modified></item><item><title>Extension Method Factoid: They don't override methods (even the override-able ones)</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!689.entry</link><description>I can't say I've ever needed to do something like what's listed here, but I went back to a post by &lt;a target="_blank" href="http://dotnet.agilekiwi.com"&gt;John Rusk&lt;/a&gt;, entitled &lt;a target="_blank" href="http://dotnet.agilekiwi.com/blog/2008/01/resolving-extension-methods.html?ext-ref=comm-sub-email"&gt;Resolving Extension Methods&lt;/a&gt;, regarding extension methods and wanted to prove the behavior of extension methods as it pertains to override-able (virtual) methods:&lt;br&gt;&lt;br&gt;&lt;div style="background-color:rgb(238, 236, 225)"&gt;&lt;font size=1&gt;[TestFixture]&lt;br&gt;public class ExtendingVirtualMethods {&lt;br&gt;      [Test]&lt;br&gt;      public void DoesNotOverrideVirtualBaseMethod() {&lt;br&gt;          Assert.AreEqual(Target.Foo, new Target().SayFoo());}&lt;br&gt;&lt;br&gt;      [Test]&lt;br&gt;      public void ShouldNotBeAbleToOverrideNonVirtualBaseMethod() {&lt;br&gt;          Assert.AreEqual(Target.Bar, new Target().SayBar());}&lt;br&gt;}&lt;/font&gt;&lt;/div&gt;&lt;font size=1&gt;&lt;br&gt;&lt;/font&gt;&lt;div style="background-color:rgb(238, 236, 225)"&gt;&lt;font size=1&gt;class Target {&lt;br&gt;      public static string Foo = &amp;quot;Foo&amp;quot;;&lt;br&gt;      public static string Bar = &amp;quot;Bar&amp;quot;;&lt;br&gt;&lt;br&gt;      public virtual string SayFoo() {&lt;br&gt;          return Foo;}&lt;br&gt;&lt;br&gt;      public string SayBar() {&lt;br&gt;          return Bar;}&lt;br&gt;  }&lt;/font&gt;&lt;/div&gt;&lt;font size=1&gt;&lt;br&gt;&lt;/font&gt;&lt;div style="background-color:rgb(238, 236, 225)"&gt;&lt;font size=1&gt;static class Extensions {&lt;br&gt;      public static string NoWay = &amp;quot;No Way&amp;quot;;&lt;br&gt;&lt;br&gt;      public static string SayFoo(this Target target) {&lt;br&gt;          return NoWay;}&lt;br&gt;&lt;br&gt;      public static string SayBar(this Target target) {&lt;br&gt;          return NoWay;}&lt;br&gt;}&lt;/font&gt;&lt;/div&gt;&lt;font size=1&gt;&lt;br&gt;&lt;/font&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Extension+Method+Factoid%3a+They+don't+override+methods+(even+the+override-able+ones)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!689.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!689.entry</guid><pubDate>Mon, 14 Jul 2008 18:41:11 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!689/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!689.entry#comment</wfw:comment><dcterms:modified>2008-07-14T18:41:57Z</dcterms:modified></item><item><title>Excuse me... your corporate culture is showing... (alternate title: Naming/Versioning of your pre-release software is only there to make you feel better... not your target audience)</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!684.entry</link><description>If the &lt;a target="_blank" href="http://codeplex.com/aspnet"&gt;ASP.NET MVC&lt;/a&gt; release strategy of putting out a &lt;a target="_blank" href="http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=14475"&gt;new code drop fairly frequently&lt;/a&gt; and &lt;a target="_blank" href="http://www.codeplex.com/aspnet/WorkItem/List.aspx"&gt;getting early feedback&lt;/a&gt; was an indication that Microsoft's culture was moving toward a more &amp;quot;release early, release often&amp;quot; &amp;lt;&lt;a target="_blank" href="http://code.google.com/hosting/"&gt;insert semi-relevant, but still interesting link here&lt;/a&gt;&amp;gt; mentality, today's release of &lt;a target="_blank" href="http://technet.microsoft.com/en-ca/evalcenter/bb851664.aspx"&gt;SQL Server 2008 RC0&lt;/a&gt; is an indication that not all product groups within Microsoft are comfortable with that same strategy. &lt;br&gt;&lt;br&gt;&lt;div style="background-color:rgb(238, 236, 225)"&gt;*In your best parent to small child, calm, supportive voice*&lt;br&gt;Why not just give it an RC&lt;span style="text-decoration:underline"&gt;1&lt;/span&gt;? Scared? It's okay... I won't hurt you. I'm here to help. I'm part of your target audience. Still scared? Go with &amp;quot;Beta&amp;quot;.. I'll understand. It's not ready for full release. Again, I am here to help by giving you feedback so that, if your target audience (read: &amp;quot;me&amp;quot;) thinks its a flop, they (again, &amp;quot;I&amp;quot;) can let you know earlier than your actual release date. See? ... We can work together to get you to where you want to be.&lt;/div&gt;&lt;br&gt;Anyway, the point is that your target audience knows its not yet supported. They don't care whether it's &amp;quot;beta&amp;quot;, &amp;quot;release candidate&amp;quot;, &amp;quot;alpha&amp;quot;, &amp;quot;pre-alpha&amp;quot;, &amp;quot;eap&amp;quot;. That's just there to show the world how comfortable you are with getting pre-release feedback from the target audience. Isn't getting early and frequent feedback a good thing?&lt;br style="background-color:rgb(238, 236, 225)"&gt;&lt;br&gt;Oh yeah, by the way, &lt;a target="_blank" href="http://technet.microsoft.com/en-ca/evalcenter/bb851664.aspx"&gt;SQL Server 2008 RC0&lt;/a&gt; was released today.&lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Excuse+me...+your+corporate+culture+is+showing...+(alternate+title%3a+Naming%2fVersioning+of+your+pre-release+software+is+only+there+to+make+you+feel+better...+not+your+target+audience)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!684.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!684.entry</guid><pubDate>Thu, 10 Jul 2008 17:15:29 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!684/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!684.entry#comment</wfw:comment><dcterms:modified>2008-07-10T17:15:29Z</dcterms:modified></item><item><title>Alternative to Rogers for Canadian iPhone users?</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!682.entry</link><description>The unlimited &amp;quot;Access to Rogers Wireless and Fido Hotspots&amp;quot; feature of the Rogers voice and data plans for the iPhone made me think that devices with the ability to access wifi (like the iPhone) really give consumers the ability to change how they deal with their cellular phone providers.&lt;span style="font-weight:bold"&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;iPhone + &lt;a target="_blank" href="http://www.fring.com/download/iphone/"&gt;fring&lt;/a&gt; (free mobile calls via VOIP) + &lt;a target="_blank" href="http://www.fon.com/en/info/whatsFon"&gt;fon&lt;/a&gt; (share your wifi with other foneros) = See you later expensive data plans&lt;br&gt; &lt;br&gt;All you need to pay for is an internet connection and the iPhone device itself.&lt;br&gt; &lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Alternative+to+Rogers+for+Canadian+iPhone+users%3f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>iPhone</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!682.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!682.entry</guid><pubDate>Wed, 09 Jul 2008 15:50:31 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!682/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!682.entry#comment</wfw:comment><dcterms:modified>2008-08-06T17:26:22Z</dcterms:modified></item><item><title>Is Linq to String a Regular Expression DSL?</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!680.entry</link><description> I was reading an &lt;a target="_blank" href="http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx"&gt;old post&lt;/a&gt; by &lt;a target="_blank" href="http://haacked.com"&gt;Phil Haack&lt;/a&gt; and followed the link to the &lt;a href="http://regex.info/blog/2006-09-15/247" rel=bookmark title="Permanent Link: Source of the famous “Now you have two problems” quote"&gt;Source of the famous “Now you have two problems” quote&lt;/a&gt; link. It got me to thinking that &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/netframework/aa904594.aspx"&gt;Linq&lt;/a&gt; is to objects as &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Regular_expression"&gt;regular expressions&lt;/a&gt; are to strings... but, of course, the &lt;span style="text-decoration:underline"&gt;&lt;/span&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/system.string.aspx"&gt;String class&lt;/a&gt; implements &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/9eekhta0.aspx"&gt;IEnumerable&amp;lt;char&amp;gt;&lt;/a&gt; (&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/9eekhta0.aspx"&gt;IEnumerable(of Char)&lt;/a&gt; for you VB-ers out there) so you can use &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/netframework/aa904594.aspx"&gt;Linq&lt;/a&gt; against strings inherently. Does this make &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/netframework/aa904594.aspx"&gt;Linq&lt;/a&gt;, when applied to a &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/system.string.aspx"&gt;string&lt;/a&gt;, qualify as a &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Regular_expression"&gt;regular expression&lt;/a&gt; &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Domain_Specific_Language"&gt;DSL&lt;/a&gt;? A quick &lt;a target="_blank" href="http://www.google.ca/search?hl=en&amp;amp;q=linq+to+string&amp;amp;btnG=Google+Search&amp;amp;meta="&gt;search for Linq to String&lt;/a&gt; revealed &lt;a target="_blank" href="http://mikehadlow.blogspot.com/2008/03/linq-to-string.html"&gt;this post&lt;/a&gt; by &lt;a target="_blank" href="http://mikehadlow.blogspot.com"&gt;Mike Hadlow&lt;/a&gt;. Just thinking out loud...&lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Is+Linq+to+String+a+Regular+Expression+DSL%3f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!680.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!680.entry</guid><pubDate>Wed, 09 Jul 2008 14:36:12 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!680/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!680.entry#comment</wfw:comment><dcterms:modified>2008-07-09T14:36:55Z</dcterms:modified></item><item><title>Please don't make me create another Windows 3.1-looking business application (alternate title: A Gateway for Designing a More Intuitive and Inspirational User Experience)</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!660.entry</link><description> I like using &lt;a target="_blank" href="http://codeplex.com/aspnet"&gt;ASP.NET MVC&lt;/a&gt;. It offers increased testability where little existed before. Yay!&lt;br&gt;&lt;br&gt;But....&lt;br&gt;&lt;br&gt;Where &lt;a target="_blank" href="http://codeplex.com/aspnet"&gt;ASP.NET MVC&lt;/a&gt; falls short is the same place that &lt;a target="_blank" href="http://www.asp.net/"&gt;ASP.NET&lt;/a&gt; still falls short. &lt;a target="_blank" href="http://en.wikipedia.org/wiki/JavaScript"&gt;Javascript&lt;/a&gt; trickery and &lt;a target="_blank" href="http://en.wikipedia.org/wiki/AJAX"&gt;AJAX&lt;/a&gt; can only take you so far to creating a truly inspiring user experience (UX) with an &lt;a target="_blank" href="http://www.asp.net/"&gt;ASP.NET&lt;/a&gt;-based front-end.&lt;br&gt;&lt;br&gt;I read a post (sorry, I can't find the post's source any more) that linked &lt;a target="_blank" href="http://www.frogdesign.com/"&gt;frog design&lt;/a&gt;'s &lt;a target="_blank" href="http://www.frogdesign.com/images/lawson_m3_cs_thumb_1.jpg"&gt;&lt;a target="_blank" href="http://www.frogdesign.com/case-study/lawson-smart-client.html"&gt;sample business application user interface&lt;/a&gt;&lt;/a&gt;. Beautiful! &lt;a target="_blank" href="http://blogs.msdn.com/brada/default.aspx"&gt;Brad Abrams&lt;/a&gt; recently posted about a &lt;a target="_blank" href="http://blogs.msdn.com/brada/archive/2008/07/07/great-user-experience-example-in-a-business-application.aspx"&gt;great user experience in a business application&lt;/a&gt;. I really liked the look of the application but what caught my eye most was the pinned notes feature on the right-hand side of the image. &lt;br&gt;&lt;br&gt;If you think about it, existing procedure to display this type of information is to create a list control or table, maybe put a group-box around it, and list all the notes attached; likely with a hyperlink to a detail view of the individual note. Pretty uninspiring. The &amp;quot;pinned notes&amp;quot; view of the list is just a new and innovative way to display information in a way that doesn't create as large a leap from the conceptual to concrete.&lt;br&gt;&lt;br&gt;Yes, you &lt;span style="font-style:italic"&gt;can&lt;/span&gt; make this work in &lt;span style="text-decoration:underline"&gt;j&lt;/span&gt;&lt;a target="_blank" href="http://en.wikipedia.org/wiki/JavaScript"&gt;avascript&lt;/a&gt;; but not in a timely manner. Most javascript/controls frameworks/toolsets out there, usable within &lt;a target="_blank" href="http://www.asp.net/"&gt;ASP.NET&lt;/a&gt;, simply take too long to be brought to market because the most significant portion of time is spent ensuring that things work cross-platform. This leaves less time for thinking about innovative ways to display the information and more time re-implementing the same old uninspired control, resulting in the same UX because we're using the same 16 piece widget set that has served us in the past.&lt;br&gt;&lt;br&gt;All this just leads me to believe that building UIs for web using technologies such as &lt;a target="_blank" href="http://www.asp.net/"&gt;ASP.NET&lt;/a&gt; are destined to end up being relatively static when compared to a hosted environment. &lt;a target="_blank" href="http://windowsclient.net/default.aspx"&gt;WPF&lt;/a&gt; and &lt;a target="_blank" href="http://silverlight.net/"&gt;SilverLight&lt;/a&gt; are really my first gateways into this realization as I haven't had much exposure to the &lt;a target="_blank" href="http://en.wikipedia.org/wiki/LAMP_(software_bundle)"&gt;LAMP&lt;/a&gt;, &lt;a target="_blank" href="http://en.wikipedia.org/wiki/MAMP"&gt;MAMP&lt;/a&gt;, or &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Adobe_Flash"&gt;Flash&lt;/a&gt; development. Everything, professionally, has been WISC [Windows, IIS, Sql Server, C#] (I credit &lt;a target="_blank" href="http://www.25hoursaday.com/weblog/default.aspx"&gt;Dare Obasanjo&lt;/a&gt; with the &lt;a target="_blank" href="http://www.25hoursaday.com/weblog/2008/06/06/VelocityADistributedInMemoryCacheFromMicrosoft.aspx"&gt;first reference I have seen to this acronym&lt;/a&gt;). &lt;br&gt;&lt;br&gt;It's tools like &lt;a target="_blank" href="http://silverlight.net/"&gt;SilverLight&lt;/a&gt; and &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Adobe_Flash"&gt;Flash&lt;/a&gt; that take away all the issues with worrying about cross-browser-ability, that bring the &lt;a target="_blank" href="http://www.smashingmagazine.com/2007/11/26/monday-inspiration-user-experience-of-the-future/"&gt;User Experience(s) of the Future&lt;/a&gt; closer to implementation within business applications. They do bring the OS war to the web but I'll prefer to drive the focus away from developers to users where the decision does not sacrifice development's need for technologies that allow them to write verifiable (testable) applications.&lt;br&gt; &lt;br&gt; &lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Please+don't+make+me+create+another+Windows+3.1-looking+business+application+(alternate+title%3a+A+Gateway+for+Designing+a+More+Intuitive+and+Inspirational+User+Experience)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!660.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!660.entry</guid><pubDate>Mon, 07 Jul 2008 18:00:01 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!660/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!660.entry#comment</wfw:comment><dcterms:modified>2008-07-07T18:03:12Z</dcterms:modified></item><item><title>Language Feature Request: Smart method declarations</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!659.entry</link><description>I haven't taken much of a look a the .NET Roadmap so I have a naive request: If I, now, don't have to declare the type when declaring the variable name when using var (C#) or Option Infer (VB.NET), it would be nice to also have return type assumed to be void (C#) or Sub (VB.NET) unless I specify otherwise.&lt;br&gt;&lt;br&gt;&lt;span style="font-weight:bold"&gt;Original Syntax&lt;/span&gt;&lt;br&gt;C#&lt;div style="background-color:rgb(204, 204, 204)"&gt;public void DoSomething() { ... }&lt;/div&gt;&lt;br&gt;&lt;div style="background-color:rgb(204, 204, 204)"&gt;public int GetValue() { return 1; }&lt;/div&gt;&lt;br&gt;VB.NET&lt;div style="background-color:rgb(204, 204, 204)"&gt;Public Sub DoSomething()&lt;br&gt;End Sub&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;div style="background-color:rgb(204, 204, 204)"&gt;Public Function GetValue() As Integer&lt;br&gt;    Return 1&lt;br&gt;End Function&lt;/div&gt;&lt;br&gt;&lt;span style="font-weight:bold"&gt;Proposed New Syntax&lt;/span&gt;&lt;br&gt;C#&lt;div style="background-color:rgb(204, 204, 204)"&gt;public DoSomething() { ... }&lt;/div&gt;&lt;br&gt;&lt;div style="background-color:rgb(204, 204, 204)"&gt;public int GetValue() { return 1; }&lt;/div&gt;&lt;br&gt;VB.NET&lt;div style="background-color:rgb(204, 204, 204)"&gt;Public Method DoSomething()&lt;br&gt;End Method&lt;/div&gt;&lt;br&gt;&lt;div style="background-color:rgb(204, 204, 204)"&gt;Public Method GetValue() As Integer&lt;br&gt;    Return 1&lt;br&gt;End Method&lt;/div&gt;&lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Language+Feature+Request%3a+Smart+method+declarations&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!659.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!659.entry</guid><pubDate>Fri, 04 Jul 2008 18:42:00 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!659/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!659.entry#comment</wfw:comment><dcterms:modified>2008-07-04T18:43:29Z</dcterms:modified></item><item><title>8 days before Canadians can get their iPhone 3G on</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!658.entry</link><description> There are a &lt;a target="_blank" href="http://www.apple.com/ca/iphone/countries/"&gt;load of countries&lt;/a&gt; that will be having access to the new &lt;a target="_blank" href="http://www.apple.com/ca/iphone/"&gt;3G iPhone&lt;/a&gt; come July 11th. As I understand it, &lt;a target="_blank" href="http://www.rogers.com"&gt;Rogers&lt;/a&gt; is the exclusive carrier in Canada and have announced their price &lt;a target="_blank" href="http://www.rogers.com/web/content/wireless-products/iphone_voice_data_packages"&gt;plans&lt;/a&gt;. Prices for the device are speculated to be CAD$199 for the 8GB and CAD$299 for the 16GB, with signing up for a 3 year contract. Since a friend of mine showed me his iPhone I have been drooling over getting myself one. The wait is nearly over!&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+8+days+before+Canadians+can+get+their+iPhone+3G+on&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>Computers and Internet</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!658.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!658.entry</guid><pubDate>Thu, 03 Jul 2008 15:00:27 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!658/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!658.entry#comment</wfw:comment><dcterms:modified>2008-07-03T15:00:27Z</dcterms:modified></item><item><title>VB.NET is the Proverbial Red-Headed Step-Child of CLR Languages (alternate title: Things that make you think that Microsoft doesn't treat VB.NET as a first-order language)</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!655.entry</link><description> I've only started using VB.NET in the past year and a half on client projects. Prior to that it was always C#. I now consider myself fluently bi-lingual in either language as I make VB.NET syntax errors in my C# code as well as still making C# syntax errors in my VB.NET code. &lt;br&gt;&lt;br&gt;Since using VB.NET I've noticed that, though VB.NET is supposedly a &amp;quot;first order&amp;quot; language in the Microsoft stable, there are a few things that make that facade seem fairly thin:&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;Create a new project (File &amp;gt; New &amp;gt; Project) in Visual Studio (full installation) and you'll notice that Visual C# is a root node element in the Project types tree where Visual Basic is buried under the &amp;quot;Other Languages&amp;quot; node.&lt;li&gt;MSDN &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.aspx"&gt;documentation for tasks as routine as sending an email&lt;/a&gt; will include sample code for C#, C++, and even J# while noticeably omitting a VB.NET sample.&lt;li&gt;New language features of C# often take at least one point release of the framework to become available within VB.NET. Case in point: &lt;a target="_blank" href="http://devlicio.us/blogs/derik_whittaker/archive/2007/04/09/internalsvisibleto-testing-internal-methods-in-net-2-0.aspx"&gt;InternalsVisibleTo &lt;/a&gt;(now available).&lt;/ul&gt;&lt;br&gt;I am sure the list is endless. These are just the top ones that stick in my mind at the moment.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+VB.NET+is+the+Proverbial+Red-Headed+Step-Child+of+CLR+Languages+(alternate+title%3a+Things+that+make+you+think+that+Microsoft+doesn't+treat+VB.NET+as+a+first-order+language)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!655.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!655.entry</guid><pubDate>Wed, 25 Jun 2008 15:20:32 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!655/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!655.entry#comment</wfw:comment><dcterms:modified>2008-06-25T15:20:32Z</dcterms:modified></item><item><title>CLR Language Localization?</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!653.entry</link><description> It's struck me, since I have been working in VB.NET, that certain language semantics aren't translated properly across the different CLR languages.&lt;br&gt;&lt;br&gt;e.g. Assert.IsNotNull (C#) should be Assert.IsNotNothing (VB.NET). &lt;br&gt;&lt;br&gt;I am not certain how many of these semantics there are. Maybe it's something the languages teams could add into a future version of VS (please make it automagic with the option of setting an attribute).&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+CLR+Language+Localization%3f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!653.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!653.entry</guid><pubDate>Tue, 17 Jun 2008 18:54:43 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!653/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!653.entry#comment</wfw:comment><dcterms:modified>2008-06-17T18:54:43Z</dcterms:modified></item><item><title>So... what's wrong with object.Validate()???</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!652.entry</link><description>Today I was asked why choose a validation framework over good ol' object.Validate(..) and given permission to publish the response.&lt;br&gt;&lt;br&gt;     object.Validate is just fine except that the behavior doesn't serialize
across the wire (it &amp;quot;&lt;span style="font-style:italic"&gt;will&lt;/span&gt;&amp;quot; if you re-instantiate the object on the
other side if you are using a shared assembly, but won't if you are
using object generated from the proxy in things like JSON, AJAX, or
other client types what build their types from a WSDL or other schema. Often you will want the ability to do some
validation on a client prior to firing it across the wire. Or... should
the previous sentence read &amp;quot;firing it across to a long-running
process&amp;quot;? More on this...&lt;br&gt;
&lt;br&gt;    One thing I have been thinking about, when it comes to object
validation, was spawned by reading up on using enterprise service bus'. &lt;a target="_blank" href="http://www.nservicebus.com/"&gt;NServiceBus&lt;/a&gt; creator, &lt;a target="_blank" href="http://www.nservicebus.com/"&gt;Udi Dahan&lt;/a&gt; makes the distinction between &amp;quot;stateless services&amp;quot; like the classic calculator service and &amp;quot;statefull services&amp;quot;, termed &amp;quot;sagas&amp;quot;, which (and I hope I am close on this) can involve multiple domain objects but, more importantly, require state to complete their work. These 'sagas' are typically longer running, durable, transactionally processed messages that encapsulate business logic.&lt;br&gt;&lt;br&gt;    My paraphrased definition for a statefull  service likely does not do justice to the depth that is intended, but tie that binds the discussion of service purposing and validation is that there is often a struggle with how to do object validation in a re-usable (both sides of the wire) fashion. Validating that a type is not null or that it's value is a member of a &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Natural_number"&gt;natural number&lt;/a&gt; set is not something that requires state. Making a call to a value object validation service may be able to provide that point of re-use. It can be called from a client prior to calling one of those long-running sagas and your statefull  service when doing its initial cleansing of the data it's receiving. Though that still incurs the cost of an additional network call (two if you consider that your statefull  service will be calling the service as well), it frees those saga services from being bogged down with duplicated validation logic. This also enables you to use clients that can't share your assembly (JSON, JAVA, etc.) to utilize the stateless validation service.&lt;br&gt;&lt;br&gt;    So,  combining object validation frameworks with stateless services/services (SOA or otherwise)... there's my thoughts for today. *signing off*&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+So...+what's+wrong+with+object.Validate()%3f%3f%3f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!652.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!652.entry</guid><pubDate>Tue, 17 Jun 2008 05:38:33 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!652/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!652.entry#comment</wfw:comment><dcterms:modified>2008-06-17T05:38:33Z</dcterms:modified></item><item><title>Using .NET 3.5 language features in .NET 2.0 Applications</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!651.entry</link><description>Coincidentally, I was going to blog about this very topic later on today as I was doing the same thing when working on &lt;a target="_blank" href="http://huntjason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!649.entry"&gt;validation stuff&lt;/a&gt; as I wanted to leave the assembly 2.0 compatible. &lt;a target="_blank" href="http://devlicio.us/blogs/derik_whittaker"&gt;Derik Whittaker&lt;/a&gt; beat me to it and did a more extensive job than I was planning. &lt;a target="_blank" href="http://devlicio.us/blogs/derik_whittaker/archive/2008/06/16/using-c-3-0-net-3-5-syntax-in-a-net-2-0-application.aspx"&gt;Check it out&lt;/a&gt;!!&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Using+.NET+3.5+language+features+in+.NET+2.0+Applications&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!651.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!651.entry</guid><pubDate>Mon, 16 Jun 2008 17:57:31 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!651/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!651.entry#comment</wfw:comment><dcterms:modified>2008-06-16T17:57:31Z</dcterms:modified></item><item><title>Update: Decorating Types for Validation</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!649.entry</link><description> I've updated a sample used for decorating types for validation (a la Nullable) that I &lt;a target="_blank" href="http://huntjason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!393.entry"&gt;produced a while back&lt;/a&gt;. I upgraded the project for VS 2K8, added type conversion operators to the Validatable decorator, changed the default behavior of the validation method, and ReSharper-ed the code to clean it up some more. The code and files for can be found &lt;a target="_blank" href="http://noticeablydifferent.com/CodeSamples/DecoratingTypesForValidation.aspx"&gt;here&lt;/a&gt;.&lt;br&gt; &lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Update%3a+Decorating+Types+for+Validation&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!649.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!649.entry</guid><pubDate>Sun, 15 Jun 2008 19:37:04 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!649/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!649.entry#comment</wfw:comment><dcterms:modified>2008-06-15T19:50:55Z</dcterms:modified></item><item><title>First impression of Unity IoC</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!648.entry</link><description>I have used &lt;a target="_blank" href="http://structuremap.sourceforge.net/"&gt;StructureMap&lt;/a&gt; as the &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Inversion_of_Control"&gt;IoC&lt;/a&gt; container within &lt;a target="_blank" href="http://www.codeplex.com/aspnet"&gt;ASP.NET MVC&lt;/a&gt; (MS marketing leaves the caps lock on I guess &lt;img src="http://shared.live.com/HjKMzTS-xzcms40!CabizA/emoticons/smile_wink.gif" title=Wink alt=Wink style="vertical-align:middle"&gt;) on a previous project. This time around, I decided to give &lt;a target="_blank" href="http://www.codeplex.com/aspnet"&gt;Unity&lt;/a&gt; a try. The one advantage I liked with Unity is that I don't have to maintain the mapping files like I do in &lt;a target="_blank" href="http://structuremap.sourceforge.net/"&gt;StructureMap&lt;/a&gt;. &lt;br&gt;&lt;br&gt;Be sure to check out &lt;a target="_blank" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;'s &lt;a target="_blank" href="http://www.pnpguidance.net/Screencast/UnityIoCDependencyInjectionASPNETMVCFrameworkScreencast.aspx"&gt;Unity IoC - Dependency Injection in ASP.NET MVC Framework Screencast&lt;/a&gt; as well as his article, &amp;quot;ASP.NET MVC Framework and Unity Dependency Injection Container&amp;quot; (&lt;a target="_blank" href="http://www.pnpguidance.net/Post/UnityIoCASPNETMVCFrameworkDependencyInjectionControllers.aspx"&gt;Part I&lt;/a&gt; and &lt;a target="_blank" href="http://www.davidhayden.com/blog/dave/archive/2008/02/14/ASPNETMVCFrameworkUnityDependencyInjectionContainerPartII.aspx"&gt;Part II&lt;/a&gt;) to get started. Thank you, David, for the excellent resources!&lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+First+impression+of+Unity+IoC&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!648.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!648.entry</guid><pubDate>Thu, 12 Jun 2008 05:26:21 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!648/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!648.entry#comment</wfw:comment><dcterms:modified>2008-06-12T05:37:25Z</dcterms:modified></item><item><title>If you're using multiple javascript files, you want YUI Loader (and may not already know it)</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!646.entry</link><description>The advantages of using a baked library are obvious. Sometimes, when you have to manage the dependencies, it can quickly become a nightmare. Thankfully, with .NET, the IDE generally takes care of making sure you have your references set. This is not so with javascript. The order in which they appear on the page matters. When you are using technologies like &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx"&gt;Master Pages&lt;/a&gt;, things can get even more hairy. Enter &lt;a target="_blank" href="http://developer.yahoo.com/yui/yuiloader/"&gt;YUI Loader&lt;/a&gt;. &lt;a target="_blank" href="http://developer.yahoo.com/yui/"&gt;YUI&lt;/a&gt; is a javascript library from your good friends at &lt;a target="_blank" href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt; (whoops... &lt;a target="_blank" href="http://www.guardian.co.uk/media/2008/jun/03/yahoo.microsoft?gusrc=rss&amp;amp;feed=media"&gt;that sale hasn't go through.&lt;/a&gt;.. yet)... I mean &lt;a target="_blank" href="http://www.yahoo.com"&gt;Yahoo&lt;/a&gt;. There are a tonne (metric AND imperial) of controls and each comes with its own set of dependencies contained within the library. Adding 2 or 3 controls to your pages can quickly get your &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt; references to be quite a lengthy as well as unruly list.&lt;br&gt;&lt;br&gt;Thankfully, &lt;a target="_blank" href="http://www.yahoo.com/"&gt;Yahoo&lt;/a&gt; provides a tool they call &lt;a target="_blank" href="http://developer.yahoo.com/yui/yuiloader/"&gt;YUI Loader&lt;/a&gt; that has the smarts baked into it regarding what dependent javascript files are needed. You simply provide it with a name and it loads it up. If you have multiple, simply put them all into the list and, voila, it also makes sure the dependencies are also loaded up properly for those as well. I highly recommend using this tool, if you're using other or multiple javascript libraries and even if you're not using &lt;a target="_blank" href="http://developer.yahoo.com/yui/"&gt;YUI&lt;/a&gt; for anything else... yeahp it handles javascript other than just the &lt;a target="_blank" href="http://developer.yahoo.com/yui/"&gt;YUI&lt;/a&gt; stuff too.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+If+you're+using+multiple+javascript+files%2c+you+want+YUI+Loader+(and+may+not+already+know+it)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!646.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!646.entry</guid><pubDate>Wed, 04 Jun 2008 04:46:09 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!646/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!646.entry#comment</wfw:comment><dcterms:modified>2008-06-04T04:46:09Z</dcterms:modified></item><item><title>Fixing Error on Build Machine: error MSB3091: Task failed because "sgen.exe" was not found...</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!642.entry</link><description> Many thanks to &lt;span&gt;&lt;a target="_blank" href="http://lazyloading.blogspot.com"&gt;Michael Goldobin&lt;/a&gt; for his post on &lt;a target="_blank" href="http://lazyloading.blogspot.com/2008/05/fixing-continuous-integration-build-for.html"&gt;Fixing Continuous Integration build for a .NET 3.5 project&lt;/a&gt;. We started receiving the error after finally implementing some mocked out services. Just as suggested, we installed &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&amp;amp;displaylang=en"&gt;Windows SDK for Windows Server 2008 and .NET Framework 3.5&lt;/a&gt; (warning: &lt;/span&gt;1330.0 MB in size&lt;span&gt;) on the build machine and all was well.&lt;/span&gt;&lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Fixing+Error+on+Build+Machine%3a+error+MSB3091%3a+Task+failed+because+%22sgen.exe%22+was+not+found...&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!642.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!642.entry</guid><pubDate>Wed, 28 May 2008 03:02:43 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!642/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!642.entry#comment</wfw:comment><dcterms:modified>2008-05-28T03:02:43Z</dcterms:modified></item><item><title>Trying to get to first base: Prince Fielder (270) vs. Dmitri Young (300)</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!641.entry</link><description>Okay, this is quite off topic for this blog, but it so struck me that I just had to write about it.&lt;br&gt;&lt;br&gt;I tuned into &lt;a target="_blank" href="http://thescore.com/"&gt;The Score&lt;/a&gt; this evening to catch some professional sports highlights of the game between the &lt;a target="_blank" href="http://washington.nationals.mlb.com/index.jsp?c_id=was"&gt;Washington Nationals&lt;/a&gt; vs. the &lt;a target="_blank" href="http://milwaukee.brewers.mlb.com/index.jsp?c_id=mil"&gt;Milwaukee Brewers&lt;/a&gt;. I know I am no athlete, but watching &lt;a target="_blank" href="http://mlb.mlb.com/team/player.jsp?player_id=425902"&gt;Prince Fielder&lt;/a&gt; (1st base for the Brewers) and &lt;a target="_blank" href="http://mlb.mlb.com/team/player.jsp?player_id=124693"&gt;Dmitri Young&lt;/a&gt; (1st base for the Nationals) made me reconsider my stance on whether &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Electronic_sports"&gt;playing video games should be considered a sport&lt;/a&gt;. &lt;br&gt;&lt;br&gt;Oh, yeah, and by the way, the &lt;a target="_blank" href="http://mlb.mlb.com/news/boxscore.jsp?gid=2008_05_26_milmlb_wasmlb_1"&gt;final score was 4-3 for the Brewers&lt;/a&gt;. &amp;lt;- statistics inserted for... ah... who cares.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Trying+to+get+to+first+base%3a+Prince+Fielder+(270)+vs.+Dmitri+Young+(300)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>Health and wellness</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!641.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!641.entry</guid><pubDate>Tue, 27 May 2008 03:56:53 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!641/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!641.entry#comment</wfw:comment><dcterms:modified>2008-05-27T03:56:53Z</dcterms:modified></item><item><title>Adding (MSN) Windows Live Messenger To Your Site</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!637.entry</link><description>&lt;div&gt;I was playing around with some of the communcation settings on my blog and came across this post about &lt;a href="http://messengersays.spaces.live.com/blog/cns!5B410F7FD930829E!30835.entry" target="_blank"&gt;adding a (MSN) Windows Live Messenger control to your site&lt;/a&gt;. Thanks Casey!&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Adding+(MSN)+Windows+Live+Messenger+To+Your+Site&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>Computers and Internet</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!637.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!637.entry</guid><pubDate>Sun, 04 May 2008 21:10:32 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!637/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!637.entry#comment</wfw:comment><dcterms:modified>2008-05-04T21:10:56Z</dcterms:modified></item><item><title>Edmonton .NET User Group Meeting - April 24 - Tom Opgenorth - Introduction to Monorail</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!630.entry</link><description>A little bit late but....&lt;br&gt;&lt;br&gt;The presentation by &lt;a target="_blank" href="http://opgenorth.net/"&gt;Tom Opgenorth&lt;/a&gt; on Monorail was fantastic. It gave me ideas as to how to use &lt;a target="_blank" href="http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=12640"&gt;Microsoft's MVC&lt;/a&gt; in the current project I am working on, and gave me ideas as to some of the pain points of &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Model-view-controller"&gt;MVC&lt;/a&gt; and &lt;a target="_blank" href="http://www.martinfowler.com/articles/injection.html"&gt;IoC&lt;/a&gt; frameworks.&lt;br&gt;&lt;br&gt;The number one thing that has always bugged me about &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Model-view-controller"&gt;MVC&lt;/a&gt; and &lt;a target="_blank" href="http://www.martinfowler.com/articles/injection.html"&gt;IoC&lt;/a&gt; is that everything resides in an xml/config file. The concept of being able to plug and play is fine with me; you can change things out without recompiling. A simple flip of a switch and *shazam* it's all hooked up and running.&lt;br&gt;&lt;br&gt;The problem is in the details.&lt;br&gt;&lt;br&gt;&lt;span style="font-weight:bold"&gt;First&lt;/span&gt; (two-part-er)&lt;br style="font-weight:bold"&gt;a) Post-deployment troubleshooting:&lt;br&gt;When stuff inevitably breaks (I know I am the only one who has ever written code that has broken... but please bear with me), it is often difficult to resolve where the break happened or how to fix it. I know you &lt;span style="font-style:italic"&gt;can&lt;/span&gt; write applications more robustly but, when the story or use case has been coded... we're forced to move on. The business value of writing an application that can heal itself or give meaningful feedback when &amp;quot;stuff&amp;quot; happens is, far too often, lost on product owners or business analysts. The functionality delivered to the end user is so high on the list (and, rightfully) that these sorts of details are neglected.&lt;br&gt;&lt;br&gt;b) Post-deployment maintenance:&lt;br&gt;A side issue is that, in many of the larger organizations I have worked at, developers are expected to hand off the application to a deployment/maintenance team to manage. Far too often there are so many other applications on their plates that this type of application complexity puts me squarely back in the seat of managing the application when it breaks. Having configuration files for non-developers to be able to touch and muck with increases the fragility of a deployed application. Just reminds me of installing any number of crazy combination dependencies to get some Linux applications working properly on older versions of Linux (that didn't have aids to help manage dependencies). This puts me squarely back into the saddle of maintaining this application or into documentation hell and introduces a dependency of the client on my services. Great for job security... if that's the type you are looking for.&lt;br&gt;&lt;br&gt;&lt;span style="font-weight:bold"&gt;Second&lt;/span&gt;&lt;br&gt;Lack of Testing around the &amp;quot;And then magic happens&amp;quot;:&lt;br&gt;Separating out dependency instantiation from class implementation is a good idea. It helps set up an environment where people can work on/test parts of the system independently. But... with most &lt;a target="_blank" href="http://www.martinfowler.com/articles/injection.html"&gt;IoC&lt;/a&gt; Containers I have seen (though this is only through demonstrations), the wiring up of the configuration of what class to instantiate the dependency is often lacking testing. This can result in an exception being thrown at run-time (arguably the worst time to throw unhandled exceptions) if no dependency is actually wired up. Maybe this is a call for a profiling application to check class dependencies and ensure that they are all wired up within the &lt;a target="_blank" href="http://www.martinfowler.com/articles/injection.html"&gt;IoC&lt;/a&gt; framework and included as part of the release criteria for the application?!?!&lt;br&gt; &lt;br&gt; Anyway, watching &lt;a target="_blank" href="http://opgenorth.net/"&gt;Tom's&lt;/a&gt; presentation was very thought provoking. He did a good job of getting through a lot of material. Thank you to the &lt;a target="_blank" href="http://www.edmug.net/"&gt;Edmonton .NET User Group&lt;/a&gt; for facilitating a great evening.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Edmonton+.NET+User+Group+Meeting+-+April+24+-+Tom+Opgenorth+-+Introduction+to+Monorail&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!630.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!630.entry</guid><pubDate>Tue, 29 Apr 2008 14:40:44 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!630/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!630.entry#comment</wfw:comment><dcterms:modified>2008-04-29T14:40:44Z</dcterms:modified></item><item><title>Getting started with nDepend</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!632.entry</link><description>I was contacted by &lt;a target="_blank" href="http://codebetter.com/blogs/patricksmacchia/"&gt;Patrick Smacchia&lt;/a&gt; and extended the opportunity to try &lt;a target="_blank" href="http://www.ndepend.com/"&gt;nDepend&lt;/a&gt;. I took this as an opportunity to learn more about the metrics beyond my more familiar test coverage (&lt;a target="_blank" href="http://www.ncover.com/"&gt;nCover&lt;/a&gt;, &lt;a target="_blank" href="http://www.kiwidude.com/blog/2006/01/ncoverexplorer-debut.html"&gt;nCoverExplorer&lt;/a&gt;), code style compliance (&lt;a target="_blank" href="http://blogs.msdn.com/fxcop/"&gt;FxCop&lt;/a&gt; and &lt;a target="_blank" href="http://joel.fjorden.se/static.php?page=CodeStyleEnforcer"&gt;Code Style Enforcer&lt;/a&gt;), and the like. &lt;br&gt;&lt;br&gt;My first impression was that I was confused by the interface. It looks confusing. When I click on different parts of the UI, other things change and flip around. I didn't understand the metrics being measured and how they were being displayed.&lt;br&gt;&lt;br&gt;Okay... the first 5 minutes were up and the curiosity bug hit me. I wanted to know what all this information was about and how to better use this tool. I went to the web site and found the online demos on the &lt;a target="_blank" href="http://www.ndepend.com/GettingStarted.aspx"&gt;Getting Started&lt;/a&gt; page. There are (currently) 8 separate demos available. After only the first two (6 minutes) the light bulb started to turn on. There is a LOT of information to digest. This tools reports &lt;a target="_blank" href="http://www.ndepend.com/Metrics.aspx"&gt;83 different metrics at different levels of analysis&lt;/a&gt;. The investment in online tutorials and web site opened a huge door. To be sure, there's a lot more for me to sink my teeth into in this tool.&lt;br&gt;&lt;br&gt;One of the coolest features I discovered was that, when you click on the bubbly report in the metrics window, the toolbar presents a drop-down where you can select which metric you want reported in the metrics window. The nice part about that is that you select the metric to report on, the report generates, and all you have to do is look at where the biggest squares are (left to right) to find out what the biggest culprits are to take a look at. Pretty slick!&lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Getting+started+with+nDepend&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!632.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!632.entry</guid><pubDate>Tue, 29 Apr 2008 02:52:05 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!632/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!632.entry#comment</wfw:comment><dcterms:modified>2008-04-29T02:52:05Z</dcterms:modified></item><item><title>Business vs. Development and Maintainability Mismatch Impedance</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!631.entry</link><description>When companies advertise for developers to come in to
write a maintainable application for them they (solely from a business perspective) are often looking for an application to be developed that does what it's supposed to and comes with little to no maintenance after the fact (for the agilistas out there... &amp;quot;As an
application owner I want to deploy an application that does what it is
supposed to and doesn't have high cost of ownership after delivery by
requiring full time monitoring/bug fixing staff&amp;quot;). From a development perspective,
we often only think of a maintainable system as code that's sufficiently
tested to help avoid having changes to a system have cascading effects. I believe that there is a gap in what defines a &amp;quot;maintainable&amp;quot; system and leads to &amp;quot;Maintainability Mismatch Impedance&amp;quot;. Certainly the two are related but, certainly, they don't fully address each others' needs.&lt;br&gt;
&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Business+vs.+Development+and+Maintainability+Mismatch+Impedance&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!631.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!631.entry</guid><pubDate>Sun, 27 Apr 2008 02:42:12 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!631/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!631.entry#comment</wfw:comment><dcterms:modified>2008-04-27T02:42:12Z</dcterms:modified></item><item><title>Automating deployment - Building MSI Installers using wix</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!609.entry</link><description> It is generally considered poor form to have to have &lt;a target="_blank" href="http://msdn.microsoft.com/vstudio/"&gt;Visual Studio&lt;/a&gt; installed on your build machine as you should be able to build your product without a dependency on the &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Integrated_development_environment"&gt;IDE&lt;/a&gt;. I was informed that the &lt;a target="_blank" href="http://msdn.microsoft.com/vstudio/"&gt;Visual Studio&lt;/a&gt; Setup and Deployment Projects (used to create the &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Windows_Installer"&gt;msi&lt;/a&gt; files) can not yet be compiled and linked without the use of &lt;a target="_blank" href="http://msdn.microsoft.com/vstudio/"&gt;Visual Studio&lt;/a&gt;. With this understanding, we used &lt;a target="_blank" href="http://wix.sourceforge.net/"&gt;wix&lt;/a&gt; to perform the automated build of the &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Windows_Installer"&gt;windows installers&lt;/a&gt;. After downloading the binaries and reading the help and getting started tutorial we had a completely automated  build and deployment process. This took less than 3 hours to get up and running. Definitely a delight.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Automating+deployment+-+Building+MSI+Installers+using+wix&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!609.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!609.entry</guid><pubDate>Fri, 25 Jan 2008 21:40:09 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!609/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!609.entry#comment</wfw:comment><dcterms:modified>2008-01-25T21:40:09Z</dcterms:modified></item><item><title>If you want me to respond...</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!607.entry</link><description>I was sent messages on two occasions this week via the Live Spaces send so-and-so a message feature. If you want me to respond, you have to enable responses in your communication settings (Options &amp;gt; Communication preferences &amp;gt; Send messages to your Spaces inbox), otherwise I have no way to respond to your request as it doesn't include an email address.&lt;br&gt; &lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+If+you+want+me+to+respond...&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!607.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!607.entry</guid><pubDate>Wed, 23 Jan 2008 20:30:47 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!607/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!607.entry#comment</wfw:comment><dcterms:modified>2008-01-23T20:33:07Z</dcterms:modified></item><item><title>Free Microsoft Press eBook Offer</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!604.entry</link><description>Go to the MSDN web site and &lt;a target="_blank" href="http://www.microsoft.com/learning/vstudio/2008/thankyou/default.mspx"&gt;register&lt;/a&gt; to get partial versions of &lt;a target="_blank" href="http://www.microsoft.com/mspress/books/12285.aspx"&gt;Introducing Microsoft Silverlight 1.0&lt;/a&gt;, &lt;a target="_blank" href="http://www.microsoft.com/mspress/books/10725.aspx"&gt;Introducing Microsoft Linq&lt;/a&gt;, &lt;a target="_blank" href="http://www.microsoft.com/mspress/books/10966.aspx"&gt;Introducing Microsoft ASP.NET AJAX&lt;/a&gt;. Better than a kick in the pants.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Free+Microsoft+Press+eBook+Offer&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!604.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!604.entry</guid><pubDate>Tue, 15 Jan 2008 16:27:01 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!604/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!604.entry#comment</wfw:comment><dcterms:modified>2008-01-15T17:53:26Z</dcterms:modified></item><item><title>WCF on Vista</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!602.entry</link><description>I was having difficulty getting a WCF service that I had built on my Windows XP machine up and running on my Windows Vista machine. Thanks to &lt;a target="_blank" href="http://blogs.msdn.com/jaimer/default.aspx"&gt;Jaime Rodriguez&lt;/a&gt; for his post on &lt;a target="_blank" href="http://blogs.msdn.com/jaimer/archive/2006/12/05/running-a-windows-communication-foundation-wcf-indigo-service-in-windows-vista.aspx"&gt;Running a Windows Communication Foundation (WCF/Indigo) service in Windows Vista&lt;/a&gt;. It saved me a bucket-load of time.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+WCF+on+Vista&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!602.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!602.entry</guid><pubDate>Thu, 10 Jan 2008 12:18:45 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!602/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!602.entry#comment</wfw:comment><dcterms:modified>2008-01-10T12:18:45Z</dcterms:modified></item><item><title>Extension Method Precedence</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!601.entry</link><description>From the &lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/bb384936.aspx"&gt;Visual Basic Programming Guide on Extension Methods&lt;/a&gt; (applicable to C# as well), an important blurb on extension method precedence:&lt;br&gt;&lt;div style="overflow:visible;height:auto;width:1680px;display:block"&gt;&lt;div&gt;&lt;p&gt;When
two extension methods that have identical signatures are in scope and
accessible, the one with &lt;br&gt;higher precedence will be invoked. An
extension method's precedence is based on the mechanism&lt;br&gt; used to bring
the method into scope. The following list shows the precedence
hierarchy, from &lt;br&gt;highest to lowest. &lt;ol&gt;&lt;li&gt;&lt;p&gt;Extension methods defined inside the current module.&lt;li&gt;&lt;p&gt;Extension
methods defined inside data types in the current namespace or any one
of its &lt;br&gt;parents, with child namespaces having higher precedence than
parent namespaces.&lt;li&gt;&lt;p&gt;Extension methods defined inside any type imports in the current file.&lt;li&gt;&lt;p&gt;Extension methods defined inside any namespace imports in the current file.&lt;li&gt;&lt;p&gt;Extension methods defined inside any project-level type imports.&lt;li&gt;&lt;p&gt;Extension methods defined inside any project-level namespace imports.&lt;/ol&gt;&lt;p&gt;If
precedence does not resolve the ambiguity, you can use the fully
qualified name to specify&lt;br&gt; the method that you are calling. If the &lt;span&gt;Print&lt;/span&gt; method in the earlier example is defined in a module&lt;br&gt; named &lt;span&gt;StringExtensions&lt;/span&gt;, the fully qualified name is &lt;span&gt;StringExtensions.Print(example)&lt;/span&gt; instead &lt;br&gt;of &lt;span&gt;example.Print()&lt;/span&gt;.
			&lt;/div&gt;&lt;/div&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Extension+Method+Precedence&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!601.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!601.entry</guid><pubDate>Wed, 09 Jan 2008 04:29:10 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!601/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!601.entry#comment</wfw:comment><dcterms:modified>2008-01-09T04:35:42Z</dcterms:modified></item><item><title>The .NET Standard Query Operators in .NET 3.5 RTM</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!592.entry</link><description> This is mostly a note for me to remember....&lt;br&gt;&lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/bb394939.aspx"&gt;The .NET Standard Query Operators&lt;/a&gt; are found in the System.Linq namespace (using System.Linq;) in .NET Framework 3.5 RTM.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+The+.NET+Standard+Query+Operators+in+.NET+3.5+RTM&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!592.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!592.entry</guid><pubDate>Fri, 14 Dec 2007 02:57:40 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!592/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!592.entry#comment</wfw:comment><dcterms:modified>2007-12-14T02:57:40Z</dcterms:modified></item><item><title>Two useful Linq links</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!591.entry</link><description> &lt;ul&gt;&lt;li&gt;&lt;a target="_blank" href="http://www.codeplex.com/LINQtoAD"&gt;Linq to Active Directory&lt;/a&gt;&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/aconrad/archive/2007/12/10/linq-to-rest.aspx"&gt;Linq to REST&lt;/a&gt;&lt;/ul&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Two+useful+Linq+links&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!591.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!591.entry</guid><pubDate>Wed, 12 Dec 2007 05:40:38 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!591/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!591.entry#comment</wfw:comment><dcterms:modified>2007-12-14T02:58:39Z</dcterms:modified></item><item><title>Resolved: Finally able to install Photoshop CS3</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!590.entry</link><description> Thanks to &lt;a target="_blank" href="http://www.itwriting.com/blog/"&gt;Tim Anderson&lt;/a&gt;, I was able to follow the &lt;a target="_blank" href="http://www.itwriting.com/blog/?p=225"&gt;instructions he provided&lt;/a&gt; along with instructions on &lt;a target="_blank" href="http://www.petri.co.il/vista_command_prompt.htm"&gt;how to create a command prompt with elevated privileges  on Windows Vista&lt;/a&gt; and install &lt;a target="_blank" href="http://www.adobe.com/products/photoshop/photoshop/"&gt;Adobe Photoshop&lt;/a&gt; CS3.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Resolved%3a+Finally+able+to+install+Photoshop+CS3&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>Computers and Internet</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!590.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!590.entry</guid><pubDate>Tue, 11 Dec 2007 01:34:33 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!590/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!590.entry#comment</wfw:comment><dcterms:modified>2007-12-11T01:34:33Z</dcterms:modified></item><item><title>Some may find this embarrassing...</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!586.entry</link><description> I would think it embarrassing if the &lt;a target="_blank" href="http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402426"&gt;first recommended fix to installing your product is to uninstall your other products&lt;/a&gt;. Thanks Adobe, for that surprise when installing Photoshop CS3.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Some+may+find+this+embarrassing...&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!586.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!586.entry</guid><pubDate>Fri, 07 Dec 2007 20:39:21 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!586/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!586.entry#comment</wfw:comment><dcterms:modified>2007-12-07T20:39:21Z</dcterms:modified></item><item><title>How To: Throw an exception in an lambda expression</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!585.entry</link><description> Does anyone know how to, or if it's possible to, throw an exception in a lambda expression?&lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+How+To%3a+Throw+an+exception+in+an+lambda+expression&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!585.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!585.entry</guid><pubDate>Thu, 06 Dec 2007 07:59:44 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!585/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!585.entry#comment</wfw:comment><dcterms:modified>2007-12-06T19:57:38Z</dcterms:modified></item><item><title>Essential .NET for Enterprise Architects</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!584.entry</link><description> One of the key features that necessitated the need for a .NET programming model was to rid ourselves from &lt;a target="_blank" href="http://en.wikipedia.org/wiki/DLL_hell"&gt;DLL hell&lt;/a&gt;. This was resolved by fundamentally changing how dependent assemblies are loaded. I think it critical for &amp;quot;&lt;a target="_blank" href="http://en.wikipedia.org/wiki/Enterprise_architect"&gt;Enterprise Architects&lt;/a&gt;&amp;quot; (especially ones who develop &amp;quot;&lt;a target="_blank" href="http://en.wikipedia.org/wiki/Software_framework"&gt;frameworks&lt;/a&gt;&amp;quot; for everyone else to use) to understand &lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/yx7xezcf(VS.71).aspx"&gt;How the Runtime Locates Assemblies&lt;/a&gt;. This knowledge is critical for &amp;quot;&lt;a target="_blank" href="http://en.wikipedia.org/wiki/Software_framework"&gt;framework&lt;/a&gt;&amp;quot; developers to understand so they can appreciate that concepts such as &lt;a target="_blank" href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=75922"&gt;binary compatibility&lt;/a&gt; become unnecessary with knowledge of &lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/yx7xezcf(VS.71).aspx"&gt;How the Runtime Locates Assemblies&lt;/a&gt; and labeling/tagging/marking/attaching meta-information to your repository.&lt;br&gt;&lt;br&gt;If you are designing .net applications that others use... please, please, please... understand this:&lt;br&gt;&lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/yx7xezcf(VS.71).aspx"&gt;How the Runtime Locates Assemblies&lt;/a&gt;&lt;br&gt;&lt;br&gt;And, if you don't understand it, please read http://msdn2.microsoft.com/en-us/library/yx7xezcf%28VS.71%29.aspx.&lt;br&gt;&lt;br&gt;Thank you.&lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Essential+.NET+for+Enterprise+Architects&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!584.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!584.entry</guid><pubDate>Wed, 28 Nov 2007 16:46:25 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!584/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!584.entry#comment</wfw:comment><dcterms:modified>2007-11-28T16:46:48Z</dcterms:modified></item><item><title>:)</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!578.entry</link><description>&lt;a href="http://www.gapingvoid.com/Moveable_Type/archives/000932.html"&gt;&lt;img src="http://www.gapingvoid.com/Moveable_Type/archives/zzzkjurhgu12.jpg"&gt;&lt;/a&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;
Thank you, &lt;a href="http://www.gapingvoid.com/Moveable_Type/archives/000932.html"&gt;GapingVoid&lt;/a&gt;. The &lt;a href="http://www.gapingvoid.com/Moveable_Type/archives/000932.html"&gt;How to be creative&lt;/a&gt; list was just what I needed today.
&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+%3a)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!578.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!578.entry</guid><pubDate>Thu, 22 Nov 2007 17:06:42 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!578/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!578.entry#comment</wfw:comment><dcterms:modified>2007-11-22T17:06:42Z</dcterms:modified></item><item><title>So long Skype; hello to GrandCentral?</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!577.entry</link><description> I have had a &lt;a target="_blank" href="http://www.skype.com"&gt;Skype&lt;/a&gt; account and tried my best to get it working properly but there had been a stall where SkypeOut wasn't available to Canadian numbers. I haven't bothered following up with whether that issue has been resolved. &lt;br&gt;&lt;br&gt;Yesterday I was invited to use Google's recently purchased &lt;a target="_blank" href="http://www.grandcentral.com/"&gt;GrandCentral&lt;/a&gt;. In less than 3 minutes I had a US number local to a friend of min. He called me 5 minutes later. Worked awesome! Thanks Google and &lt;a target="_blank" href="http://www.grandcentral.com/"&gt;GrandCentral&lt;/a&gt;! &lt;br&gt;&lt;br&gt;The price and credit system that exists in &lt;a target="_blank" href="http://www.skype.com/"&gt;Skype&lt;/a&gt; doesn't exist in &lt;a target="_blank" href="http://www.grandcentral.com/"&gt;GrandCentral&lt;/a&gt;. It worked on the first try; no money was exchanged; and the service is provided by a provider I trust to be around for a long time. Does this spell the end for &lt;a target="_blank" href="http://www.skype.com/"&gt;Skype&lt;/a&gt;? For me it does.&lt;a target="_blank" href="http://www.skype.com/"&gt;&lt;/a&gt;&lt;br&gt;&lt;a target="_blank" href="http://www.skype.com/"&gt;&lt;br&gt;&lt;/a&gt; &lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+So+long+Skype%3b+hello+to+GrandCentral%3f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>Computers and Internet</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!577.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!577.entry</guid><pubDate>Tue, 20 Nov 2007 15:06:57 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!577/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!577.entry#comment</wfw:comment><dcterms:modified>2007-11-20T15:22:21Z</dcterms:modified></item><item><title>Iteration Length</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!570.entry</link><description> We had a meeting today where we were discussing how, in the past iteration (2 weeks [10 work days] in duration) we spent the first &lt;br&gt;5 days trying to understand the scope of what it was we were trying to build and the last 5 days scrambling to cut scope and actually be able to deliver some semblance of business value by the end of the iteration. It was commented, in our retrospective, that we would need as much time to understand what was going on if the scope was even remotely the same for upcoming iterations.&lt;br&gt;&lt;br&gt;It is my belief that if your team is having difficulty managing the scope of a 2 week iteration, you shouldn't increase the length of the iteration to accomodate but, rather, drop to a 1 week iteration where you get more practice managing scope and planning for deliveries rather than the opposite.&lt;br&gt;&lt;br&gt;Thoughts?&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Iteration+Length&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!570.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!570.entry</guid><pubDate>Wed, 14 Nov 2007 06:55:14 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!570/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!570.entry#comment</wfw:comment><dcterms:modified>2007-11-14T06:55:14Z</dcterms:modified></item><item><title>A generic Principal interface (IPrincipal&lt;T&gt;) to enable strong typing of custom Identities (IIdentity)</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!552.entry</link><description>  I've been playing in the security rhelm lately and came up with the
following:&lt;br&gt;
&lt;br&gt;&lt;div style="background-color:rgb(204, 204, 204);font-family:Courier"&gt;&lt;font size=1&gt;&lt;span style="color:rgb(0, 0, 255)"&gt;public&lt;/span&gt; &lt;span style="color:rgb(0, 0, 255)"&gt;interface&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;IPrincipal&lt;/span&gt;&lt;span style="color:rgb(0, 0, 0)"&gt;&amp;lt;T&amp;gt;&lt;/span&gt; &lt;span style="color:rgb(0, 0, 255)"&gt;where &lt;/span&gt; &lt;span&gt;T&lt;/span&gt; &lt;span&gt;:&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;IIdentity&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;div&gt;      T Identity {  &lt;span style="color:rgb(0, 0, 255)"&gt;get&lt;/span&gt;; }&lt;/div&gt;&lt;div&gt;      &lt;span style="color:rgb(0, 0, 255)"&gt;bool&lt;/span&gt; IsInRole(&lt;span style="color:rgb(0, 0, 255)"&gt;string&lt;/span&gt; role);&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/font&gt;&lt;/div&gt; &lt;br&gt;This enables me to retrieve any custom properties from my custom identity without &lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/yz2be5wk(VS.80).aspx"&gt;boxing and unboxing&lt;/a&gt;:&lt;br&gt;&lt;br&gt;&lt;div style="background-color:rgb(204, 204, 204);font-family:Courier"&gt;&lt;font size=1&gt;&lt;span style="color:rgb(0, 0, 255)"&gt;public&lt;/span&gt; &lt;span style="color:rgb(0, 0, 255)"&gt;interface&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;ICustomIdentity&lt;/span&gt; : &lt;span style="color:rgb(43, 145, 175)"&gt;IIdentity&lt;/span&gt; {&lt;br&gt;    &lt;span style="color:rgb(0, 0, 255)"&gt;string &lt;/span&gt;CustomProperty { &lt;span style="color:rgb(0, 0, 255)"&gt;get&lt;/span&gt;; }&lt;br&gt;}&lt;/font&gt;&lt;/div&gt;&lt;br&gt;The next step would be to get this to work with impersonation. I can't store this on the &lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/system.threading.thread.aspx"&gt;Thread&lt;/a&gt; (&lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/system.threading.thread.currentprincipal.aspx"&gt;Thread.CurrentPrincipal&lt;/a&gt;) but I can create my own &lt;a target="_blank" href="http://martinfowler.com/eaaCatalog/registry.html"&gt;registry&lt;/a&gt; where I &lt;span style="font-style:italic"&gt;can&lt;/span&gt; retrieve it from.&lt;br&gt;&lt;br&gt;I am thinking that this might be resolved if I were simply using &lt;a target="_blank" href="http://cardspace.netfx3.com/"&gt;CardSpace&lt;/a&gt; in my application.&lt;br&gt; &lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+A+generic+Principal+interface+(IPrincipal%3cT%3e)+to+enable+strong+typing+of+custom+Identities+(IIdentity)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!552.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!552.entry</guid><pubDate>Tue, 23 Oct 2007 16:11:25 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!552/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!552.entry#comment</wfw:comment><dcterms:modified>2007-10-23T16:11:25Z</dcterms:modified></item><item><title>Heads up... here comes the BDUF train (again)</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!549.entry</link><description> &lt;a target="_blank"&gt;Martin Fowler&lt;/a&gt;'s article, &lt;a target="_blank" href="http://martinfowler.com/articles/designDead.html"&gt;Is Design Dead&lt;/a&gt;, keeps ringing in my ears each time I see focus shifting to &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Big_Design_Up_Front"&gt;BDUF&lt;/a&gt; in the projects I work on. The deliverable of &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Big_Design_Up_Front"&gt;BDUF&lt;/a&gt; need to be very clearly defined (to avoid &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Analysis_paralysis"&gt;analysis paralysis&lt;/a&gt;) and weighed against the value of evolutionary design which results in working software each step of the way.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Heads+up...+here+comes+the+BDUF+train+(again)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!549.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!549.entry</guid><pubDate>Mon, 15 Oct 2007 16:41:37 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!549/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!549.entry#comment</wfw:comment><dcterms:modified>2007-10-15T16:41:37Z</dcterms:modified></item><item><title>Customization of the Money/Currency class</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!545.entry</link><description>&lt;div&gt;I received a message today regarding removing the currency symbol from my implementation of a &lt;a href="http://noticeablydifferent.com/CodeSamples/Money.aspx" target="_blank"&gt;Money/Currency class&lt;/a&gt;. Unfortunately, the person's profile does not permit a response so I'm making my response here.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;To remove the currency symbol, simply change the formatting of the ToString method as follows:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div style="background-color:#cccccc"&gt;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; &lt;span&gt;ToString()&lt;/span&gt; &lt;span&gt;{&lt;/span&gt; 
&lt;div&gt;&lt;span style="color:#0000ff"&gt;    return&lt;/span&gt; &lt;span&gt;Amount.ToString();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Customization+of+the+Money%2fCurrency+class&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!545.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!545.entry</guid><pubDate>Sun, 07 Oct 2007 00:37:40 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!545/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!545.entry#comment</wfw:comment><dcterms:modified>2007-10-07T00:37:40Z</dcterms:modified></item><item><title>The saga to restore the Windows XP Logon screen (and fast user switching) after installing Linksys WUSB54GC</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!543.entry</link><description>&lt;div&gt;Synopsis: If you've recently installed the &lt;a href="http://www.linksys.com/servlet/Satellite?c=L_Product_C2&amp;amp;childpagename=US/Layout&amp;amp;cid=1134691790190&amp;amp;pagename=Linksys/Common/VisitorWrapper" target="_blank"&gt;Linksys WUSB54GC&lt;/a&gt; usb wireless adapter, uninstall the software that came with the device and download/install the latest drivers from their website.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Here's how the saga unfolded for me:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Instead of watching the third period of the season opening &lt;a href="http://www.edmontonoilers.com/" target="_blank"&gt;Edmonton Oilers&lt;/a&gt; hockey game last night, I spent it trying to figure out what was going wrong with my Dad's computer after he installed a &lt;a href="http://www.linksys.com/servlet/Satellite?c=L_Product_C2&amp;amp;childpagename=US/Layout&amp;amp;cid=1134691790190&amp;amp;pagename=Linksys/Common/VisitorWrapper" target="_blank"&gt;Linksys WUSB54GC&lt;/a&gt;. Some time after installing the software that states, &amp;quot;Install this software before connecting your device&amp;quot; and having the device function as expected, the Windows XP logon screen (the one with the icons) disappeared and the switch user option was no longer available.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;My first instinct was to try and re-enable fast user switching through control panel (Start &amp;gt; Settings &amp;gt; Control Panel &amp;gt; User Accounts &amp;gt; Change the way users log on or off).&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;This presented me with an error message stating, &amp;quot;Automation server can't create object&amp;quot; instead of showing me the expected screen. This lead me to investigate the &lt;a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/snap_event_viewer.mspx?mfr=true" target="_blank"&gt;Event Viewer&lt;/a&gt; where I found the following message message:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&amp;quot;Windows saved user ComputerName\UserName registry while an application or service was still using the registry during log off. The memory used by the user's registry has not been freed. The registry will be unloaded when it is no longer in use. This is caused by services running as a user account, try configuring the services to run in either the LocalService or NetworkService account.&amp;quot;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;This lead me to the following &lt;a href="http://support.microsoft.com/kb/837115" target="_blank"&gt;Microsoft Knowledgebase article&lt;/a&gt; that instructed me to install the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1B286E6D-8912-4E18-B570-42470E2F3582&amp;amp;displaylang=en" target="_blank"&gt;User Profile Hive Cleanup Service&lt;/a&gt;. This produced no effect, even after restarting the machine. *sigh* Okay... what's next.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;In researching the &amp;quot;Automation server can't create object&amp;quot; message, there were recommendations like &lt;a href="http://windowsxp.mvps.org/useraccerror.htm" target="_blank"&gt;this&lt;/a&gt; to install &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c717d943-7e4b-4622-86eb-95a22b832caa&amp;amp;displaylang=en" target="_blank"&gt;Windows Script 5.6 for Windows XP and Windows 2000&lt;/a&gt;. This seemed a bit odd but, hey, it was from Microsoft's site and I was missing seeing the best part of the hockey game.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Doing this appeared to do nothing. Fast switch still wasn't working and the login screen still came up with the Ctrl+Alt+Del login form. *sigh* One more try at re-enabling fast switch through control panel. This time I received a message that a recently installed binary file, gtgina.dll, was causing the grief. Now I was getting somewhere. A quick google search indicated that the gtgina.dll was part of the software installed by from the linksys usb wireless adapter. *AHA* Now we're getting somewhere. I called Linksys support. This is, apparently, a known issue. Resolution involves uninstalling their software and installing the latest drivers.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Impressions:&lt;/div&gt;
&lt;div&gt;This was my first experience with Linksys devices. I wasn't impressed. That's one third period that I'll never get back. &lt;img title="Baring teeth" style="vertical-align:middle" alt="Baring teeth" src="http://shared.live.com/TbRB5QUAj!9gMQWPUATZLg/emoticons/smile_baringteeth.gif"&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+The+saga+to+restore+the+Windows+XP+Logon+screen+(and+fast+user+switching)+after+installing+Linksys+WUSB54GC&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>Computers and Internet</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!543.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!543.entry</guid><pubDate>Sat, 06 Oct 2007 03:57:39 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!543/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!543.entry#comment</wfw:comment><dcterms:modified>2007-10-06T03:57:39Z</dcterms:modified></item><item><title>Using math to determine tolerance levels</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!539.entry</link><description>In post-secondary school I enjoyed taking math classes. As is the case with how I learn concepts within computing science, I tend to think of &amp;quot;real-world&amp;quot; application for what I am working on. Most the time it simply acts as a heuristic to remember the concept. Here's one I came up with recently. The equation and result (L) is purely personal. Here's a link to &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Limit_(mathematics)"&gt;limit mathematics as described by Wikipedia&lt;/a&gt;.&lt;br&gt;&lt;br&gt;p.s. I apologize for not being able to properly embed the image in this post.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div&gt;&lt;table cellspacing="0" border="0"&gt;&lt;tr height="8"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://blufiles.storage.live.com&amp;#47;y1pEFEgJ3M65IsHL8Qwkcptu1S-N2XBIqg2pwUUboGJJtmZaYT85SK2n83vhetixr-Q"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;9D2E96F2AA6AE85F&amp;#33;540&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Using+math+to+determine+tolerance+levels&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!539.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!539.entry</guid><pubDate>Tue, 02 Oct 2007 18:57:00 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!539/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!539.entry#comment</wfw:comment><dcterms:modified>2007-10-02T19:02:27Z</dcterms:modified></item><item><title>Calgary .NET User Group Meeting - Developer Night in Canada (DNIC) III – Bringing the Power of the .NET Framework  to  Your Existing Application - September 27, 2007</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!538.entry</link><description>This presentation by &lt;a target="_blank" href="http://www.bristowe.com/"&gt;John Bristowe&lt;/a&gt; addressed the many different fashions of integrating .NET applications with VB6 applications from migration and integration angles. I had never heard of the &lt;a target="_blank" href="http://msdn2.microsoft.com/en-us/library/Aa289491(VS.71).aspx"&gt;.NET Power Pack&lt;/a&gt;. I was asked to present my experience working, for the last 2+ years migrating some VB6 applications to .NET. My luck with winning door prizes at User Group meetings seems to still be holding up as I was fortunate to win a copy of &lt;a target="_blank" href="http://www.charlespetzold.com/"&gt;Charles Petzold's&lt;/a&gt; &lt;a target="_blank" href="http://wpf.netfx3.com/"&gt;WPF&lt;/a&gt; book,  &lt;a target="_blank" href="http://www.charlespetzold.com/wpf/"&gt;Applications = Code + Markup&lt;/a&gt;. Thank you to the organizers for putting together the logistics to make this presentation possible.&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+Calgary+.NET+User+Group+Meeting+-+Developer+Night+in+Canada+(DNIC)+III+%e2%80%93+Bringing+the+Power+of+the+.NET+Framework++to++Your+Existing+Application+-+September+27%2c+2007&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!538.entry#comment</comments><guid isPermaLink="true">http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!538.entry</guid><pubDate>Fri, 28 Sep 2007 14:14:18 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://HuntJason.spaces.live.com/blog/cns!9D2E96F2AA6AE85F!538/comments/feed.rss</wfw:commentRss><wfw:comment>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!538.entry#comment</wfw:comment><dcterms:modified>2007-09-28T14:14:18Z</dcterms:modified></item><item><title>System.Drawing.Image.FromStream and the "Parameter is not valid." argument exception (Alternate Title: Testing the reconstitution of images from byte arrays)</title><link>http://HuntJason.spaces.live.com/Blog/cns!9D2E96F2AA6AE85F!532.entry</link><description>&lt;font face=Arial size=2&gt;This is my first post to contain VB.NET sample code (I am working in VB.NET at work these days).&lt;br&gt;I struggled with this for quite some time. I figured out that, when you have an empty byte array, that the &lt;/font&gt;Image.FromStream method will throw an ArgumentException stating &amp;quot;Parameter is not valid.&amp;quot;. The following code illustrates successful creation of an in-memory image, converting it to a byte array, and reconstituting it into an image.&lt;br&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div style="background-color:#cccccc"&gt;&lt;font face=Arial size=2&gt;&lt;/font&gt;&amp;lt;Test()&amp;gt; _&lt;br&gt;&lt;span style="color:#0000ff"&gt;Public Sub&lt;/span&gt; ShouldBeAbleToReconstituteImage()&lt;br&gt;     &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; imageArray &lt;span style="color:#0000ff"&gt;As Byte&lt;/span&gt;() = CreateDummyImageByteArray()&lt;br&gt;     &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; reconstitutedImage &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; Image&lt;br&gt;     &lt;span style="color:#0000ff"&gt;Try&lt;/span&gt;&lt;br&gt;          &lt;span style="color:#0000ff"&gt;Using&lt;/span&gt; stream &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; MemoryStream = &lt;span style="color:#0000ff"&gt;New&lt;/span&gt; MemoryStream(imageArray, 0, imageArray.Length)&lt;br&gt;               stream.Write(imageArray, 0, imageArray.Length)&lt;br&gt;               reconstitutedImage = Image.FromStream(stream)&lt;br&gt;          &lt;span style="color:#0000ff"&gt;End Using&lt;/span&gt;&lt;br&gt;     &lt;span style="color:#0000ff"&gt;Catch&lt;/span&gt; argumentException &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; ArgumentException&lt;br&gt;          Assert.Fail(&lt;span style="color:#0000ff"&gt;String&lt;/span&gt;.Format(&lt;span style="color:#a33d3d"&gt;&amp;quot;Unable to reconstitute image. The following exception occurred: '{0}'&amp;quot;&lt;/span&gt;, argumentException.Message))&lt;br&gt;     &lt;span style="color:#0000ff"&gt;End Try&lt;/span&gt;&lt;br&gt;&lt;span style="color:#0000ff"&gt;End Sub&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color:#0000ff"&gt;Public Shared Function&lt;/span&gt; CreateDummyImageByteArray() &lt;span style="color:#0000ff"&gt;As Byte&lt;/span&gt;()&lt;br&gt;    &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; imageArray &lt;span style="color:#0000ff"&gt;As Byte&lt;/span&gt;()&lt;br&gt;    &lt;span style="color:#0000ff"&gt;Dim&lt;/span&gt; originalImage &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; Image = &lt;span style="color:#0000ff"&gt;New&lt;/span&gt; Bitmap(1, 1)&lt;br&gt;    &lt;span style="color:#0000ff"&gt;Using&lt;/span&gt; stream &lt;span style="color:#0000ff"&gt;As&lt;/span&gt; MemoryStream = &lt;span style="color:#0000ff"&gt;New&lt;/span&gt; MemoryStream()&lt;br&gt;        originalImage.Save(stream, ImageFormat.Jpeg)&lt;br&gt;        imageArray = stream.ToArray&lt;br&gt;    &lt;span style="color:#0000ff"&gt;End Using&lt;/span&gt;&lt;br&gt;    &lt;span style="color:#0000ff"&gt;Return&lt;/span&gt; imageArray&lt;br&gt;&lt;span style="color:#0000ff"&gt;End Function&lt;/span&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7120587991840790433&amp;page=RSS%3a+System.Drawing.Image.FromStream+and+the+%22Parameter+is+not+valid.%22+argument+exception+(Alternate+Title%3a+Testing+the+reconstitution+of+images+from+byte+arrays)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=huntjason.spaces.live.com&amp;amp;GT1=HuntJason"&gt;</description><category>.Net</category><comments>http://HuntJason.spaces.live