<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Geekswithblogs.net</title><link>http://geekswithblogs.net/mainfeed.aspx</link><description>Geekswithblogs.net</description><generator>Subtext Version 0.0.0.0</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/geekswithblogs" /><feedburner:info uri="geekswithblogs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Windows Mobile Marketplace: Getting started, App statistics and other details</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/7bhXT0cX4a4/windows-mobile-marketplace-getting-started-app-statistics-and-other-details.aspx</link><pubDate>Sun, 05 Sep 2010 16:01:37 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TechTwaddle/archive/2010/09/05/windows-mobile-marketplace-getting-started-app-statistics-and-other-details.aspx</guid><wfw:comment>http://geekswithblogs.net/TechTwaddle/comments/141634.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TechTwaddle/comments/commentRss/141634.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TechTwaddle/archive/2010/09/05/windows-mobile-marketplace-getting-started-app-statistics-and-other-details.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TechTwaddle/services/trackbacks/141634.aspx</trackback:ping><source url="http://geekswithblogs.net/TechTwaddle/rss.aspx">Windows Mobile Marketplace: Getting started, App statistics and other details</source><description>&lt;p align="justify"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="temppppp" border="0" alt="temppppp" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/TechTwaddle/WindowsLiveWriter/WindowsMobileMarketplaceGettingstartedAp_12947/temppppp_1b1eb6c4-473e-431d-b365-d900cbffa045.png" width="183" height="240" /&gt;If you follow &lt;a href="http://twitter.com/prabhuk"&gt;me on twitter&lt;/a&gt; then this should not be news to you, the Mobile Minesweeper game that I’ve been working &lt;a href="http://geekswithblogs.net/TechTwaddle/archive/2009/10/06/applications-a-game-unfolds.aspx"&gt;on&lt;/a&gt; (&lt;a href="http://geekswithblogs.net/TechTwaddle/archive/2009/10/25/applications-minesweeper-approaches-completion-slowly-but-steadily.aspx"&gt;and off&lt;/a&gt;) forever has finally made it to marketplace and is available for download. There were a few surprises for me in store during the entire process. First, the amount of time it took for the app to be approved, one attempt and one working day! And second, the number of downloads! The app has been downloaded over 10,000 times since I made it available on the marketplace 10 days ago, even though the app is free I never expected so many downloads and it came as a pleasant shock. In this post I’ll share some resources that helped me to get started with marketplace and prepare for the entire process. And also some statistics related to my app.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;Where do I begin?&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;To submit apps, you need to register for the marketplace and get a developer account. Go to &lt;a href="http://developer.windowsphone.com"&gt;http://developer.windowsphone.com&lt;/a&gt; and click on “Register for the marketplace”. Using this developer account you will also be able to submit apps for Windows Phone 7 when the marketplace opens for submissions early October. Here is a nice walk through the registration process,&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.slideshare.net/mymobilehome/windows-marketplacefor-mobile-developer-registration-walk-through-081209-pr"&gt;Windows Marketplace for Mobile Developer Registration Walk Through&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;There are a few minor differences between the slides shown above and the present process, but it’s easy to figure out. So far, the marketplace experience for me has been really smooth. Apart from the &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/mktplace/thread/7a20111d-dad9-485a-9622-6f6ff89420dd"&gt;initial hiccup during registration&lt;/a&gt; where my credit card wouldn’t work, app submission and an update have gone through without any problems.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;Submitting apps to marketplace&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Your application must meet all the application submission requirements and pass several test cases (like 2 hours of hopper test) to be certified. The Windows Mobile 6.5 Application Certification Requirements are available &lt;a href="http://go.microsoft.com/?linkid=9732163"&gt;here&lt;/a&gt; (pdf) for download, and I suggest going through this document at least once. Here is walk through the application submission process,&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.slideshare.net/mymobilehome/windowsmarketplaceformobileapplicationsubmissionwalkthrough"&gt;Windows Marketplace for Mobile Application Submission Walk Through&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Another great resource is Joel’s article on marketplace, a must read;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.codeproject.com/KB/windows/WiMoMarketPlc.aspx" href="http://www.codeproject.com/KB/windows/WiMoMarketPlc.aspx"&gt;http://www.codeproject.com/KB/windows/WiMoMarketPlc.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;App Statistics&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;From the start, I designed the app to support 3 resolutions 240x320, 240x400 and 480x800. I think that these are probably the most popular resolutions for windows mobile devices. The only other hardware requirement is that the device should have a touch screen. I had submitted the app for the US catalogue first, and after it passed certification I submitted the same for other English markets which include Australia, Canada, UK, India, and Singapore. Here are a few numbers,&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;EN-US Catalogue&lt;/strong&gt; – available for 10 days&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="EN-US" border="0" alt="EN-US" src="http://geekswithblogs.net/images/geekswithblogs_net/TechTwaddle/WindowsLiveWriter/WindowsMobileMarketplaceGettingstartedAp_12947/image_b8451070-0b0d-449a-9a12-c2d7999602e7.png" width="648" height="76" /&gt; &lt;/p&gt;  &lt;p align="justify"&gt; &lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;AU, CA, UK, IN and SG Catalogue&lt;/strong&gt; –available for 8 days&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="EN-AU" border="0" alt="EN-AU" src="http://geekswithblogs.net/images/geekswithblogs_net/TechTwaddle/WindowsLiveWriter/WindowsMobileMarketplaceGettingstartedAp_12947/image_28cf04cd-49cd-4dbf-a57b-edcf0fa41b91.png" width="646" height="73" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="EN-CA" border="0" alt="EN-CA" src="http://geekswithblogs.net/images/geekswithblogs_net/TechTwaddle/WindowsLiveWriter/WindowsMobileMarketplaceGettingstartedAp_12947/image_fa4bb75d-f219-45c1-8ff8-47f6f06e767b.png" width="646" height="70" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="EN-GB" border="0" alt="EN-GB" src="http://geekswithblogs.net/images/geekswithblogs_net/TechTwaddle/WindowsLiveWriter/WindowsMobileMarketplaceGettingstartedAp_12947/image_6b45943a-7e66-443e-a9c4-b7f64e7c374c.png" width="645" height="70" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="EN-IN" border="0" alt="EN-IN" src="http://geekswithblogs.net/images/geekswithblogs_net/TechTwaddle/WindowsLiveWriter/WindowsMobileMarketplaceGettingstartedAp_12947/image_b5182c14-5e6e-4174-b6b9-b7774d030c71.png" width="645" height="69" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="EN-SG" border="0" alt="EN-SG" src="http://geekswithblogs.net/images/geekswithblogs_net/TechTwaddle/WindowsLiveWriter/WindowsMobileMarketplaceGettingstartedAp_12947/image_dce91ad8-054b-492d-843d-4a8f22834b9f.png" width="644" height="70" /&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Clearly, US is by far the biggest market, no surprise really. If you happen to try out the app, do let me know what you think. Any suggestions or feedbacks are welcome. Goodbye. Until next time. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141634"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141634" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TechTwaddle/aggbug/141634.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/7bhXT0cX4a4" height="1" width="1"/&gt;</description><dc:creator>TechTwaddle</dc:creator><feedburner:origLink>http://geekswithblogs.net/TechTwaddle/archive/2010/09/05/windows-mobile-marketplace-getting-started-app-statistics-and-other-details.aspx</feedburner:origLink></item><item><title>Day 5 of being unemployed</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/rXWjhoPPEug/day-5-of-being-unemployed.aspx</link><pubDate>Sun, 05 Sep 2010 14:55:29 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/05/day-5-of-being-unemployed.aspx</guid><wfw:comment>http://geekswithblogs.net/TehGrumpyCoder/comments/141632.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TehGrumpyCoder/comments/commentRss/141632.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/05/day-5-of-being-unemployed.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TehGrumpyCoder/services/trackbacks/141632.aspx</trackback:ping><source url="http://geekswithblogs.net/TehGrumpyCoder/rss.aspx">Day 5 of being unemployed</source><description>&lt;table border="0" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="389"&gt;Saturday means the lawn, so I’ll go wake the neighborhood up about 7 maybe.         &lt;br /&gt;          &lt;br /&gt;Meanwhile I’ll see what I can look at as far as training material for an hour and get a jump on the day.          &lt;br /&gt;          &lt;p&gt;Lots of interruptions, but got some good solid MVVM done via &lt;a href="http://www.arrangeactassert.com/how-to-refactor-and-build-better-microsoft-silverlight-applications/"&gt;a post by Jag Raheel&lt;/a&gt; where he links out to a bunch of other posts to make his points in the article… all good stuff!&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="11"&gt;&lt;img border="0" alt="" src="http://www.wynapse.com/images/ResumeStickySmallWhiteBG.jpg" /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Everyone reads different stuff into different books… what works for me might not work for you… I always tell someone to go to Borders or someplace and pull down all the books on the subject they can find, then browse until one ‘talks to you’.&lt;/p&gt;  &lt;p&gt;Well, Jag’s article talked to me this morning… things started snapping into place and I actually understood the what and why. I Iike the simple program that gets expanded on and explained.&lt;/p&gt;  &lt;p&gt;That plus last night’s unlikely find – near the end of Chapter 3 in Victor Gaudioso’s “Foundation Expression Blend 4 with Silverlight” is a section titled “A Simple OOP Project” … he brings together lots of things that a beginner might have problem with, but a ‘seasoned’ developer stuck in last year’s technology would find useful, particularly pulled together in one section.&lt;/p&gt;  &lt;p&gt;Another watershed moment was when I finally looked up the term ‘Agile’ since I’d been asked if I (knew/used/?) Agile methodology … well.. &lt;strong&gt;How do you like me now&lt;/strong&gt;? I been doin’ that shit all my life… it just took some weenie to wrap a name and “M e t h o d o l o g y” around it… dang… do people really think someone could get this old writing code without knowing most of this crap… how was I supposed to know they gave it a name.. :) … boy, I need to think of all the crap I do while writing software and figure out which ones they haven’t attached names… maybe write a book or an eBook about it and get famous with a new ‘methodology’ … Idshakemyheadbutithurts… so I’m checking that of my bucketlist… one down!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;So Far&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;4 units(hours?) of training today: 3  of ViewModel/MVVM and 1 of MEF&lt;/p&gt;  &lt;p&gt;SC #941 went out and I only forgot one post on the way… I’ll start with that one today.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141632"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141632" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TehGrumpyCoder/aggbug/141632.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/rXWjhoPPEug" height="1" width="1"/&gt;</description><dc:creator>TehGrumpyCoder</dc:creator><feedburner:origLink>http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/05/day-5-of-being-unemployed.aspx</feedburner:origLink></item><item><title>Making Web Client requests behave from .NET or in reality misbehave &amp;ndash; ignoring Certificate Issues from HttpWebRequest</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/ZoeksocY4YY/making-web-client-requests-behave-from-.net-or-in-reality.aspx</link><pubDate>Sun, 05 Sep 2010 09:41:35 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/cicorias/archive/2010/09/05/making-web-client-requests-behave-from-.net-or-in-reality.aspx</guid><wfw:comment>http://geekswithblogs.net/cicorias/comments/141631.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/cicorias/comments/commentRss/141631.aspx</wfw:commentRss><comments>http://geekswithblogs.net/cicorias/archive/2010/09/05/making-web-client-requests-behave-from-.net-or-in-reality.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/cicorias/services/trackbacks/141631.aspx</trackback:ping><source url="http://geekswithblogs.net/cicorias/rss.aspx">Making Web Client requests behave from .NET or in reality misbehave &amp;ndash; ignoring Certificate Issues from HttpWebRequest</source><description>&lt;p&gt;Many times, especially during development, you could have certificates that are out of date, aren’t singed by any real authority (makecert, etc.), or even don’t match the host name that the request is issued against, but you want to test, etc.&lt;/p&gt;  &lt;p&gt;One example is if you want to run Fiddler to get a good over-the-wire trace of the HTTP traffic, when the endpoint is accessed over HTTPS.  With Fiddler, you can capture HTTPS traffic, only thing is, it sticks it’s own certificate in the chain which doesn't match the DNS name of the host.  So, your HttpWebRequest call will fail regardless.&lt;/p&gt;  &lt;p&gt;So, to have HttpWebRequest ignore all errors (this is testing only mode – don’t do this in production – or do it carefully) establish the certificate validation callback using the following – which basically, regardless of the SSL Policy error, just returns “true” – basically, nothing is ever wrong.&lt;/p&gt;  &lt;pre class="brush: csharp;"&gt;public class AcceptAllCertificates
{
    public AcceptAllCertificates()
    {
        System.Net.ServicePointManager.ServerCertificateValidationCallback +=
            ((sender, certificate, certicateChain, sslPolicyErrors) =&amp;gt; true);
    }
}&lt;/pre&gt;

&lt;p&gt;The key thing is, this becomes over-arching – that means, SerivcePointManager now implements this policy across all subsequent calls.  You need to call this at application startup, or somewhere before issuing requests. You can extend this and implement your own rules, but this is something I just used to take a good Fiddler trace against an external HTTPS endpoint that I didn’t control without having exceptions tossed.&lt;/p&gt;

