<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" 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:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Corrector2</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Niners/Corrector2/Comments/RSS"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>Corrector2</title>
		<link></link>
	</image>
	<description></description>
	<link></link>
	<language>en</language>
	<pubDate>Wed, 19 Jun 2013 06:30:42 GMT</pubDate>
	<lastBuildDate>Wed, 19 Jun 2013 06:30:42 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Getting lost and found with the C# Maze Generator and Solver</title>
		<description>
			<![CDATA[<p>I stopped reading the code at: <code class="csharp keyword">this</code><code class="csharp plain">.initailze</code></p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/coding4fun/blog/Getting-lost-and-found-with-the-C-Maze-Generator-and-Solver#c634721927845576453</link>
		<pubDate>Wed, 09 May 2012 20:39:44 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/coding4fun/blog/Getting-lost-and-found-with-the-C-Maze-Generator-and-Solver#c634721927845576453</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: Roger Doherty: Introduction to SQL Server 2012</title>
		<description>
			<![CDATA[<p>That was the fastest introduction I have ever seen <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif?v=c9' alt='Tongue Out' /></p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/SQL11UPD00-REC-01#c634666591905129901</link>
		<pubDate>Tue, 06 Mar 2012 19:33:10 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/SQL11UPD00-REC-01#c634666591905129901</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: 0 A.D. The C++ open source RTS that&#39;s looking for game dev geeks (not that you&#39;re a geek...)</title>
		<description>
			<![CDATA[<p>Yes, if the year was 1995, this would look awesome. But, it's 2012 and I saw the word portable to make it even more horrendous. I'm surprised it wasn't written in Java to put yet another nail into its coffin. Yawn... Move on to the next Channel 9 video...</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/coding4fun/blog/0-AD-The-C-open-source-RTS-thats-looking-for-game-dev-geeks-not-that-youre-a-geek#c634664663310235362</link>
		<pubDate>Sun, 04 Mar 2012 13:58:51 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/coding4fun/blog/0-AD-The-C-open-source-RTS-thats-looking-for-game-dev-geeks-not-that-youre-a-geek#c634664663310235362</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: HTML5 vs Flash</title>
		<description>
			<![CDATA[<p>Where is Silverlight in the grand scheme and why in the heck is MS dropping it for this HTML5 stupidity?</p><p>&nbsp;</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/HTML5-vs-Flash#c634664661129386175</link>
		<pubDate>Sun, 04 Mar 2012 13:55:12 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/HTML5-vs-Flash#c634664661129386175</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: Adding some spark to your next WPF project with WPFSpark</title>
		<description>
			<![CDATA[<p>Wow, more articles like this one with a practical, usable library would be aswesome!</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/coding4fun/blog/Adding-some-spark-to-your-next-WPF-project-with-WPFSpark#c634664659917634158</link>
		<pubDate>Sun, 04 Mar 2012 13:53:11 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/coding4fun/blog/Adding-some-spark-to-your-next-WPF-project-with-WPFSpark#c634664659917634158</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: GoingNative 6: Walter Bright and Andrei Alexandrescu - D Programming Language</title>
		<description>
			<![CDATA[<p>I second the &quot;Who cares about yet another language that will never gain popularity?&quot; sentiment. As far as programming languages go, if it isn't a Channel 9 episode about C&#43;&#43;, C# or VB, in the worst case, it just isn't worth watching. Why? Because, the practical present and future applications in business of these &quot;revalutionary&quot; languages are exactly 0. Noone will ever adopt yet another programming language in this day and age, unless it is radically different and really has a top notch class library to boot. This is the only reason that Java and its derivative, as much as&nbsp;I hate to call it that, C#, made it into the real world.</p><p>&nbsp;</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-6-The-D-Episode-with-Walter-Bright-and-Andrei-Alexandrescu#c634664658744918281</link>
		<pubDate>Sun, 04 Mar 2012 13:51:14 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-6-The-D-Episode-with-Walter-Bright-and-Andrei-Alexandrescu#c634664658744918281</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: Demo: Visual Studio 11 Developer Experience</title>
		<description>
			<![CDATA[<p>Looks good, except for the ugly retro color scheme which just has to go. Apparently there are three ways to do GUI at Microsoft, two of which are hidious, IMHO:</p><p>1) Way too light -&nbsp;Live Mail - everything is white, light blue, or some indistinguishable permutation of the two</p><p>2) Just right - Visual Studio 2010 - things have just the right amount of color and contrast</p><p>3) Dark, bland and dead&nbsp;- Visual Studio 2012 - welcome to the dark side, monochrome monitors revisited, and all of the other bad things you find in other applications that do it this way. If you read the forums of applications that do it this way (i.e., a black and white UI), you will find a myriad of complaints about this being a retro UI and how it should evolve into a more modern colorful (used sparringly, of course) UI.</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/Demo-Visual-Studio-11-Developer-Experience#c634664652976198795</link>
		<pubDate>Sun, 04 Mar 2012 13:41:37 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/Demo-Visual-Studio-11-Developer-Experience#c634664652976198795</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: Visual Studio Toolbox: Visual Studio 11 Beta with Jason Zander</title>
		<description>
			<![CDATA[<p>For the sake of all that's good, can it look like it did before. The black and white dark/light skins look horrible!</p><p>&nbsp;</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-11-Beta-with-Jason-Zander#c634664218704377465</link>
		<pubDate>Sun, 04 Mar 2012 01:37:50 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-11-Beta-with-Jason-Zander#c634664218704377465</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: Science of Great UI</title>
		<description>
			<![CDATA[ <p>WMV-HD is broken at about 1:03:00</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/DevDays/DevDays-2011-Netherlands/Devdays032#c634423027320000000</link>
		<pubDate>Sun, 29 May 2011 21:52:12 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/DevDays/DevDays-2011-Netherlands/Devdays032#c634423027320000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: Cloud sync your VS2010 settings</title>
		<description>
			<![CDATA[ <p>Absolute overkill (and pain) to involve the cloud in this at all. How about a simple export to a single file and e-mail solution (if you need it on other boxes).</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/coding4fun/blog/Cloud-sync-your-VS2010-settings#c634374365460000000</link>
		<pubDate>Sun, 03 Apr 2011 14:09:06 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/coding4fun/blog/Cloud-sync-your-VS2010-settings#c634374365460000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: Working with DataTips in Visual Studio 2010</title>
		<description>
			<![CDATA[ <p>Where is the high quality WMV download if a high quality MP4 download is present? How un-Microsoft of you <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif?v=c9' alt='Smiley' /> .</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/Working-with-DataTips-in-Visual-Studio-2010#c634374359000000000</link>
		<pubDate>Sun, 03 Apr 2011 13:58:20 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/Working-with-DataTips-in-Visual-Studio-2010#c634374359000000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: Building Awesome Apps for Windows 7 (Session 2): Building Touch-First Applications for Windows 7</title>
		<description>
			<![CDATA[ <p>Correct me if I'm wrong, but WPF supports touch, too.</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/Building-Awesome-Apps-for-Windows-7-Session-2-Building-Touch-First-Applications-for-Windows-7#c634269444690000000</link>
		<pubDate>Fri, 03 Dec 2010 03:41:09 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/Building-Awesome-Apps-for-Windows-7-Session-2-Building-Touch-First-Applications-for-Windows-7#c634269444690000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: Building Awesome Apps for Windows 7 (Session 1): A Lap Around the Windows API Code Pack</title>
		<description>
			<![CDATA[ <p>How does this relate to WPF for doing the exact same thing?</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/Building-Awesome-Apps-for-Windows-7-Session-1-A-Lap-Around-the-Windows-API-Code-Pack#c634269444340000000</link>
		<pubDate>Fri, 03 Dec 2010 03:40:34 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/Building-Awesome-Apps-for-Windows-7-Session-1-A-Lap-Around-the-Windows-API-Code-Pack#c634269444340000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: Building Awesome Apps for Windows 7: Overview</title>
		<description>
			<![CDATA[ <p>Wait, what's wrong with WPF for building these same managed apps without downloading any of this Windows API code pack mumbo jumbo?</p><p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/Building-Awesome-Apps-for-Windows-7-Overview#c634269443880000000</link>
		<pubDate>Fri, 03 Dec 2010 03:39:48 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/Building-Awesome-Apps-for-Windows-7-Overview#c634269443880000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Stephan T. Lavavej - Standard Template Library (STL), 4 of n</title>
		<description>
			<![CDATA[
<p>Looking much better in 1.3! I'd still do more refactoring on unreachable(), but it's a whole world better than before...</p>
<p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-4-of-n#c634196788420000000</link>
		<pubDate>Fri, 10 Sep 2010 01:27:22 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-4-of-n#c634196788420000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Stephan T. Lavavej - Standard Template Library (STL), 4 of n</title>
		<description>
			<![CDATA[
<p>Since most of the issues revolved around solve, let me be more clear in my argument:</p>
<p>&nbsp;</p>
<p>- A complex function, even if it is mostly one containing linear flow can be broken down into several simple functions in order to become more hierarchical and less linear. Let me give a simple example to elucidate my point:</p>
<p>&nbsp;</p>
<p>Instead of a long function such as:</p>
<p>&nbsp;</p>
<p><strong>void Car::Build()</strong></p>
<p><strong>{<br />&nbsp;&nbsp; // Build the frame</strong></p>
<p><strong>&nbsp;&nbsp; ... build the frame code</strong></p>
<p><strong>&nbsp;</strong></p>
<p><strong>&nbsp;&nbsp; // Add doors</strong></p>
<p><strong>&nbsp;&nbsp; ... add doors code</strong></p>
<p><strong>&nbsp;</strong></p>
<p><strong>&nbsp;&nbsp; // Insert engine</strong></p>
<p><strong>&nbsp;&nbsp; ... insert engine code</strong></p>
<p><strong>&nbsp;</strong></p>
<p><strong>&nbsp;&nbsp; // Insert transmission</strong></p>
<p><strong>&nbsp;&nbsp; ... insert&nbsp;transmission code</strong></p>
<p><strong>&nbsp;</strong></p>
<p><strong>&nbsp;&nbsp; // Insert upholstery</strong></p>
<p><strong>&nbsp;&nbsp; ... insert upholstery code</strong></p>
<p><strong>&nbsp;</strong></p>
<p><strong>&nbsp;&nbsp; // Paint the car</strong></p>
<p><strong>&nbsp;&nbsp; ... paint the car code</strong></p>
<p><strong>&nbsp;</strong></p>
<p><strong>&nbsp;&nbsp; // Whatever else needs to be done</strong></p>
<p><strong>&nbsp;&nbsp; ... whatever else needs to be done</strong></p>
<p><strong>}</strong></p>
<p>&nbsp;</p>
<p>It is much easier to see (the comments are not part of the code, I am just adding them to show what the functions being called do for the purpose of explaining my point):</p>
<p>&nbsp;</p>
<p><strong>void Car::Build()</strong></p>
<p><strong>{<br />&nbsp;&nbsp; BuildFrame(...); // Calls AddDoors()</strong></p>
<p><strong>&nbsp;&nbsp; AddInternalParts(...); // Calls AddEngine(), AddTransmission(), AddUphostery()?, etc...</strong></p>
<p><strong>&nbsp;&nbsp; AddBodyParts(...); // Calls AddDoors()</strong></p>
<p><strong>&nbsp;&nbsp; Paint(...);</strong></p>
<p><strong>}</strong></p>
<p>&nbsp;</p>
<p>Now the Build function is easy to eye over and&nbsp;comprehend. If the&nbsp;programmer wishes to look into detail and see how&nbsp;each step is actually implemented, he can go into each of the functions being called and examine them (or look at call graphs, etc...).</p>
<p>&nbsp;</p>
<p>By creating a deeper (rather than shallower) Build() function, it is much easier to comprehend in a top down (rather than bottom up) fashion. This is how most people solve and analyze problems - from an abstract&nbsp;problem statement&nbsp;to analyzing (i.e., &quot;sweating&quot;)
 the details.</p>
<p>&nbsp;</p>
<p>If you:</p>
<p>&nbsp;</p>
<ol>
<li>Break up your solve function into sub-tasks (functions) </li><li>Give them meaningful names </li><li>Only call these sub-tasks from within solve </li></ol>
<p>Then, it would be much easier to see what solve does as a whole and there would be no performance penalty in doing this, to boot, because these sub-tasks would probably still be gross tasks. If any of the sub-tasks are still complex, you can further decompose
 them into more sub-tasks.</p>
<p>&nbsp;</p>
<p>A developer reading solve would drill down to the level of interest to him, while seeing the big picture all along the way. Compare this to having to gloss over 400 lines of code, even if only looking for comments,&nbsp;in order to try to figure out what solve
 does.</p>
<p>&nbsp;</p>
<p>My two cents...</p>
<p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-4-of-n#c634195559680000000</link>
		<pubDate>Wed, 08 Sep 2010 15:19:28 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-4-of-n#c634195559680000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Stephan T. Lavavej - Standard Template Library (STL), 4 of n</title>
		<description>
			<![CDATA[
<p>Well, he does state that the solve function, the meat of this application,&nbsp;will be covered in the next video, so I suppose we can take a wait and see approach. However, basic OO/structured programming tenets&nbsp;do not condone the use of 400 line &quot;super-do-everything&quot;
 functions, of which solve() is one. Bottom line is&nbsp;that we'll have to give&nbsp;Stephan the benefit of the doubt and let him elaborate in the next episode...</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-4-of-n#c634195123430000000</link>
		<pubDate>Wed, 08 Sep 2010 03:12:23 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-4-of-n#c634195123430000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: C9 Lectures: Stephan T. Lavavej - Standard Template Library (STL), 4 of n</title>
		<description>
			<![CDATA[
<p>So, I opened the source file, saw a nearly 400 line solve function with minimal &quot;island&quot; comments and pretty much lost all interest in what the program does. Just my two cents worth... Does it really have to be this unstructured to perform? Can it be any
 less structured and still be instructive (/sarcasm)? Was it necessary to cram it all into one .cpp file, given that it was part of a zip&nbsp;archive?</p>
<p>&nbsp;</p>
<p>Just my 2 cents...</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-4-of-n#c634194981380000000</link>
		<pubDate>Tue, 07 Sep 2010 23:15:38 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-4-of-n#c634194981380000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: Techniques in Advanced .NET Debugging with John Robbins (Part 1 of 3)</title>
		<description>
			<![CDATA[
<p>I nominate this for the <strong><u>worst</u></strong> encoding of a very important presentation to ever grace Channel 9.</p>
<p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/egibson/MSDN-Simulcast-Techniques-in-Advanced-NET-Debugging-with-John-Robbins-Part-1-of-3#c634075403830000000</link>
		<pubDate>Thu, 22 Apr 2010 13:39:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/egibson/MSDN-Simulcast-Techniques-in-Advanced-NET-Debugging-with-John-Robbins-Part-1-of-3#c634075403830000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: C# 4.0 and beyond by Anders Hejlsberg</title>
		<description>
			<![CDATA[
<p>Thanks for posting this wonderful presentation.&nbsp;</p>
<p>&nbsp;</p>
<p>Please follow up with more from DevDays 2010. Also, the video and audio quality&nbsp;are superb! All encodings of presentations should be this good.</p>
<p>&nbsp;</p>
<p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/matthijs/C-40-and-beyond-by-Anders-Hejlsberg#c634065541610000000</link>
		<pubDate>Sun, 11 Apr 2010 03:42:41 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/matthijs/C-40-and-beyond-by-Anders-Hejlsberg#c634065541610000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: How to Embed PowerShell Within a C# Application</title>
		<description>
			<![CDATA[
<p>Why didn't you guys use a tripod? The tiny screen in the video is very hard to read and the camera shake makes it even harder. Fortunatelly, the code was posted to the right of the video (and the subtitles helped, too), because it was nearly impossible to
 make it out on the screen. In the end,&nbsp;I think this entire exercise would have been better as a post to a blog.</p>
<p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/bruceky/How-to-Embedding-PowerShell-Within-a-C-Application#c634062940390000000</link>
		<pubDate>Thu, 08 Apr 2010 03:27:19 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/bruceky/How-to-Embedding-PowerShell-Within-a-C-Application#c634062940390000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: TechDays 2010 Keynote by Anders Hejlsberg: Trends and future directions in programming languages</title>
		<description>
			<![CDATA[
<p>Before uploading, please do a good job of compressing the video. It is VC-1 compression after all and the WMV-High version should not suffer posterization, blocking and other highly noticeable artifacts, making it not much better than the regular WMV version.</p>
<p>&nbsp;</p>
<p>Thanks</p>
<p>&nbsp;</p>
<p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/adebruyn/TechDays-2010-Developer-Keynote-by-Anders-Hejlsberg#c634062791540000000</link>
		<pubDate>Wed, 07 Apr 2010 23:19:14 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/adebruyn/TechDays-2010-Developer-Keynote-by-Anders-Hejlsberg#c634062791540000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: All Data/All Day Dive into .NET Data Access (Part 4 of 6): Getting Started with ADO.NET Entity Framework</title>
		<description>
			<![CDATA[
<p>I am sorry, most of the videos from this MSDN simulcast have shoddy audio, but the audio on this presentation is barely legible. Is this 2010 or 1910? Horrible echo combined with audio compression beyond any reasonable limit leads to audio that one has to
 strain oneself to an extreme in order to be able to understand. There is also a complete audio drop from 5:06 to 5:29 during the presentation.</p>
<p>&nbsp;</p>
<p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/egibson/MSDN-Simulcast-All-DataAll-Day-Dive-into-NET-Data-Access-Getting-Started-with-ADONET-Entity-Framewor#c634059431290000000</link>
		<pubDate>Sun, 04 Apr 2010 01:58:49 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/egibson/MSDN-Simulcast-All-DataAll-Day-Dive-into-NET-Data-Access-Getting-Started-with-ADONET-Entity-Framewor#c634059431290000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: MSDN Live Meeting - Visual Studio 2010 and .NET 4 Update</title>
		<description>
			<![CDATA[
<p>For anyone interested in the scalability of the various approaches presented, here are the results of&nbsp;a proper 64-bit release mode run on a more modern box with 6GB of RAM and a single Intel Xeon W5590 CPU (3.33 GHz /&nbsp;8MB L3 cache&nbsp;quad-core Nehalem-EP with
 hyperthreading turned on for a total of 8&nbsp;logical CPUs). The build was done using VS2010 RC / .NET 4.0 RC and run on the host I just gave the specs for, under the Windows 2008 R2 Standard OS:</p>
<p>&nbsp;</p>
<p>CalcPrimes<br>
Count of prime numbers: 283146<br>
Elapsed = 1713</p>
<p>&nbsp;</p>
<p>ThreadingDemo.CalcPrimes<br>
Count of prime numbers: 283146<br>
Elapsed = 1080</p>
<p>&nbsp;</p>
<p>ParallelFor.CalcPrimes<br>
Count of prime numbers: 283146<br>
Elapsed = 431</p>
<p>&nbsp;</p>
<p>ParallelForEach.CalcPrimes<br>
Count of prime numbers: 283146<br>
Elapsed = 481</p>
<p>&nbsp;</p>
<p>ParallelFor.CalcPrimes_TLV<br>
Count of prime numbers: 283146<br>
Elapsed = 430</p>
<p>&nbsp;</p>
<p>ParallelForEach.CalcPrimes_TLV<br>
Count of prime numbers: 283146<br>
Elapsed = 447</p>
<p>&nbsp;</p>
<p>LinqDemo.CalcPrimes<br>
Count of prime numbers: 283146<br>
Elapsed = 1740</p>
<p>&nbsp;</p>
<p>PLinqDemo.CalcPrimes<br>
Count of prime numbers: 283146<br>
Elapsed = 461</p>
<p>&nbsp;</p>
<p>Summary: It looks like, with a proper release 64-bit build,&nbsp;there are many options&nbsp;available here to gain the scalability, at least with this particular test and the specified number of CPUs.</p>
<p>&nbsp;</p>
<p>Interestingly, if we make a slight improvement to the algorithm we can improve performance and most likely not even need to consider multithreaded approaches. Also, we can leverage the contents of the container we are forming without worrying about (and
 paying a concurrency penalty for) locking it, as follows:</p>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static void CalcPrimes2()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;int&gt; primes = new List&lt;int&gt;() {2};<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int nr = 3; nr &lt;= 4000000; nr&#43;=2)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int upperBound=(int) Math.Sqrt(nr);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (int prime in primes)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (prime &gt; upperBound)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; primes.Add(nr);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</pre>
<pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (nr % prime == 0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Count of prime numbers: &quot; &#43; primes.Count);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</pre>
</pre>
<p>Running with these small changes, we get:</p>
<p>&nbsp;</p>
<p>CalcPrimes2 (Single-Threaded)<br>
Count of prime numbers: 283146<br>
Elapsed = 501</p>
<p>&nbsp;</p>
<p>Notices how this result is comparable to our best multi-threaded results.</p>
<p>&nbsp;</p>
<p>For the next test, let's increase the number of numbers being tested for primality to 8 million and see how the various approaches fair:</p>
<p>&nbsp;</p>
<p>CalcPrimes<br>
Count of prime numbers: 539777<br>
Elapsed = 4585</p>
<p>&nbsp;</p>
<p>CalcPrimes2 (Single-Threaded)<br>
Count of prime numbers: 539777<br>
Elapsed = 1224</p>
<p>&nbsp;</p>
<p>ThreadingDemo.CalcPrimes<br>
Count of prime numbers: 539777<br>
Elapsed = 2870</p>
<p>&nbsp;</p>
<p>ParallelFor.CalcPrimes<br>
Count of prime numbers: 539777<br>
Elapsed = 1146</p>
<p>&nbsp;</p>
<p>ParallelForEach.CalcPrimes<br>
Count of prime numbers: 539777<br>
Elapsed = 1210</p>
<p>&nbsp;</p>
<p>ParallelFor.CalcPrimes_TLV<br>
Count of prime numbers: 539777<br>
Elapsed = 1144</p>
<p>&nbsp;</p>
<p>ParallelForEach.CalcPrimes_TLV<br>
Count of prime numbers: 539777<br>
Elapsed = 1178</p>
<p>&nbsp;</p>
<p>LinqDemo.CalcPrimes<br>
Count of prime numbers: 539777<br>
Elapsed = 4623</p>
<p>&nbsp;</p>
<p>PLinqDemo.CalcPrimes<br>
Count of prime numbers: 539777<br>
Elapsed = 1183</p>
<p>&nbsp;</p>
<p>Now, the slightly improved single threaded function (CalcPrimes2) is almost in line with out best parallel attempt, using the previous algorithm, despite the fact that this is a decent multi-processor host (i.e., 4 physical, 8 logical CPU cores) which allows
 for a lot of potential parallelism to the various&nbsp;decent parallel approaches presented in this session. This example&nbsp;(i.e., extending the&nbsp;domain of numbers being tested to 8 million) and how it scales as the workload increases, underlines the point about taking
 a little time to improve the algorithm first,&nbsp;before jumping with both feet into a multi-threaded solution.
</p>
<p>&nbsp;</p>
<p>If you are still not convinced, let's look at what happens when the domain is doubled again to the first 16 million numbers:</p>
<p>&nbsp;</p>
<p>CalcPrimes<br>
Count of prime numbers: 1031130<br>
Elapsed = 12248</p>
<p>&nbsp;</p>
<p>CalcPrimes2 (Single-Threaded)<br>
Count of prime numbers: 1031130<br>
Elapsed = 3017</p>
<p>&nbsp;</p>
<p>ThreadingDemo.CalcPrimes<br>
Count of prime numbers: 1031130<br>
Elapsed = 7682</p>
<p>&nbsp;</p>
<p>ParallelFor.CalcPrimes<br>
Count of prime numbers: 1031130<br>
Elapsed = 3054</p>
<p>&nbsp;</p>
<p>ParallelForEach.CalcPrimes<br>
Count of prime numbers: 1031130<br>
Elapsed = 3119</p>
<p>&nbsp;</p>
<p>ParallelFor.CalcPrimes_TLV<br>
Count of prime numbers: 1031130<br>
Elapsed = 3052</p>
<p>&nbsp;</p>
<p>ParallelForEach.CalcPrimes_TLV<br>
Count of prime numbers: 1031130<br>
Elapsed = 3103</p>
<p>&nbsp;</p>
<p>LinqDemo.CalcPrimes<br>
Count of prime numbers: 1031130<br>
Elapsed = 12318</p>
<p>&nbsp;</p>
<p>PLinqDemo.CalcPrimes<br>
Count of prime numbers: 1031130<br>
Elapsed = 3106</p>
<p>&nbsp;</p>
<p>In this run, the&nbsp;(improved) single-threaded solution (marginally) beats our best parallel attempts with the weaker algorithm.</p>
<p>&nbsp;</p>
<p>Thanks for listening</p>
<p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/adebruyn/MSDN-Live-Meeting-Visual-Studio-2010-and-NET-4-Update#c634056818850000000</link>
		<pubDate>Thu, 01 Apr 2010 01:24:45 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/adebruyn/MSDN-Live-Meeting-Visual-Studio-2010-and-NET-4-Update#c634056818850000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
	<item>
		<title>Re: MSDN Live Meeting - Visual Studio 2010 and .NET 4 Update</title>
		<description>
			<![CDATA[
<p>I agree with the previous poster that the &quot;yeah yeah yeah&quot; throughout the entire video was indeed very distracting. As a result you were difficult to follow at times and I had to rewind the video and replay it.&nbsp;In particular,&nbsp;as a presenter and mentor, you
 need to work even harder on your communication skills. Anything distracting, whether it&nbsp;is the occasional &quot;uhm&quot; or, in this case, the constantly repeated &quot;yeah,&quot; hurts your ability to convey your teaching points to others.&nbsp;</p>
<p>&nbsp;</p>
<p>Additionally, commitments were made in the demo to post the source code on the presenter's&nbsp;blog&nbsp;on March 24th. As of today, March 26th, this has still not been done.&nbsp;If you commit to doing something before a very wide audience (i.e., Channel 9), make sure
 you follow through!</p>
<p>&nbsp;</p>
<p>Now, let's move on to topics more relevant to this technical&nbsp;presentation. </p>
<p>&nbsp;</p>
<p>The following&nbsp;is not only directed to you, but to all future presenters of anything involving comparisons&nbsp;of performance. The (mis)behaviors described below&nbsp;seem to be rampant, not only in this video, but in many of the presentations&nbsp;on related topics at
 the last PDC, as well. Without further ado:</p>
<ol>
<li>Do not&nbsp;show performance&nbsp;comparisons of single and multi-threaded code in <u>Debug</u> mode. To make matters worse, not only were the comparisons made using Debug builds, but they were run
<u>in the VS debugger</u>, further degrading their performance. </li><li>No production code should be running as <u>Debug</u>&nbsp;builds and&nbsp;<u>any</u>&nbsp;performance comparisons made using Debug builds are
<u>completely vacuous</u>. </li><li>If you are going to compare the performance of two pieces of code, make sure that you are comparing
<u>Release</u>&nbsp;builds with <u>all</u> sensible optimizations turned on. </li><li>The single-threaded code may have been fast enough, if only&nbsp;the demo had presented it using&nbsp;a Release build, to
<u>not even&nbsp;warrant</u> the complexity and overhead of multi-threading. </li><li>Non-Release&nbsp;build comparisons are very deceptive of the true (relative) relationship between&nbsp;alternative implementations. The overall deception lies in the fact that, by prolonging the run time, in
<u>Debug</u> mode, the <u>percentage</u> overhead&nbsp;of such effects in multi-threaded code as lock contention,&nbsp;false sharing, potential context switching due to oversubscription, and other overhead that more than one concurrent thread of execution may introduce,&nbsp;is&nbsp;often
 greatly&nbsp;diminished. This is unintentionally misleading at best and a downright lie to promote a certain multi-threaded approach, at worst.
</li><li>When measuring the performance of your run, <u>do not move the console window</u>. Do not resize it, do not do anything to the app window other than passively monitor&nbsp;it using&nbsp;a performance tool. Keep your fingers off the mouse and off the keyboard until
 the run is complete. I can't begin to count how many&nbsp;presentations I've seen, &nbsp;including this one and many at the PDC, where the presenter moves the console window around during a performance calculation.&nbsp;<u>Do not do this!</u> It impacts the performance of
 the system and therefore potentially the application being timed / monitored. Even if the impact&nbsp;is subtle, it is&nbsp;neither negligible nor constant in that it can be subtracted out after the fact! Pre-position your console window programatically at the start
 of the run, before any computations take place. Or, better still,&nbsp;pre-configure its placement&nbsp;before giving the presentation, so&nbsp;that it appears in the correct place on your screen and is of the&nbsp;appropriate dimensions for your demonstration.
</li><li>When presenting the effects of multi-threading, explicitly state what hardware is being used, including whether or not it supports hyperthreading and whether this was enabled in the BIOS&nbsp;for the presentation. The number of physical cores present and their
 layout on physical CPUs, is also important to mention explicitly, even if it can (sometimes correctly) be deduced from the one or more performance monitors presented.
</li><li>Speaking of performance monitoring, if you are going to use Task Manager or, for that matter, any other performance monitoring tool as part of your performance related discussion, the Kernel Time / User Time breakdown should be displayed and not just the
 total time. Seeing this breakdown is <u>very important</u>, especially when&nbsp;potential context switching and other kernel mechanisms (e.g., locking) are in play. Not seeing this breakdown,&nbsp;which is trivially enabled (e.g.,
<u>V</u>iew/<u>S</u>how Kernel Times in Task Manager),&nbsp;makes the presentation of system load seem
<u>superficial</u> and <u>disingenuous</u>. Additionally, showing the total CPU load rather than the&nbsp;load induced by the process or processes&nbsp;being examined, individually,&nbsp;is also somewhat misleading. To&nbsp;truly show the proper&nbsp;system load for multi-threaded
 tests, PerfMon should be used and such counters as per Thread User / Kernel time, context switches per second, and other&nbsp;counters appropriate to the items being&nbsp;demonstrated&nbsp;should be included.
</li></ol>
<p>Let the above points be a lesson to this and all future presenters on this topic, whether on Channel 9, at a PDC, or any other venue.</p>
<p>&nbsp;</p>
<p>Thanks for reading</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>posted by Corrector2</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/adebruyn/MSDN-Live-Meeting-Visual-Studio-2010-and-NET-4-Update#c634050761830000000</link>
		<pubDate>Thu, 25 Mar 2010 01:09:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/adebruyn/MSDN-Live-Meeting-Visual-Studio-2010-and-NET-4-Update#c634050761830000000</guid>
		<dc:creator>Corrector2</dc:creator>
	</item>
</channel>
</rss>