<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Noah Coad</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/noahc/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/noahc/feed.xml</link>
    <description>A Microsoft Program Manager on Visual Studio Platform (and an underground coder, lifehacker, hockey player)</description>
    <lastBuildDate>Wed, 08 Apr 2015 08:22:44 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Farewell Microsoft</title>
      <link>https://docs.microsoft.com/archive/blogs/noahc/farewell-microsoft</link>
      <pubDate>Tue, 12 Jan 2010 20:29:49 GMT</pubDate>
      <dc:creator><![CDATA[noahc]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/noahc/2010/01/12/farewell-microsoft/</guid>
      <description><![CDATA[After three Visual Studio releases and five and a half years with Microsoft, I’m moving back to...]]></description>
      <content:encoded><![CDATA[<p>After three Visual Studio releases and five and a half years with Microsoft, I’m moving back to Texas!</p>  <p>My journey began on a mysterious new product code named “Burton”, which became Visual Studio Team System.&#160; Those first three years with VSTS shipping “Whidbey” (VS 2005) and “Orcas” (VS 2008) were a real privilege working with great people on a fantastic product.&#160; In the last two and a half years I have been at the core of VS as part of the VS Platform team working on the new WPF based shell, WPF Start Page, customer feedback mechanism (we call SQM), and working towards shipping the VS Express 2010 products.&#160; VS 2010 is going to be a great product and I’m looking forward to installing the final release in the coming months.&#160; Cheers!</p>  <div style="border-bottom: black 1px solid; border-left: black 1px solid; padding-bottom: 1em; margin: 1em; padding-left: 1em; padding-right: 1em; background: #faf0e6; font-size: 1.1em; border-top: black 1px solid; font-weight: bold; border-right: black 1px solid; padding-top: 1em">Blogging moved to <a href="http://coadblog.com">http://coadblog.com</a></div>  <p>The RSS feed will be automatically redirected.&#160; Thanks to all readers and keep an eye out on my new blog site for future updates!</p>]]></content:encoded>
    </item>
    <item>
      <title>Get Visual Studio Professional for Free (for Students and Small Businesses)</title>
      <link>https://docs.microsoft.com/archive/blogs/noahc/get-visual-studio-professional-for-free-for-students-and-small-businesses</link>
      <pubDate>Thu, 12 Nov 2009 10:43:35 GMT</pubDate>
      <dc:creator><![CDATA[noahc]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/noahc/2009/11/12/get-visual-studio-professional-for-free-for-students-and-small-businesses/</guid>
      <description><![CDATA[Microsoft wants you to be able to use the Professional version of its software development tools and...]]></description>
      <content:encoded><![CDATA[<p>Microsoft wants you to be able to use the Professional version of its software development tools and is making it easy for students and new businesses to get started.&#160; These are essentially free MSDN subscriptions that include VS Pro, SQL, Expression, and Windows Server.</p>  <ul>   <li><a href="http://bit.ly/bKrij"><strong>DreamSpark</strong></a><strong> for Students</strong>       <br />”DreamSpark is simple; it's all about giving students Microsoft professional-level developer and designer tools at no charge so you can chase your dreams and create the next big breakthrough in technology - or just get a head start on your career.”       <br />      <br />All that is required is verification by MS of your enrollment at a major college, a .edu email address, or by contacting the support team.&#160; High School students can get it by a request from their teacher.       <br />&#160; </li>    <li><a href="http://bit.ly/EkXj7"><strong>BizSpark</strong></a><strong> for New Businesses</strong>       <br />”A program that provides Software, Support and Visibility for Software Startups.”       <br />      <br />The requirement here is that your company is privately held, less than three years old, and making less than $1M annually… or if you help startups you can be a ‘Network Partner’.       <br />&#160; </li>    <li><a href="http://bit.ly/1jNRqD"><strong>WebsiteSpark</strong></a><strong> for New Web Sites        <br /></strong>”A program that offers visibility, support and software for professional Web Developers and Designers”       <br />      <br />This program is good for a total of up to three users per Web design and development company, no more than 10 total members in the company, and deployment of a website with the tools within 6 months.       <br />&#160; </li> </ul>  <p>Of course with any of these programs, you should check the website for the details on eligibility, my notes are just a synopsis.&#160; For hobbyist that don’t fall into one of these categories, I suggest the <a href="http://bit.ly/2L4W6h">VS Express</a> products or think of a fun idea to make some money and start a small business to get into the BizSpark or WebsiteSpark programs.</p>]]></content:encoded>
    </item>
    <item>
      <title>Set Difference Minus Operation with LINQ in C#</title>
      <link>https://docs.microsoft.com/archive/blogs/noahc/set-difference-minus-operation-with-linq-in-c</link>
      <pubDate>Wed, 09 Sep 2009 18:35:05 GMT</pubDate>
      <dc:creator><![CDATA[noahc]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/noahc/2009/09/09/set-difference-minus-operation-with-linq-in-c/</guid>
      <description><![CDATA[Sometimes you want to use a Difference (or Minus) set operation which goes like this: Give me all...]]></description>
      <content:encoded><![CDATA[<p>Sometimes you want to use a Difference (or Minus) set operation which goes like this: Give me all elements from set A that do not exist in set B.&#160; Or simply put A – B.&#160; The LINQ Except method does this if both sets A and B are of the same type, but frequently the sets are of different types and must have their identifiers matched.&#160; Here is a quick little example of how to do this with LINQ.    <br />    <br />Wolfram <a href="http://mathworld.wolfram.com/SetDifference.html">MathWorld</a> shows the operation’s definition as:&#160; <img style="position: relative; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; top: 3px; padding-top: 0px" src="http://mathworld.wolfram.com/images/equations/SetDifference/NumberedEquation1.gif" /></p>  <div style="border-bottom: black 1px solid; border-left: black 1px solid; padding-bottom: 0.5em; padding-left: 1em; font-family: courier new; background: white; color: black; font-size: 10pt; border-top: black 1px solid; border-right: black 1px solid; padding-top: 0.5em">   <pre style="margin: 0px"><span style="color: blue">static</span> <span style="color: blue">void</span> Main(<span style="color: blue">string</span>[] args)</pre>

  <pre style="margin: 0px">{</pre>

  <pre style="margin: 0px">&#160; <span style="color: #2b91af">List</span>&lt;<span style="color: blue">string</span>&gt; names = <span style="color: blue">new</span> <span style="color: #2b91af">List</span>&lt;<span style="color: blue">string</span>&gt;</pre>

  <pre style="margin: 0px">&#160; { <span style="color: #a31515">&quot;Noah&quot;</span>, <span style="color: #a31515">&quot;Sarah&quot;</span>, <span style="color: #a31515">&quot;Josiah&quot;</span>, <span style="color: #a31515">&quot;Craig&quot;</span>, <span style="color: #a31515">&quot;Carolin&quot;</span> };</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160; <span style="color: #2b91af">Dictionary</span>&lt;<span style="color: blue">string</span>, <span style="color: blue">string</span>&gt; visiting = <span style="color: blue">new</span> <span style="color: #2b91af">Dictionary</span>&lt;<span style="color: blue">string</span>, <span style="color: blue">string</span>&gt;()</pre>

  <pre style="margin: 0px">&#160; { { <span style="color: #a31515">&quot;Noah&quot;</span>, <span style="color: #a31515">&quot;Turkey&quot;</span> }, { <span style="color: #a31515">&quot;Craig&quot;</span>, <span style="color: #a31515">&quot;Germany&quot;</span> }, { <span style="color: #a31515">&quot;Sue&quot;</span>, <span style="color: #a31515">&quot;Bangalore&quot;</span> } };</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160; <span style="color: blue">var</span> minus =</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">from</span> n <span style="color: blue">in</span> names</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">let</span> places = <span style="color: blue">from</span> p <span style="color: blue">in</span> visiting <span style="color: blue">select</span> p.Key</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">where</span> !places.Contains(n)</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">select</span> n;</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160; <span style="color: blue">foreach</span> (<span style="color: blue">var</span> v <span style="color: blue">in</span> minus)</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; <span style="color: #2b91af">Console</span>.WriteLine(v);</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160; <span style="color: #2b91af">Console</span>.ReadKey();</pre>

  <pre style="margin: 0px">}</pre>
</div>

<p>Output:</p>

<pre style="padding-bottom: 1em; margin: 1em 1em 1em 0em; padding-left: 1em; width: 20em; padding-right: 1em; font: 10pt courier new; background: black; color: grey; padding-top: 1em">Sarah 
Josiah 
Carolin</pre>

<p>The dot notation way of doing this would be &quot;names.Where(a =&gt; !visiting.Select(b =&gt; b.Key).Contains(a))&quot;.&#160; I realize this all seems to be relatively trivial for one familiar with LINQ, but at the time of writing this there isn’t a decent topic popping up on Bing or Google when searching for LINQ Minus C# with two types of sets, now hopefully there will be. If you know of a more efficient way, please by all means post a comment, thanks.</p>

<p style="margin-bottom: 0px"><strong>References</strong></p>

<ul style="margin-top: 0px">
  <li>This Sample Code: <a href="http://coad.net/blog/resources/LinqMinus.zip">LinqMinus.zip</a> </li>

  <li>MSDN on <a href="http://msdn.microsoft.com/en-us/library/bb882533.aspx">How to Perform Custom Join Operations</a> </li>

  <li>MSDN on <a href="http://msdn.microsoft.com/en-us/library/bb397676.aspx">LINQ Query Expressions</a> </li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>5 Years At Microsoft</title>
      <link>https://docs.microsoft.com/archive/blogs/noahc/5-years-at-microsoft</link>
      <pubDate>Mon, 06 Jul 2009 13:58:13 GMT</pubDate>
      <dc:creator><![CDATA[noahc]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/noahc/2009/07/06/5-years-at-microsoft/</guid>
      <description><![CDATA[Five years ago today I walked into Microsoft building 41 as green as the first day of...]]></description>
      <content:encoded><![CDATA[<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/noahc/WindowsLiveWriter/5YearsAtMicrosoftaRetrospective_945B/Microsoft%205%20Year%20Service%20Award_2.jpg" original-url="http://blogs.msdn.com/blogfiles/noahc/WindowsLiveWriter/5YearsAtMicrosoftaRetrospective_945B/Microsoft%205%20Year%20Service%20Award_2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Microsoft 5 Year Service Award" border="0" alt="Microsoft 5 Year Service Award" align="right" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/noahc/WindowsLiveWriter/5YearsAtMicrosoftaRetrospective_945B/Microsoft%205%20Year%20Service%20Award_thumb.jpg" original-url="http://blogs.msdn.com/blogfiles/noahc/WindowsLiveWriter/5YearsAtMicrosoftaRetrospective_945B/Microsoft%205%20Year%20Service%20Award_thumb.jpg" width="200" height="293" /></a> Five years ago today I walked into Microsoft building 41 as green as the first day of college.&#160; This entire time I’ve been in the Developer Division with the pleasure to work on improving some of the best software development tools in the industry.&#160; The first 3.5 years were in Visual Studio Team System and the last year and a half have been on the core Visual Studio platform team.&#160; I’m now working on shipping my third version of Visual Studio and have worked as a Program Manager on a number of interesting projects, including…</p>  <ul>   <li>Visual Studio Team System (VSTS)</li>    <li>Visual Studio Debugger</li>    <li>Visual Studio Unit Testing</li>    <li>VSTS Process Guidance</li>    <li>VSTS Training Materials</li>    <li>Release Management</li>    <li>WPF based VS Shell for VS 2010</li>    <li>WPF Start Page for VS 2010</li>    <li>xcopy deployable VS we’re using for internal tooling</li>    <li>VS Setup improvements in performance and ease</li>    <li>VS Express product line ownership</li>    <li>improvements to VS core assets such as the Toolbox, Error List, Output Window, etc</li> </ul>  <p>These projects have included your typical corporate software development tasks as a Program Manager, such as team coordination, resource scheduling, writing specifications, strategic planning, countless demos, internal reporting, asset organization, competitive analysis, bug triaging, collecting customer feedback, documenting, blogging, internal corporate evangelism, training, providing support, design reviews, involving key customers (eg, MVPs), event planning, creating samples, college recruiting, new hire interviewing, providing field support, presenting at conferences, and a little coding here and there.</p>  <p>(pictured is the MS 5-yr service award)</p>]]></content:encoded>
    </item>
    <item>
      <title>Eject or Undock a Laptop PC from Command Line or C#</title>
      <link>https://docs.microsoft.com/archive/blogs/noahc/eject-or-undock-a-laptop-pc-from-command-line-or-c</link>
      <pubDate>Thu, 04 Jun 2009 13:01:48 GMT</pubDate>
      <dc:creator><![CDATA[noahc]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/noahc/2009/06/04/eject-or-undock-a-laptop-pc-from-command-line-or-c/</guid>
      <description><![CDATA[Took me awhile to find this, so it is worth sharing.&#160; If you have a computer (usually laptop,...]]></description>
      <content:encoded><![CDATA[<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/noahc/WindowsLiveWriter/EjectorUndockaLaptopPCfromCommandLineorC_88E8/dell-dock_2.gif" original-url="http://blogs.msdn.com/blogfiles/noahc/WindowsLiveWriter/EjectorUndockaLaptopPCfromCommandLineorC_88E8/dell-dock_2.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="dell-dock" border="0" alt="dell-dock" align="right" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/noahc/WindowsLiveWriter/EjectorUndockaLaptopPCfromCommandLineorC_88E8/dell-dock_thumb.gif" original-url="http://blogs.msdn.com/blogfiles/noahc/WindowsLiveWriter/EjectorUndockaLaptopPCfromCommandLineorC_88E8/dell-dock_thumb.gif" width="240" height="150" /></a> Took me awhile to find this, so it is worth sharing.&#160; If you have a computer (usually laptop, notebook, etc) with a docking station and want to tell the PC to undock itself from the station from the command line, this is it.&#160; For me the scenario is that I frequently undock my system to take it home or to the office, which means I manually hit the undock button, remove the PC, open up the lid, wait for it to respond, then close the lid to put it to sleep.&#160; Now I have a little batch file that I click that undocks the PC and goes to sleep a few moments later.&#160; I’ve tested that this works for Windows XP (WinXP), Windows Vista, and Windows 7 (Win7).</p>  <p>   <br />Here is the command line…</p>  <div style="border-bottom: black 1px solid; border-left: black 1px solid; padding-bottom: 6px; margin: 10px; padding-left: 6px; padding-right: 6px; background: #f9f9f9; border-top: black 1px solid; border-right: black 1px solid; padding-top: 6px">rundll32 cfgmgr32.dll,CM_Request_Eject_PC</div>  <p>   <br />And here is some C# code from the entry I added to <a href="http://pinvoke.net/default.aspx/cfgmgr32/CM_Request_Eject_PC.html">pinvoke.net</a>,    <br />the Visual Studio solution with code is here <a href="http://coad.net/blog/resources/EjectPC.zip">ejectpc.zip</a></p>  <div style="border-bottom: black 1px solid; border-left: black 1px solid; padding-bottom: 6px; margin: 10px; padding-left: 6px; padding-right: 6px; background: #f9f9f9; border-top: black 1px solid; border-right: black 1px solid; padding-top: 6px">class Program    <br />{     <br />&#160; [DllImport(&quot;cfgmgr32.dll&quot;, SetLastError = true)]     <br />&#160; static extern int CM_Request_Eject_PC();     <br />&#160; <br />&#160; static void Main(string[] args)     <br />&#160; { CM_Request_Eject_PC(); }     <br />} </div>  <p style="margin-bottom: 0px">   <br />Worth noting is that the command begins the undock process, notifies the user via the normal hardware mechanisms that the PC is ready for undock, and then waits for the user to either undock the machine or a timeout.&#160; This is handy for knowing when the machine was actually undocked.</p>  <p style="margin-bottom: 0px">   <br />And yet another option is to use a little bit of .vbs windows script code, <a href="http://coad.net/blog/resources/EjectPC-script.zip">ejectpc.vbs</a></p>  <div style="border-bottom: black 1px solid; border-left: black 1px solid; padding-bottom: 6px; margin: 10px; padding-left: 6px; padding-right: 6px; background: #f9f9f9; border-top: black 1px solid; border-right: black 1px solid; padding-top: 6px">CreateObject(&quot;Shell.Application&quot;).EjectPC</div>  <p style="margin-bottom: 0px"><strong>     <br />References</strong></p>  <ul style="margin-top: 0px">   <li><a href="http://gammadyne.com/cmdline.htm#sleep">sleep.exe</a> from Gammadyne </li>    <li><a href="http://pinvoke.net/default.aspx/cfgmgr32/CM_Request_Eject_PC.html#">Call CM_Request_Eject_PC from C#</a> on pinvoke.net </li>    <li><a href="http://msdn.microsoft.com/en-us/library/ms791155.aspx">CM_Request_Eject_PC reference</a> on MSDN Library </li>    <li><a href="http://www.shahine.com/omar/PutYourPCToSleepFromTheCommandLine.aspx">Put your PC to sleep from the command line</a> by Omar Shahine </li>    <li><a href="http://msdn.microsoft.com/en-us/library/bb774071(VS.85).aspx">EjectPC Method</a> for scripting on MSDN Library</li> </ul>]]></content:encoded>
    </item>
    <item>
      <title>Visual Studio 2010 Beta 1 Released</title>
      <link>https://docs.microsoft.com/archive/blogs/noahc/visual-studio-2010-beta-1-released</link>
      <pubDate>Wed, 20 May 2009 16:33:07 GMT</pubDate>
      <dc:creator><![CDATA[noahc]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/noahc/2009/05/20/visual-studio-2010-beta-1-released/</guid>
      <description><![CDATA[We just released VS2010 Beta 1 to the web for public download!!&#160; This is very exciting as my...]]></description>
      <content:encoded><![CDATA[<p><strong>We just released VS2010 Beta 1 to the web for </strong><a href="http://go.microsoft.com/fwlink/?LinkId=147407"><strong>public download</strong></a><strong>!!&#160; </strong>This is very exciting as my team, the Visual Studio Platform (VSP) team, has made tremendous effort and new functionality in this release of VS.&#160; My VSP team is specifically responsible for the new editor, new WPF based shell, MS Build, VS Extensibility, and more.&#160; There are already many good posts out there about specific new features in VS (such as the <a href="http://blogs.msdn.com/jasonz/archive/2009/05/18/announcing-vs2010-net-framework-4-0-beta-1.aspx">post by JasonZ</a>), so I’m focusing my post on the resources to keep your eye on as we roll out announcements about the new features.</p>  <p>One thing I’ll mention that’s new and you may not hear elsewhere, is that we are now sporting a nice new web download ‘bootstrapper’ for Visual Studio.&#160; Express benefitted from this in 2008 and now Pro and VSTS use it.&#160; The advantage is that you start of by getting the ‘downloader’ that is 5MB instead of the full 1.2GB product.&#160; VS Pro/TS is made up of about 20 other major components plus the Visual Studio core bits, runtimes like VC Redist 10, .NET FX 4.0, SQL Express, etc.&#160; If any of these are already installed, the downloader won’t have to download and install them.</p> <style type="text/css">








li {margin-top: 0.5em;}</style>  <ul>   <li><strong>Specific People’s or Team Blogs from the Visual Studio Platform team</strong>       <ul>       <li>Team Blogs          <ul>           <li><a href="http://blogs.msdn.com/vseditor">VS Editor</a> </li>            <li><a href="http://blogs.msdn.com/vsxteam/">Visual Studio Extensibility</a>, maintained by the VSX PMs </li>            <li><a href="http://blogs.msdn.com/msbuild/">MS Build</a>, maintained by the MS Build PM Chuck England </li>         </ul>       </li>        <li>Individuals          <ul>           <li><a href="http://blogs.msdn.com/noahric/">Noah Richards</a>, Editor Dev, twitter <a href="https://twitter.com/noahsmark">@noahsmark</a> </li>            <li><a href="http://blogs.msdn.com/acangialosi">‎‎Anthony Cangialosi‎‎</a>, VSX Program Manager </li>            <li><a href="http://coadblog.com">Noah Coad</a> (this blog), VS Platform PM, twitter <a href="https://twitter.com/noahcoad">@noahcoad</a> </li>         </ul>       </li>     </ul>   </li>    <li><strong>MSDN &amp; Download Sites</strong> </li>    <ul>     <li><a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx">VS 2010 Pre-sales Site</a></li>      <li>Dev Centers for <a href="http://go.microsoft.com/fwlink/?LinkID=151797">Visual Studio</a>, <a href="http://go.microsoft.com/fwlink/?LinkId=151798">Visual Studio Team System</a>, <a href="http://go.microsoft.com/fwlink/?LinkId=151799">.NET Framework</a> </li>      <li>Download Now: <a href="http://go.microsoft.com/fwlink/?LinkId=147408">VS Pro</a>, <a href="http://go.microsoft.com/fwlink/?LinkId=147407">VSTS</a> </li>   </ul>    <li><strong>Other Prominent Bloggers</strong> (for big announcements)       <ul>       <li><a href="http://blogs.msdn.com/somasegar/">Soma</a>, Senior VP of DevDiv </li>        <li><a href="http://blogs.msdn.com/bharry/">Brian Harry</a>, TFS Technical Fellow </li>        <li><a href="http://weblogs.asp.net/scottgu/">Scott Guthrie</a>, Corporate VP of .NET</li>        <li><a href="http://blogs.msdn.com/jasonz">Jason Zander</a>, General Manager of VS</li>        <li><a href="http://www.hanselman.com/blog/">Scott Hanselman</a>, DevDiv Principle PM</li>     </ul>   </li>    <li><strong>Other Stuff</strong>       <ul>       <li>Editor Extensions          <ul>           <li><a href="http://visualstudiogallery.msdn.microsoft.com/en-us/e19fdc98-8af3-4514-95df-bdb7f429d5ba">Diff/Patch File Classifier</a> (from Noah Richards) </li>            <li><a href="http://visualstudiogallery.msdn.microsoft.com/en-us/4d2ad866-6fba-48c4-accd-9baba4f784f4">Wiki Classifier</a> (from Noah Richards) </li>         </ul>       </li>        <li><a href="http://social.msdn.microsoft.com/Forums/en-US/category/visualstudioprerelease">MSDN Feedback Forums</a> for VS 2010 Beta 1 (give us your input) </li>     </ul>   </li> </ul>  <p><strong>Glossary: </strong>PM = Program Manager, VS = Visual Studio, DevDiv = Developer Division (where VS &amp; .NET are made), but you already knew these if your interested in this post! :)</p>]]></content:encoded>
    </item>
    <item>
      <title>1TB External USB HDD for $100</title>
      <link>https://docs.microsoft.com/archive/blogs/noahc/1tb-external-usb-hdd-for-100</link>
      <pubDate>Mon, 10 Nov 2008 14:47:54 GMT</pubDate>
      <dc:creator><![CDATA[noahc]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/noahc/2008/11/10/1tb-external-usb-hdd-for-100/</guid>
      <description><![CDATA[I was just browsing my favorite computer supplier, newegg.com, when I came across this awesome...]]></description>
      <content:encoded><![CDATA[<p><a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16822111019"><img title="NewEgg, 1TB External HDD, 22-111-019-11, Small" style="display: inline; margin-left: 0px; margin-right: 0px" height="185" alt="NewEgg, 1TB External HDD, 22-111-019-11, Small" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/noahc/WindowsLiveWriter/1TBExternalHDDfor100_A5CB/NewEgg,%201TB%20External%20HDD,%2022-111-019-11,%20Small_eab90ce9-e9d7-47da-93cc-1f3ec9bdb054.jpg" original-url="http://blogs.msdn.com/blogfiles/noahc/WindowsLiveWriter/1TBExternalHDDfor100_A5CB/NewEgg,%201TB%20External%20HDD,%2022-111-019-11,%20Small_eab90ce9-e9d7-47da-93cc-1f3ec9bdb054.jpg" width="150" align="right" border="0" /></a>I was just browsing my favorite computer supplier, newegg.com, when I came across this awesome deal.&#160; It is a 1 TB &quot;Hammer Storage&quot; USB 2.0 external drive.&#160; Sure it's not a major brand and the $100 is after a $20 mail-in rebate, but hey, what an amazing deal.</p>  <p><a title="http://www.newegg.com/Product/Product.aspx?Item=N82E16822111019" href="http://www.newegg.com/Product/Product.aspx?Item=N82E16822111019"><strong>http://www.newegg.com/Product/Product.aspx?Item=N82E16822111019</strong></a></p>  <p>Last night I was browsing for a 1TB drive for my HP EX470 Windows Home Server (WHS) (love the server!), and this is just perfect… just plug it into the redundant storage system and get an extra 1TB in the storage pool.&#160; Long warranty, high speed, etc aren't a requirement in my case where I'm mostly backing up pictures, music, etc on an already redundant pool.&#160; In fact, that's one of the beauties of using WHS, if a drive goes bad, no big deal, just hot-swap it.</p>  <p>BTW, I was at Fry's Electronics yesterday and was impressed with the $160 1TB external they had on sale there, then was impressed with the $120 internal 1TB drives on newegg.com, but this takes the cake.&#160; External drives are usually more than internal.&#160; </p>  <p>Of last note, I've had perfect success with newegg.com rebates.&#160; The enclosure doesn't have a fan, but that's one of the reasons it is so quite and my best external drives at home don't have fans either.</p>  <p style="margin-bottom: 0px"><strong>References</strong></p>  <ul style="margin-top: 0px">   <li>Amazon.com <a href="http://amazon.com/dp/B000UY1WSK">HP EX470</a> Windows Home Server (I've got one and its great!) </li>    <li><a href="http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&amp;N=2010150014%20103530090&amp;bop=And&amp;Order=PRICE">1TB internal drives</a> at newegg.com, starting at $114 w/ free shipping </li>    <li><a href="http://blogs.msdn.com/noahc/archive/2008/03/10/hard-drive-pricing-sweet-spot.aspx">Hard Drive Pricing Sweet Spot</a>, just keeps going down! </li> </ul>]]></content:encoded>
    </item>
    <item>
      <title>Don't Vote</title>
      <link>https://docs.microsoft.com/archive/blogs/noahc/dont-vote</link>
      <pubDate>Wed, 08 Oct 2008 03:22:02 GMT</pubDate>
      <dc:creator><![CDATA[noahc]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/noahc/2008/10/08/dont-vote/</guid>
      <description><![CDATA[http://www.collegehumor.com/video:1832128&#160; (tis the season…)    (thanks to noah's mark)]]></description>
      <content:encoded><![CDATA[<p><a title="http://www.collegehumor.com/video:1832128" href="http://www.collegehumor.com/video:1832128">http://www.collegehumor.com/video:1832128</a>&#160; (tis the season…)</p>  <p><object type="application/x-shockwave-flash" data="http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=1832128&fullscreen=1" width="480" height="360" ><param name="allowfullscreen" value="true" /><param name="AllowScriptAccess" value="true" /><param name="movie" quality="best" value="http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=1832128&amp;fullscreen=1" /></object></p>  <p>(thanks to <a href="http://noahsmark.com/2008/10/01/dont-vote/">noah's mark</a>)</p>]]></content:encoded>
    </item>
    <item>
      <title>Delegate Type Inference in C#</title>
      <link>https://docs.microsoft.com/archive/blogs/noahc/delegate-type-inference-in-c</link>
      <pubDate>Tue, 23 Sep 2008 23:02:12 GMT</pubDate>
      <dc:creator><![CDATA[noahc]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/noahc/2008/09/23/delegate-type-inference-in-c/</guid>
      <description><![CDATA[Today I saw some C# language syntax that made me think, &quot;hey, wait a minute, I didn't know you...]]></description>
      <content:encoded><![CDATA[<p>Today I saw some C# language syntax that made me think, &quot;hey, wait a minute, I didn't know you could do that!&quot;, so perhaps it'll be new to someone else too.&#160; Honestly, I don't know how I missed this memo.</p>  <p>Let's start off with the code, then we'll talk about it.&#160; I'll including some additional lambda stuff here for the fun of it.&#160; Sample code project: <a href="http://coad.net/blog/resources/DelegateTypeInference.zip">DelegateTypeInference.zip</a></p>  <div style="border-right: black 1px solid; padding-right: 0.75em; border-top: black 1px solid; padding-left: 0.75em; font-size: 10pt; background: white; padding-bottom: 0.75em; border-left: black 1px solid; color: black; padding-top: 0.75em; border-bottom: black 1px solid; font-family: consolas">   <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160;&#160; 1</span>&#160;<span style="color: blue">using</span> <span style="color: purple">System</span>;</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160;&#160; 2</span>&#160;<span style="color: blue">using</span> <span style="color: purple">System</span>.<span style="color: purple">Threading</span>;</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160;&#160; 3</span>&#160;<span style="color: blue">using</span> <span style="color: purple">System</span>.<span style="color: purple">Reflection</span>;</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160;&#160; 4</span>&#160;</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160;&#160; 5</span>&#160;<span style="color: blue">namespace</span> <span style="color: purple">DelegateTypeInference</span></p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160;&#160; 6</span> {</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160;&#160; 7</span>&#160;&#160; <span style="color: blue">class</span> <span style="color: #2b91af">Program</span></p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160;&#160; 8</span>&#160;&#160; {</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160;&#160; 9</span>&#160;&#160;&#160;&#160; <span style="color: blue">static</span> <span style="color: blue">void</span> <span style="color: purple">Main</span>(<span style="color: blue">string</span>[] <span style="color: purple">args</span>)</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 10</span>&#160;&#160;&#160;&#160; {</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 11</span>&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: purple">A</span>(<span style="color: blue">new</span> <span style="color: #2b91af">ThreadStart</span>(<span style="color: purple">ShowTime</span>));</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 12</span>&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: purple">A</span>(<span style="color: blue">delegate</span> { <span style="color: purple">ShowTime</span>(); });</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 13</span>&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: purple">A</span>(<span style="color: purple">ShowTime</span>);</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 14</span>&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: purple">A</span>(() =&gt; <span style="color: purple">ShowTime</span>());</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 15</span>&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: purple">A</span>(() =&gt; { <span style="color: purple">ShowTime</span>(); <span style="color: #2b91af">Console</span>.<span style="color: purple">WriteLine</span>(<span style="color: #a31515">&quot;boo&quot;</span>); });</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 16</span>&#160;</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 17</span>&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: purple">B</span>(<span style="color: purple">a</span> =&gt; <span style="color: purple">ShowTime</span>());</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 18</span>&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: purple">C</span>((<span style="color: purple">a</span>, <span style="color: purple">b</span>) =&gt; { <span style="color: purple">ShowTime</span>(); <span style="color: blue">return</span> <span style="color: blue">null</span>; });</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 19</span>&#160;&#160;&#160;&#160; }</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 20</span>&#160;</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 21</span>&#160;&#160;&#160;&#160; <span style="color: blue">static</span> <span style="color: blue">void</span> <span style="color: purple">ShowTime</span>()</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 22</span>&#160;&#160;&#160;&#160; { <span style="color: #2b91af">Console</span>.<span style="color: purple">WriteLine</span>(<span style="color: #2b91af">DateTime</span>.<span style="color: purple">Now</span>); }</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 23</span>&#160;</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 24</span>&#160;&#160;&#160;&#160; <span style="color: blue">static</span> <span style="color: blue">void</span> <span style="color: purple">A</span>(<span style="color: #2b91af">ThreadStart</span> <span style="color: purple">t</span>)</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 25</span>&#160;&#160;&#160;&#160; { <span style="color: purple">t</span>(); }</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 26</span>&#160;</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 27</span>&#160;&#160;&#160;&#160; <span style="color: blue">static</span> <span style="color: blue">void</span> <span style="color: purple">B</span>(<span style="color: #2b91af">WaitCallback</span> <span style="color: purple">w</span>)</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 28</span>&#160;&#160;&#160;&#160; { <span style="color: purple">w</span>(<span style="color: blue">null</span>); }</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 29</span>&#160;</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 30</span>&#160;&#160;&#160;&#160; <span style="color: blue">static</span> <span style="color: blue">void</span> <span style="color: purple">C</span>(<span style="color: #2b91af">ModuleResolveEventHandler</span> <span style="color: purple">m</span>)</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 31</span>&#160;&#160;&#160;&#160; { <span style="color: #2b91af">Module</span> <span style="color: purple">mod</span> = <span style="color: purple">m</span>(<span style="color: blue">null</span>, <span style="color: blue">null</span>); }</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 32</span>&#160;&#160; }</p>    <p style="margin: 0px"><span style="color: #2b91af">&#160;&#160; 33</span> }</p> </div>  <p>Look at line #11, okay, that's been in there since C# day 1, the ability to pass a method (TinyCall) as a parameter (to function A) with a strongly typed method signature (ThreadStart).&#160; Then in C# 2.0 one could use line #12 with the keyword delegate to create an anonymous function (no method name here, just some code).&#160; </p>  <p>What I didn't know until today is that line #13 would work, that you can just pass the method name as the parameter and the delegate type would be inferred.&#160; Nice and easy.&#160; Line #14/#15 was also new to me, well at least the part about using () for an empty parameter list.</p>  <p>Thrown in are some more C# 3.0 lambda expressions just for the heck of it.&#160; Line #14 is an anonymous function with no return type (void), no parameters, and only one call within the function body (like line #12).&#160; Line #15 has more than one call with the same structure.&#160; Lines #17 &amp; #18 are included for reference of other common lambda uses using different method signatures.</p>  <p style="margin-bottom: 0px"><strong>References</strong></p>  <ul style="margin-top: 0px">   <li>MSDN Library: <a href="http://msdn.microsoft.com/en-us/library/618ayhy6.aspx">C# Reference</a> </li>    <li>MSDN Library: <a href="http://msdn.microsoft.com/en-us/library/bb397687.aspx">Lambda Expressions</a> </li> </ul>]]></content:encoded>
    </item>
    <item>
      <title>RSS Feeds for eBay Searches</title>
      <link>https://docs.microsoft.com/archive/blogs/noahc/rss-feeds-for-ebay-searches</link>
      <pubDate>Mon, 22 Sep 2008 01:46:59 GMT</pubDate>
      <dc:creator><![CDATA[noahc]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/noahc/2008/09/22/rss-feeds-for-ebay-searches/</guid>
      <description><![CDATA[RSS feeds are popping up right and left these days for everything from news, to friends’ pictures,...]]></description>
      <content:encoded><![CDATA[<p><a href="http://ebay.com"><img title="800px-EBay_Logo_svg" style="margin: 0px 0px 0px 15px" height="58" alt="800px-EBay_Logo_svg" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/noahc/WindowsLiveWriter/RSSFeedsforeBaySearches_1348E/800px-EBay_Logo_svg_28d28a21-0db3-4d83-94ba-a371e5febafa.png" original-url="http://blogs.msdn.com/blogfiles/noahc/WindowsLiveWriter/RSSFeedsforeBaySearches_1348E/800px-EBay_Logo_svg_28d28a21-0db3-4d83-94ba-a371e5febafa.png" width="139" align="right" border="0" /></a>RSS feeds are popping up right and left these days for everything from news, to friends’ pictures, to Internet searches.&#160; Recently I discovered that eBay has RSS feeds for auction searches.&#160; It is really handy to keep an eye out for those unique finds that can easily slip by, or as a way to group searches into one place, or as a handy way to only see new new items posted for a given search.</p>  <p>Here’s the RSS URL for a search:</p>  <blockquote>   <p>http://rss.api.ebay.com/ws/rssapi?FeedName=SearchResults&amp;siteId=0&amp;language=en-US&amp;output=RSS20&amp;satitle=<strong>&lt;search term here&gt;</strong></p> </blockquote>  <p>For example:</p>  <blockquote>   <p><a title="http://rss.api.ebay.com/ws/rssapi?FeedName=SearchResults&amp;siteId=0&amp;language=en-US&amp;output=RSS20&amp;satitle=oscilloscope" href="http://rss.api.ebay.com/ws/rssapi?FeedName=SearchResults&amp;siteId=0&amp;language=en-US&amp;output=RSS20&amp;satitle=digital+oscilloscope">http://rss.api.ebay.com/ws/rssapi?FeedName=SearchResults&amp;siteId=0&amp;language=en-US&amp;output=RSS20&amp;satitle=<strong>digital+oscilloscope</strong></a></p> </blockquote>  <p>I’ve been refining my searches on the eBay web site, then using my favorite RSS reader to keep an eye out for stellar deals (example of a highly <a href="http://rss.api.ebay.com/ws/rssapi?FeedName=SearchResults&amp;siteId=0&amp;language=en-US&amp;output=RSS20&amp;satitle=(digital%2Ctripple%2Ctriple%2Cdesk%2Cbench%2Clab)+power+supply+-gigabit+-tattoo+-dec+-audio+-apple+-camera+-7805+-canon+-mac+-nissan+-pedal+-atx">refined search</a>).&#160; There is a little RSS icon at the bottom <a href="http://pages.ebay.com/help/welcome/contextual/search_rss.html?fromFeature=Search%20Results"><img title="eBay RSS icon" style="margin: 0px" height="22" alt="eBay RSS icon" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/noahc/WindowsLiveWriter/RSSFeedsforeBaySearches_1348E/eBay%20RSS%20icon_f4de51a5-4e70-4ed6-bf7b-bb6bf7846388.png" original-url="http://blogs.msdn.com/blogfiles/noahc/WindowsLiveWriter/RSSFeedsforeBaySearches_1348E/eBay%20RSS%20icon_f4de51a5-4e70-4ed6-bf7b-bb6bf7846388.png" width="30" align="right" border="0" /></a>of a search results page you can use to grab the RSS URL.&#160; If you don’t see the icon, it may be that your search is being run by the beta program (<a href="http://answercenter.ebay.com/thread.jspa?threadID=900141953&amp;forumID=18&amp;start=0">more info</a>).</p>  <p><strong>Feed Reader of Choice</strong>    <br />P.S.&#160; For my RSS reader, I love the super easy workflow of <a href="http://google.com/reader">Google Reader</a> and am collating my feeds there.&#160; The single big list concept is awesome, it has great keyboard access (just hit 'n' to see the next item), is easy to use on my mobile phone, pulls feeds automatically for me without my PC turned on, has some really nice browser integration features, searching the feeds is fast, and it uses URL based APIs which makes integrating super easy (eg: <a href="http://www.google.com/reader/view/feed/http%3a%2f%2frss.api.ebay.com%2fws%2frssapi%3fFeedName%3dSearchResults%26siteId%3d0%26language%3den-US%26output%3dRSS20%26satitle%3ddigital%2boscilloscope">add the feed</a> above).</p>]]></content:encoded>
    </item>
  </channel>
</rss>