&lt;p&gt;There are a whole bunch of other things that you can take advantage of in ServicePointManager – things such as the HttpConnection limit, which is based upon a W3 spec, but for internal back-end service calls over REST and the like, you may want to affect.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;pre class="brush: csharp;"&gt;namespace System.Net
{
    // Summary:
    //     Manages the collection of System.Net.ServicePoint objects.
    public class ServicePointManager
    {
        // Summary:
        //     The default number of non-persistent connections (4) allowed on a System.Net.ServicePoint
        //     object connected to an HTTP/1.0 or later server. This field is constant but
        //     is no longer used in the .NET Framework 2.0.
        public const int DefaultNonPersistentConnectionLimit = 4;
        //
        // Summary:
        //     The default number of persistent connections (2) allowed on a System.Net.ServicePoint
        //     object connected to an HTTP/1.1 or later server. This field is constant and
        //     is used to initialize the System.Net.ServicePointManager.DefaultConnectionLimit
        //     property if the value of the System.Net.ServicePointManager.DefaultConnectionLimit
        //     property has not been set either directly or through configuration.
        public const int DefaultPersistentConnectionLimit = 2;

        // Summary:
        //     Gets or sets policy for server certificates.
        //
        // Returns:
        //     An object that implements the System.Net.ICertificatePolicy interface.
        [Obsolete("CertificatePolicy is obsoleted for this type, please use ServerCertificateValidationCallback instead. http://go.microsoft.com/fwlink/?linkid=14202")]
        public static ICertificatePolicy CertificatePolicy { get; set; }
        //
        // Summary:
        //     Gets or sets a System.Boolean value that indicates whether the certificate
        //     is checked against the certificate authority revocation list.
        //
        // Returns:
        //     true if the certificate revocation list is checked; otherwise, false.
        public static bool CheckCertificateRevocationList { get; set; }
        //
        // Summary:
        //     Gets or sets the maximum number of concurrent connections allowed by a System.Net.ServicePoint
        //     object.
        //
        // Returns:
        //     The maximum number of concurrent connections allowed by a System.Net.ServicePoint
        //     object. The default value is 2.
        //
        // Exceptions:
        //   System.ArgumentOutOfRangeException:
        //     System.Net.ServicePointManager.DefaultConnectionLimit is less than or equal
        //     to 0.
        public static int DefaultConnectionLimit { get; set; }
        //
        // Summary:
        //     Gets or sets a value that indicates how long a Domain Name Service (DNS)
        //     resolution is considered valid.
        //
        // Returns:
        //     The time-out value, in milliseconds. A value of -1 indicates an infinite
        //     time-out period. The default value is 120,000 milliseconds (two minutes).
        public static int DnsRefreshTimeout { get; set; }
        //
        // Summary:
        //     Gets or sets a value that indicates whether a Domain Name Service (DNS) resolution
        //     rotates among the applicable Internet Protocol (IP) addresses.
        //
        // Returns:
        //     false if a DNS resolution always returns the first IP address for a particular
        //     host; otherwise true. The default is false.
        public static bool EnableDnsRoundRobin { get; set; }
        //
        // Summary:
        //     Gets the System.Net.Security.EncryptionPolicy for this System.Net.ServicePointManager
        //     instance.
        //
        // Returns:
        //     The encryption policy to use for this System.Net.ServicePointManager instance.
        public static EncryptionPolicy EncryptionPolicy { get; }
        //
        // Summary:
        //     Gets or sets a System.Boolean value that determines whether 100-Continue
        //     behavior is used.
        //
        // Returns:
        //     true to enable 100-Continue behavior. The default value is true.
        public static bool Expect100Continue { get; set; }
        //
        // Summary:
        //     Gets or sets the maximum idle time of a System.Net.ServicePoint object.
        //
        // Returns:
        //     The maximum idle time, in milliseconds, of a System.Net.ServicePoint object.
        //     The default value is 100,000 milliseconds (100 seconds).
        //
        // Exceptions:
        //   System.ArgumentOutOfRangeException:
        //     System.Net.ServicePointManager.MaxServicePointIdleTime is less than System.Threading.Timeout.Infinite
        //     or greater than System.Int32.MaxValue.
        public static int MaxServicePointIdleTime { get; set; }
        //
        // Summary:
        //     Gets or sets the maximum number of System.Net.ServicePoint objects to maintain
        //     at any time.
        //
        // Returns:
        //     The maximum number of System.Net.ServicePoint objects to maintain. The default
        //     value is 0, which means there is no limit to the number of System.Net.ServicePoint
        //     objects.
        //
        // Exceptions:
        //   System.ArgumentOutOfRangeException:
        //     System.Net.ServicePointManager.MaxServicePoints is less than 0 or greater
        //     than System.Int32.MaxValue.
        public static int MaxServicePoints { get; set; }
        //
        // Summary:
        //     Gets or sets the security protocol used by the System.Net.ServicePoint objects
        //     managed by the System.Net.ServicePointManager object.
        //
        // Returns:
        //     One of the values defined in the System.Net.SecurityProtocolType enumeration.
        //
        // Exceptions:
        //   System.NotSupportedException:
        //     The value specified to set the property is not a valid System.Net.SecurityProtocolType
        //     enumeration value.
        public static SecurityProtocolType SecurityProtocol { get; set; }
        //
        // Summary:
        //     Gets or sets the callback to validate a server certificate.
        //
        // Returns:
        //     A System.Net.Security.RemoteCertificateValidationCallback The default value
        //     is null.
        public static RemoteCertificateValidationCallback ServerCertificateValidationCallback { get; set; }
        //
        // Summary:
        //     Determines whether the Nagle algorithm is used by the service points managed
        //     by this System.Net.ServicePointManager object.
        //
        // Returns:
        //     true to use the Nagle algorithm; otherwise, false. The default value is true.
        public static bool UseNagleAlgorithm { get; set; }

        // Summary:
        //     Finds an existing System.Net.ServicePoint object or creates a new System.Net.ServicePoint
        //     object to manage communications with the specified System.Uri object.
        //
        // Parameters:
        //   address:
        //     The System.Uri object of the Internet resource to contact.
        //
        // Returns:
        //     The System.Net.ServicePoint object that manages communications for the request.
        //
        // Exceptions:
        //   System.ArgumentNullException:
        //     address is null.
        //
        //   System.InvalidOperationException:
        //     The maximum number of System.Net.ServicePoint objects defined in System.Net.ServicePointManager.MaxServicePoints
        //     has been reached.
        [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
        public static ServicePoint FindServicePoint(Uri address);
        //
        // Summary:
        //     Finds an existing System.Net.ServicePoint object or creates a new System.Net.ServicePoint
        //     object to manage communications with the specified Uniform Resource Identifier
        //     (URI).
        //
        // Parameters:
        //   uriString:
        //     The URI of the Internet resource to be contacted.
        //
        //   proxy:
        //     The proxy data for this request.
        //
        // Returns:
        //     The System.Net.ServicePoint object that manages communications for the request.
        //
        // Exceptions:
        //   System.UriFormatException:
        //     The URI specified in uriString is invalid.
        //
        //   System.InvalidOperationException:
        //     The maximum number of System.Net.ServicePoint objects defined in System.Net.ServicePointManager.MaxServicePoints
        //     has been reached.
        public static ServicePoint FindServicePoint(string uriString, IWebProxy proxy);
        //
        // Summary:
        //     Finds an existing System.Net.ServicePoint object or creates a new System.Net.ServicePoint
        //     object to manage communications with the specified System.Uri object.
        //
        // Parameters:
        //   address:
        //     A System.Uri object that contains the address of the Internet resource to
        //     contact.
        //
        //   proxy:
        //     The proxy data for this request.
        //
        // Returns:
        //     The System.Net.ServicePoint object that manages communications for the request.
        //
        // Exceptions:
        //   System.ArgumentNullException:
        //     address is null.
        //
        //   System.InvalidOperationException:
        //     The maximum number of System.Net.ServicePoint objects defined in System.Net.ServicePointManager.MaxServicePoints
        //     has been reached.
        public static ServicePoint FindServicePoint(Uri address, IWebProxy proxy);
        //
        // Summary:
        //     Enables or disables the keep-alive option on a TCP connection.
        //
        // Parameters:
        //   enabled:
        //     If set to true, then the TCP keep-alive option on a TCP connection will be
        //     enabled using the specified keepAliveTime and keepAliveInterval values. If
        //     set to false, then the TCP keep-alive option is disabled and the remaining
        //     parameters are ignored.The default value is false.
        //
        //   keepAliveTime:
        //     Specifies the timeout, in milliseconds, with no activity until the first
        //     keep-alive packet is sent.The value must be greater than 0. If a value of
        //     less than or equal to zero is passed an System.ArgumentOutOfRangeException
        //     is thrown.
        //
        //   keepAliveInterval:
        //     Specifies the interval, in milliseconds, between when successive keep-alive
        //     packets are sent if no acknowledgement is received.The value must be greater
        //     than 0. If a value of less than or equal to zero is passed an System.ArgumentOutOfRangeException
        //     is thrown.
        //
        // Exceptions:
        //   System.ArgumentOutOfRangeException:
        //     The value specified for keepAliveTime or keepAliveInterval parameter is less
        //     than or equal to 0.
        public static void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
    }
}&lt;/pre&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141631"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141631" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cicorias/aggbug/141631.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/ZoeksocY4YY" height="1" width="1"/&gt;</description><dc:creator>Shawn Cicoria</dc:creator><feedburner:origLink>http://geekswithblogs.net/cicorias/archive/2010/09/05/making-web-client-requests-behave-from-.net-or-in-reality.aspx</feedburner:origLink></item><item><title>how to get latitude or longitude from google map</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/XUJnFR6FLkw/how-to-get-latitude-or-longitude-from-google-map.aspx</link><pubDate>Sun, 05 Sep 2010 10:03:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/anirudha/archive/2010/09/04/how-to-get-latitude-or-longitude-from-google-map.aspx</guid><wfw:comment>http://geekswithblogs.net/anirudha/comments/141630.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/anirudha/comments/commentRss/141630.aspx</wfw:commentRss><comments>http://geekswithblogs.net/anirudha/archive/2010/09/04/how-to-get-latitude-or-longitude-from-google-map.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/anirudha/services/trackbacks/141630.aspx</trackback:ping><source url="http://geekswithblogs.net/anirudha/rss.aspx">how to get latitude or longitude from google map</source><description>&lt;p&gt;&lt;font size="2" face="Consolas"&gt;i write a 2nd post on the topic who work with show map rather then only filling the webform. it is much better because user can understand the location by watching the location on map you can read here &lt;/font&gt;&lt;a href="http://anirugu.spaces.live.com/blog/cns!1C18FA8AF78AEB47!219.entry"&gt;how to get latitude or longitude from google map api by show the map&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141630"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141630" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/anirudha/aggbug/141630.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/XUJnFR6FLkw" height="1" width="1"/&gt;</description><dc:creator>anirudha</dc:creator><feedburner:origLink>http://geekswithblogs.net/anirudha/archive/2010/09/04/how-to-get-latitude-or-longitude-from-google-map.aspx</feedburner:origLink></item><item><title>Silverlight Cream for September 04, 2010 -- #941</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Ws3k76Vs5So/141626.aspx</link><pubDate>Sun, 05 Sep 2010 01:35:44 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/04/141626.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/141626.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/141626.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/04/141626.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/141626.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Silverlight Cream for September 04, 2010 -- #941</source><description>&lt;p&gt;&lt;font face="tahoma"&gt;
&lt;table border="0" cellspacing="10" cellpadding="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top"&gt;In this Issue: &lt;a href="#20100904Michael Washington"&gt;&lt;u&gt;Michael Washington&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100904SilverLaw"&gt;&lt;u&gt;SilverLaw&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100904Nigel Sampson"&gt;&lt;u&gt;Nigel Sampson&lt;/u&gt;&lt;/a&gt;(&lt;a href="#20100904Nigel Sampson2"&gt;&lt;u&gt;-2-&lt;/u&gt;&lt;/a&gt;), &lt;a href="#20100904Mohamed Mosallem"&gt;&lt;u&gt;Mohamed Mosallem&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100904Vikram Pendse"&gt;&lt;u&gt;Vikram Pendse&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100904Ward Bell"&gt;&lt;u&gt;Ward Bell&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100904Gill Cleeren"&gt;&lt;u&gt;Gill Cleeren&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100904Jag Reehal"&gt;&lt;u&gt;Jag Reehal&lt;/u&gt;&lt;/a&gt;, and &lt;a href="#20100904Enrico Gebauer"&gt;&lt;u&gt;Enrico Gebauer&lt;/u&gt;&lt;/a&gt;.&lt;/td&gt;
            &lt;td valign="top"&gt;&lt;img border="0" alt="" src="http://wynapse.com/images/Resume2.jpg" /&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;b&gt;Shoutouts:&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Victor Gaudioso&lt;/b&gt; announces a Texas-sized event: &lt;a href="http://www.windowspresentationfoundation.com/?p=683"&gt;&lt;u&gt;Sharing in the Light – I dive into Silverlight Development with Blend – Two day event in Dallas Sept. 25 &amp;amp; 26&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;/center&gt;&lt;b&gt;From &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream.com&lt;/u&gt;&lt;/a&gt;: &lt;/b&gt;
&lt;dl&gt;
    &lt;dt&gt;&lt;a name="20100904Michael Washington"&gt;&lt;/a&gt;&lt;a title="http://openlightgroup.net/Blog/tabid/58/EntryId/125/Silmple-Silverlight-Configurator-Pivot-View-Model-MVVM.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6463"&gt;&lt;u&gt;Simple Silverlight Configurator/Pivot (View Model/MVVM)&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Michael Washington&lt;/b&gt; has a cool app up using ViewModel/MVVM that allows users to query a collection via a set of sliders... all the code, instructins, and even some goodness from Adam Kinney. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100904SilverLaw"&gt;&lt;/a&gt;&lt;a title="http://blogs.windowsclient.net/silverlaw/archive/2010/09/04/hyperlinkbutton-style-silverlight-4.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6462"&gt;&lt;u&gt;HyperlinkButton Style - Silverlight 4&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;SilverLaw&lt;/b&gt; has a very nice-looking Hyperlink button up in the Expression Gallery for us to download and use.... &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100904Nigel Sampson"&gt;&lt;/a&gt;&lt;a title="http://compiledexperience.com/windows-phone-7/tutorials/quick-mail" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6460"&gt;&lt;u&gt;WP7 - Quick Mail&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Nigel Sampson&lt;/b&gt; has two more WP7 tutorials up ... this first looks like a winner... a quick email app... just the thing to snap up when you have to send a quick email out. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100904Nigel Sampson2"&gt;&lt;/a&gt;&lt;a title="http://compiledexperience.com/windows-phone-7/tutorials/snowfall" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6461"&gt;&lt;u&gt;WP7 - Snowfall&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Nigel Sampson&lt;/b&gt;'s second WP7 tutorial is more for the 'works' than the product... UserControl snowflakes and some wind thrown in. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100904Mohamed Mosallem"&gt;&lt;/a&gt;&lt;a title="http://mosalem.blogspot.com/2010/09/silverlight-40-tutorial-7-of-n-visual.html" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6459"&gt;&lt;u&gt;Silverlight 4.0 Tutorial (7 of N): Visual States&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Mohamed Mosallem&lt;/b&gt; has his next installment (of N) up on the Registration Booth app he's building ... spending a bunch of time in this one in Blend with Visual States. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100904Vikram Pendse"&gt;&lt;/a&gt;&lt;a title="http://pendsevikram.blogspot.com/2010/09/silverlight-on-mobile-application-bar.html" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6458"&gt;&lt;u&gt;Silverlight On Mobile : Application Bar for your Windows Phone 7 Application&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Vikram Pendse&lt;/b&gt; has a post up about the AppBar on WP7 with tons of information, hints, and tips... definitely one to read if you're doing WP7 work. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100904Ward Bell"&gt;&lt;/a&gt;&lt;a title="http://neverindoubtnet.blogspot.com/2010/09/devforce-meets-mvvm-light.html" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6457"&gt;&lt;u&gt;DevForce Meets Mvvm Light&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Ward "Loud LasVegas Jacket Guy" Bell&lt;/b&gt; took aim at Laurent Bugnion's MVVMLight as a demo of Ward's DevForce product ... go grab a copy of DevForce, Laurent's MVVMLight, and Ward's implementation and curl up for some good reading... &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100904Gill Cleeren"&gt;&lt;/a&gt;&lt;a title="http://www.snowball.be/2010/09/04/Building+An+App+Marketplace+With+MEF+MEFSilverlight+4+Tutorial.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6456"&gt;&lt;u&gt;Building an app marketplace with MEF (MEF/Silverlight 4 tutorial)&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Gill Cleeren&lt;/b&gt; shares and discusses the app he built for a presentation... a marketplace app in Silverlight 4 using MEF. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100904Jag Reehal"&gt;&lt;/a&gt;&lt;a title="http://www.arrangeactassert.com/how-to-refactor-and-build-better-microsoft-silverlight-applications/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6455"&gt;&lt;u&gt;How To Refactor And Build Better Microsoft Silverlight Applications&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;I can't say enough about this article by &lt;b&gt;Jag Reehal&lt;/b&gt; from June ... read it, build the app, get your head around the concepts... good stuff... thanks Jag! &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100904Enrico Gebauer"&gt;&lt;/a&gt;&lt;a title="http://silverlight-essentials.com/blog/?p=55" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6454"&gt;&lt;u&gt;Binding EventArgs to Command&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;I found this post by &lt;b&gt;Enrico Gebauer&lt;/b&gt; rattling around in a folder, and after looking, I realized I'd never posted it... it's about Behaviors and Blend and ViewModels and handling UI events without slamming a bunch of code in the codebehind file. &lt;/dd&gt;
&lt;/dl&gt;
&lt;br /&gt;
&lt;font color="#0000ff"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;a href="http://twitter.com/SilverlightNews"&gt;&lt;u&gt;Twitter SilverlightNews&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://twitter.com/WynApse"&gt;&lt;u&gt;Twitter WynApse&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com/TaggedPosts.aspx"&gt;&lt;u&gt;Tagged Posts&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://tech.groups.yahoo.com/group/SilverlightCream/join"&gt;&lt;u&gt;Join me @ SilverlightCream&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.phoenixsilverlight.net"&gt;&lt;u&gt;Phoenix Silverlight User Group&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;/center&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Technorati Tags:&lt;/b&gt; &lt;a rel="tag" href="http://technorati.com/tag/Silverlight"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=Silverlight" /&gt;Silverlight&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-3"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-3" /&gt;Silverlight 3&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-4"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-4" /&gt;Silverlight 4&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/windowsphone"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=windowsphone" /&gt;Windows Phone&lt;/a&gt; &lt;a rel="tag" href="http://technorati.com/tag/MIX10"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=MIX10" /&gt;MIX10&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141626"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141626" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/141626.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Ws3k76Vs5So" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/04/141626.aspx</feedburner:origLink></item><item><title>Determining if a type is defined in the .NET Framework</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/x37Cbt58shQ/determining-if-a-type-is-defined-in-the-.net-framework.aspx</link><pubDate>Sat, 04 Sep 2010 20:24:51 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/sdorman/archive/2010/09/04/determining-if-a-type-is-defined-in-the-.net-framework.aspx</guid><wfw:comment>http://geekswithblogs.net/sdorman/comments/141625.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/141625.aspx</wfw:commentRss><comments>http://geekswithblogs.net/sdorman/archive/2010/09/04/determining-if-a-type-is-defined-in-the-.net-framework.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/141625.aspx</trackback:ping><source url="http://geekswithblogs.net/sdorman/rss.aspx">Determining if a type is defined in the .NET Framework</source><description>&lt;p&gt;There have been several questions on StackOverflow about how to determine if a type is defined in the .NET Framework or is a third-party or custom type. Based on the answers provided to these questions, this can be accomplished using some reflection to retrieve the public key token of the assembly in which the type is defined and compare it to a public key token known to be used by Microsoft to sign the .NET Framework assemblies.&lt;/p&gt;  &lt;p&gt;To do this, you can make use of the following extension method:&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; height: 286px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; TypeExtensions&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;[]&amp;gt; tokens = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;[]&amp;gt;()  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    { &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;[] {0xb7, 0x7a, 0x5c, 0x56, 0x19, 0x34, 0xe0, 0x89}, &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;[] {0x31, 0xbf, 0x38, 0x56, 0xad, 0x36, 0x4e, 0x35}, &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;[] {0xb0, 0x3f, 0x5f, 0x7f, 0x11, 0xd5, 0x0a, 0x3a} &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; IsFrameworkType(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt; Type type)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (type == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;) { &lt;span style="color: #0000ff"&gt;throw&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ArgumentNullException(&lt;span style="color: #006080"&gt;"type"&lt;/span&gt;); }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;[] publicKeyToken = type.Assembly.GetName().GetPublicKeyToken();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; publicKeyToken != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; publicKeyToken.Length == 8&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &amp;amp;&amp;amp; tokens.Contains(publicKeyToken, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ByteArrayEqualityComparer());&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The set of public key tokens are valid for all versions of the .NET Framework starting with .NET Framework 2.0. The ByteArrayEqualityComparer class looks like:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ByteArrayEqualityComparer : EqualityComparer&amp;lt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;[]&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&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;bool&lt;/span&gt; Equals(&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;[] x, &lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;[] y)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; x != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; y != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    &amp;amp;&amp;amp; x.Length == 8 &amp;amp;&amp;amp; y.Length == 8&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    &amp;amp;&amp;amp; x[0] == y[0]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    &amp;amp;&amp;amp; x[1] == y[1]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    &amp;amp;&amp;amp; x[2] == y[2]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    &amp;amp;&amp;amp; x[3] == y[3]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    &amp;amp;&amp;amp; x[4] == y[4]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    &amp;amp;&amp;amp; x[5] == y[5]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    &amp;amp;&amp;amp; x[6] == y[6]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    &amp;amp;&amp;amp; x[7] == y[7];&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&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;int&lt;/span&gt; GetHashCode(&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;[] obj)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; obj.GetHashCode();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;You would then use this extension method like:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;Debug.WriteLine(&lt;span style="color: #006080"&gt;"Is type `string` a .NET Framework type? {0}"&lt;/span&gt;, &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;   &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;).IsFrameworkType()); &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c5c9014e-8645-4cc0-89d0-ee648f18c60b" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fgeekswithblogs.net%2fsdorman%2farchive%2f2010%2f09%2f04%2fdetermining-if-a-type-is-defined-in-the-.net-framework.aspx&amp;amp;title=Determining+if+a+type+is+defined+in+the+.NET+Framework"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border: 0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141625"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141625" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sdorman/aggbug/141625.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/x37Cbt58shQ" height="1" width="1"/&gt;</description><dc:creator>Scott Dorman</dc:creator><feedburner:origLink>http://geekswithblogs.net/sdorman/archive/2010/09/04/determining-if-a-type-is-defined-in-the-.net-framework.aspx</feedburner:origLink></item><item><title>How to organize your desktop and keep it that way</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/jB1ZMXMo6VQ/141624.aspx</link><pubDate>Sat, 04 Sep 2010 16:17:50 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/kjones/archive/2010/09/04/141624.aspx</guid><wfw:comment>http://geekswithblogs.net/kjones/comments/141624.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/kjones/comments/commentRss/141624.aspx</wfw:commentRss><comments>http://geekswithblogs.net/kjones/archive/2010/09/04/141624.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/kjones/services/trackbacks/141624.aspx</trackback:ping><source url="http://geekswithblogs.net/kjones/rss.aspx">How to organize your desktop and keep it that way</source><description>&lt;p&gt;I’ve been using a utility for the last couple of years that organizes my desktop – &lt;a href="http://www.stardock.com/products/fences/index.asp"&gt;Stardock Fences&lt;/a&gt; – and I was going to write up a review saying how cool and useful it is.  However, others have already done that &lt;a href="http://blogs.wharton.upenn.edu/staff/joecruz/2009/02/fences-makes-a-great-desktop.html"&gt;here&lt;/a&gt; and &lt;a href="http://www.zdnet.com/blog/perlow/my-must-have-windows-7-utility-stardock-fences/10992"&gt;here&lt;/a&gt; (and many more via &lt;a href="http://www.google.com/webhp?hl=en#hl=en&amp;amp;source=hp&amp;amp;q=stardock+fences+review"&gt;Google&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;So instead of rehashing those reviews, I’ll just say this: I find that the hiding icons feature and the screen resize features are great when I’m using my laptop for presentations. I’ve used this utility on Windows XP, Windows Server 2003 R2, and Windows 7 x64 – all with no problems.&lt;/p&gt; 		&lt;object width="901" height="180"&gt; 		&lt;param name="movie" value="fences-take5.swf" /&gt; 		&lt;embed src="http://www.stardock.com/products/fences/images/new/fences-take5.swf" width="901" height="180"&gt; 		&lt;/embed&gt; 		&lt;/object&gt;  &lt;p&gt;&lt;em&gt;(Note: I received no compensation for this product endorsement &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/kjones/WindowsLiveWriter/GreattoolfororganizingyourdesktopStardoc_C156/wlEmoticon-smile_2.png" /&gt; )&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141624"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141624" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/kjones/aggbug/141624.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/jB1ZMXMo6VQ" height="1" width="1"/&gt;</description><dc:creator>Kelly Jones</dc:creator><feedburner:origLink>http://geekswithblogs.net/kjones/archive/2010/09/04/141624.aspx</feedburner:origLink></item><item><title>Book Review: Silverlight 4 in Action by Pete Brown</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/ACP7ZH_jPAY/book-review-silverlight-4-in-action-by-pete-brown.aspx</link><pubDate>Sat, 04 Sep 2010 12:12:01 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mbcrump/archive/2010/09/04/book-review-silverlight-4-in-action-by-pete-brown.aspx</guid><wfw:comment>http://geekswithblogs.net/mbcrump/comments/141623.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mbcrump/comments/commentRss/141623.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mbcrump/archive/2010/09/04/book-review-silverlight-4-in-action-by-pete-brown.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mbcrump/services/trackbacks/141623.aspx</trackback:ping><source url="http://geekswithblogs.net/mbcrump/rss.aspx">Book Review: Silverlight 4 in Action by Pete Brown</source><description>&lt;p&gt;&lt;img src="http://www.manning.com/pbrown/pbrown_cover150.jpg" width="240" height="298" /&gt;&lt;/p&gt;  &lt;p&gt;A new &lt;a href="http://www.manning.com/pbrown/"&gt;Silverlight 4&lt;/a&gt; book is coming out on September 7th and I had a chance to review it before it hits shelves. After reading the book and some chapters multiple times, I can tell you that this &lt;em&gt;is&lt;/em&gt; the best book for a developer wanting to learn Silverlight 4. If you are wondering if you should buy the book or not then let me answer that right now. YES. I would definitely recommend this book to all levels of Silverlight Developers (from newbie’s to pro’s). &lt;/p&gt;  &lt;p&gt;I will start with the TOC and provide a brief write-up of what the chapter is about and my thoughts on the material.  &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Introducing Silverlight – Normally the first chapter of a programming book is boring, this one is not. Pete helps you setup your dev environment but finishes up with a “Hello World” that uses Linq to XML, Lambda Expressions and anonymous delegates. Yes, you heard me right. No more add a button and produce a MessageBox. This really helps set the tone that this book is serious business.     &lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt; Core XAML – This chapter lays out the foundation of Silverlight/WPF – Xaml. Pete shows you how to walk through the visual trees to understanding dependency properties. I will admit that this chapter kicked my butt, and I write a lot of XAML. This deep understanding of the core reminded me of John Skeet’s C# in Depth series. Pete finishes this chapter with some nice tools for working with Xaml. If you want more tools then check out the &lt;a href="http://tools.michaelcrump.net"&gt;list&lt;/a&gt; I created.     &lt;br /&gt;&lt;strong&gt;3.&lt;/strong&gt; The application model and the plug-In – Another in-depth explanation of how the Silverlight plug-in and startup works. This is the kind of information that would have really helped me with a Silverlight project I just completed.     &lt;br /&gt;&lt;strong&gt;4.&lt;/strong&gt; Integrating with the browser – This chapter is mainly about the HTML Dom from Silverlight and hosting HTML in Silverlight.     &lt;br /&gt;&lt;strong&gt;5.&lt;/strong&gt; Integrating with the desktop – This chapter includes a mixture of things from: Running Silverlight out of browser, to elevated trust, COM, notification toast and isolated storage. One of the cool things that Pete shows you how to do is create an Excel worksheet through the COM Interop using elevated trust. The other piece that I enjoyed was creating a file quote bar associated with a user’s isolated storage. Simply cool stuff.     &lt;br /&gt;&lt;strong&gt;6.&lt;/strong&gt; Rendering, layout and transforming – This chapter covers 2D transformations as well as 3D plane and matrix projection.     &lt;br /&gt;&lt;strong&gt;7.&lt;/strong&gt; Panels – Covers the major panels like Grid, StackPanel and Canvas. Pay special attention to the Grid as that is the default for a Silverlight application. I’d recommend reading this chapter more than once.     &lt;br /&gt;&lt;strong&gt;8.&lt;/strong&gt; Human input – This chapter is about capturing information from the keyboard and mouse. Pete also goes into multi-touch and ink drawings. I found the multi-touch section awesome because I am about to begin a project using it.     &lt;br /&gt;&lt;strong&gt;9.&lt;/strong&gt; Text – Mainly about the TextBlock, TextBox and RichTextBox. Pete goes into international text which would have really helped me in some of my first world-wide apps.     &lt;br /&gt;&lt;strong&gt;10.&lt;/strong&gt; Controls and UserControls – This chapter goes into the Button, CheckBox, ListBox and more controls.     &lt;br /&gt;&lt;strong&gt;11.&lt;/strong&gt; Binding – In my humble opinion, one of the best chapters because I hate code-behind when it should be in XAML. Give this one a read more than once if you do not understand binding.     &lt;br /&gt;&lt;strong&gt;12.&lt;/strong&gt; Data controls: The Datagrid &amp;amp; Dataform – Chapter title says it all. I believe the Datagrid is one of the most important controls if you write business applications. The Dataform would come in very close as well.     &lt;br /&gt;&lt;strong&gt;13.&lt;/strong&gt; Input validation – Many different ways to validate data and it even covers creating your own custom validators.     &lt;br /&gt;&lt;strong&gt;14.&lt;/strong&gt; Networking and communications – From connecting to data sources to services. This chapter is great for those that need a refresher on just how powerful Silverlight really is.     &lt;br /&gt;&lt;strong&gt;15.&lt;/strong&gt; Navigation and dialogs – All about navigating pages and provided dialogs and pop-ups using ChildWindows.     &lt;br /&gt;&lt;strong&gt;16.&lt;/strong&gt; Structuring and testing with MVVM/ ViewModel pattern – One of my favorite chapters. Pete provides the MVVM pattern without using any toolkits like MVVM Lite. I found this a great way for a beginner to learn the pattern. I remember reading Adam Nathan’s article on MSDN and saying WHAT?!? Pete lays it out in an easy to ready format.     &lt;br /&gt;&lt;strong&gt;17.&lt;/strong&gt; WCF RIA services – Very important for business and other data-oriented application. He walks you step-by-step though using the Business Application template.    &lt;br /&gt;&lt;strong&gt;18.&lt;/strong&gt; Graphics and effects – All about vector graphics. It even details if you want to build your own custom shader.     &lt;br /&gt;&lt;strong&gt;19.&lt;/strong&gt; Printing – New to Silverlight 4 is printing. Pete shows you how to integrate this into your business application.     &lt;br /&gt;&lt;strong&gt;20.&lt;/strong&gt; Displaying and capturing media – IIS Smooth Streaming, webcam and microphone API.     &lt;br /&gt;&lt;strong&gt;21.&lt;/strong&gt; Working with Bitmap images – Working with bitmap images, creating images on the fly and Deep Zoom. I really enjoyed the section on Deep Zoom even though I cannot find a reason to do it.     &lt;br /&gt;&lt;strong&gt;22.&lt;/strong&gt; Animation and behaviors – Creating StoryBoards by hand. Sounds pretty difficult but Pete pulls it off. I would typically fire up Blend 4 for this.     &lt;br /&gt;&lt;strong&gt;23.&lt;/strong&gt; Resources, styles and control templates – This chapter covers using application resource, control styling and the Visual State Manager.     &lt;br /&gt;&lt;strong&gt;24.&lt;/strong&gt; Creating panels and controls – Teaches you how to create custom controls and layout panels.     &lt;br /&gt;&lt;strong&gt;25.&lt;/strong&gt; The install experiences and pre-loaders – Great chapter for handling the “Silverlight not installed” logo and creating a custom splash screen unique to your customer.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Overall this is the most in-depth book you can buy for Silverlight 4. I would definitely recommend this book to anyone wanting to learn how to develop with Silverlight 4. &lt;/p&gt;  &lt;p&gt;If you are still on the fence then download the following chapters and see for yourself:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.manning.com/pbrown/samplechapter1.pdf"&gt;Sample Chapter 1&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.manning.com/pbrown/samplechapter5.pdf"&gt;Sample Chapter 5&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Don’t forget to follow &lt;a href="http://www.twitter.com/pete_brown"&gt;Pete&lt;/a&gt; on Twitter and you might as well start following &lt;a href="http://www.twitter.com/mbcrump"&gt;me&lt;/a&gt; too. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141623"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141623" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mbcrump/aggbug/141623.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/ACP7ZH_jPAY" height="1" width="1"/&gt;</description><dc:creator>mbcrump</dc:creator><feedburner:origLink>http://geekswithblogs.net/mbcrump/archive/2010/09/04/book-review-silverlight-4-in-action-by-pete-brown.aspx</feedburner:origLink></item><item><title>Day 4 of being unemployed</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/n5_0eM8eab8/day-4-of-being-unemployed.aspx</link><pubDate>Sat, 04 Sep 2010 11:46:24 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/04/day-4-of-being-unemployed.aspx</guid><wfw:comment>http://geekswithblogs.net/TehGrumpyCoder/comments/141622.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TehGrumpyCoder/comments/commentRss/141622.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/04/day-4-of-being-unemployed.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TehGrumpyCoder/services/trackbacks/141622.aspx</trackback:ping><source url="http://geekswithblogs.net/TehGrumpyCoder/rss.aspx">Day 4 of being unemployed</source><description>&lt;table border="0" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="389"&gt;Another butt-kicking, and before 6:30 AM to be exact.          &lt;br /&gt;          &lt;br /&gt;I (obviously) like to write… well, maybe not so much that an editor is going to be reviewing my work, but if I’m doing my own editing, I can go on and on. So my solution to ‘Status Reports’ is to start the weekly report on Monday, and keep it open as a draft, typing in thoughts, problems, solutions… more of a journal than Status. Then at quitting-time on Friday, I send my boss and me both a copy.&lt;/td&gt;        &lt;td valign="top" width="11"&gt;&lt;img border="0" alt="" src="http://www.wynapse.com/images/ResumeStickySmallWhiteBG.jpg" /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Since I’m my own boss for now – hey, a &lt;strong&gt;plus&lt;/strong&gt; – see below, I’m really not doing a Status Report, but I find having such things around keeps me focused. So how I do that is:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Spreadsheet of all the things I want to try to get onboard – like a ‘bucket list’ for being out of work – I mark off units of learning by chapter or hour or training video or something, and try to keep on track &lt;/li&gt;    &lt;li&gt;I started this series of posts, and I start a new one in the morning, and add onto it during the day, then send it out the first thing in the morning… cuz it’s already written. &lt;/li&gt;    &lt;li&gt;OneNote open for absolutely everything… who I’ve written, events I’m scheduled for, etc. &lt;/li&gt;    &lt;li&gt;Windows Live Writer for blogging &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;That ‘add onto it all day’ thing is what butt-kicked me this morning. I’d come in from turning off the backyard sprinklers, and next up was to push “Day 3”. I thought I did Day 3 as I did Day 2 --- save off the previous one as a draft, and edit it. So when I pushed Day 3, it opened in my browser and looked good, but the title was Day 2 or something, so I go to the admin page, and whoa… Day 2 was replaced with Day 3… WTF… back to Windows Live Writer and I can clearly see “Day 2” in my “recently posted” list … until I click on it and it became Day 3… yikes…&lt;/p&gt;  &lt;p&gt;So somehow the ‘save as’ didn’t work and I’d been modifying Day 2 all day yesterday, and how am I going to rebuild Day 2 at GWB??… it took me 1/2 hour to finally find a cache with that in it to restore… whew that’s done….&lt;/p&gt;  &lt;p&gt;Back to WLW and open “Day 3”… oh crap… it’s now replaced with Day 2… of course… sigh…&lt;/p&gt;  &lt;p&gt;So Day 3 went out nice and fresh and maybe some humor missing, but it went, and now here I am with a “New” post for Day 4… so nomoresaveascrap&lt;/p&gt;  &lt;p&gt;Got some emails to answer, then it’s back to Blend I think…&lt;/p&gt;  &lt;p&gt;Too much input today, too much email, too many good web links, trouble getting focused&lt;/p&gt;  &lt;p&gt;4PM: Figured out the focusing problem… the whole “not working” thing is getting to me… I guess I did really good for 3 days, 4 if you count Monday. Had to take the car in for almost $300 worth of work today… it’s never a good time, but hey, can I get a break over here?&lt;/p&gt;  &lt;p&gt;I guess one way to look at it is… I might be out here looking for work, but as soon as that last invoice is paid, Minerva is going to be out roughly $4,000 worth of income a week by me not being at work … yes, that was over the top of what I got paid… so that’s a couple good salaries back at the office… hope it’s as good for them as it is for me.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;plusses&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I’m my own boss – see above &lt;/li&gt;    &lt;li&gt;I can use Windows Live Writer – or anydamnthingIplease – since no IT weenie is looking at my PC twice a day (9AM and 3PM) to make sure I’m not running something unapproved. &lt;/li&gt;    &lt;li&gt;I can use OneNote… holy crap… hadn’t even thought of that… have just been cranking it open since I’m home &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;minuses&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I’m my own boss – I don’t pay well &lt;/li&gt;    &lt;li&gt;I can use Windows Live Writer --- lol … at least it was a minus for about 1/2 hour this morning.. but we’re friends again &lt;/li&gt;    &lt;li&gt;thisdamnheadache is getting Excedrin-resistant &lt;/li&gt;    &lt;li&gt;I may end up needing a new HD for this laptop since it’s now a full-up workstation. Speed is still good, I like the big monitor and resolution is great… maybe I just need to archive stuff to external HD &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;so far&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;With the interruptions and problems staying focused, this was the worst day so far at pm;u 3 units of training: 2 units of Blend and 1 of C#.&lt;/p&gt;  &lt;p&gt;SC #940 also went out.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141622"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141622" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TehGrumpyCoder/aggbug/141622.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/n5_0eM8eab8" height="1" width="1"/&gt;</description><dc:creator>TehGrumpyCoder</dc:creator><feedburner:origLink>http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/04/day-4-of-being-unemployed.aspx</feedburner:origLink></item><item><title>Automate the delivery of the old Windows XP desktop to a Windows 7 user</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/ZQ0Dt7tRlnI/automate-the-delivery-of-the-old-windows-xp-desktop-to.aspx</link><pubDate>Sat, 04 Sep 2010 00:53:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/dnudelman/archive/2010/09/04/automate-the-delivery-of-the-old-windows-xp-desktop-to.aspx</guid><wfw:comment>http://geekswithblogs.net/dnudelman/comments/141621.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/dnudelman/comments/commentRss/141621.aspx</wfw:commentRss><comments>http://geekswithblogs.net/dnudelman/archive/2010/09/04/automate-the-delivery-of-the-old-windows-xp-desktop-to.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/dnudelman/services/trackbacks/141621.aspx</trackback:ping><source url="http://geekswithblogs.net/dnudelman/rss.aspx">Automate the delivery of the old Windows XP desktop to a Windows 7 user</source><description>&lt;p&gt;&lt;strong&gt;P2V Migration &lt;/strong&gt;for &lt;strong&gt;Software Assurance &lt;/strong&gt;uses the&lt;strong&gt; Microsoft Deployment Toolkit &lt;/strong&gt;and &lt;strong&gt;Sysinternals Disk2VHD &lt;/strong&gt;to &lt;u&gt;convert a user's existing Windows XP or newer client environment to a virtual hard disk then automates the delivery of an updated and personalized Windows 7 operating system containing a virtual machine with the user's previous Windows environment, applications and Web browser&lt;/u&gt;. The user's previous virtual desktop retains its existing management components, domain membership and policies. The process also publishes applications and the browser for the user to access them seamlessly within Windows 7's start menu.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: medium"&gt;How it Works&lt;/span&gt;&lt;br /&gt;
Starting Windows environment with Windows XP SP3 or newer. Environment is personalized with applications not compatible with Windows 7.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://connect.microsoft.com/SiteImages/235f0ee9-ec5e-4078-88d6-07bdde9c9a0d.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Microsoft Deployment Toolkit 2010 initiates fully-automated migration to Windows 7. Process includes P2V conversion of the running OS using Sysinternals Disk2VHD.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://connect.microsoft.com/SiteImages/3c3434ed-5470-4022-91cf-9b8bbf52482b.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Windows 7 migration complete. Windows 7 contains the previous operating system in its entirety within a virtual machine.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://connect.microsoft.com/SiteImages/ce60e036-bdfb-4be8-bc67-a448c691cac9.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Standalone application and Internet Explorer links published from virtual machine to native Windows 7 start menu. \&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://connect.microsoft.com/SiteImages/47240539-c253-4590-bc8c-8d6165a92d6a.jpg" /&gt;&lt;br /&gt;
 &lt;br /&gt;
Incompatible application from previous operating system is launched seamlessly within Windows 7 using RemoteApp integration and Virtual PC.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://connect.microsoft.com/SiteImages/d3473a08-59df-431a-b3fb-58a21bd6d87f.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Even the most skilled IT shops, with resources to work through application compatibility challenges, often find a few users blocking roll-outs to entire sites or larger numbers of users due to:&lt;br /&gt;
&lt;br /&gt;
 - Compatibility of specialized, region or user-specific applications, browser customizations or USB device drivers.&lt;br /&gt;
 - Missing installation files or media to install applications or drivers for testing or redelivery.&lt;br /&gt;
 - Critical users who cannot risk losing any functionality of their current desktop environments and require a working backup before moving to Windows 7.&lt;br /&gt;
&lt;br /&gt;
These types of issues make it difficult to completely replace existing systems with Windows 7 without causing user disruption. Allowing users to retain their current desktop environments while moving to Windows 7 can smooth the transition while mitigating or delaying investments required for making applications and hardware natively compatible with Windows 7.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: medium"&gt;Download P2V Migration for Software Assurance now:&lt;/span&gt;&lt;br /&gt;
P2V Migration for Software Assurance beta (&lt;a href="https://connect.microsoft.com/site14/Downloads/DownloadDetails.aspx?DownloadID=30989"&gt;https://connect.microsoft.com/site14/Downloads/DownloadDetails.aspx?DownloadID=30989&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: smaller"&gt;Note: Physical-to-virtual hard drive migration of a Windows installation is a valid operation for customers with Software Assurance and full retail copies of Windows XP, Windows Vista, and Windows 7. Software Assurance provides users valuable benefits. Windows XP, Windows Vista and Windows 7 installed by Original Equipment Manufacturers (OEM) using OEM versions of these products may not be transferred to a virtual hard drive in accordance with Microsoft licensing terms.&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: medium"&gt;Customer Benefits&lt;/span&gt;&lt;br /&gt;
&lt;strong&gt;Help Reduce Windows 7 Deployment Times&lt;/strong&gt;: The ability to perform P2V conversion of Windows XP or newer 32-bit systems as part of Windows 7 and/or 64-bit deployment means that IT organizations do not need to wait as long to get value from Windows 7. IT organizations will deliver the new Windows 7 operating system builds while preserving the old environments of a limited set of users that would otherwise delay production deployment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Extend the Timeframe to Mitigate Application Compatibility&lt;/strong&gt;: Using this solution, targeted users can have access to their previous set of applications, just in case something was not provisioned as part of the Windows 7 deployment. Accessing previous applications is also easy for end users, as those applications are published to the Windows 7 start menu.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Users can Access Incompatible Legacy OS Applications&lt;/strong&gt;: Using this solution, targeted users can have access to their previous set of applications, just in case something was not provisioned as part of the Windows 7 deployment. Accessing previous applications is also easy for end users, as those applications are published to the Windows 7 start menu.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: medium"&gt;How does P2V Migration compare to Windows XP Mode or MED-V?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Windows XP Mode&lt;/strong&gt;: Windows XP Mode is not optimized for managed desktop environments. The operating system included in Windows XP Mode cannot be customized easily without manual effort. The time spent recreating a user's previous environment can easily take several hours per computer and it is not guaranteed that software installation media exists for every application on the previous system.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Microsoft Enterprise Desktop Virtualization (MED-V)&lt;/strong&gt;: Microsoft Enterprise Desktop Virtualization (MED-V) removes the barriers to Windows upgrades by resolving application incompatibility with Windows Vista or Windows 7. MED-V enables administrative control over the distribution and management of Virtual PC images, thereby ensuring that those images are up-to-date and compliant with regulations. P2V Migration is targeted at specific deployment-blocking users with specialized requirements or conditions where a standardized virtual environment delivered with MED-V will not suffice.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download P2V Migration&lt;/strong&gt; (&lt;a href="https://connect.microsoft.com/site14/Downloads/DownloadDetails.aspx?DownloadID=30989"&gt;https://connect.microsoft.com/site14/Downloads/DownloadDetails.aspx?DownloadID=30989&lt;/a&gt;)&lt;br /&gt;
Tell us what you think! Send your feedback and questions to the SAT team.&lt;br /&gt;
For If you are not already a member of the &lt;strong&gt;MDT beta &lt;/strong&gt;program, click link below to join:&lt;br /&gt;
&lt;a href="http://connect.microsoft.com/site14/InvitationUse.aspx?ProgramID=1646&amp;amp;InvitationID=P2VM-C49K-PQHR"&gt;http://connect.microsoft.com/site14/InvitationUse.aspx?ProgramID=1646&amp;amp;InvitationID=P2VM-C49K-PQHR&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141621"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141621" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dnudelman/aggbug/141621.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/ZQ0Dt7tRlnI" height="1" width="1"/&gt;</description><dc:creator>David Nudelman</dc:creator><feedburner:origLink>http://geekswithblogs.net/dnudelman/archive/2010/09/04/automate-the-delivery-of-the-old-windows-xp-desktop-to.aspx</feedburner:origLink></item><item><title>Silverlight Cream for September 03, 2010 -- #940</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/2p3l0-qCS8Q/141620.aspx</link><pubDate>Sat, 04 Sep 2010 04:13:49 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/03/141620.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/141620.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/141620.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/03/141620.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/141620.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Silverlight Cream for September 03, 2010 -- #940</source><description>&lt;p&gt;&lt;font face="tahoma"&gt;
&lt;table border="0" cellspacing="10" cellpadding="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top"&gt;In this Issue: &lt;a href="#20100903Peter Bromberg"&gt;&lt;u&gt;Peter Bromberg&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100903Derik Whittaker"&gt;&lt;u&gt;Derik Whittaker&lt;/u&gt;&lt;/a&gt;(&lt;a href="#20100903Derik Whittaker2"&gt;&lt;u&gt;-2-&lt;/u&gt;&lt;/a&gt;), &lt;a href="#20100903Paul Patterson"&gt;&lt;u&gt;Paul Patterson&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100903Michael Crump"&gt;&lt;u&gt;Michael Crump&lt;/u&gt;&lt;/a&gt;(&lt;a href="#20100903Michael Crump2"&gt;&lt;u&gt;-2-&lt;/u&gt;&lt;/a&gt;), &lt;a href="#20100903Gill Cleeren and Kevin Dockx"&gt;&lt;u&gt;Gill Cleeren and Kevin Dockx&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100903Gergely Orosz"&gt;&lt;u&gt;Gergely Orosz&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100903Dimitris - Ilias Gkanatsios"&gt;&lt;u&gt;Dimitris - Ilias Gkanatsios&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100903Jaime Rodriguez"&gt;&lt;u&gt;Jaime Rodriguez&lt;/u&gt;&lt;/a&gt;, and &lt;a href="#20100903Georgi Atanasov"&gt;&lt;u&gt;Georgi Atanasov&lt;/u&gt;&lt;/a&gt;.&lt;/td&gt;
            &lt;td valign="top"&gt;&lt;img border="0" alt="" src="http://wynapse.com/images/Resume2.jpg" /&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;b&gt;Shoutouts:&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
My friend &lt;b&gt;Koen Zwikstra&lt;/b&gt; poses the question &lt;a href="http://firstfloorsoftware.com/blog/how-can-we-improve-silverlight-spy/"&gt;&lt;u&gt;How can we improve Silverlight Spy?&lt;/u&gt;&lt;/a&gt;... log into the forum and give him ideas. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SilverlightShow&lt;/b&gt; announced &lt;a href="http://www.silverlightshow.net/news/Free-SilverlightShow-Webinar-Sketchflow-in-Real-Scenarios.aspx"&gt;&lt;u&gt;Free SilverlightShow Webinar: Sketchflow in Real Scenarios&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Senthil Kumar&lt;/b&gt; announced &lt;a href="http://www.ginktage.com/2010/09/windows-phone-7-developer-guide-drop2/"&gt;&lt;u&gt;Microsoft Patterns &amp;amp; Practices – Windows Phone 7 Developer Guide – Drop2&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
I saw &lt;b&gt;Sara Ford&lt;/b&gt; do this webcast the other day, and now &lt;a href="http://blogs.msdn.com/b/saraford/archive/2010/09/03/the-rematch-webcast-of-my-101-vs-tips-in-55-mins-via-o-reilly-is-now-available.aspx"&gt;&lt;u&gt;The Rematch – Webcast of my 101 VS tips in 55 mins via O’Reilly is now available&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
This was announced on the &lt;b&gt;Public Sector Developer Weblog&lt;/b&gt; &lt;a href="http://blogs.msdn.com/b/publicsector/archive/2010/09/03/windows-phone-7-dpe-national-events.aspx"&gt;&lt;u&gt;Windows Phone 7 DPE National Events&lt;/u&gt;&lt;/a&gt;... and I don't see any in Phoenix, folks!! &lt;br /&gt;
&lt;br /&gt;
&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;/center&gt;&lt;b&gt;From &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream.com&lt;/u&gt;&lt;/a&gt;: &lt;/b&gt;
&lt;dl&gt;
    &lt;dt&gt;&lt;a name="20100903Peter Bromberg"&gt;&lt;/a&gt;&lt;a title="http://www.eggheadcafe.com/tutorials/aspnet/96487d4c-d92f-4ca5-85b7-0fef6f42d6c3/silverlight-binary-serialization-and-compression-with-wcf-services.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6453"&gt;&lt;u&gt;Silverlight Binary Serialization and Compression with WCF Services&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Peter Bromberg&lt;/b&gt; has a WCF post up on Silverlight Binary Serialization with all the code and a great example... good post Peter! &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100903Derik Whittaker"&gt;&lt;/a&gt;&lt;a title="http://devlicio.us/blogs/derik_whittaker/archive/2010/09/02/catching-the-back-button-action-on-wp7.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6451"&gt;&lt;u&gt;Catching the Back Button action on WP7 &lt;/u&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Derik Whittaker&lt;/b&gt; has a couple new WP7 posts up... this first one is on 'catching' the BackButton in case you have something you need to do inside your app when that happens. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100903Derik Whittaker2"&gt;&lt;/a&gt;&lt;a title="http://devlicio.us/blogs/derik_whittaker/archive/2010/09/03/performing-back-navigation-w-out-adding-a-page-to-the-back-stack-in-wp7.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6452"&gt;&lt;u&gt;Performing Back Navigation w/out adding a page to the Back Stack in WP7 &lt;/u&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;The 2nd post by &lt;b&gt;Derik Whittaker&lt;/b&gt; is on using the NavigationService provider to navigate back to a calling page properly to remove a page from the backstack ... check his example to clear that up :) &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100903Paul Patterson"&gt;&lt;/a&gt;&lt;a title="http://blog.selectsystems.ca/?p=1625" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6450"&gt;&lt;u&gt;Microsoft LightSwitch – Creating and Using a Query&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Paul Patterson&lt;/b&gt; is really digging into Lightswitch... and yeah I know I'm a little out of sequence on his posts, but hopefully I'll catch up and fill in the holes... check out his blog for lots of tutorials &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100903Michael Crump"&gt;&lt;/a&gt;&lt;a title="http://michaelcrump.net/archive/2010/09/03/easy-way-to-generate-sample-data-for-your-silverlight-4.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6448"&gt;&lt;u&gt;Easy way to generate sample data for your Silverlight 4 Applications&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Michael Crump&lt;/b&gt; decided to start using Expression Blend to insert 'live' sample data into his apps, and is sharing how to do that with us. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100903Michael Crump2"&gt;&lt;/a&gt;&lt;a title="http://michaelcrump.net/mbcrump/archive/2010/08/28/silverlight-4-application-template-themes-by-microsoft.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6449"&gt;&lt;u&gt;Silverlight 4 Application Template Themes by Microsoft&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Michael Crump&lt;/b&gt; was inspired by Silverlight TV 42 and played with the themes enough that he has more info to share with us than the original documentation has. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100903Gill Cleeren and Kevin Dockx"&gt;&lt;/a&gt;&lt;a title="http://technet.microsoft.com/en-us/magazine/ff955754.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6447"&gt;&lt;u&gt;Silverlight Development: Build Your Business Apps on Silverlight&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Gill Cleeren and Kevin Dockx&lt;/b&gt; have an article posted at TechNet where they compiled a short list of what they thought a real LOB app should have, and then expanded on their thoughts of Silverlight 4 handling them all. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100903Gergely Orosz"&gt;&lt;/a&gt;&lt;a title="http://gregdoesit.com/2010/09/setting-the-strokedasharray-using-a-style-in-silverlight/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6446"&gt;&lt;u&gt;Setting the StrokeDashArray using a Style in Silverlight&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Gergely Orosz&lt;/b&gt; ran head-long into a problem that's been in Silverlight since V2 -- really! -- and he provides a workaround for it that works very nice... check out his samples. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100903Dimitris - Ilias Gkanatsios"&gt;&lt;/a&gt;&lt;a title="http://www.studentguru.gr/blogs/dt008/archive/2010/09/03/frogger-game-on-windows-phone-7-using-xna.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6445"&gt;&lt;u&gt;Frogger game on Windows Phone 7 using XNA&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Dimitris - Ilias Gkanatsios&lt;/b&gt; produces my daughter's favorite game, Frogger, on WP7 in XNA and uses the accelerometer to control the frog... pretty cool! &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100903Jaime Rodriguez"&gt;&lt;/a&gt;&lt;a title="http://blogs.msdn.com/b/jaimer/archive/2010/09/03/introducing-the-inside-windows-phone-show-in-channel-9.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6444"&gt;&lt;u&gt;Introducing the Inside Windows Phone Show in Channel 9&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Jaime Rodriguez&lt;/b&gt; announced a new "Inside Windows Phone" show on Channel 9 and it kicks off with 3 Episodes: Intro, Insider scoop on the beta, and creating fast WP7 apps -- looks like another one for my Zune :) &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100903Georgi Atanasov"&gt;&lt;/a&gt;&lt;a title="http://blogs.telerik.com/blogs/posts/10-09-02/building_a_windows_phone_7_control_from_the_ground_up_-_part_two_-_the_date_listbox.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6443"&gt;&lt;u&gt;Building a Windows Phone 7 control from the ground up - Part Two - the “Date ListBox” &lt;/u&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Georgi Atanasov&lt;/b&gt; at the Telerik blog has part 2 of the WP7 control-building tutorial up -- concentrating on the 'date' listbox this time out. &lt;/dd&gt;
&lt;/dl&gt;
&lt;br /&gt;
&lt;font color="#0000ff"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;a href="http://twitter.com/SilverlightNews"&gt;&lt;u&gt;Twitter SilverlightNews&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://twitter.com/WynApse"&gt;&lt;u&gt;Twitter WynApse&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com/TaggedPosts.aspx"&gt;&lt;u&gt;Tagged Posts&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://tech.groups.yahoo.com/group/SilverlightCream/join"&gt;&lt;u&gt;Join me @ SilverlightCream&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.phoenixsilverlight.net"&gt;&lt;u&gt;Phoenix Silverlight User Group&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;/center&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Technorati Tags:&lt;/b&gt; &lt;a rel="tag" href="http://technorati.com/tag/Silverlight"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=Silverlight" /&gt;Silverlight&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-3"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-3" /&gt;Silverlight 3&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-4"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-4" /&gt;Silverlight 4&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/windowsphone"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=windowsphone" /&gt;Windows Phone&lt;/a&gt; &lt;a rel="tag" href="http://technorati.com/tag/MIX10"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=MIX10" /&gt;MIX10&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141620"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141620" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/141620.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/2p3l0-qCS8Q" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/03/141620.aspx</feedburner:origLink></item><item><title>Easy way to generate sample data for your Silverlight 4 Applications</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/-ymwCZe6OA4/easy-way-to-generate-sample-data-for-your-silverlight-4.aspx</link><pubDate>Fri, 03 Sep 2010 18:22:54 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mbcrump/archive/2010/09/03/easy-way-to-generate-sample-data-for-your-silverlight-4.aspx</guid><wfw:comment>http://geekswithblogs.net/mbcrump/comments/141619.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mbcrump/comments/commentRss/141619.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mbcrump/archive/2010/09/03/easy-way-to-generate-sample-data-for-your-silverlight-4.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mbcrump/services/trackbacks/141619.aspx</trackback:ping><source url="http://geekswithblogs.net/mbcrump/rss.aspx">Easy way to generate sample data for your Silverlight 4 Applications</source><description>&lt;p&gt;In the past when I needed to test what my application looked like with sample data. I’d create a class named Data.cs and write some code like the following: &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Data.cs&lt;/strong&gt;&lt;/p&gt;  &lt;pre class="brush: csharp;"&gt;public class Data
{
        public string Name { get; set; }
        public int Age { get; set; }

}&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Code Behind:&lt;/strong&gt;&lt;/p&gt;

&lt;pre class="brush: csharp;"&gt;List&amp;lt;Data&amp;gt; source = new List&amp;lt;Data&amp;gt;();

for (int i = 0; i &amp;lt; 50; i++)
{
    source.Add(new Data()
    {
        Name= "MIKE" + i,
        Age = i,


    });
}
dg.ItemsSource = source;&lt;/pre&gt;

&lt;p&gt;This would provide me with some quick and dirty sample data, but it really wasn’t what I’d expect in a real world application. What if i needed images or data formatted for a first and last name, street address and so on? I needed a mixture of strings, Boolean, images and other data types. This is where I decided to start using Expression Blend 4. I’d read about creating sample data and started using it in my applications and decided to share what I’ve learned with the community. &lt;/p&gt;

&lt;p&gt;So our goal for today, is to create sample data add it to the LayoutRoot (grid) and bind the data to a ListBox. Sounds scary? No, its very simple with Blend 4.  &lt;/p&gt;

&lt;p&gt;Open Expression Blend 4 and select your MainPage.xaml (or whichever xaml file you wish to add Sample Data to). On the right hand screen hit the Data button and select the button circled below. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_thumb_1.png" width="278" height="331" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;You will have three choices: &lt;/p&gt;

&lt;p&gt;New Sample Data 
  &lt;br /&gt;Import Sample Data from XML 

  &lt;br /&gt;Import Data from Class&lt;/p&gt;

&lt;p&gt;Lets select “New Sample Data”. Once you select New Sample Data, you will get the following screen:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_thumb_2.png" width="448" height="219" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Go ahead and leave the defaults and hit OK. We now have a SampleDataSource that we can edit any way that we see fit. We are going to keep this simple by clicking the button circled below. This will allow us to change the type from a string to an Image.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_thumb_5.png" width="324" height="248" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Change this from:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_thumb_4.png" width="244" height="135" /&gt;&lt;/a&gt; to &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_14.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_thumb_6.png" width="244" height="136" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;We are going to do the same thing for Property2 except change it from a Boolean to a string&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_16.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_thumb_7.png" width="244" height="136" /&gt;&lt;/a&gt; to &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_18.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_thumb_8.png" width="244" height="135" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;At this point we have a collection, that has 2 properties an Image and a String. &lt;/p&gt;

&lt;p&gt;We can edit this Sample data if we wish by clicking the button below. &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;This brings us up to the Edit Sample Values screen. From this screen, we have the option to increase the number of records if we want to test lots of data. We will go ahead and hit the OK button.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_20.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_thumb_9.png" width="587" height="303" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;At this point, we can go ahead and drag our Collection to the Grid and it will create a ListBox and setup the DataTemplate. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_22.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/mbcrump/WindowsLiveWriter/EasywaytogeneratesampledataforyourSilver_123EE/image_thumb_10.png" width="590" height="229" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Its important to see the XAML below and notice how the Image is bound to Property1 and the TextBlock to Property2. You will also notice that the Listbox’s ItemSource is Bound to the Collection. &lt;/p&gt;

&lt;pre class="brush: xml;"&gt;&amp;lt;UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
    x:Class="SilverlightApplication2.MainPage"
    Width="640" Height="480"&amp;gt;
    &amp;lt;UserControl.Resources&amp;gt;
        &amp;lt;DataTemplate x:Key="ItemTemplate"&amp;gt;
            &amp;lt;StackPanel&amp;gt;
                &amp;lt;Image Source="{Binding Property1}" HorizontalAlignment="Left" Height="64" Width="64"/&amp;gt;
                &amp;lt;TextBlock Text="{Binding Property2}"/&amp;gt;
            &amp;lt;/StackPanel&amp;gt;
        &amp;lt;/DataTemplate&amp;gt;
    &amp;lt;/UserControl.Resources&amp;gt;

    &amp;lt;Grid x:Name="LayoutRoot" Background="#FFFF4949" DataContext="{Binding Source={StaticResource SampleDataSource}}"&amp;gt;
        &amp;lt;ListBox HorizontalAlignment="Left" ItemTemplate="{StaticResource ItemTemplate}" ItemsSource="{Binding Collection}" Margin="0,18,0,0" Width="200"/&amp;gt;
    &amp;lt;/Grid&amp;gt;
&amp;lt;/UserControl&amp;gt;&lt;/pre&gt;

&lt;p&gt;We now have a fully functional Sample Data Source with exactly the type of data we specified. We can bind this data to any control that supports the ItemSource Property. I hope this helps other developers needing solid test data. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141619"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141619" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mbcrump/aggbug/141619.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/-ymwCZe6OA4" height="1" width="1"/&gt;</description><dc:creator>mbcrump</dc:creator><feedburner:origLink>http://geekswithblogs.net/mbcrump/archive/2010/09/03/easy-way-to-generate-sample-data-for-your-silverlight-4.aspx</feedburner:origLink></item><item><title>LightSwitch Presentation Resources</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/3iBtLKvK1-8/lightswitch-presentation-resources.aspx</link><pubDate>Fri, 03 Sep 2010 21:53:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/jalexander/archive/2010/09/03/lightswitch-presentation-resources.aspx</guid><wfw:comment>http://geekswithblogs.net/jalexander/comments/141618.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/jalexander/comments/commentRss/141618.aspx</wfw:commentRss><comments>http://geekswithblogs.net/jalexander/archive/2010/09/03/lightswitch-presentation-resources.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/jalexander/services/trackbacks/141618.aspx</trackback:ping><source url="http://geekswithblogs.net/jalexander/rss.aspx">LightSwitch Presentation Resources</source><description>&lt;p&gt;Thanks to everyone who attended the “Flip on LightSwitch!” at the Kansas City Office Geeks User Group last night!  Lots of great questions and interaction from the group! &lt;/p&gt;  &lt;p&gt;As promised, here are the resources we talked about:&lt;/p&gt;  &lt;p&gt;First, you need a place to play with LightSwitch. As it is beta, a vpc is always a good idea.&lt;/p&gt;  &lt;p&gt;Currently there are three flavors of the Visual Studio 2010 Ultimate VPC:&lt;/p&gt;  &lt;h4&gt;Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 RTM virtual machine for Microsoft® Virtual PC 2007 SP1 &lt;/h4&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5e13b15a-fd74-4cd7-b53e-bdf9456855bd&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5e13b15a-fd74-4cd7-b53e-bdf9456855bd&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5e13b15a-fd74-4cd7-b53e-bdf9456855bd&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 RTM virtual machine for Windows Virtual PC&lt;/h4&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/downloads/details.aspx?familyid=509C3BA1-4EFC-42B5-B6D8-0232B2CBB26E&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?familyid=509C3BA1-4EFC-42B5-B6D8-0232B2CBB26E&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=509C3BA1-4EFC-42B5-B6D8-0232B2CBB26E&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 RTM virtual machine for Windows Server 2008 Hyper-V&lt;/h4&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/downloads/details.aspx?familyid=E0198B64-4ACB-4709-B07F-359FB4D523BC&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?familyid=E0198B64-4ACB-4709-B07F-359FB4D523BC&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=E0198B64-4ACB-4709-B07F-359FB4D523BC&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Visual Studio LightSwitch Download&lt;/h4&gt;  &lt;p&gt;Get the bits here.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/visualstudio/en-us/lightswitch" href="http://www.microsoft.com/visualstudio/en-us/lightswitch"&gt;http://www.microsoft.com/visualstudio/en-us/lightswitch&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Visual Studio LightSwitch Developer Center&lt;/h4&gt;  &lt;p&gt;Lots of good stuff here. Check out the how to videos for a great start!&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/lightswitch/default.aspx" href="http://msdn.microsoft.com/en-us/lightswitch/default.aspx"&gt;http://msdn.microsoft.com/en-us/lightswitch/default.aspx&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Visual Studio LightSwitch Beta 1 Training Kit&lt;/h4&gt;  &lt;p&gt;The Visual Studio LightSwitch Training Kit contains demos and labs to help you learn to use and extend LightSwitch. The introductory materials walk you through the Visual Studio LightSwitch product. By following the hands-on labs, you'll build an application to inventory a library of books. &lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=ac1d8eb5-ac8e-45d5-b1e3-efb8e4e3ebd1&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ac1d8eb5-ac8e-45d5-b1e3-efb8e4e3ebd1&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=ac1d8eb5-ac8e-45d5-b1e3-efb8e4e3ebd1&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Walkthrough: Creating the Vision Clinic Application&lt;/h4&gt;  &lt;p&gt;Here is a great walkthrough to build a more advanced app from stem to stern:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ee256749.aspx" href="http://msdn.microsoft.com/en-us/library/ee256749.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee256749.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Make sure you you get the database and finished sample here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://code.msdn.microsoft.com/lightswitch" href="http://code.msdn.microsoft.com/lightswitch"&gt;http://code.msdn.microsoft.com/lightswitch&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And last but not least, here is the MSDN documentation:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ff851953.aspx" href="http://msdn.microsoft.com/en-us/library/ff851953.aspx"&gt;http://msdn.microsoft.com/en-us/library/ff851953.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That should give you a great start! Look for more posts on Visual Studio LightSwitch from me soon.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141618"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141618" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/jalexander/aggbug/141618.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/3iBtLKvK1-8" height="1" width="1"/&gt;</description><dc:creator>John Alexander</dc:creator><feedburner:origLink>http://geekswithblogs.net/jalexander/archive/2010/09/03/lightswitch-presentation-resources.aspx</feedburner:origLink></item><item><title>Microsoft.Win32.RegistryKey, Regedit and 64 bit Windows</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/KtJ35uuZtNc/141617.aspx</link><pubDate>Fri, 03 Sep 2010 16:07:34 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/MSARCH/archive/2010/09/03/141617.aspx</guid><wfw:comment>http://geekswithblogs.net/MSARCH/comments/141617.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/MSARCH/comments/commentRss/141617.aspx</wfw:commentRss><comments>http://geekswithblogs.net/MSARCH/archive/2010/09/03/141617.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/MSARCH/services/trackbacks/141617.aspx</trackback:ping><source url="http://geekswithblogs.net/MSARCH/rss.aspx">Microsoft.Win32.RegistryKey, Regedit and 64 bit Windows</source><description>&lt;p&gt;Pardon me if this is a “duh” topic, but it was new to me and so may be new to other developers too, so… The registry has changed under Windows 64 presumably starting from Windows Server 2003 64 bit and Windows XP 64 bit. As a result, there is a different view of the registry for 64 bit applications and 32 bit applications. According to the &lt;a href="http://support.microsoft.com/kb/305097"&gt;documentation&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“To support the co-existence of 32-bit and 64-bit COM registration and program states, WOW64 presents 32-bit programs with an alternate view of the registry. 32-bit programs see a 32-bit &lt;b&gt;HKEY_LOCAL_MACHINE\Software&lt;/b&gt; tree (&lt;b&gt;HKEY_LOCAL_MACHINE\Software\WOW6432Node&lt;/b&gt;) that is completely separate from the true 64-bit &lt;b&gt;HKEY_LOCAL_MACHINE\Software&lt;/b&gt; tree.”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The Microsoft.Win32.RegistryKey library, predictably runs as a 32 bit application. You can safely add/read/remove keys and entries with this library and they will be safely mapped to the “WOW6432Node” transparently for you.&lt;/p&gt;  &lt;p&gt;Things get hinky when using the regedit tool to add or remove keys/entries. The default version of regedit is a 64 bit application and therefore has access to all registry entries, but with a 64 bit view. If you add an entry in the path that you are accustomed to, either manually or through a script, the items will appear only to 64 bit applications, and therefore NOT visible to the .NET application that makes use of the Win32 library. One has two options for working around this behavior. If you are aware of the “WOW5432Node” you can mentally make your changes under that node and/or modify your scripts to include that path. Alternatively there exists a 32 bit version of regedit that acts and behaves like a 32 bit application with the all 32 bit keys properly mapped. You may access this version of regedit with the following command:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“%systemroot%\syswow64\regedit”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Obviously this version is only available on 64 bit OSes and you must close the 64 bit version of regedit before opening a 32 bit version. So by using the 32 bit version of regedit all of your existing scripts and .NET applications will remain compatible with 64 bit versions of Windows, which is the approach that I prefer.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141617"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141617" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/MSARCH/aggbug/141617.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/KtJ35uuZtNc" height="1" width="1"/&gt;</description><dc:creator>Jim Kita</dc:creator><feedburner:origLink>http://geekswithblogs.net/MSARCH/archive/2010/09/03/141617.aspx</feedburner:origLink></item><item><title>Day 3 of being unemployed</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/9l_44BYFBLk/day-3-of-being-unemployed.aspx</link><pubDate>Fri, 03 Sep 2010 13:14:58 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/03/day-3-of-being-unemployed.aspx</guid><wfw:comment>http://geekswithblogs.net/TehGrumpyCoder/comments/141616.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TehGrumpyCoder/comments/commentRss/141616.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/03/day-3-of-being-unemployed.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TehGrumpyCoder/services/trackbacks/141616.aspx</trackback:ping><source url="http://geekswithblogs.net/TehGrumpyCoder/rss.aspx">Day 3 of being unemployed</source><description>&lt;table border="0" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="389"&gt;Spent some time getting my butt kicked by SQLServer2008 R2. I had SQLServer2005 on there and never did really care for the install I had going on that, and I have to believe that’s what part of my problem was because I could not connect to anything useful with the new install.          &lt;br /&gt;          &lt;br /&gt;After a failed attempt at a repair, I finally said screwitall and unistalled both, and reinstalled SQLServer2008 R2. Then I could connect in the manner I thought I should&lt;/td&gt;        &lt;td valign="top" width="11"&gt;&lt;img border="0" alt="" src="http://www.wynapse.com/images/ResumeStickySmallWhiteBG.jpg" /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;So I got the AdventureWare database installed and the one from Chapter 2 of Julia Lerman’s EF book installed and I can see both.. and was able to proceed… geez…&lt;/p&gt;  &lt;p&gt;I realized I didn’t have the latest version of Blend onboard… oh be quiet… the one I had worked fine the little I had time to be in it! So that all had to come off and the new go on… if I’d have known I was going to be doing this, I could have prepared ahead of time :)&lt;/p&gt;  &lt;p&gt;Some more emails for potential work… some contract, some not… nothing in-my-face positive as of yet, I’m thinking with the holiday weekend coming up things are a little slow … yeah that’s it… &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;More plusses&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;NSFW lyrics, pictures, or email does not apply because I’m NOT at *W* &lt;/li&gt;    &lt;li&gt;Twitter, IM, personal email all open – no net nanny software running to watch/hamper what I do, so contact away… I’m here :) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;More Minuses&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Had to send the $850 for COBRA today… I only hope the paperwork they have to do is annoying to them :) &lt;/li&gt;    &lt;li&gt;This one’s bad – had to look at the calendar on my PC to make sure it was really Thursday :( &lt;/li&gt;    &lt;li&gt;Wondering if this goes real long if I’ll keep up the daily… it could get old, we’ll see &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;So Far&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I did 6.5 units of training yesterday: 2 Entity Frameworks, 3 Silverlight, and 1-1/2 Blend, not even taking into account the uninstall/install-arama and sending out emails&lt;/p&gt;  &lt;p&gt;Plus I pushed SilverlightCream #939&lt;/p&gt;  &lt;p&gt;I checked the &lt;a href="http://www.silverlightcream.com/wp7dev.aspx"&gt;wp7dev list&lt;/a&gt; at SilverlightCream, and there are now 324 posts tagged out there… that’s a lot of material, and very few have hardware yet… a prolific bunch!&lt;/p&gt;  &lt;p&gt;Well, back to training and checking email…&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141616"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141616" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TehGrumpyCoder/aggbug/141616.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/9l_44BYFBLk" height="1" width="1"/&gt;</description><dc:creator>TehGrumpyCoder</dc:creator><feedburner:origLink>http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/03/day-3-of-being-unemployed.aspx</feedburner:origLink></item><item><title>TFS 2010 DeepDive i Stockholm i oktober</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/5Ec8QUqXRJQ/tfs-2010-deepdive-i-stockholm-i-oktober.aspx</link><pubDate>Fri, 03 Sep 2010 13:08:55 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/jakob/archive/2010/09/03/tfs-2010-deepdive-i-stockholm-i-oktober.aspx</guid><wfw:comment>http://geekswithblogs.net/jakob/comments/141615.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/jakob/comments/commentRss/141615.aspx</wfw:commentRss><comments>http://geekswithblogs.net/jakob/archive/2010/09/03/tfs-2010-deepdive-i-stockholm-i-oktober.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/jakob/services/trackbacks/141615.aspx</trackback:ping><source url="http://geekswithblogs.net/jakob/rss.aspx">TFS 2010 DeepDive i Stockholm i oktober</source><description>&lt;p&gt;&lt;strong&gt;Note: Swedish post&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Efter att ha kört många seminarier, workshops och deep dive kurser på Visual Studio och TFS 2010 i Norge är det nu äntligen dags för oss att köra kurs i Sverige!&lt;/p&gt;  &lt;p&gt;Första tillfället blir nu i oktober på Cornerstone 18-21 Oktober. Saxat från kursbeskrivningen:&lt;/p&gt;  &lt;h3&gt; &lt;/h3&gt;  &lt;h3&gt;T359 - Effektiv systemutveckling med Visual Studio och Team Foundation Server 2010&lt;/h3&gt;  &lt;p&gt;I denna utbildning lär vi dig hur du och din organisation kan effektivisera systemutvecklingsprocessen med hjälp av Visual Studio och Team Foundation Server. Målgruppen för denna kurs är främst utvecklare och arkitekter men den är lämplig även för testare och den som ansvarar för metoder och processer.&lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;Du lär dig&lt;/strong&gt;&lt;/h4&gt; Du lär dig att jobba effektivt med bland annat källkodshantering, branching, change tracking, work items, automatiska byggen, tester och mycket annat.   &lt;h4&gt;&lt;strong&gt;Ämnesområden&lt;/strong&gt;&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;Introduktion/Arkitektur &lt;/li&gt;    &lt;li&gt;"Lap around TFS" &lt;/li&gt;    &lt;li&gt;Source Control     &lt;br /&gt;Branching/Branch Visualization      &lt;br /&gt;Branching scenarios och hur dessa implementeras i TFS      &lt;br /&gt;Change tracking, hur man kan spåra vilka ändringar (work items) som har blivit mergade till olika branches      &lt;br /&gt;Checkin Policies      &lt;br /&gt;Deployment/Uppgradering &lt;/li&gt;    &lt;li&gt;Work Items Introduktion &lt;/li&gt;    &lt;li&gt;Genomgång av de vanligaste TFS process templates (MSF Agile/CMMI, MS Scrum, Scrum for Team System.) &lt;/li&gt;    &lt;li&gt;Work Items Customization &lt;/li&gt;    &lt;li&gt;TFS Process Templates och Process Guidance &lt;/li&gt;    &lt;li&gt;Team Foundation Build Overview/Arkitektur &lt;/li&gt;    &lt;li&gt;Build Controllers/Build Agenter &lt;/li&gt;    &lt;li&gt;Windows Workflow 4.0 &lt;/li&gt;    &lt;li&gt;Uppgradering från TFS 2005/2008 &lt;/li&gt;    &lt;li&gt;Test Overview/Arkitektur &lt;/li&gt;    &lt;li&gt;Test planer, Test Suites och Test Cases &lt;/li&gt;    &lt;li&gt;Microsoft Test Manager (MTM) &lt;/li&gt;    &lt;li&gt;Test Automation &lt;/li&gt;    &lt;li&gt;TFS Customization/Extensibility &lt;/li&gt;    &lt;li&gt;TFS Events &lt;/li&gt;    &lt;li&gt;TFS API&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Anmäl er här:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.cornerstone.se/Web/Templates/CoursePage.aspx?id=2513&amp;amp;course=COUR2010083117182403594425&amp;amp;epslanguage=SV" href="http://www.cornerstone.se/Web/Templates/CoursePage.aspx?id=2513&amp;amp;course=COUR2010083117182403594425&amp;amp;epslanguage=SV"&gt;http://www.cornerstone.se/Web/Templates/CoursePage.aspx?id=2513&amp;amp;course=COUR2010083117182403594425&amp;amp;epslanguage=SV&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Vi ses där! :-)&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141615"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141615" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/jakob/aggbug/141615.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/5Ec8QUqXRJQ" height="1" width="1"/&gt;</description><dc:creator>Jakob Ehn</dc:creator><feedburner:origLink>http://geekswithblogs.net/jakob/archive/2010/09/03/tfs-2010-deepdive-i-stockholm-i-oktober.aspx</feedburner:origLink></item><item><title>Explorer context menu to create a blank Visual Studio solution</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/T3kURwHMA-k/141614.aspx</link><pubDate>Fri, 03 Sep 2010 13:25:16 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mapfel/archive/2010/09/03/141614.aspx</guid><wfw:comment>http://geekswithblogs.net/mapfel/comments/141614.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mapfel/comments/commentRss/141614.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mapfel/archive/2010/09/03/141614.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mapfel/services/trackbacks/141614.aspx</trackback:ping><source url="http://geekswithblogs.net/mapfel/rss.aspx">Explorer context menu to create a blank Visual Studio solution</source><description>&lt;p&gt;Starting a new Visual Studio solution through the IDE is offen too complex and time wasting.&lt;/p&gt;  &lt;p&gt;Other programs allows per default to create a blank document with the explorer context menu. Why not offer this functionality for Visual Studio?&lt;/p&gt;  &lt;p&gt;This is no problem – with a blank solution file in the &lt;font face="Courier New"&gt;%SystemRoot%\ShellNew&lt;/font&gt; folder and addional informations in the registry you have this:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://sites.google.com/site/markoapfel/ExplorerContextmenuForCreatingBlankVisualStudioSolution.png" /&gt; &lt;/p&gt;  &lt;p&gt;The whole bundle is downloadable under:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sites.google.com/site/markoapfel/ExplorerContextmenuForCreatingBlankVisualStudioSolution.zip"&gt;ExplorerContextmenuForCreatingBlankVisualStudioSolution.zip&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141614"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141614" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mapfel/aggbug/141614.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/T3kURwHMA-k" height="1" width="1"/&gt;</description><dc:creator>Marko Apfel</dc:creator><feedburner:origLink>http://geekswithblogs.net/mapfel/archive/2010/09/03/141614.aspx</feedburner:origLink></item><item><title>Internet Explorer Developer Tools</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/D2z_IB1M-cE/internet-explorer-developer-tools.aspx</link><pubDate>Fri, 03 Sep 2010 07:23:02 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/CatherineRussell/archive/2010/09/03/internet-explorer-developer-tools.aspx</guid><wfw:comment>http://geekswithblogs.net/CatherineRussell/comments/141613.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/CatherineRussell/comments/commentRss/141613.aspx</wfw:commentRss><comments>http://geekswithblogs.net/CatherineRussell/archive/2010/09/03/internet-explorer-developer-tools.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/CatherineRussell/services/trackbacks/141613.aspx</trackback:ping><source url="http://geekswithblogs.net/CatherineRussell/rss.aspx">Internet Explorer Developer Tools</source><description>&lt;p&gt;One the coolest features of Internet Explorer 8 that most developers don’t know about are the built-in developer tools.  &lt;br /&gt;
You don’t have to download anything, install it, or enable it.  There are two ways you can open the IE Developer Tools, you can either hit F12, or under the Tools menu icon, you can choose “Developer Tools”. &lt;/p&gt;
&lt;p&gt;HTML Tab&lt;br /&gt;
This tab allows you to see and edit in real time the HTML and applied styles that make up your page &lt;br /&gt;
as seen by the Internet Explorer DOM.&lt;/p&gt;
&lt;p&gt;The CSS Tab&lt;br /&gt;
Shows you all of the styles that are being pulled down for your site, how they cascade against one another &lt;br /&gt;
and is useful to view and turn off styles individually or at the entire style level.  Like the HTML tab, you can edit your styles in real time to see how changing properties affects the page.  So if you’re not sure why something isn’t being styled right, this is a great place to look.&lt;/p&gt;
&lt;p&gt;The Script Tab&lt;br /&gt;
Like any good development tools, debugging is a vital component of understanding why something isn’t working, &lt;br /&gt;
or why you’re getting that a 3 instead of a 2.  The Internet Explorer 8 developer tools let you do everything &lt;br /&gt;
that you’d expect in a full-fledge debugger (it’s almost as powerful as the debugging tools in VS2010 – not quite, but pretty good).&lt;/p&gt;
&lt;p&gt;The Profiler Tab&lt;br /&gt;
This is the one that I think is probably the coolest feature of the Internet Explorer 8 Developer Tools, and that’s the built in code profiler.  Want to know what’s happening, what functions are being called, why things are taking longer than you expect, or not getting called, the Profile is your guide to what’s going on.  &lt;br /&gt;
 &lt;/p&gt;
&lt;p&gt;To read more, go to: &lt;a href="http://msdn.microsoft.com/en-us/scriptjunkie/ff817549.aspx"&gt;http://msdn.microsoft.com/en-us/scriptjunkie/ff817549.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141613"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141613" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/CatherineRussell/aggbug/141613.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/D2z_IB1M-cE" height="1" width="1"/&gt;</description><dc:creator>CatherineRussell</dc:creator><feedburner:origLink>http://geekswithblogs.net/CatherineRussell/archive/2010/09/03/internet-explorer-developer-tools.aspx</feedburner:origLink></item><item><title>Five Little Wonders - Part 2</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/CIorE67d-ic/five-little-wonders---part-2.aspx</link><pubDate>Fri, 03 Sep 2010 05:35:48 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BlackRabbitCoder/archive/2010/09/03/five-little-wonders---part-2.aspx</guid><wfw:comment>http://geekswithblogs.net/BlackRabbitCoder/comments/141612.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BlackRabbitCoder/comments/commentRss/141612.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BlackRabbitCoder/archive/2010/09/03/five-little-wonders---part-2.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/BlackRabbitCoder/services/trackbacks/141612.aspx</trackback:ping><source url="http://geekswithblogs.net/BlackRabbitCoder/rss.aspx">Five Little Wonders - Part 2</source><description>&lt;p&gt;Sorry, when I posted part 2 of my C#/.NET Five Little Wonders That Make Code Better I forgot to put it under the Little Wonders RSS category...&lt;/p&gt;
&lt;p&gt;So here it is again if you missed it: &lt;a href="http://geekswithblogs.net/BlackRabbitCoder/archive/2010/09/02/c.net-five-more-little-wonders-that-make-code-better-2.aspx"&gt;http://geekswithblogs.net/BlackRabbitCoder/archive/2010/09/02/c.net-five-more-little-wonders-that-make-code-better-2.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141612"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141612" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/BlackRabbitCoder/aggbug/141612.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/CIorE67d-ic" height="1" width="1"/&gt;</description><dc:creator>James Michael Hare</dc:creator><feedburner:origLink>http://geekswithblogs.net/BlackRabbitCoder/archive/2010/09/03/five-little-wonders---part-2.aspx</feedburner:origLink></item><item><title>Webmatrix</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/sD4EyHPT8v4/webmatrix.aspx</link><pubDate>Fri, 03 Sep 2010 10:02:07 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/ajames/archive/2010/09/02/webmatrix.aspx</guid><wfw:comment>http://geekswithblogs.net/ajames/comments/141611.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/ajames/comments/commentRss/141611.aspx</wfw:commentRss><comments>http://geekswithblogs.net/ajames/archive/2010/09/02/webmatrix.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/ajames/services/trackbacks/141611.aspx</trackback:ping><source url="http://geekswithblogs.net/ajames/rss.aspx">Webmatrix</source><description>&lt;p&gt;So far this has proved fun to use and also very, very frustrating!! I would very much like the addition of intellisense, support in Visual Studio and Expression!!&lt;/p&gt;  &lt;p&gt;First help just about completed….&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141611"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141611" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajames/aggbug/141611.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/sD4EyHPT8v4" height="1" width="1"/&gt;</description><dc:creator>BizTalk Visionary</dc:creator><feedburner:origLink>http://geekswithblogs.net/ajames/archive/2010/09/02/webmatrix.aspx</feedburner:origLink></item><item><title>Case Study: Nationwide runs high-performing FPS</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/26nWAxcbmPA/case-study-nationwide-runs-high-performing-fps.aspx</link><pubDate>Fri, 03 Sep 2010 09:51:55 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/ajames/archive/2010/09/02/case-study-nationwide-runs-high-performing-fps.aspx</guid><wfw:comment>http://geekswithblogs.net/ajames/comments/141610.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/ajames/comments/commentRss/141610.aspx</wfw:commentRss><comments>http://geekswithblogs.net/ajames/archive/2010/09/02/case-study-nationwide-runs-high-performing-fps.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/ajames/services/trackbacks/141610.aspx</trackback:ping><source url="http://geekswithblogs.net/ajames/rss.aspx">Case Study: Nationwide runs high-performing FPS</source><description>&lt;p&gt;&lt;a href="http://www.onwindows.com/Search.aspx?Keywords=Nationwide"&gt;Nationwide&lt;/a&gt;, the world’s largest building society realised the benefits of &lt;a href="http://www.onwindows.com/Search.aspx?Keywords=Faster Payments"&gt;Faster Payments&lt;/a&gt; with the help of &lt;a href="http://www.onwindows.com/Search.aspx?Keywords=Microsoft Services"&gt;Microsoft Services&lt;/a&gt; and interestingly enough a team of BizTalk experts from Solidsoft.&lt;/p&gt;  &lt;p&gt;For a number of years Solidsoft has provided senior software consultants expert in &lt;a title="" href=""&gt;Microsoft&lt;/a&gt;  BizTalk server and many other &lt;a title="" href=""&gt;Microsoft&lt;/a&gt; products support of &lt;a title="" href=""&gt;Microsoft&lt;/a&gt; Service led developments. The Nationwide project has proved no different with Solidsoft providing a team of 6 to support the successful development  of the Faster Payments system.&lt;/p&gt;  &lt;p&gt;The case study can be viewed here: &lt;a title="http://www.onwindows.com/Articles/Nationwide-runs-highperforming-FPS/5236/Default.aspx" href="http://www.onwindows.com/Articles/Nationwide-runs-highperforming-FPS/5236/Default.aspx"&gt;http://www.onwindows.com/Articles/Nationwide-runs-highperforming-FPS/5236/Default.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141610"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141610" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajames/aggbug/141610.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/26nWAxcbmPA" height="1" width="1"/&gt;</description><dc:creator>BizTalk Visionary</dc:creator><feedburner:origLink>http://geekswithblogs.net/ajames/archive/2010/09/02/case-study-nationwide-runs-high-performing-fps.aspx</feedburner:origLink></item><item><title>Update on the Windows Azure Platform online conference on the 20th of September</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/CLrPw_4VKhA/update-on-the-windows-azure-platform-online-conference-on-the.aspx</link><pubDate>Fri, 03 Sep 2010 08:52:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/iupdateable/archive/2010/09/03/update-on-the-windows-azure-platform-online-conference-on-the.aspx</guid><wfw:comment>http://geekswithblogs.net/iupdateable/comments/141609.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/iupdateable/comments/commentRss/141609.aspx</wfw:commentRss><comments>http://geekswithblogs.net/iupdateable/archive/2010/09/03/update-on-the-windows-azure-platform-online-conference-on-the.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/iupdateable/services/trackbacks/141609.aspx</trackback:ping><source url="http://geekswithblogs.net/iupdateable/rss.aspx">Update on the Windows Azure Platform online conference on the 20th of September</source><description>&lt;p&gt;At the start of August I made a &lt;a href="http://geekswithblogs.net/iupdateable/archive/2010/08/04/call-for-speakers-for-uk-windows-azure-platform-online-conference.aspx"&gt;call for speakers&lt;/a&gt; for a multi track online conference on the Windows Azure Platform (which resulted in a great bunch of speakers stepping forward!). However at the end of August &lt;a href="http://geekswithblogs.net/iupdateable/archive/2010/08/20/irsquom-back-from-a-couple-of-weeks-holidayhellip-and-i.aspx"&gt;I changed job&lt;/a&gt; and I am no longer pulling this conference together – that role falls on the shoulders of my replacement &lt;a href="http://blogs.msdn.com/b/plankytronixx"&gt;Steve&lt;/a&gt; (actually I was replaced with Steve and &lt;a href="http://www.thewayithink.co.uk/"&gt;Martin&lt;/a&gt; – I always knew I was worth two evangelists if only in weight!) &lt;/p&gt;  &lt;p&gt;The conference is still going ahead but Steve and Alex in marketing are waiting on a registration link –  fyi it takes 2 mins to get one from &lt;a href="http://www.eventbrite.com/"&gt;eventbrite&lt;/a&gt; and 2 weeks using our internal system. Doh!&lt;/p&gt;  &lt;p&gt;In the meantime Steve did post a &lt;a href="http://blogs.msdn.com/b/plankytronixx/archive/2010/08/27/uk-windows-azure-platform-online-conference-20th-september.aspx"&gt;skeleton agenda&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;My advice – keep the 20th free &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/UpdateonWindowsAzurePlatformonlineconfer_9619/wlEmoticon-smile_2.png" /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141609"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141609" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/iupdateable/aggbug/141609.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/CLrPw_4VKhA" height="1" width="1"/&gt;</description><dc:creator>Eric Nelson</dc:creator><feedburner:origLink>http://geekswithblogs.net/iupdateable/archive/2010/09/03/update-on-the-windows-azure-platform-online-conference-on-the.aspx</feedburner:origLink></item><item><title>Silverlight Cream for September 02, 2010 -- #939</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/XU4MJGjZe5c/141608.aspx</link><pubDate>Fri, 03 Sep 2010 04:02:51 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/02/141608.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/141608.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/141608.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/02/141608.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/141608.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Silverlight Cream for September 02, 2010 -- #939</source><description>&lt;p&gt;&lt;font face="tahoma"&gt;
&lt;table border="0" cellspacing="10" cellpadding="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top"&gt;In this Issue: &lt;a href="#20100902Sergey Barskiy"&gt;&lt;u&gt;Sergey Barskiy&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100902Tim Heuer"&gt;&lt;u&gt;Tim Heuer&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100902Shawn Wildermuth"&gt;&lt;u&gt;Shawn Wildermuth&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100902Patrick Cauldwell"&gt;&lt;u&gt;Patrick Cauldwell&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100902David Anson"&gt;&lt;u&gt;David Anson&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100902Michael Sync"&gt;&lt;u&gt;Michael Sync&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100902Jeremy Likness"&gt;&lt;u&gt;Jeremy Likness&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100902Victor Gaudioso"&gt;&lt;u&gt;Victor Gaudioso&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100902René Schulte"&gt;&lt;u&gt;René Schulte&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100902John Papa"&gt;&lt;u&gt;John Papa&lt;/u&gt;&lt;/a&gt;, and &lt;a href="#20100902Todd Knudsen"&gt;&lt;u&gt;Todd Knudsen&lt;/u&gt;&lt;/a&gt;.&lt;/td&gt;
            &lt;td valign="top"&gt;&lt;img border="0" alt="" src="http://wynapse.com/images/Resume2.jpg" /&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;b&gt;Shoutouts:&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Telerik's Premium Collection for .NET&lt;/b&gt; wins &lt;a href="http://www.drdobbs.com/joltawards/227200112"&gt;&lt;u&gt;Jolt Product Excellence Awards: App Libraries and Frameworks&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SilverlightShow&lt;/b&gt; announced a &lt;a href="http://www.silverlightshow.net/news/Free-SilverlightShow-Webinar-Running-Silverlight-Outside-the-Browser-and-with-Elevated-Trust.aspx"&gt;&lt;u&gt;Free SilverlightShow Webinar: Running Silverlight Outside the Browser and with Elevated Trust&lt;/u&gt;&lt;/a&gt;... see you there... I'll be the one in shorts with no shoes :) &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;John Papa&lt;/b&gt; has a two-part post up on &lt;a href="http://johnPapa.net/silverlight/leaders-in-silverlight/"&gt;&lt;u&gt;Keeping Up with Silverlight &lt;/u&gt;&lt;/a&gt;... how he stays in touch. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt; &lt;/p&gt;

&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;/center&gt;
&lt;p&gt;&lt;b&gt;From &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream.com&lt;/u&gt;&lt;/a&gt;: &lt;/b&gt;&lt;/p&gt;
&lt;dl&gt;
    &lt;dt&gt;&lt;a name="20100902Sergey Barskiy"&gt;&lt;/a&gt;&lt;a title="http://dotnetspeak.com/index.php/2010/08/modular-silverlight-development-app-xaml-blend-and-resources/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6442"&gt;&lt;u&gt;Modular Silverlight Development, App.xaml, Blend and Resources&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Sergey Barskiy&lt;/b&gt; explains how he created a project for his styles but then Blend didn't like them... and how he got around that problem too. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100902Tim Heuer"&gt;&lt;/a&gt;&lt;a title="http://timheuer.com/blog/archive/2010/09/01/silverlight-service-release-september-2010-gdr1.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6441"&gt;&lt;u&gt;Silverlight 4 service release (September 2010)&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;This is a couple-days old news, but I wanted to get it in the database, and also &lt;b&gt;Tim Heuer&lt;/b&gt; has some helpful information on the post beyond the announcement. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100902Shawn Wildermuth"&gt;&lt;/a&gt;&lt;a title="http://wildermuth.com/2010/08/31/HTML5_XAML_and_Declarative_User_Interfaces" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6440"&gt;&lt;u&gt;HTML5, XAML and Declarative User Interfaces&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;Read &lt;b&gt;Shawn Wildermuth&lt;/b&gt;'s take on HTML5 and how in his opinion, it could impact RIA. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100902Patrick Cauldwell"&gt;&lt;/a&gt;&lt;a title="http://www.cauldwell.net/patrick/blog/DefaultButtonSemanticsInSilverlightOnceMore.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6439"&gt;&lt;u&gt;Default button semantics in Silverlight, once more&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Patrick Cauldwell&lt;/b&gt; revisits his default Button sample again with an update from a reader ... how cool is that? &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100902David Anson"&gt;&lt;/a&gt;&lt;a title="http://blogs.msdn.com/b/delay/archive/2010/09/02/keep-a-low-profile-lowprofileimageloader-helps-the-windows-phone-7-ui-thread-stay-responsive-by-loading-images-in-the-background.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6438"&gt;&lt;u&gt;LowProfileImageLoader helps the Windows Phone 7 UI thread stay responsive by loading images in the background&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;David Anson&lt;/b&gt; shares some code that might not work until the 16th... so check it out... this is a couple things to help us out in the WP7 performance department, and he's not talking new valve-lifters... how about LowProfileImageLoader and DeferredLoadListBox (next time)? &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100902Michael Sync"&gt;&lt;/a&gt;&lt;a title="http://michaelsync.net/2010/09/02/encoding-mp4-problem-in-expression-encoder-4-pro" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6437"&gt;&lt;u&gt;Encoding MP4 Problem in Expression Encoder 4 Pro&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Michael Sync&lt;/b&gt; reports an Expression Encode 4 issue that he's having: "This functionality is only available in the fully-featured Expression Encoder Pro" when he has the Ultimate... check out the reason... mine is the same as Michaels &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100902Jeremy Likness"&gt;&lt;/a&gt;&lt;a title="http://mefcontrib.com/hello,-mef-silverlight.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6436"&gt;&lt;u&gt;Hello, MEF Silverlight&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Jeremy Likness&lt;/b&gt; has another Quickstart up at MEFContrib, and is about creating a MEF 'part' in Silverlight &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100902Victor Gaudioso"&gt;&lt;/a&gt;&lt;a title="http://www.windowspresentationfoundation.com/?p=679" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6435"&gt;&lt;u&gt;New Silverlight Video Tutorial: How to Style a Hyperlink Button&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Victor Gaudioso&lt;/b&gt;'s latest video tutorial is up and is on styling a Hyperlink button in Blend... and he's got the code for the sample available too. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100902René Schulte"&gt;&lt;/a&gt;&lt;a title="http://kodierer.blogspot.com/2010/08/rect-and-point-extension-methods.html" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6434"&gt;&lt;u&gt;Rect and Point Extension Methods&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;Here's a couple extension methods from &lt;b&gt;René Schulte&lt;/b&gt; that are downright useful for extending the information you can glean from Points and rectsk. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100902John Papa"&gt;&lt;/a&gt;&lt;a title="http://johPapa.net/silverlight/applying-animations-and-states-to-your-silverlight-application/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6433"&gt;&lt;u&gt;Applying Animations and States to your Silverlight Application &lt;/u&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;In the latest Silverlight TV, &lt;b&gt;John Papa&lt;/b&gt; has John Stockton in to talk about animation and storyboards in Blend and all sorts of other animation goodness. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100902Todd Knudsen"&gt;&lt;/a&gt;&lt;a title="http://www.dataartist.net/MarqueeTextBlockDemo.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6432"&gt;&lt;u&gt;Marquee Text Block Demo&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Todd Knudsen&lt;/b&gt; has a demo page up for a Marquee control that works very nicely... source available by clicking the the appropriate text. &lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;br /&gt;
&lt;font color="#0000ff"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
 &lt;/p&gt;
&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;a href="http://twitter.com/SilverlightNews"&gt;&lt;u&gt;Twitter SilverlightNews&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://twitter.com/WynApse"&gt;&lt;u&gt;Twitter WynApse&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com/TaggedPosts.aspx"&gt;&lt;u&gt;Tagged Posts&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://tech.groups.yahoo.com/group/SilverlightCream/join"&gt;&lt;u&gt;Join me @ SilverlightCream&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.phoenixsilverlight.net"&gt;&lt;u&gt;Phoenix Silverlight User Group&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;/center&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Technorati Tags:&lt;/b&gt; &lt;a rel="tag" href="http://technorati.com/tag/Silverlight"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=Silverlight" /&gt;Silverlight&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-3"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-3" /&gt;Silverlight 3&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-4"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-4" /&gt;Silverlight 4&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/windowsphone"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=windowsphone" /&gt;Windows Phone&lt;/a&gt; &lt;a rel="tag" href="http://technorati.com/tag/MIX10"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=MIX10" /&gt;MIX10&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141608"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141608" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/141608.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/XU4MJGjZe5c" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/02/141608.aspx</feedburner:origLink></item><item><title>Anatomy of a Silverlight Media Player</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/bt3wVpG1b2w/anatomy-of-a-silverlight-media-player.aspx</link><pubDate>Thu, 02 Sep 2010 20:26:51 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/tburger/archive/2010/09/02/anatomy-of-a-silverlight-media-player.aspx</guid><wfw:comment>http://geekswithblogs.net/tburger/comments/141607.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/tburger/comments/commentRss/141607.aspx</wfw:commentRss><comments>http://geekswithblogs.net/tburger/archive/2010/09/02/anatomy-of-a-silverlight-media-player.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/tburger/services/trackbacks/141607.aspx</trackback:ping><source url="http://geekswithblogs.net/tburger/rss.aspx">Anatomy of a Silverlight Media Player</source><description>&lt;p&gt;Come to Dallas .NET (&lt;a href="http://ddnug.org"&gt;http://ddnug.org&lt;/a&gt;) on September 9th to see Shawn Weisfeld (&lt;a href="http://www.shawnweisfeld.com"&gt;www.shawnweisfeld.com&lt;/a&gt;) and myself talk about &lt;a title="Microsoft Expression Blend" rel="" href="http://expression.microsoft.com/en-us/cc197141.aspx"&gt;Expression Blend&lt;/a&gt;, Silverlight, and OData. &lt;/p&gt;
&lt;p&gt;In this talk Teresa and Shawn will cover how to skin a media player for your company and how to bind it to an OData Service for data retrieval. The talk will begin with Teresa showing how to use &lt;a title="Microsoft Expression Blend" rel="" href="http://expression.microsoft.com/en-us/cc197141.aspx"&gt;Expression Blend&lt;/a&gt; to skin a Silverlight Media Player. Then Shawn will show you how to expose your video library using an OData service and consume it in the Silverlight Media Player.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141607"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141607" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/tburger/aggbug/141607.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/bt3wVpG1b2w" height="1" width="1"/&gt;</description><dc:creator>T</dc:creator><feedburner:origLink>http://geekswithblogs.net/tburger/archive/2010/09/02/anatomy-of-a-silverlight-media-player.aspx</feedburner:origLink></item><item><title>WP7 OS goes Gold</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/L3-y_qCG2Fw/wp7-os-goes-gold.aspx</link><pubDate>Thu, 02 Sep 2010 17:55:47 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/dotgeek/archive/2010/09/02/wp7-os-goes-gold.aspx</guid><wfw:comment>http://geekswithblogs.net/dotgeek/comments/141606.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/dotgeek/comments/commentRss/141606.aspx</wfw:commentRss><comments>http://geekswithblogs.net/dotgeek/archive/2010/09/02/wp7-os-goes-gold.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/dotgeek/services/trackbacks/141606.aspx</trackback:ping><source url="http://geekswithblogs.net/dotgeek/rss.aspx">WP7 OS goes Gold</source><description>&lt;p&gt;So yesterday the announcement came down from Microsoft that Windows Phone 7 has now hit the final stage of development and is headed to the Manufactures to work on with the final devices.&lt;/p&gt;  &lt;p&gt;So what comes next you might ask? Well it means we are getting that much closer to seeing a launch of the WP7 devices for one. That also means Apps will be hitting the Marketplace soon as well. Best of all, it means we can finally get our hands on these devices, provided we find a carrier that is.&lt;/p&gt;  &lt;p&gt;Wait, I thought all of the major carriers are suppose to have these devices. That’s the plan of course, but in the end it depends on the carrier to make the decision to get behind WP7 and sell these devices or actually buy them to sell first.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/dotgeek/WindowsLiveWriter/WP7OSgoesGold_11838/03-15-10wp7devicesgal_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="03-15-10wp7devicesgal" border="0" alt="03-15-10wp7devicesgal" src="http://geekswithblogs.net/images/geekswithblogs_net/dotgeek/WindowsLiveWriter/WP7OSgoesGold_11838/03-15-10wp7devicesgal_thumb.jpg" width="500" height="275" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Lots of news has been coming out about AT&amp;amp;T being the premiere partner for WP7 and lots of rumors show a handful of potential WP7 devices are heading their way.&lt;/p&gt;  &lt;p&gt;After that it gets a bit sketchy and has been hush more or less. Now that doesn’t mean the others will not get them, just means they are not openly talking about getting them right now.&lt;/p&gt;  &lt;p&gt;I got into a bit of an argument or sorts on this topic over at Verizon. See I posted asking when they would get the devices. Some people jumped on and said I should be asking the manufactures and not Verizon. It just doesn’t work that way in the end.&lt;/p&gt;  &lt;p&gt;What is a given is that a European launch is expected to take place in October and then the US launch will kick off in November. As to who will sell them its open, but its really up to AT&amp;amp;T, Sprint, T-Mobile, and Verizon to buy these devices and plan on selling them.&lt;/p&gt;  &lt;p&gt;I’m with Verizon for now, but if they don’t plan on getting in on WP7 anytime soon, I’ll just have to take a look at what the other networks are offering and make a switch. I’d really like to stay with Verizon, but its not up to me in the end… unless I decided to pass on WP7 and I don’t see that happening at all.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141606"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141606" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dotgeek/aggbug/141606.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/L3-y_qCG2Fw" height="1" width="1"/&gt;</description><dc:creator>dotgeek</dc:creator><feedburner:origLink>http://geekswithblogs.net/dotgeek/archive/2010/09/02/wp7-os-goes-gold.aspx</feedburner:origLink></item><item><title>C#/.NET Five More Little Wonders That Make Code Better (2 of 3)</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/FmzEoNro6uY/c.net-five-more-little-wonders-that-make-code-better-2.aspx</link><pubDate>Thu, 02 Sep 2010 16:20:15 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BlackRabbitCoder/archive/2010/09/02/c.net-five-more-little-wonders-that-make-code-better-2.aspx</guid><wfw:comment>http://geekswithblogs.net/BlackRabbitCoder/comments/141605.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BlackRabbitCoder/comments/commentRss/141605.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BlackRabbitCoder/archive/2010/09/02/c.net-five-more-little-wonders-that-make-code-better-2.aspx#comment</comments><slash:comments>9</slash:comments><trackback:ping>http://geekswithblogs.net/BlackRabbitCoder/services/trackbacks/141605.aspx</trackback:ping><source url="http://geekswithblogs.net/BlackRabbitCoder/rss.aspx">C#/.NET Five More Little Wonders That Make Code Better (2 of 3)</source><description>&lt;p&gt;So last week I began my series with a post (&lt;a href="http://geekswithblogs.net/BlackRabbitCoder/archive/2010/08/26/c.net-five-little-wonders-that-make-code-better-1-of.aspx" target="_blank"&gt;here&lt;/a&gt;&lt;a href="http://geekswithblogs.net/BlackRabbitCoder/archive/2010/08/26/c.net-five-little-wonders-that-make-code-better-1-of.aspx)"&gt;)&lt;/a&gt; on those little wonders in .NET/C# -- those small tips and tricks that make code either more concise, maintainable, or performant.  &lt;/p&gt;  &lt;p&gt;This is the second of my three-part series, though there are so many things that make .NET (and in particular C#) a great development platform that I'm sure I could carry this blog on ad infinitum.  Once again, many of these are ones you may already know, but hopefully some of you will find something new or be reminded of an old friend waiting to be used again. &lt;/p&gt;  &lt;h3&gt;1. string.IsNullOrEmpty() and string.IsNullOrWhiteSpace() &lt;/h3&gt;  &lt;p&gt;It's always amazing how many people don't know about these two static helper methods that hang gracefully off the &lt;strong&gt;string&lt;/strong&gt; class.  The &lt;strong&gt;string&lt;/strong&gt; &lt;strong&gt;static&lt;/strong&gt; method &lt;strong&gt;string.IsNullOrEmpty()&lt;/strong&gt; has been around since the 2.0 framework, but the 4.0 framework has given us another gem, the &lt;strong&gt;string.IsNullOrWhitespace()&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;Now, the function of these methods should be self apparent from their names: the first one checks to see if the &lt;strong&gt;string &lt;/strong&gt;reference is null or if the &lt;strong&gt;string&lt;/strong&gt; reference contains an empty &lt;strong&gt;string&lt;/strong&gt; (&lt;strong&gt;Length&lt;/strong&gt; == 0), and the second, checks to see if the &lt;strong&gt;string &lt;/strong&gt;is null, or if every character in the &lt;strong&gt;string &lt;/strong&gt;is whitespace.  &lt;/p&gt;  &lt;p&gt;So let's look at some code that does the same type of checks, with and without the &lt;strong&gt;static&lt;/strong&gt; check methods.  First, let's look at checking for a null or empty &lt;strong&gt;string &lt;/strong&gt;without these methods: &lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; GetFileName(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; fullPathFileName)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// we can either check Length to see if empty or compare to string.Empty&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (fullPathFileName == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt; || fullPathFileName.Length == 0)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// bad, must have a path specified!&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;throw&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ArgumentNullException(fullPathFileName);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     } &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     ...&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;That's not awful, but it looks so much more precise to say: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; GetFileName(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; fullPathFileName)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// first way to do this is to check for null and a positive length&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.IsNullOrEmpty(fullPathFileName))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// bad, must have a path specified!&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;throw&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ArgumentNullException(fullPathFileName);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     } &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     ...&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Now, it's all in one conditional expression, which reduces the change someone will accidentally code the wrong logical operator or use &lt;strong&gt;!=&lt;/strong&gt; instead of &lt;strong&gt;==&lt;/strong&gt;.  Is it really a huge improvement?  Probably not, but it is a nice, modest improvement and makes the code more concise and less error prone which is always a good thing. &lt;/p&gt;

&lt;p&gt;So what about if it's null or whitespace?  let's say you are concatenating first, middle, and last names, but don't want to have a double-space if middle name is empty: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; GetFullName(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; firstName, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; middleName, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; lastName)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (middleName == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt; || middleName.Trim().Length == 0)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #006080"&gt;"{0} {1}"&lt;/span&gt;, firstName, lastName);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     } &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #006080"&gt;"{0} {1} {2}"&lt;/span&gt;, firstName, middleName, lastName);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Notice we did a &lt;strong&gt;Trim()&lt;/strong&gt; to remove the whitespace and then check the &lt;strong&gt;Length&lt;/strong&gt; property.  While this seems nice and concise, it creates a new &lt;strong&gt;string&lt;/strong&gt; object on the heap that must later be garbage collected.  Now, an odd string here or there won't kill your performance, but in a program with high performance requirements you want to keep garbage to a minimum especially if there are other, just as maintainable options!  &lt;/p&gt;

&lt;p&gt;So enter the new .NET 4.0 &lt;strong&gt;string.IsNullOrWhitespace()&lt;/strong&gt;.  This gives a new method that checks if a string is null or only contains whitespace characters: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; GetFullName(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; firstName, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; middleName, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; lastName)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.IsNullOrWhiteSpace(middleName))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #006080"&gt;"{0} {1}"&lt;/span&gt;, firstName, lastName);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     } &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #006080"&gt;"{0} {1} {2}"&lt;/span&gt;, firstName, middleName, lastName);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;It's more concise, we don't have to worry about the right logical operators, and it doesn't create any extra &lt;strong&gt;string&lt;/strong&gt; objects that need to be garbage collected!  &lt;/p&gt;

