<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Robert Corvus</title>
	<atom:link href="http://robertcorvus.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://robertcorvus.com</link>
	<description>Software Development for Insanely Smart People</description>
	<lastBuildDate>Sat, 04 Feb 2012 19:39:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Peter Thiel shows alternative education path for same cost as a university degree</title>
		<link>http://robertcorvus.com/peter-thiel-shows-alternative-education-path-for-same-cost/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=peter-thiel-shows-alternative-education-path-for-same-cost</link>
		<comments>http://robertcorvus.com/peter-thiel-shows-alternative-education-path-for-same-cost/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 19:16:56 +0000</pubDate>
		<dc:creator>Robert Corvus</dc:creator>
				<category><![CDATA[Dev Life]]></category>
		<category><![CDATA[Online Learning]]></category>
		<category><![CDATA[alternative]]></category>
		<category><![CDATA[alternative education]]></category>
		<category><![CDATA[degree]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[Peter Thiel]]></category>
		<category><![CDATA[stanford]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://robertcorvus.com/peter-thiel-suggests-alternative-education-path-for-same-cost/</guid>
		<description><![CDATA[Peter Thiel, co-founder of PayPal and holder of two degrees from Stanford, is throwing another brick at elite education, suggesting the money is better spent building your own startup.&#160; He says spending the $100k on a startup is far more educational than anything you can learn from a top university, because “higher education today is [...]]]></description>
			<content:encoded><![CDATA[<p>Peter Thiel, co-founder of PayPal and holder of two degrees from Stanford, is throwing another brick at elite education, suggesting the money is better spent building your own startup.&#160; He says spending the $100k on a startup is far more educational than anything you can learn from a top university, because “<em>higher education today is in a ‘crazy bubble’ that, like a bad mortgage, saddles students with tuition debt often for little in return</em>.”&#160; In order to hasten elite education’s evolution (or extinction), he’s putting his money where his mouth is and is offering $100,000 grants to students at top universities to drop out of college and launch a startup of their choosing.&#160; </p>
<p>Here’s an <a href="http://www.technologyreview.com/business/39592/" target="_blank">excellent article on MIT’s Technology Review</a> that covers the grant in more detail.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertcorvus.com/peter-thiel-shows-alternative-education-path-for-same-cost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sebastian Thrun starts new online computer science university</title>
		<link>http://robertcorvus.com/sebastian-thrun-starts-new-online-university/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sebastian-thrun-starts-new-online-university</link>
		<comments>http://robertcorvus.com/sebastian-thrun-starts-new-online-university/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 19:10:00 +0000</pubDate>
		<dc:creator>Robert Corvus</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Dev Life]]></category>
		<category><![CDATA[Online Learning]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[online learning]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[robots]]></category>
		<category><![CDATA[sebastian thrun]]></category>
		<category><![CDATA[stanford]]></category>
		<category><![CDATA[udacity]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://robertcorvus.com/sebastian-thrun-starts-new-online-university/</guid>
		<description><![CDATA[Sebastian Thrun (who taught the free online course “Intro to AI” at Stanford last semester) has quit his tenured professor position at Stanford and started his own online university called Udacity.&#160; “Now that I saw the true power of education, there is no turning back. It&#8217;s like a drug. I won&#8217;t be able to teach [...]]]></description>
			<content:encoded><![CDATA[<p>Sebastian Thrun (who taught the free online course “Intro to AI” at Stanford last semester) has quit his tenured professor position at Stanford and started his own online university called <a href="http://udacity.com" target="_blank">Udacity</a>.&#160; “<em>Now that I saw the true power of education, there is no turning back. It&#8217;s like a drug. I won&#8217;t be able to teach 200 students again, in a conventional classroom setting.”&#160; </em></p>
<p>Udacity’s first two classes are “Programming a Robotic Car” and “Building a Search Engine”.&#160; Both classes are 7 weeks long and will have online lectures, exams, and programming assignments in Python.</p>
<p>Clarification:&#160; he notes that he quit his tenured position to do more work at Google and continues to be a non-tenured professor at Stanford.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertcorvus.com/sebastian-thrun-starts-new-online-university/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Universal Caching</title>
		<link>http://robertcorvus.com/universal-caching/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=universal-caching</link>
		<comments>http://robertcorvus.com/universal-caching/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 04:32:19 +0000</pubDate>
		<dc:creator>Robert Corvus</dc:creator>
				<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[csharp]]></category>

		<guid isPermaLink="false">http://robertcorvus.com/universal-caching/</guid>
		<description><![CDATA[I wrote this library so I don’t have to keep track if I should use HttpRuntime.Cache, AppDomain.CurrentDomain.SetData, HttpContext.Current.Session, or a Dictionary…now I just use GlobalCache or UserCache.&#160; It also makes unit testing a webapp a snap, because if you use IGlobalCache/IUserCache in your code, you just inject the Windows-based cache in your unit test setup. [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote this library so I don’t have to keep track if I should use HttpRuntime.Cache, AppDomain.CurrentDomain.SetData, HttpContext.Current.Session, or a Dictionary…now I just use GlobalCache or UserCache.&#160; It also makes unit testing a webapp a snap, because if you use IGlobalCache/IUserCache in your code, you just inject the Windows-based cache in your unit test setup.</p>
<p>You can download the solution with dlls here: <a href="http://robertcorvus.com/Caching.zip" target="_blank">Universal Caching solution</a></p>
]]></content:encoded>
			<wfw:commentRss>http://robertcorvus.com/universal-caching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Breaking change in ASP.NET 4.0 affects query strings with single quotes</title>
		<link>http://robertcorvus.com/breaking-change-in-asp-net-4-0-affects-query-strings-with-single-quotes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=breaking-change-in-asp-net-4-0-affects-query-strings-with-single-quotes</link>
		<comments>http://robertcorvus.com/breaking-change-in-asp-net-4-0-affects-query-strings-with-single-quotes/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 13:19:19 +0000</pubDate>
		<dc:creator>Robert Corvus</dc:creator>
				<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET 4]]></category>
		<category><![CDATA[ASP.NET 4.0]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[query strings]]></category>
		<category><![CDATA[single quotes]]></category>
		<category><![CDATA[special characters]]></category>

		<guid isPermaLink="false">http://robertcorvus.com/breaking-change-in-asp-net-4-0-affects-query-strings-with-single-quotes/</guid>
		<description><![CDATA[A breaking change in ASP.NET 4.0 causes a javascript error to be thrown on a page if a query string has a “potentially unsafe” character, such as an apostrophe in a last name. You’ll see the error (possibly only while debugging): “A potentially dangerous Request.QueryString value was detected from the client” when passing the special [...]]]></description>
			<content:encoded><![CDATA[<p>A breaking change in ASP.NET 4.0 causes a javascript error to be thrown on a page if a query string has a “potentially unsafe” character, such as an apostrophe in a last name. </p>
<p>You’ll see the error (possibly only while debugging): “A potentially dangerous Request.QueryString value was detected from the client” when passing the special character in a query string in a button click or a jqgrid’s FillGrid postData BuildGrigArgs function. </p>
<p><b>The fix is easy</b>:&#160; set the behavior back to ASP.NET 2.0 in the web.config with this line in the system.web section right below your &lt;/compilation&gt; tag (the requestPathInvalidCharacters parameter here blocks everything except a single quote): </p>
<pre class="brush: xml;"> &lt;httpRuntime requestPathInvalidCharacters=&quot;&amp;lt;,&amp;gt;,*,%,:,&amp;amp;,\&quot; requestValidationMode=&quot;2.0&quot; /&gt;</pre>
<p>And in your pages be sure you don’t encode the parameter in the MVC code in your javascript (i.e. you’ll need to use <strong><font color="#0080ff">&lt;%=</font></strong> instead of <strong><font color="#0080ff">&lt;%:</font></strong> for those parameters that need special characters).&#160; </p>
<p>For example, this: </p>
<pre class="brush: javascript;">&#160;&#160;&#160; function BuildPreviousArgs() {

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var args = new Object(); 

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; args.FilterLastName = &quot;<b><font color="#ff0000">&lt;%:</font> Model.FilterLastName %&gt;</b>&quot;; 

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return $.param(args); 

&#160;&#160;&#160;&#160;&#160;&#160;&#160; } 
</pre>
<p>Has to be changed to this: </p>
<pre class="brush: javascript;">&#160;&#160;&#160; function BuildPreviousArgs() {

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var args = new Object(); 

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; args.FilterLastName = &quot;<b><font color="#ff0000">&lt;%=</font> Model.FilterLastName %&gt;</b>&quot;; 

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return $.param(args); 

&#160;&#160;&#160;&#160;&#160;&#160;&#160; }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://robertcorvus.com/breaking-change-in-asp-net-4-0-affects-query-strings-with-single-quotes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to run Octave in Console2</title>
		<link>http://robertcorvus.com/how-to-run-octave-in-console2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-run-octave-in-console2</link>
		<comments>http://robertcorvus.com/how-to-run-octave-in-console2/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 03:27:30 +0000</pubDate>
		<dc:creator>Robert Corvus</dc:creator>
				<category><![CDATA[Dev Tools]]></category>
		<category><![CDATA[Console2]]></category>
		<category><![CDATA[Matlab]]></category>
		<category><![CDATA[Octave]]></category>

		<guid isPermaLink="false">http://robertcorvus.com/how-to-run-octave-in-console2/</guid>
		<description><![CDATA[If you want to be able to ctrl-c/v to copy-paste in Octave, ditch the Octave.exe command window and download the open source Console2 from SourceForge. Follow Scott Hanselman&#8217;s instructions for installing Console2: http://www.hanselman.com/blog/Console2ABetterWindowsCommandPrompt.aspx Once you’ve installed Console2, here’s how you add an Octave window: Open Settings (right-click on the window and go to File, then [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to be able to ctrl-c/v to copy-paste in Octave, ditch the Octave.exe command window and download the open source Console2 from SourceForge.</p>
<p>Follow Scott Hanselman&#8217;s instructions for installing Console2:</p>
<p><a href="http://www.hanselman.com/blog/Console2ABetterWindowsCommandPrompt.aspx">http://www.hanselman.com/blog/Console2ABetterWindowsCommandPrompt.aspx</a></p>
<p>Once you’ve installed Console2, here’s how you add an Octave window:</p>
<ol>
<li>Open Settings (right-click on the window and go to File, then Settings), then go to Tabs, and Add a new tab.</li>
<li>Change the new tab&#8217;s title to Octave.</li>
<li>Set the Icon to the Octave icon (e.g. the default location would be C:\Octave\3.2.4_gcc-4.4.0\bin\octave.ico).</li>
<li>Set the Shell to the Octave exe (e.g. the default location would be C:\Octave\3.2.4_gcc-4.4.0\bin\octave-3.2.4.exe)</li>
<li>Set the Startup dir to your homework project folder (such as C:\stanford_machine_learning\mlclass-ex1).</li>
</ol>
<p>That&#8217;s it! Now in your Console2 window, go to File, New Tab, Octave and you&#8217;re off and running.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertcorvus.com/how-to-run-octave-in-console2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Scrum in one page</title>
		<link>http://robertcorvus.com/scrum-in-one-page/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=scrum-in-one-page</link>
		<comments>http://robertcorvus.com/scrum-in-one-page/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 00:28:28 +0000</pubDate>
		<dc:creator>Robert Corvus</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[product owner]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[scrum master]]></category>
		<category><![CDATA[scrum summary]]></category>
		<category><![CDATA[scrum training]]></category>
		<category><![CDATA[scrummaster]]></category>

		<guid isPermaLink="false">http://robertcorvus.com/scrum-in-one-page/</guid>
		<description><![CDATA[Here is the Scrum agile method summarized in one page: How the Scrum method works: There is one Product Owner (e.g. a business analyst) for each project and he/she creates a prioritized wish list called a Product Backlog. The backlog is an ordered list where the most urgent item is #1, the second most urgent [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the Scrum agile method summarized in one page:</p>
<p><i><b>How the Scrum method works:</b></i></p>
<ul>
<li>
<p>There is one Product Owner (e.g. a business analyst) for each project and he/she creates a prioritized wish list called a Product Backlog.</p>
<ul>
<li>
<p>The backlog is an <i>ordered </i>list where the most urgent item is #1, the second most urgent item is #2, etc.</p>
</li>
<li>
<p>The Product Owner is the only person who can change the priority of items in the Product Backlog. </p>
</li>
</ul>
</li>
<li>
<p>During Sprint Planning, the team (i.e. developers, testers, and dbas) pulls a small chunk from the top of that wish list (i.e. the most urgent items) and decides how to implement those pieces. </p>
<ul>
<li>
<p>This chunk of the <strong><em>Product</em></strong> Backlog is called the <strong><em>Sprint</em></strong> Backlog.</p>
</li>
</ul>
</li>
<li>
<p>The team has a fixed amount of time, a Sprint, to complete its work (usually two to four weeks) and meets each day to assess its progress (daily scrum).</p>
</li>
<li>
<p>During the sprint, the Scrum Master keeps the team focused on its goal and removes impediments to productivity.</p>
</li>
<li>
<p>During the sprint, the Product Owner can change priorities in the <i>Product</i> Backlog, but cannot change priorities to the <i>Sprint</i> Backlog. </p>
<ul>
<li>
<p>The Product Owner is the go-to person for the team to get clarification on functionality or usability.</p>
</li>
</ul>
</li>
<li>
<p>At the end of each sprint, the work should be code-complete, tested, and ready to deploy to prod. </p>
<ul>
<li>
<p>Items not completed are put back into the Product Backlog, to be finished in a later sprint.</p>
</li>
<li>
<p>Therefore the sprint deadline is never extended to finish items or for any other reason.</p>
</li>
</ul>
</li>
<li>
<p>The sprint ends with a Sprint Review and Retrospective </p>
<ul>
<li>
<p>Sprint Review is where the sprint&#8217;s progress is demoed and discussed with the product owner (and ideally, the customer).</p>
</li>
<li>
<p>Sprint Retrospective is where the team discusses ways to improve productivity and eliminate pain. </p>
<ul>
<li>
<p>Rule #1 of the retrospective is that no person or part of the organization is allowed to be blamed for problems. Processes allow people or parts of the organization to be inefficient, therefore the discussion focuses on how processes can be changed to improve the situation or remove impediments. </p>
</li>
<li>
<p>The best improvements are taken from the retrospective and implemented in the next sprint.</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>As the next sprint begins, the team chooses another chunk of the product backlog and begins working again.</p>
</li>
<li>
<p>The cycle repeats until enough items in the product backlog have been completed for a prod release or a deadline arrives. However, work can be stopped at anytime and finished items can be deployed to prod in a short amount of time in a fully workable and tested state.</p>
</li>
</ul>
<p>(This is a summary of the <a href="http://scrumalliance.org/pages/what_is_scrum">Scrum Framework in 30 Seconds</a> &#8211; yes, a summary of a summary)</p>
]]></content:encoded>
			<wfw:commentRss>http://robertcorvus.com/scrum-in-one-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Are you a bad developer?</title>
		<link>http://robertcorvus.com/are-you-a-bad-developer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=are-you-a-bad-developer</link>
		<comments>http://robertcorvus.com/are-you-a-bad-developer/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 02:40:57 +0000</pubDate>
		<dc:creator>Robert Corvus</dc:creator>
				<category><![CDATA[Dev Life]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[good vs evil]]></category>
		<category><![CDATA[nice vs mean]]></category>
		<category><![CDATA[teamwork]]></category>

		<guid isPermaLink="false">http://robertcorvus.com/are-you-a-bad-developer/</guid>
		<description><![CDATA[In an argument, are you more interested in winning than learning? Do you spend more effort trying to prove you’re right rather than finding a solution to a problem? Do you spend more time getting others to do your work rather than helping others solve their problems? Are you lavish with abuse and stingy with [...]]]></description>
			<content:encoded><![CDATA[<p>In an argument, are you more interested in winning than learning?</p>
<p>Do you spend more effort trying to prove you’re right rather than finding a solution to a problem?</p>
<p>Do you spend more time getting others to do your work rather than helping others solve their problems?</p>
<p>Are you lavish with abuse and stingy with positive-feedback?</p>
<p>Are you only nice to others as long as they agree with you?</p>
]]></content:encoded>
			<wfw:commentRss>http://robertcorvus.com/are-you-a-bad-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading ASP.NET MVC and controller factory says &#8220;no suitable method found to override&#8221;</title>
		<link>http://robertcorvus.com/upgrading-asp-net-mvc-and-controller-factory-says-no-suitable-method-found-to-override/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=upgrading-asp-net-mvc-and-controller-factory-says-no-suitable-method-found-to-override</link>
		<comments>http://robertcorvus.com/upgrading-asp-net-mvc-and-controller-factory-says-no-suitable-method-found-to-override/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 19:05:36 +0000</pubDate>
		<dc:creator>Robert Corvus</dc:creator>
				<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[DefaultControllerFactory]]></category>
		<category><![CDATA[StructureMapControllerFacotry]]></category>

		<guid isPermaLink="false">http://robertcorvus.com/?p=290</guid>
		<description><![CDATA[If you upgrade from MVC 1 to 2 or higher and your controller factory (such as StructureMapControllerFactory) throws a &#8220;no suitable method found to override&#8221; error for your GetControllerInstance method, be sure you have a reference to System.Web.Routing: using System.Web.Routing; And be sure you add the RequestContext parameter to the GetControllerInstance method call like this: [...]]]></description>
			<content:encoded><![CDATA[<p>If you upgrade from MVC 1 to 2 or higher and your controller factory (<a href="http://robertcorvus.com/how-to-easily-use-dependency-injection-to-build-and-test-controllers-and-blls-without-parameterless-constructors/">such as StructureMapControllerFactory</a>) throws a &#8220;no suitable method found to override&#8221; error for your GetControllerInstance method, be sure you have a reference to System.Web.Routing:</p>
<pre class="brush: csharp;">
using System.Web.Routing;
</pre>
<p>And be sure you add the RequestContext parameter to the GetControllerInstance  method call like this:</p>
<pre class="brush: csharp;">
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://robertcorvus.com/upgrading-asp-net-mvc-and-controller-factory-says-no-suitable-method-found-to-override/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Written vs Spoken Rules</title>
		<link>http://robertcorvus.com/written-vs-spoken-rules/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=written-vs-spoken-rules</link>
		<comments>http://robertcorvus.com/written-vs-spoken-rules/#comments</comments>
		<pubDate>Sat, 20 Aug 2011 02:02:58 +0000</pubDate>
		<dc:creator>Robert Corvus</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[management]]></category>

		<guid isPermaLink="false">http://robertcorvus.com/written-vs-spoken-rules/</guid>
		<description><![CDATA[If you know the story of Moses, he was an old-school manager of legendary ability who laid down the law for his people.&#160; To get a clue as to one of his techniques, you have to ask yourself, how did he convey the prime directives to his people?&#160; Were they mentioned in a status meeting, [...]]]></description>
			<content:encoded><![CDATA[<p>If you know the story of Moses, he was an old-school manager of legendary ability who laid down the law for his people.&#160; To get a clue as to one of his techniques, you have to ask yourself, how did he convey the prime directives to his people?&#160; Were they mentioned in a status meeting, jotted down on papyrus, or sent out as an email?&#160; No, they were written in STONE.&#160; Something tangible, long-lasting, and symbolic of strength and immortality.&#160; The next time you feel that your teammates are not getting your message, rock it old school and write it down for them.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertcorvus.com/written-vs-spoken-rules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shelveset is killer feature of Visual Studio and Team Foundation Server</title>
		<link>http://robertcorvus.com/shelveset-is-killer-feature-of-visual-studio-and-team-foundation-server/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=shelveset-is-killer-feature-of-visual-studio-and-team-foundation-server</link>
		<comments>http://robertcorvus.com/shelveset-is-killer-feature-of-visual-studio-and-team-foundation-server/#comments</comments>
		<pubDate>Sat, 13 Aug 2011 18:17:51 +0000</pubDate>
		<dc:creator>Robert Corvus</dc:creator>
				<category><![CDATA[Dev Tools]]></category>
		<category><![CDATA[shelveset]]></category>
		<category><![CDATA[team foundation server]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://robertcorvus.com/?p=239</guid>
		<description><![CDATA[If I had a nickel for every time someone wanted me to make a &#8220;quick change&#8221; to some code while I was in the middle of open brain surgery with a dozen files checked out, I&#8217;d be able to pay for the Team Foundation Server license in record ROI time. Now when that happens, I [...]]]></description>
			<content:encoded><![CDATA[<p>If I had a nickel for every time someone wanted me to make a &#8220;quick change&#8221; to some code while I was in the middle of open brain surgery with a dozen files checked out, I&#8217;d be able to pay for the Team Foundation Server license in record ROI time.  Now when that happens, I can shelve what I&#8217;m working on, pull code from source (or even someone else&#8217;s shelveset), make my change, check it in, and then pull back my shelveset and get back to work.  Awesome.</p>
<p><a href="http://msdn.microsoft.com/en-us/library/ms181403.aspx">Here&#8217;s how to do it in Visual Studio 2010</a></p>
]]></content:encoded>
			<wfw:commentRss>http://robertcorvus.com/shelveset-is-killer-feature-of-visual-studio-and-team-foundation-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