&lt;h3&gt;2. string.Equals() &lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;string.Equals()&lt;/strong&gt; method set is probably a lot more varied than you expect.  There are a lot of options for using these methods and some of which unfortunately get overlooked.  &lt;/p&gt;

&lt;p&gt;First of all, did you know that there is a &lt;strong&gt;static string.Equals() &lt;/strong&gt;method?  Why would we care?  Well, what if it's possible either &lt;strong&gt;string&lt;/strong&gt; in the comparison may be null?  Let's look: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; Order CreateOrder(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; orderType, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; product, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; quantity, &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; price)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (orderType.Equals(&lt;span style="color: #006080"&gt;"equity"&lt;/span&gt;))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// ...&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     } &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// ...&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;What happens if orderType is null?  Obviously, this will throw a &lt;strong&gt;NullReferenceException&lt;/strong&gt;.  Now, of course we could check for that before hand, but sometimes you are doing string compares on &lt;strong&gt;string&lt;/strong&gt;s that you have little control over, and if you have reasonable doubt that one of the &lt;strong&gt;string&lt;/strong&gt;s may be null, instead of typing: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (orderType != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; orderType.Equals(&lt;span style="color: #006080"&gt;"equity"&lt;/span&gt;))&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;You can use the &lt;strong&gt;static string.Equals()&lt;/strong&gt; method that is safe to call even if one or both of the arguments are null: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Equals(orderType, &lt;span style="color: #006080"&gt;"equity"&lt;/span&gt;))&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;So that's one tool to keep in mind for your toolbox, here's another.  How many times have you seen people check for case-insensitive &lt;strong&gt;string&lt;/strong&gt; equality by doing this: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (orderType.ToUpper().Equals(&lt;span style="color: #006080"&gt;"EQUITY"&lt;/span&gt;)) &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;True, it works, and it is not functionally incorrect, but once again you're creating a new &lt;strong&gt;string &lt;/strong&gt;(returned from &lt;strong&gt;ToUpper()&lt;/strong&gt;) which then has to be cleaned up by the GC later!  If this is really a high performance order processor, that extra garbage may not kill you, but it certainly won't make you faster either!  There's an often overlooked overload on &lt;strong&gt;string.Equals()&lt;/strong&gt; -- both instance and static -- that let's you specify case insensitive compare: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (orderType.Equals(&lt;span style="color: #006080"&gt;"equity"&lt;/span&gt;, StringComparison.InvariantCultureIgnoreCase))&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;or, if you think it may be null, you can do the same thing using the &lt;strong&gt;static string Equals()&lt;/strong&gt;: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Equals(orderType, &lt;span style="color: #006080"&gt;"equity"&lt;/span&gt;, StringComparison.InvariantCultureIgnoreCase))&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Yes, it's a bit longer (I really wish MS had an EqualsIgnoreCase for conciseness -- though you can create your own extension!) but it is very explicit what it does, and it doesn't create extra temporary strings that just need clean up later. &lt;/p&gt;

&lt;h3&gt;3. using Statements &lt;/h3&gt;

&lt;p&gt;Hopefully everyone knows about the &lt;strong&gt;using &lt;/strong&gt;statement (no, not the &lt;strong&gt;using&lt;/strong&gt; &lt;em&gt;directives&lt;/em&gt; at the top of your C# files, but the &lt;strong&gt;using&lt;/strong&gt; &lt;em&gt;statement&lt;/em&gt;) that will clean up &lt;strong&gt;IDisposable &lt;/strong&gt;instances when they go out of scope by calling their &lt;strong&gt;Dispose()&lt;/strong&gt; method.  Let's look at a piece of code that doesn't use the &lt;strong&gt;using&lt;/strong&gt; statement: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; IEnumerable&amp;lt;Order&amp;gt; GetOrders()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     var orders = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;Order&amp;gt;(); &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     var con = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SqlConnection(&lt;span style="color: #006080"&gt;"some connection string"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     var cmd = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SqlCommand(&lt;span style="color: #006080"&gt;"select * from orders"&lt;/span&gt;, con);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     var rs = cmd.ExecuteReader(); &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;while&lt;/span&gt; (rs.Read())&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// ...&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;     } &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     rs.Dispose();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;     cmd.Dispose();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     con.Dispose(); &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; orders;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Wow, number one it's kinda ugly, and number two if you have an exception anywhere between the first creation and the last &lt;strong&gt;Dispose()&lt;/strong&gt;, you run the risk of not calling &lt;strong&gt;Dispose()&lt;/strong&gt; on the other resources which may lead to connections that aren't properly freed immediately.  Yes, they will EVENTUALLY get garbage collected, but until then you are holding a valuable external resource open! &lt;/p&gt;

&lt;p&gt;Well, we could guard against this with a &lt;strong&gt;finally&lt;/strong&gt; block: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; IEnumerable&amp;lt;Order&amp;gt; GetOrders()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     SqlConnection con = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     SqlCommand cmd = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     SqlDataReader rs = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     var orders = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;Order&amp;gt;(); &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         con = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SqlConnection(&lt;span style="color: #006080"&gt;"some connection string"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         cmd = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SqlCommand(&lt;span style="color: #006080"&gt;"select * from orders"&lt;/span&gt;, con);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         rs = cmd.ExecuteReader(); &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;while&lt;/span&gt; (rs.Read())&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;             &lt;span style="color: #008000"&gt;// ...&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;     } &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;finally&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;         rs.Dispose();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;         cmd.Dispose();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;         con.Dispose();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt;     } &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; orders;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;But even this has issues!  What if the &lt;strong&gt;SqlCommand&lt;/strong&gt; fails to create and throws, but the reader may still be null, in which case &lt;strong&gt;rs.Dispose() &lt;/strong&gt;will throw and the connection will never get &lt;strong&gt;Disposed()&lt;/strong&gt;.  Now, of course we could guard all the disposes with &lt;strong&gt;if &lt;/strong&gt;guards, but dang it the &lt;strong&gt;using &lt;/strong&gt;statement makes it so easy: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; IEnumerable&amp;lt;Order&amp;gt; GetOrders()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     var orders = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;Order&amp;gt;(); &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var con = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SqlConnection(&lt;span style="color: #006080"&gt;"some connection string"&lt;/span&gt;))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var cmd = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SqlCommand(&lt;span style="color: #006080"&gt;"select * from orders"&lt;/span&gt;, con))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var rs = cmd.ExecuteReader())&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;while&lt;/span&gt; (rs.Read())&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;                 {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;                     &lt;span style="color: #008000"&gt;// ...&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;                 }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;     } &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; orders;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Ahhhh, so much easier!  the &lt;strong&gt;using&lt;/strong&gt; statement will call &lt;strong&gt;Dispose()&lt;/strong&gt; on the instance immediately when scope is left either due to hitting the end of the block or due to an exception causing the block to leave prematurely!  Notice we don't have to make messy null checks and we don't have to have a big, ugly &lt;strong&gt;try/finally&lt;/strong&gt; block and pre-declare our references to null so they'll exist in the finally block.  So much cleaner! &lt;/p&gt;

&lt;p&gt;What's that you say?  You don't like the heavy indention?  Well, keep in mind that the &lt;strong&gt;using&lt;/strong&gt; statement can be used in simple or compound form.  That is, if you don't put curly-brackets after the &lt;strong&gt;using&lt;/strong&gt; statement, it assume the scope encapsulates the next statement.  So you could stack them like this: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; IEnumerable&amp;lt;Order&amp;gt; GetOrders()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     var orders = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;Order&amp;gt;(); &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var con = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SqlConnection(&lt;span style="color: #006080"&gt;"some connection string"&lt;/span&gt;))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var cmd = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SqlCommand(&lt;span style="color: #006080"&gt;"select * from orders"&lt;/span&gt;, con))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var rs = cmd.ExecuteReader())&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;while&lt;/span&gt; (rs.Read())&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;             &lt;span style="color: #008000"&gt;// ...&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     } &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; orders;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The first &lt;strong&gt;using&lt;/strong&gt; declares con (and yes, you can use &lt;strong&gt;var&lt;/strong&gt; in &lt;strong&gt;using&lt;/strong&gt;s to make very concise) and it is scoped (and will thus be disposed) after the next statement which is another using block and so on!  There's no heavy indention, and it looks nice, crisp, and concise! &lt;/p&gt;

&lt;h3&gt;4. static Class Modifier &lt;/h3&gt;

&lt;p&gt;Many people go along creating classes for the programs and either don't know about or don't use the &lt;strong&gt;static&lt;/strong&gt; class modifiers.  This modifier can help make your code a little safer by restricting how your &lt;strong&gt;class&lt;/strong&gt; is used and modified by other developers. &lt;/p&gt;

&lt;p&gt;Let's say you're writing an XmlUtility class, and the goal of this &lt;strong&gt;class&lt;/strong&gt; is to be able to serialize an object to a &lt;strong&gt;string&lt;/strong&gt; of XML without having to do the encoding and serializing each time.  You may come up with something like this: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; XmlUtility&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ToXml(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; input)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         var xs = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlSerializer(input.GetType()); &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var memoryStream = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MemoryStream())&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var xmlTextWriter = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlTextWriter(memoryStream, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; UTF8Encoding()))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;             xs.Serialize(xmlTextWriter, input);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; Encoding.UTF8.GetString(memoryStream.ToArray());&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         }        &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This is just typical XML serialization code.  The problem is, we have to create this class to use it:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; var xmlUtil = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlUtility();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; result = xmlUtil.ToXml(someObject);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;That's not very elegant usage since the class instance has no state.  Of course you could avoid this by making the method &lt;strong&gt;static&lt;/strong&gt; and a private constructor so that it can't be created: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; XmlUtility&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// create private constructor so this class cannot be created or inherited&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; XmlUtility()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ToXml(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; input)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         var xs = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlSerializer(input.GetType()); &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var memoryStream = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MemoryStream())&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var xmlTextWriter = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlTextWriter(memoryStream, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; UTF8Encoding()))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;             xs.Serialize(xmlTextWriter, input);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; Encoding.UTF8.GetString(memoryStream.ToArray());&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;         }        &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Well, that prevents someone from incorrectly instantiating or inheriting our class, which is good.  But that empty &lt;strong&gt;private&lt;/strong&gt; constructor is kind of ugly and forced, and there's nothing that prevents a modifier from adding a non-static method by mistake: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; T FromXml&amp;lt;T&amp;gt;(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; xml) { ... }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Since this was not declared &lt;strong&gt;static&lt;/strong&gt;, but the constructor is not visible, this method can never be used.  Enter the &lt;strong&gt;static&lt;/strong&gt; class modifier.  If you put the word static before the &lt;strong&gt;class&lt;/strong&gt; keyword, it tells the compiler that the &lt;strong&gt;class&lt;/strong&gt; must only contain &lt;strong&gt;static&lt;/strong&gt; methods, and cannot be instantiated or inherited.  &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; XmlUtility&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ToXml(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; input)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         var xs = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlSerializer(input.GetType()); &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var memoryStream = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MemoryStream())&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var xmlTextWriter = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlTextWriter(memoryStream, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; UTF8Encoding()))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;             xs.Serialize(xmlTextWriter, input);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; Encoding.UTF8.GetString(memoryStream.ToArray());&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         }        &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;So much shorter!  All we did was add a &lt;strong&gt;static&lt;/strong&gt; keyword on the class itself, and now it cannot be instantiated and no one can come in later and accidentally add an instance method, property, constructor by mistake!  &lt;/p&gt;

&lt;p&gt;Remember, anytime you can promote a potential logical error to a potential compiler error, you will get so much more of your sanity back!&lt;/p&gt;

&lt;h3&gt;5. Object and Collection Initializers &lt;/h3&gt;

&lt;p&gt;I know a lot of folks who tend to avoid the initializers as some sort of oddity in the C# world.  In truth, though, it can make some of your initialization code much more elegant, and in one case in particular, can actually make it more performant! &lt;/p&gt;

&lt;p&gt;Now that last tidbit on performance may surprise you a bit, since basically the initializer syntax is mostly syntactical candy.  For those of you who don't know, the initializer syntax allows you to specify values for accessible fields and properties at the time of construction.  Let's look first at object-initializers with a simple example.  &lt;/p&gt;

&lt;p&gt;Let's assume a typical Point &lt;strong&gt;struct&lt;/strong&gt;: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;struct&lt;/span&gt; Point&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; X { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; Y { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;And now we'll create and initialize one:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; var startingPoint = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Point();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; startingPoint.X = 5;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; startingPoint.Y = 13;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Looks like a typical create-and-assign, right?  Well, with object initializers we can one-line this: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; var startingPoint = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Point() { X = 5, Y = 13 };&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The key point, however, is that we've reduced the 3 lines down to one, which is nice, and possibly eliminated some typing.  Notice the curly brackets behind the constructor call where we create the Point, now the position of the curlies is a matter of taste, and technically when you are using Point's default constructor you can omit the empty parenthesis.  &lt;/p&gt;

&lt;p&gt;This syntax is available to any type you create as long as it has accessible fields or properties and has an accessible constructor. &lt;/p&gt;

&lt;p&gt;But now let's look at collection initializers by assuming we want to create and load a list with 5 integers: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; var list = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;  list.Add(1);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;  list.Add(7);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;  list.Add(13);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;  list.Add(42);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Using the collection initializer syntax, we could change this to: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; var list = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt; { 1, 7, 13, 42 };&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Much more concise once again!  Also note that once again, first the constructor is being called, and then the &lt;strong&gt;Add()&lt;/strong&gt; method is called four times on each item in the list.  Interestingly enough, you don't need to invoke a default constructor, for example since you know there's 4 items in the list, you could default the list capacity to avoid the potential resizing with each call to &lt;strong&gt;Add()&lt;/strong&gt;: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; var list = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;(4) { 1, 7, 13, 42 };&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;So the constructor on &lt;strong&gt;List&amp;lt;T&amp;gt;&lt;/strong&gt; that takes an &lt;strong&gt;int &lt;/strong&gt;for capacity is called, and then &lt;strong&gt;Add()&lt;/strong&gt; is called four times.  You can use this in your own collections yourself, all you need do is implement &lt;strong&gt;IEnumerable&amp;lt;T&amp;gt;&lt;/strong&gt; and supply an &lt;strong&gt;Add()&lt;/strong&gt; method. &lt;/p&gt;

&lt;p&gt;You can also combine object and collection initializers, compare the following: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; var list = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;Point&amp;gt;(); &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; var point = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Point();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; point.X = 5;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; point.Y = 13;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; list.Add(point);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; point = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Point();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt; point.X = 42;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; point.Y = 111;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt; list.Add(point);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt; point = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Point();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt; point.X = 7;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt; point.Y = 9;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt; list.Add(point); &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Versus: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; var list = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;Point&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Point { X = 5, Y = 13 },&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Point { X = 42, Y = 111 },&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Point { X = 7, Y = 9 }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     }; &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Which to you looks cleaner and more concise?  Personally I like the intializer syntax.  Even when spread out over multiple lines, it creates a very readable flow of code that is much less "dense" to the eye. &lt;/p&gt;

&lt;p&gt;Now, I didn't forget that I teased you with a hint of a slight performance improvement.  Well, it's not in all cases, but look at the following two classes: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; BeforeFieldInit&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt; ThisList = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;() { 1, 2, 3, 4, 5 };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; NotBeforeFieldInit&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt; ThisList; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; NotBeforeFieldInit()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         ThisList = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         ThisList.Add(1);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;         ThisList.Add(2);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;         ThisList.Add(3);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;         ThisList.Add(4);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;         ThisList.Add(5);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt; } &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Logically, these do the same thing: they both create a &lt;strong&gt;static&lt;/strong&gt; field that will contain the numbers 1 through 5.  The difference is one of these has an &lt;em&gt;explicit &lt;/em&gt;&lt;strong&gt;static&lt;/strong&gt; constructor, and one does not.  For those of you who know C# in depth, you'll know that classes without an &lt;em&gt;explicit&lt;/em&gt; &lt;strong&gt;static &lt;/strong&gt;constructor may be marked with &lt;strong&gt;beforefieldinit&lt;/strong&gt; which will inline initialization of the fields. &lt;/p&gt;

&lt;p&gt;Let's look at a bit of the IL for each: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; .&lt;span style="color: #0000ff"&gt;class&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; auto ansi beforefieldinit BeforeFieldInit&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;        extends [mscorlib]System.Object&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; } &lt;span style="color: #008000"&gt;// end of class BeforeFieldInit &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; .&lt;span style="color: #0000ff"&gt;class&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; auto ansi NotBeforeFieldInit&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;        extends [mscorlib]System.Object&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; } // end of &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; NotBeforeFieldInit &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Notice that if a class has an &lt;em&gt;explicit &lt;/em&gt;&lt;strong&gt;static&lt;/strong&gt; constructor, then C# does not mark the class with &lt;strong&gt;beforefieldinit&lt;/strong&gt; in the IL, and this means that before any &lt;strong&gt;static&lt;/strong&gt; field is accessed, it must make a quick check to see if the &lt;strong&gt;static&lt;/strong&gt; constructor has already been called (for more details just search on &lt;strong&gt;beforefieldinit&lt;/strong&gt;).  This can add up to a minor performance hit.  &lt;/p&gt;

&lt;p&gt;Now, you'd think that since the initialization syntax is not just a simple constructor call but also calls &lt;strong&gt;Add() &lt;/strong&gt;that it would generate a &lt;strong&gt;static&lt;/strong&gt; constructor behind the scenes to load the list.  And it does!  But because it's not an &lt;strong&gt;&lt;em&gt;explicit&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;static &lt;/strong&gt;constructor, it can still be marked &lt;strong&gt;beforefieldinit &lt;/strong&gt;and avoid the extra check.  &lt;/p&gt;

&lt;p&gt;This can also clean up your constructor code (both &lt;strong&gt;static &lt;/strong&gt;and instance) because you can initialize the collections at declaration (if the values are known) instead of having to load your constructors with a lot of mundane logic. &lt;/p&gt;

&lt;h3&gt;Summary &lt;/h3&gt;

&lt;p&gt;Well, that's five more little wonders, I've got enough I think for one more blog entry next week!  Hope you enjoyed them and learned something new or are able to pass it on to someone who does!  Thanks so much for all the positive feedback on the previous 5 wonders! &lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9463b030-4ce3-4937-b9f1-3de4b0a82017" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/string" rel="tag"&gt;string&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IsNullOrEmpty" rel="tag"&gt;IsNullOrEmpty&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IsNullOrWhitespace" rel="tag"&gt;IsNullOrWhitespace&lt;/a&gt;,&lt;a href="http://technorati.com/tags/object+initializer" rel="tag"&gt;object initializer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/using" rel="tag"&gt;using&lt;/a&gt;,&lt;a href="http://technorati.com/tags/static" rel="tag"&gt;static&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141605"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141605" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/BlackRabbitCoder/aggbug/141605.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/FmzEoNro6uY" height="1" width="1"/&gt;</description><dc:creator>James Michael Hare</dc:creator><feedburner:origLink>http://geekswithblogs.net/BlackRabbitCoder/archive/2010/09/02/c.net-five-more-little-wonders-that-make-code-better-2.aspx</feedburner:origLink></item><item><title>BizTalk Host Binding Errors</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/yMHudN4QYTg/biztalk-host-binding-errors.aspx</link><pubDate>Thu, 02 Sep 2010 14:00:58 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/13DaysaWeek/archive/2010/09/02/biztalk-host-binding-errors.aspx</guid><wfw:comment>http://geekswithblogs.net/13DaysaWeek/comments/141604.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/13DaysaWeek/comments/commentRss/141604.aspx</wfw:commentRss><comments>http://geekswithblogs.net/13DaysaWeek/archive/2010/09/02/biztalk-host-binding-errors.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/13DaysaWeek/services/trackbacks/141604.aspx</trackback:ping><source url="http://geekswithblogs.net/13DaysaWeek/rss.aspx">BizTalk Host Binding Errors</source><description>&lt;p&gt;So I'm wrapping up on a project this week and my client wanted me to walk him through a deploy to their pre-production envrionment since they won't be moving to production until some time after I'm gone.  I've been using the amazing &lt;a target="_blank" href="http://biztalkdeployment.codeplex.com/"&gt;Deployment Framework for BizTalk&lt;/a&gt;.  My client hadn't previously used the framework before, so I was trying to give him an overview of how the install process works as we were doing the pre-prod deployment.&lt;/p&gt;
&lt;p&gt;We installed to the first server, then the second.  We started the deploy process on the second server and everything was looking good until the deploy process was importing the bindings.  We got the following error:&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000"&gt;The following items could not be matched up to hosts due to name and/or&lt;br /&gt;
trust level mismatches:&lt;br /&gt;
Item: '[Receive Location Name]' Host: 'ReceiveHost'&lt;br /&gt;
Trust level: 'Untrusted'&lt;br /&gt;
You must do one of the following:&lt;br /&gt;
1) Create hosts with these names and trust levels and try again&lt;br /&gt;
2) Re-export the MSI without the binding files and have a post import script&lt;br /&gt;
apply a suitable binding file. (Microsoft.BizTalk.Deployment)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;My client was sure that he had the hosts configured correctly and we verified that he in fact did.  After a bit of head scratching, I asked him to check adapters in the administration console and sure enough, when we looked at the MQSC adapter, it didn't have a receive handler setup for the ReceiveHost.&lt;/p&gt;
&lt;p&gt;So, if you see the error above, remember to not only check that your hosts are configured correctly, but that you've setup adapter hanlders on the correct hosts.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141604"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141604" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/13DaysaWeek/aggbug/141604.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/yMHudN4QYTg" height="1" width="1"/&gt;</description><dc:creator>Christopher House</dc:creator><feedburner:origLink>http://geekswithblogs.net/13DaysaWeek/archive/2010/09/02/biztalk-host-binding-errors.aspx</feedburner:origLink></item><item><title>WP7, XNA, and XAP Size</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/oj5UNENt0Mg/wp7-xna-and-xap-size.aspx</link><pubDate>Thu, 02 Sep 2010 11:40:31 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mikebmcl/archive/2010/09/02/wp7-xna-and-xap-size.aspx</guid><wfw:comment>http://geekswithblogs.net/mikebmcl/comments/141603.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mikebmcl/comments/commentRss/141603.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mikebmcl/archive/2010/09/02/wp7-xna-and-xap-size.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://geekswithblogs.net/mikebmcl/services/trackbacks/141603.aspx</trackback:ping><source url="http://geekswithblogs.net/mikebmcl/rss.aspx">WP7, XNA, and XAP Size</source><description>&lt;p&gt;This is just going to be a quick post on some techniques for getting your XAP size down when creating games for WP7. It is by no means exhaustive. First, XAP files are basically zip files with specific requirements re: mandatory content and directory layout. So any solutions that would involve zip-style compression will almost certainly result in a larger XAP sizes due to added code. So those type of solutions are off-the-table. But if you can shrink your source input in ways that zip compression cannot, you can shrink your XAP and that’s what I’m going to be discussing. Before doing any of this, do save backups of your assets &amp;amp; code&lt;/p&gt;  &lt;h1&gt;Images.&lt;/h1&gt;  &lt;p&gt;Several things.&lt;/p&gt;  &lt;p&gt;First, it’s important to understand how images work by default. No matter what format you use (TGA, PNG, ultra-compressed JPG, etc.), the content pipeline reads in your image from your Content project, translates the whole thing to 4 byte (32-bit RGBA) pixels and wraps it with a small wrapper. So each 800x480 image will take up about 1,536,000 bytes (1.46 MB or ~1,500 KB). (N.b. doing a quick test, the “wrapper” takes up 187 bytes). In fact you can calculate the XNB size in bytes of any of your images as such: width * height * 4 + 187.&lt;/p&gt;  &lt;p align="center"&gt;----------&lt;/p&gt;  &lt;p&gt;So the first question to ask yourself is do you really need that (nearly) full screen image? Often times people will create big images with lots of empty space. What I mean by empty space is any single color space (e.g. black, olive green, cornflower blue, white, yellow, etc.) or transparent space. If you have an image with a lot of empty space in it, consider dividing it up into smaller images that leave out the empty space. If it’s a background, use one of the overloads of &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.graphicsdevice.clear.aspx"&gt;GraphicsDevice.Clear&lt;/a&gt; to create the empty space color you were using. If it’s not a background, create a 1px x 1px image with the sole pixel being opaque white (in RGBA terms, 255, 255, 255, 255). Draw that image scaled up to the appropriate size (using either a destination rectangle or else if you are positioning with Vector2 then using an overload of &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.spritebatch.draw.aspx"&gt;SpriteBatch.Draw&lt;/a&gt; that takes a Vector2 for a scale so you can specify width and height using the Vector2’s X and Y properties) with the color you desire set as the tint color. The tint color will work just fine with semi-transparent colors as long as you’re using alpha blending (which is on by default unless you turn it off using a SpriteBatch.Begin overload that lets you do that). Then draw the other images over top at their appropriate locations. Depending on the image, you may have saved many tens of thousands of pixels by doing it that way.&lt;/p&gt;  &lt;p&gt;If you want to go a step further (and I recommend you do), take those subdivided up portions and pack them as densely as possible into one image. This creates what is known as a “sprite sheet”. You can use the source rectangle parameter in SpriteBatch.Draw to specify which part of the image SpriteBatch is supposed to draw. There are two benefits to doing this. First, your load time will increase: loading one image takes less time that loading lots of images. More importantly, though, your draw time will decrease. Every time the GPU has to switch textures it takes a small amount of time. If you can reduce the number of times it need to switch textures, you will increase performance.&lt;/p&gt;  &lt;p align="center"&gt;----------&lt;/p&gt;  &lt;p&gt;Another option (which you absolutely do not want to use if you are using a sprite sheet (unless you really know what you’re doing)) is to use Dxt compression. Dxt compression (originally known as S3 texture compression) is a technique for shrinking images. There are 5 possible levels but only Dxt1 and Dxt5 matter for our purposes. Dxt compression works by looking at an image as blocks of 4px x 4px chunks and using magic algorithms to shrink it down. It’s lossy so depending on the complexity of your image, &lt;a href="http://blogs.msdn.com/b/shawnhar/archive/2008/10/28/texture-compression.aspx"&gt;the end results could range from fine to terrible&lt;/a&gt;. It’s almost definitely a no-go for images with text (though maybe you can get rid of the text from the image and draw it with SpriteBatch.DrawString ? It’s worth considering, at least). In a non-DxtCompressed image, each 4px x 4px chunk would take up 4*4*4 = 64 bytes. If the image has no alpha (or only a 1 bit alpha channel – this is rare, though) then Dxt1 is used. If the image has alpha then Dxt5 is used. In Dxt1, that 4px x 4px chunk is reduced down to 64 bits (yes, bits) meaning 8 bytes. That’s an 8x compression ratio. In Dxt5, it is reduced down to 128 bits meaning 16 bytes, which is still a 4x compression ratio.&lt;/p&gt;  &lt;p&gt;The draw back is that images using Dxt compression must be “power of 2” sized. This means that the width and the height each must be a power of 2. So 64x64, 128x16, 256x512, etc. Since it works in 4x4 chunks, it presumable should be at least 2^2 (i.e. 4), but I’ve never tested that.&lt;/p&gt;  &lt;p&gt;Let’s say you have a full screen image, 800x480. As mentioned above, this will take up 1,536,000 bytes (1.46 MB). To use Dxt compression, you would need to add padding to the image to get each part up to the next power of 2 (SpriteBatch clips off the parts that go off screen so you needn’t worry about adding in filler – though if your image already has some transparency anyway, you might as well make the filler 100% transparent). The next nearest is 1024x512. A 1024x512 image using Dxt1 (no alpha or 1-bit alpha) would come to (1024 / 4) * (512 / 4) * 8 = 262,144 bytes (0.25MB). Using Dxt5 (with alpha) the file size would come to (1024/4) * (512/4) * 16 = 524,288 bytes (0.5 MB). As you can see, even adding all that padding in to get the image up to power of 2 sizes for width and height still next us a file that’s about 1/3 of the size of the original for Dxt5 and about 1/6 of the size for Dxt1.&lt;/p&gt;  &lt;p&gt;To enable Dxt compression, in the Solution Explorer in Visual Studio, right click on the image file and select “Properties”. In the properties, you’ll see “Content Processor” with a little arrow to its left. Click the arrow to expand the category and under “Texture Format” click where it says “Color” and choose “DxtCompressed” from the drop-down menu. That’s it. It’s that simple. If you want, the content pipeline will even resize to the nearest power of 2 for you. Note, however, that it does this by scaling the image itself up in size (not by adding some padding in to the right and the bottom as you would do in an image editing program) which may not be what you want at all. You could do that and then draw it back down to the “proper” size by using a destination rectangle or Vector2-based scaling in SpriteBatch.Draw but between the lossful nature of Dxt to begin with and the further artifacts that down-scaling would introduce, the results would probably look terrible. If it’s an image where scaling it doesn’t matter, though, then letting the content pipeline do it is probably fine. Try it and see – you can always open up Photoshop, Gimp, Paint.NET, or whatever you use and pad the image yourself if the results aren’t satisfactory.&lt;/p&gt;  &lt;p align="center"&gt;----------&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Another thing to consider is if you have an image that repeats (e.g. a fence), you only need one section. Drawing the section in a loop all across where it needs to be is going to be just barely slower than drawing one big image and you could go easily from an 800x480 image to an 18x480 image (just like I did as a consequence of looking more closely at one of my backgrounds while creating this tip sheet). That’s a drop from 1.46 MB to 33.75 KB!&lt;/p&gt;  &lt;p align="center"&gt;---------- &lt;/p&gt;  &lt;p&gt;Advanced Technique: It’s entirely possible to procedurally generate a texture at runtime. You create a new Texture2D field or property in your class, instantiate a new instance of it using its constructor, specifying a width, height, and some other parameters (I use the overload that takes more parameters so I know exactly what I’m getting). It’s then a matter of building a one-dimensional array of data (most likely Color[ ] ) of a size equal to width * height (starting at top left and going across row-by-row), and then using the SetData method of Texture2D to create it. Creating things like gradients shouldn’t be too hard. How much cooler your images are will depend entirely on how good you are at the kind of math necessary to do such things. Beyond a certain level of complexity, it likely loses its practicality.&lt;/p&gt;  &lt;h1&gt;Sound.&lt;/h1&gt;  &lt;p&gt;There are several tricks for shrinking your sound content. First up is your music. If you have in game music (and you really should – music sets the mood of a game) then you’re probably already using either mp3 or wma files. What you may not know is how the content pipeline handles these files by default. In Visual Studio, in the Solution Explorer, right click on your wma or mp3 (pick one if you have more than one) and choose “Properties”. In the properties windows, click the arrow to the left of “Content Processor” to reveal the “Compression Quality” property. This will be set to “best” by default. Now “best” means best quality, not best compression. Most specifically, it means that regardless of what file format you’ve set, it will convert it to a 192 kbps constant bitrate (CBR) WMA file. Setting it to “medium” will convert it to a 128 kbps CBR WMA file. Setting it to “low” will convert it to a 96 kbps CBR WMA file.&lt;/p&gt;  &lt;p&gt;Now I wouldn’t personally drop music down to 96 kbps, but in the late 90s, 128 kbps was the standard compression that almost everyone who had digital music used. And for file size, it’s a big difference. My first WP7 game has a nice 2 minute harp piece in counterpoint that my brother composed. The original was a WAV file. I used &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=75402be0-c603-4998-a79c-becdd197aa79"&gt;Expression Encoder 4&lt;/a&gt; (a very nice free tool from Microsoft) to turn it into a WMA file. The original 20,799 KB WAV shrank down to 1902 KB at 128 kbps while it came in at 2854 KB at 192 kbps. That’s a 0.92 MB difference! However if you don’t change the content processor “Compression Quality” option to “medium”, it’ll take your 128 kbps work and re-encode it at 192 kbps. The same is true for MP3 files which it also turns into WMA files – yet another reason that I prefer to work with EE4 to go to WMAs from the outset rather than bouncing from MP3 to WMA and losing a small bit of sound quality in the process. It’s worth noting that the content processor will look at your source file and just pass it through unaltered if it is already a WMA at the correct compression quality. And just for completeness, I did run it through once at “low” – the resulting file size was 1430 KB. It’s a savings of close to half a megabyte more on a 2:00 song, but at that point I think you lose too much quality. Though depending on the piece, even 96 kbps might not matter.&lt;/p&gt;  &lt;p align="center"&gt;----------&lt;/p&gt;  &lt;p&gt;The other part of sound is your sound effects. These are very likely going to be WAV files. Even a few seconds of WAV data can be quite large, though. The content pipeline can once again help! The XNA Creators Club website has a &lt;a href="http://creators.xna.com/en-US/sample/soundandmusic"&gt;Sound and Music sample&lt;/a&gt; for WP7 up right now (it’s a neat sample that I recommend checking out). It comes with several WAV files, one of which is EngineLoop.wav. This is a 4.867 second sample that comes in at 480k original size. I decided to do my tests with this since anyone who wishes can grab the sample and try it out.&lt;/p&gt;  &lt;p&gt;By default, the content pipeline is set to “best” (same procedure as above: right click on the file in Solution Explorer, choose “Properties”, expand “Content Processor” and look at “Compression Quality”) which as best I can determine means that it will take whatever WAV file format you have and convert it to a 16-bit signed PCM WAV file at 44.1 kHz. It’s only a guess, but what comes out of the content pipeline at “best” is a 457 KB XNB file and what comes out of &lt;a href="http://audacity.sourceforge.net/"&gt;Audacity&lt;/a&gt; (a great little program for creating, editing, and exporting sounds of all types – I use the 1.3.12 (Beta) without any issues) when I export the file in the aforementioned format is also 457 KB.&lt;/p&gt;  &lt;p&gt;Now I have no idea what exactly the content pipeline does for “medium”, but what comes out is a 125 KB XNB file that sounds virtually the same as the 457 KB version to me. What I mean is that while I believe that I hear a slight difference, listening to it closely I really don’t think I do actually notice a difference. In other words, I might only be noticing a difference because I know that it’s changed. That’s a big difference. Especially if you have lots of sound effects or a couple of longer ones. You may also wish to experiment with “low” on this. Setting EngineLoop.wav to “low” produced a 63 KB file which, given the nature of the effect, wasn’t markedly different from the original. Unlike with music, a sound effect can often be degraded quite a bit without any serious loss since the goal is usually some sort of punctuation or emphasis of an action. But it’s very dependent on the sound itself as some effects will suffer worse than others.&lt;/p&gt;  &lt;h1&gt;Conclusions.&lt;/h1&gt;  &lt;p&gt;There are undoubtedly other ways to shrink your initial XAP size. Creative reuse of assets is another avenue worth exploring, though that’ll be much more game dependent. Things like building enemies from components and using SpriteBatch’s tint color to shade different pieces in different ways (remember the original Double Dragon? Many NES games for that matter?), using pitch to alter sound effects (e.g. to make your gun sound different than enemy guns), and whatever else you can think of. I’m still plugging away on some things in the background, but wanted to get this out now while the topic was still fresh in my mind (a fellow XNAer was contemplating it on Twitter last night and it got me to thinking). Lots to do, not least of which is to get another game and an app done (hopefully in time for launch). And on the off chance that anyone “important” reads this – I was quite surprised that there was no “learning” or “education” category in the Marketplace App Categories. I guess “Productivity” covers a fair amount of ground and might work for most such things. Still – bit of a surprise. It’d also be nice to see descriptions of what one should expect to find in the various categories and subcategories so that we developers can make sure to get things in the right place. Though it’s perhaps a bit early yet for that. Until next time, good luck!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141603"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141603" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mikebmcl/aggbug/141603.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/oj5UNENt0Mg" height="1" width="1"/&gt;</description><dc:creator>Michael B. McLaughlin</dc:creator><feedburner:origLink>http://geekswithblogs.net/mikebmcl/archive/2010/09/02/wp7-xna-and-xap-size.aspx</feedburner:origLink></item><item><title>NCTC Fall Gala 2010</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/1n_nvwef5lk/141602.aspx</link><pubDate>Thu, 02 Sep 2010 16:35:02 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/codesailor/archive/2010/09/02/141602.aspx</guid><wfw:comment>http://geekswithblogs.net/codesailor/comments/141602.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/codesailor/comments/commentRss/141602.aspx</wfw:commentRss><comments>http://geekswithblogs.net/codesailor/archive/2010/09/02/141602.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/codesailor/services/trackbacks/141602.aspx</trackback:ping><source url="http://geekswithblogs.net/codesailor/rss.aspx">NCTC Fall Gala 2010</source><description>&lt;p&gt;I attended the &lt;a href="http://www.thetechnologycouncil.com/"&gt;NCTC&lt;/a&gt; Fall Gala last night at the Hotel Roanoke &amp;amp; Conference Center.  My company just joined and we sponsored a table.  Chris Atienza and his wife as well as Jessica Taylor attended with me.  I immediately ran into some people I worked with in the past and started a conversation discussing mobile development.  That was a good conversation and may lead to something interesting.&lt;/p&gt;
&lt;p&gt;At the table we met Anne Giles Clelland, the president of Handshake Media, Inc.  They have an interesting business and she shared their Android application.  Their premise is that even with all of our social networking technology, "it's still who you know."  You can learn more at &lt;a href="http://www.handshake20.com/"&gt;http://www.handshake20.com/&lt;/a&gt;.   &lt;/p&gt;
&lt;p&gt;The keynote speaker was &lt;a href="http://www.davidhoule.com/"&gt;David Houle&lt;/a&gt;, futurist and strategic advisor.  He is very passionate and energetic about the future and what he calls The Shift Age, the current age of mankind.  He has numerous awards and quite a resume including launching MTV, Nickelodeon, VH1, and CNN Headline News (among many others).  You can learn more about him and his ideas at &lt;a href="http://www.davidhoule.com/"&gt;http://www.davidhoule.com/&lt;/a&gt;.  Although he is working on another book, you can still get a copy of The Shift Age (&lt;a href="http://www.amazon.com/Shift-Age-David-Houle/dp/1419681788/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1283448706&amp;amp;sr=1-1"&gt;Amazon.com link - also available for Kindle&lt;/a&gt;). &lt;/p&gt;
&lt;p&gt;As a shameless plug, his ideas are of particular interest because they are well aligned with our current strategy of Automate...Collaborate...Mobilize...Grow...  You can learn more at &lt;a href="http://www.YourTechOptions.com"&gt;www.YourTechOptions.com&lt;/a&gt;.  I had an opportunity to speak with David afterward about our initiative and how it relates to his vision of the next decade.  He offered some excellent feedback and advice in just a few minutes.  He is extremely intelligent and fast!&lt;/p&gt;
&lt;p&gt;An overall excellent experience!  I can't wait to attend next year!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141602"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141602" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/codesailor/aggbug/141602.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/1n_nvwef5lk" height="1" width="1"/&gt;</description><dc:creator>Brian Lanham</dc:creator><feedburner:origLink>http://geekswithblogs.net/codesailor/archive/2010/09/02/141602.aspx</feedburner:origLink></item><item><title>RhinoXNA 0.0.1 Released (First Alpha)</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/0EfNXX266Xw/rhinoxna-0.0.1-released-first-alpha.aspx</link><pubDate>Thu, 02 Sep 2010 14:48:26 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/CodeBlog/archive/2010/09/02/rhinoxna-0.0.1-released-first-alpha.aspx</guid><wfw:comment>http://geekswithblogs.net/CodeBlog/comments/141601.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/CodeBlog/comments/commentRss/141601.aspx</wfw:commentRss><comments>http://geekswithblogs.net/CodeBlog/archive/2010/09/02/rhinoxna-0.0.1-released-first-alpha.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/CodeBlog/services/trackbacks/141601.aspx</trackback:ping><source url="http://geekswithblogs.net/CodeBlog/rss.aspx">RhinoXNA 0.0.1 Released (First Alpha)</source><description>&lt;p style="text-align: center"&gt;&lt;img src="http://www.clker.com/cliparts/6/b/9/2/12252145681645497571melwe_rhino.svg.hi.png" style="width: 260px; height: 130px" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;The first alpha of RhinoXNA has been released, go check it out at &lt;a href="http://rhinoxna.codeplex.com"&gt;http://rhinoxna.codeplex.com&lt;/a&gt; and let me know what you think!&lt;/p&gt;
&lt;p style="text-align: center"&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141601"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141601" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/CodeBlog/aggbug/141601.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/0EfNXX266Xw" height="1" width="1"/&gt;</description><dc:creator>Matt Christian</dc:creator><feedburner:origLink>http://geekswithblogs.net/CodeBlog/archive/2010/09/02/rhinoxna-0.0.1-released-first-alpha.aspx</feedburner:origLink></item><item><title>Running Android 2.2 (Frodo) on your HD2</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/zU9pkOJlXpo/running-android-2.2-frodo-on-your-hd2.aspx</link><pubDate>Thu, 02 Sep 2010 14:14:27 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/hinshelm/archive/2010/09/02/running-android-2.2-frodo-on-your-hd2.aspx</guid><wfw:comment>http://geekswithblogs.net/hinshelm/comments/141600.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/hinshelm/comments/commentRss/141600.aspx</wfw:commentRss><comments>http://geekswithblogs.net/hinshelm/archive/2010/09/02/running-android-2.2-frodo-on-your-hd2.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/hinshelm/services/trackbacks/141600.aspx</trackback:ping><source url="http://geekswithblogs.net/hinshelm/rss.aspx">Running Android 2.2 (Frodo) on your HD2</source><description>&lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/image_d8608964-fd57-49aa-b352-c89898a733ae.png" width="51" height="54" /&gt;While my HD2 was away getting fixed I had to slum it using an Android phone from Vodafone. It was a small cheap Vodafone 845 running Android 2.1 and you know what… I loved it. &lt;/p&gt;  &lt;p&gt;Don’t get me wrong… the phone was crap… but Android is good. &lt;/p&gt;  &lt;p&gt;While I wait to get my hands on Windows Phone 7 I would rather use Android than Windows Mobile 6, but how can I do that without buying a new phone? &lt;/p&gt;  &lt;br clear="all" /&gt;  &lt;hr /&gt;  &lt;p&gt;Running Android on your HD2 is not the easiest thing to wrap your head around. Basically you start Android from Windows, but it turns off Windows Mobile during the process. This means that you can start any version of Android, or even Ubuntu you want. &lt;/p&gt;  &lt;p&gt;It is worth mentioning is that the entire OS runs from your SD card, which does impact battery life but the performance is very close to native.&lt;/p&gt;  &lt;p&gt;I started by finding a version of Android that I liked on the  &lt;a href="http://forum.xda-developers.com/forumdisplay.php?f=735"&gt;HD2 Android Development&lt;/a&gt; forum. I have been running &lt;a href="http://forum.xda-developers.com/showthread.php?t=747492"&gt;FroyoStone Sense - V1 from darkstone&lt;/a&gt; for about 24 hours without a problem. While writing this post I noticed that they have just released v2, so I will be updating to that. &lt;/p&gt;  &lt;p&gt;If you are going down this road then you are going to have to accept that there are some things that just do not work, and others that mostly work. However if you keep an eye on the forums you will see that they release updates quite regularly and more things work with every version. &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTMLa83b3e" border="0" alt="SNAGHTMLa83b3e" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/SNAGHTMLa83b3e.png" width="541" height="391" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Downloading may take some time unless you have a premium account&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Once you have it downloaded you need to copy it to SD card. It is best to keep each version in its own folder so you can easily switch if you are not happy with the new one.&lt;/p&gt;  &lt;p&gt; &lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SNAGHTML147d31d" border="0" alt="SNAGHTML147d31d" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/SNAGHTML147d31d.png" width="757" height="525" /&gt;    &lt;br /&gt;&lt;strong&gt;Figure: Always keep the old version around until you are happy&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I like to use the default “Android” folder as it causes me a lot less pain than trying to use a custom folder. If you are a more advanced user I am sure you could solve the problems, but I could not be bothered. I just want something that works…&lt;/p&gt;  &lt;p&gt;Make sure you read the “readme” to get the latest information, but you can now just run the “CLRCAD.exe” and then the “haret.exe” applications. However I have found this to be problematic and I guess other have as well as there is now a little runner application for Windows Mobile.&lt;/p&gt;  &lt;p&gt;Install &lt;a href="http://forum.xda-developers.com/showthread.php?t=737001"&gt;Exceller Multiple Build Loader for Android/Ubuntu 2.1&lt;/a&gt; on your windows mobile so you can choose the version you want. You can also use this application to Auto-Run the version of Android you want, which is nice.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/image_05b8e7ee-133c-42d4-95e0-9a43fa3ce289.png" width="461" height="768" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: I have added the Loader application to the home screen&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There is really no requirement to do this, it just makes it quicker to launch after booting into Windows.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/image_94003d28-b837-4a8a-9cc5-8c30beeddc01.png" width="461" height="768" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: You need to tap to change the version of Android you want to load&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You can see the Auto boot options at the bottom that allow you to just turn on your phone and have it ultimately running Android.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/image_a35c8897-8f9b-41f2-9f8f-7f748a9163cc.png" width="461" height="768" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: You can tap anywhere around the Android logo to run this version&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Once you start Android you will have to wait for a while &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/wlEmoticon-smile_2.png" /&gt; and even longer if this is the first time you have booted that version. In fact it could take as long as 5-10 minutes on first boot, but you just need to wait. With this new v2 it creates a 1gb data file which takes a while and eats your battery. This is normal, and will only happen the first time you boot.&lt;/p&gt;  &lt;p&gt;If you notice the message “failed to find rootfs.img on SD card” then you probably have an issue. Similarly if you notice that your phone has been “Booting” for over 30 minutes its probably configured incorrectly. If this is the case then you should retry and watch the boot sequence. You will see an “Error with XXX” or a “Could not access XXX” and just Google the exact message to find the problem. This is why I went back to using just the “Android” folder.&lt;/p&gt;  &lt;p&gt; &lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Android4" border="0" alt="Android4" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/Android4_8a87d52d-bd6a-4908-9c18-063215c7996e.png" width="461" height="768" /&gt;    &lt;br /&gt;&lt;strong&gt;Figure: Running Android on your HD2 is very nice on the 4.2” screen.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I really do like Android, and if Windows Phone 7 does not live up to its expectations this is probably the OS I will run. I had first exposure to it when my wife got her first Android (HTC Tattoo) and recently I used a Vodafone 845. These phones are small, but they still offer a far better experience than Windows Mobile 6.&lt;/p&gt;  &lt;p&gt;Running Android on my HD2 is such a superior experience that Windows Phone 7 will need to be almost perfect beat it; I really hope it is…&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:58f60d48-70be-4a5f-8856-0562cb4c83d5" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Android" rel="tag"&gt;Android&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HD2" rel="tag"&gt;HD2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WM6" rel="tag"&gt;WM6&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141600"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141600" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hinshelm/aggbug/141600.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/zU9pkOJlXpo" height="1" width="1"/&gt;</description><dc:creator>Martin Hinshelwood</dc:creator><feedburner:origLink>http://geekswithblogs.net/hinshelm/archive/2010/09/02/running-android-2.2-frodo-on-your-hd2.aspx</feedburner:origLink></item><item><title>Day 2 of being unemployed</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Q3dSjo4tCqA/day-2-of-being-unemployed.aspx</link><pubDate>Thu, 02 Sep 2010 12:03:10 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/02/day-2-of-being-unemployed.aspx</guid><wfw:comment>http://geekswithblogs.net/TehGrumpyCoder/comments/141599.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TehGrumpyCoder/comments/commentRss/141599.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/02/day-2-of-being-unemployed.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TehGrumpyCoder/services/trackbacks/141599.aspx</trackback:ping><source url="http://geekswithblogs.net/TehGrumpyCoder/rss.aspx">Day 2 of being unemployed</source><description>&lt;table border="0" cellspacing="0" cellpadding="2"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="389"&gt;I had to run an errand the morning of Day 1 and returned to find the FedEx paperwork from Minerva. &lt;br /&gt;
            &lt;br /&gt;
            My benefits ended August 31. I don’t believe I’ve ever worked anywhere that benefits ended the day of… but it also included the COBRA papers and that’s gonna run roughly $850/month starting *now* … a big bite into the reserves to try to extend the money. &lt;br /&gt;
            &lt;br /&gt;
            Conversation with the HR lady was strained… she was really glad to get off the phone, guess maybe they *do* read my blog – I hope so!&lt;/td&gt;
            &lt;td valign="top" width="11"&gt;&lt;img border="0" alt="" src="http://www.wynapse.com/images/ResumeStickySmallWhiteBG.jpg" /&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Got an unexpected and pleasant email from a remote dev associate offering me a bit of contract money to help do some test code and documentation… woot… real work, not demo work during training or reading.&lt;/p&gt;
&lt;p&gt;And a second unexpected and pleasant phone call from another dev associate wanting to throw some work my way… you guys are going to drag me into this whole contract work thing aren’t you?? … at this point, that all looks great to me and “&lt;a href="http://www.funtrivia.com/askft/Question2836.html"&gt;keep the cards and letters coming in&lt;/a&gt;”.&lt;/p&gt;
&lt;p&gt;Two more queries responded to, and lots more twitter posts… hope possible employers aren’t believing all the hype in the posts, but I really appreciate all the messages, thanks everyone!&lt;/p&gt;
&lt;p&gt;Still making sure my phone is working and checking email…&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;More Plusses&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;No problem signing up for the &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032457118&amp;amp;Culture=en-US"&gt;local EF event&lt;/a&gt; (with Rob Bagby!) during the afternoon of the 15th – hey look, I’m off that afternoon anyway!… well, if I’m not, that would be cool too :)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;More Minuses&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;A 3-day weekend doesn’t mean a lot when you’ve had 4-1/2 days of not working leading up to it&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;So Far&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;5 units of training yesterday: 2 more UnitTest, 2 Lightswitch, 1 Silverlight, and installed SQLServer2008R2 to get the database setup for Ch2 of Julia Lerman’s EF book.&lt;/p&gt;
&lt;p&gt;11 units of training in 2-1/2 days… it’s getting there.&lt;/p&gt;
&lt;p&gt;Plus I pushed SC #938, and hit 10,000 entries on my tagged links at WynApse.com&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Back to training and checking email…&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141599"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141599" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TehGrumpyCoder/aggbug/141599.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Q3dSjo4tCqA" height="1" width="1"/&gt;</description><dc:creator>TehGrumpyCoder</dc:creator><feedburner:origLink>http://geekswithblogs.net/TehGrumpyCoder/archive/2010/09/02/day-2-of-being-unemployed.aspx</feedburner:origLink></item><item><title>Silverlight Cream for September 01, 2010 -- #938</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/DWEIOIwCF68/141598.aspx</link><pubDate>Thu, 02 Sep 2010 03:43:11 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/01/141598.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/141598.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/141598.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/01/141598.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/141598.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Silverlight Cream for September 01, 2010 -- #938</source><description>&lt;p&gt;&lt;font face="tahoma"&gt;
&lt;table border="0" cellspacing="10" cellpadding="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top"&gt;In this Issue: &lt;a href="#20100901Anton Polimenov"&gt;&lt;u&gt;Anton Polimenov&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100901Paul Patterson"&gt;&lt;u&gt;Paul Patterson&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100901Beth Massi"&gt;&lt;u&gt;Beth Massi&lt;/u&gt;&lt;/a&gt;(&lt;a href="#20100901Beth Massi2"&gt;&lt;u&gt;-2-&lt;/u&gt;&lt;/a&gt;), &lt;a href="#20100901Derik Whittaker"&gt;&lt;u&gt;Derik Whittaker&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100901Dinesh Sodani"&gt;&lt;u&gt;Dinesh Sodani&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100901jbaird"&gt;&lt;u&gt;jbaird&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100901priozersk"&gt;&lt;u&gt;priozersk&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20100901Kyle McClellan"&gt;&lt;u&gt;Kyle McClellan&lt;/u&gt;&lt;/a&gt;(&lt;a href="#20100901Kyle McClellan2"&gt;&lt;u&gt;-2-&lt;/u&gt;&lt;/a&gt;), &lt;a href="#20100901Dimitris - Ilias Gkanatsios"&gt;&lt;u&gt;Dimitris - Ilias Gkanatsios&lt;/u&gt;&lt;/a&gt;, and &lt;a href="#20100901Matthias Shapiro"&gt;&lt;u&gt;Matthias Shapiro&lt;/u&gt;&lt;/a&gt;.&lt;/td&gt;
            &lt;td valign="top"&gt;&lt;img border="0" alt="" src="http://wynapse.com/images/Resume2.jpg" /&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;b&gt;Shoutouts:&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Koen Zwikstra&lt;/b&gt; amazingly enough has the latest Silverlight already in &lt;a href="http://firstfloorsoftware.com/blog/silverlight-spy-3-0-0-13/"&gt;&lt;u&gt;Silverlight Spy 3.0.0.13&lt;/u&gt;&lt;/a&gt; ... get the download &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SilverLaw&lt;/b&gt; has a cool Silverlight game up: &lt;a href="http://blogs.windowsclient.net/silverlaw/archive/2010/08/30/silvair-strike-my-first-silverlight-game.aspx"&gt;&lt;u&gt;SilvAir Strike - A Silverlight 4 Game&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
The &lt;b&gt;Silverlight Team Blog&lt;/b&gt; posted this article: &lt;a href="http://team.silverlight.net/announcement/the-future-of-silverlight/"&gt;&lt;u&gt;The Future of Silverlight&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Peter Torr&lt;/b&gt; posted his &lt;a href="http://blogs.msdn.com/b/ptorr/archive/2010/08/31/sample-code-from-teched-new-zealand-talks.aspx"&gt;&lt;u&gt;Sample code from TechEd New Zealand talks&lt;/u&gt;&lt;/a&gt;... WP7 goodness. &lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;hr width="50%" /&gt;

&lt;p&gt;&lt;b&gt;From &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream.com&lt;/u&gt;&lt;/a&gt;: &lt;/b&gt;&lt;/p&gt;
&lt;dl&gt;
    &lt;dt&gt;&lt;a name="20100901Anton Polimenov"&gt;&lt;/a&gt;&lt;a title="http://www.silverlightshow.net/items/WP7-Windows-Phone-7-Application-Platform.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6419"&gt;&lt;u&gt;WP7: Windows Phone 7 Application Platform&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Anton Polimenov&lt;/b&gt; discusses the WP7 application platform ... Silverlight and XNA, the architecture components, and the tools needed. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100901Paul Patterson"&gt;&lt;/a&gt;&lt;a title="http://blog.selectsystems.ca/?p=1560" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6431"&gt;&lt;u&gt;Microsoft LightSwitch – Using the Is Computed Field Property&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Paul Patterson&lt;/b&gt; has a lot of Lightswitch material up on his "Wrench in the Cog" blog... this is only a taste of it all... and is about putting a computed field on a customer table. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100901Beth Massi"&gt;&lt;/a&gt;&lt;a title="http://blogs.msdn.com/b/bethmassi/archive/2010/08/31/validating-collections-of-entities-sets-of-data-in-lightswitch.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6429"&gt;&lt;u&gt;Validating Collections of Entities (Sets of Data) in LightSwitch&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Beth Massi&lt;/b&gt; has a post up on the validating framework in Lightswitch with some good examples and guidance. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100901Beth Massi2"&gt;&lt;/a&gt;&lt;a title="http://blog.selectsystems.ca/?p=1560" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6430"&gt;&lt;u&gt;Using the Is Computed Field Property&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Beth Massi&lt;/b&gt; also has 3 more Lightswitch training videos up, and this post has all 8 listed so you don't have to go find the first post. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100901Derik Whittaker"&gt;&lt;/a&gt;&lt;a title="http://devlicio.us/blogs/derik_whittaker/archive/2010/08/31/changing-the-background-and-foreground-colors-for-an-application-bar-on-wp7.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6428"&gt;&lt;u&gt;Changing the Background and Foreground Colors for an Application Bar on WP7 &lt;/u&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Derik Whittaker&lt;/b&gt; demonstrates the XAML necessary to 'spice up' the Application Bar in a WP7 app even though it's not bindable or skinnable with templates. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100901Dinesh Sodani"&gt;&lt;/a&gt;&lt;a title="http://beyondrelational.com/blogs/dinesh/archive/2010/08/30/silverlight-application-life-cycle.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6427"&gt;&lt;u&gt;Silverlight Application Life Cycle&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;Let &lt;b&gt;Dinesh Sodani&lt;/b&gt; guide you through the Silverlight application life-cycle, or keep this at-hand when you're having problems. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100901jbaird"&gt;&lt;/a&gt;&lt;a title="http://blog.xamlware.com/post/2010/08/29/Building-a-Windows-Phone-7-App-e28093-Sudoku-%28Part-3%29.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6426"&gt;&lt;u&gt;Building a Windows Phone 7 App – Sudoku (Part 3)&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;jbaird&lt;/b&gt; completes the game board and game page in this 3rd part of his Sudoku for WP7 series &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100901priozersk"&gt;&lt;/a&gt;&lt;a title="http://blogs.msdn.com/b/priozersk/archive/2010/08/30/creating-list-picker-for-wp7.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6424"&gt;&lt;u&gt;Creating List Picker for WP7&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;priozersk&lt;/b&gt; has a WP7 post on Alex Yakhnin's blog about a 'list picker' -- select a single item from a small list, and then he posted an update also: &lt;a title="http://blogs.msdn.com/b/priozersk/archive/2010/09/01/update-to-list-picker-control.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6425"&gt;&lt;u&gt;Update to List Picker Control&lt;/u&gt;&lt;/a&gt; &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100901Kyle McClellan"&gt;&lt;/a&gt;&lt;a title="http://blogs.msdn.com/b/kylemc/archive/2010/08/31/authorization-sample-304-mvvm-authorization-for-silverlight.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6422"&gt;&lt;u&gt;Authorization Sample 304 – MVVM Authorization for Silverlight&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Kyle McClellan&lt;/b&gt; continues from his previous authorization sample with a couple new ones. This one is an authorization form in MVVM. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100901Kyle McClellan2"&gt;&lt;/a&gt;&lt;a title="http://blogs.msdn.com/b/kylemc/archive/2010/08/31/authorization-sample-305-permission-based-authorization-for-silverlight.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6423"&gt;&lt;u&gt;Authorization Sample 305 – Permission-Based Authorization for Silverlight&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Kyle McClellan&lt;/b&gt;'s next post is demonstrating extending the authorization library to support read and write permissions. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100901Dimitris - Ilias Gkanatsios"&gt;&lt;/a&gt;&lt;a title="http://www.studentguru.gr/blogs/dt008/archive/2010/09/01/emulating-the-accelerometer-in-windows-phone-7-emulator-using-freescale-semiconductor-accelerometer.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6421"&gt;&lt;u&gt;Emulating the Accelerometer in Windows Phone 7 emulator using Freescale Semiconductor accelerometer&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;OK I admit I had to look up what a 'Freescale Badge' was ... and that means I don't have one :) ... but if you do... &lt;b&gt;Dimitris - Ilias Gkanatsios&lt;/b&gt; has a great post up on using it to simulate the accelerometer in your great new WP7 app. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20100901Matthias Shapiro"&gt;&lt;/a&gt;&lt;a title="http://www.designersilverlight.com/2010/09/01/windows-phone-7-navigating-after-a-picture-task/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=6420"&gt;&lt;u&gt;Windows Phone 7: Navigating After A Picture/Camera Task&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Matthias Shapiro&lt;/b&gt; talks through the forensics of chasing down a WP7 error message received after taking a picture. &lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;br /&gt;
&lt;font color="#0000ff"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
 &lt;/p&gt;
&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;a href="http://twitter.com/SilverlightNews"&gt;&lt;u&gt;Twitter SilverlightNews&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://twitter.com/WynApse"&gt;&lt;u&gt;Twitter WynApse&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com/TaggedPosts.aspx"&gt;&lt;u&gt;Tagged Posts&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://tech.groups.yahoo.com/group/SilverlightCream/join"&gt;&lt;u&gt;Join me @ SilverlightCream&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.phoenixsilverlight.net"&gt;&lt;u&gt;Phoenix Silverlight User Group&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;/center&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Technorati Tags:&lt;/b&gt; &lt;a rel="tag" href="http://technorati.com/tag/Silverlight"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=Silverlight" /&gt;Silverlight&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-3"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-3" /&gt;Silverlight 3&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-4"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-4" /&gt;Silverlight 4&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/windowsphone"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=windowsphone" /&gt;Windows Phone&lt;/a&gt; &lt;a rel="tag" href="http://technorati.com/tag/MIX10"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=MIX10" /&gt;MIX10&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141598"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141598" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/141598.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/DWEIOIwCF68" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2010/09/01/141598.aspx</feedburner:origLink></item><item><title>West Palm Beach .Net User Group August 2010 Meeting With Chris Rushing</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/xIOR5tETGCQ/west-palm-beach-.net-user-group-august-2010-meeting-with.aspx</link><pubDate>Wed, 01 Sep 2010 21:47:40 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/wildturtle/archive/2010/09/01/west-palm-beach-.net-user-group-august-2010-meeting-with.aspx</guid><wfw:comment>http://geekswithblogs.net/wildturtle/comments/141597.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/wildturtle/comments/commentRss/141597.aspx</wfw:commentRss><comments>http://geekswithblogs.net/wildturtle/archive/2010/09/01/west-palm-beach-.net-user-group-august-2010-meeting-with.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/wildturtle/services/trackbacks/141597.aspx</trackback:ping><source url="http://geekswithblogs.net/wildturtle/rss.aspx">West Palm Beach .Net User Group August 2010 Meeting With Chris Rushing</source><description>&lt;div&gt;The West Palm Beach .Net User Group would like to thank our August speaker, Christopher Rushing, Owner and Senior Developer at Webangelo, LLC for coming to our meting and sharing his knowledge about Umbraco, an open source ASP.Net CMS. Umbraco presents an out-of-the-box solution for implementing systems that can be as simple as user blogs to as involved as ecommerce high traffic websites. It can also be easily extended and supplemented with standard ASP.Net User Controls.&lt;/div&gt;
&lt;div&gt;Umbraco is already a very well known enterprise-level CMS in Europe. With reputable, high traffic sites such as Microsoft’s asp.net adopting Umbraco, one can only expect continued adoption and reputation growth for this promising CMS domestically.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;--Sam Abraham&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;img alt="" style="width: 808px; height: 420px" src="/images/geekswithblogs_net/wildturtle/AugustMeetingUmbracoChrisRushing/aspdonetsite.jpg" /&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141597"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141597" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/wildturtle/aggbug/141597.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/xIOR5tETGCQ" height="1" width="1"/&gt;</description><dc:creator>Sam Abraham</dc:creator><feedburner:origLink>http://geekswithblogs.net/wildturtle/archive/2010/09/01/west-palm-beach-.net-user-group-august-2010-meeting-with.aspx</feedburner:origLink></item><item><title>how to get latitude and longitude from Google Map API</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/-quU88UaVyA/how-to-get-latitude-and-longitude-from-google-map-api.aspx</link><pubDate>Thu, 02 Sep 2010 01:39:33 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/anirudha/archive/2010/09/01/how-to-get-latitude-and-longitude-from-google-map-api.aspx</guid><wfw:comment>http://geekswithblogs.net/anirudha/comments/141596.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/anirudha/comments/commentRss/141596.aspx</wfw:commentRss><comments>http://geekswithblogs.net/anirudha/archive/2010/09/01/how-to-get-latitude-and-longitude-from-google-map-api.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/anirudha/services/trackbacks/141596.aspx</trackback:ping><source url="http://geekswithblogs.net/anirudha/rss.aspx">how to get latitude and longitude from Google Map API</source><description>&lt;p&gt;in this post i show you how to get the latitude or logitude with Direction. some other post not describe the rule of direction who can be need in a specific case. i show you how to get the latitude and longitude with direction (flank) .&lt;/p&gt;
&lt;p&gt;you need to add reference of map api to page then the code can be work with google map api.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;title&gt;&lt;/title&gt;

&lt;pre style="font-family: consolas;"&gt;
    &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt; &lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"text/javascript"&lt;/span&gt; &lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"http://maps.google.com/maps/api/js?sensor=true"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt; &lt;br /&gt;&lt;/span&gt;
i show you a small form who is work for getting the latitude and longitude from google map api

&lt;title&gt;&lt;/title&gt;&lt;p&gt; &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;form&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"myForm"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        Address:&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;input&lt;/span&gt; &lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"text"&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"txtname"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;input&lt;/span&gt; &lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"button"&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"btnsub"&lt;/span&gt; &lt;span style="color: red;"&gt;value&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"Submit"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;form&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;    &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"result"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;
&lt;p&gt;this small javascript code give the latitude or longitude [it is work through the google Map api]&lt;/p&gt;
&lt;p&gt;  $(&lt;span style="color: blue;"&gt;function&lt;/span&gt; () {&lt;/p&gt;
&lt;pre style="font-family: consolas;"&gt;
            $(&lt;span style="color: maroon;"&gt;"#btnsub"&lt;/span&gt;).click(&lt;span style="color: blue;"&gt;function&lt;/span&gt; () {
                &lt;span style="color: blue;"&gt;var&lt;/span&gt; add = $(&lt;span style="color: maroon;"&gt;"#txtname"&lt;/span&gt;).val();
 
                &lt;span style="color: blue;"&gt;var&lt;/span&gt; geo = &lt;span style="color: blue;"&gt;new&lt;/span&gt; google.maps.Geocoder;
 
                geo.geocode({ &lt;span style="color: maroon;"&gt;'address'&lt;/span&gt;: add }, &lt;span style="color: blue;"&gt;function&lt;/span&gt; (results, status) {
                    &lt;span style="color: blue;"&gt;if&lt;/span&gt; (status == google.maps.GeocoderStatus.OK) {
                        obj = results[0].geometry.location;
                        obj = convert(obj);
                        $(&lt;span style="color: maroon;"&gt;"div#result"&lt;/span&gt;).html(obj);
                    } &lt;span style="color: blue;"&gt;else&lt;/span&gt; {
                        alert(&lt;span style="color: maroon;"&gt;"Geocode was not successful for the following reason: "&lt;/span&gt; + status);
                    }
                });
 
            });
        });
 
        &lt;span style="color: blue;"&gt;function&lt;/span&gt; convert(info) {
            &lt;span style="color: darkgreen;"&gt;// info.b as lati , info.c as long&lt;/span&gt;
            &lt;span style="color: blue;"&gt;return&lt;/span&gt; [info.b &amp;gt;= 0 ? Math.abs(info.b) + &lt;span style="color: maroon;"&gt;"N"&lt;/span&gt; : Math.abs(info.b) + &lt;span style="color: maroon;"&gt;"S"&lt;/span&gt;,
            info.c &amp;gt;= 0 ? Math.abs(info.c) + &lt;span style="color: maroon;"&gt;"E"&lt;/span&gt; : Math.abs(info.c) + &lt;span style="color: maroon;"&gt;"W"&lt;/span&gt;].join(&lt;span style="color: maroon;"&gt;" , "&lt;/span&gt;)
        }

&lt;/pre&gt;
&lt;p&gt;the &lt;a href="http://en.wikipedia.org/wiki/Latitude"&gt;latitude&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Longitude"&gt;longitude&lt;/a&gt;  have a small rule that&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nagative latitude = South&lt;br /&gt;
&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;positive latitude = North&lt;br /&gt;
&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nagative longitude = West&lt;br /&gt;
&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Positive longitude = East&lt;/strong&gt;&lt;/p&gt;
&lt;pre style="font-family: consolas;"&gt;
the convert work upon the rule he append the N if the position of Area is North.
&lt;/pre&gt;
&lt;p&gt;i found a DB on latitude or longitude in raw format you can get them &lt;a href="http://geolite.maxmind.com/download/worldcities/cities.txt.gz"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141596"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141596" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/anirudha/aggbug/141596.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/-quU88UaVyA" height="1" width="1"/&gt;</description><dc:creator>anirudha</dc:creator><feedburner:origLink>http://geekswithblogs.net/anirudha/archive/2010/09/01/how-to-get-latitude-and-longitude-from-google-map-api.aspx</feedburner:origLink></item></channel></rss>
