<?xml version="1.0" ?>
<?xml-stylesheet href="/css/rss20.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:pheedo="http://www.pheedo.com/namespace/pheedo" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>DotNetSlackers Latest ASP.NET News in Category Refactor</title>
		<link>http://dotnetslackers.com/Refactor/re-default.aspx</link>
		<description>Latest ASP.NET news from DotNetSlackers in Category Refactor</description>
		<ttl>60</ttl>
		<atom:link rel="hub" href="http://www.pheedo.com/api/hub/"/>
		<atom:link rel="self" href="http://feeds.pheedo.com/dotnetslackers_refactor" type="application/rss+xml"/>
		<item>
			<title>A Refactoring Experiment</title>
			<link>http://www.pheedcontent.com/click.phdo?i=a7f6bd9e7106d42352ad7b8e4d59f844</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-684406_A_Refactoring_Experiment.aspx</pheedo:origLink>
			<description>Soon I'll be giving a group of developers some code and asking them to do some refactoring.   The bad news is the code is hard to read. Some might say it's intentionally obfuscated, but let's not assume malice right away.   The good news is there are six working unit tests for the code.   There are two goals to the exercise. One goal is to give developers an opportunity to practice refactoring (a Kata, if you will). The way I'd attack the code is to start with some renaming operations, then extract...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=a7f6bd9e7106d42352ad7b8e4d59f844&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=a7f6bd9e7106d42352ad7b8e4d59f844&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>K. Scott Allen</author>
			<pubDate>Mon, 09 Apr 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Presented By:]]></title>
			<link>http://ads.pheedo.com/click.phdo?s=a7f6bd9e7106d42352ad7b8e4d59f844&amp;p=4</link>
			<guid isPermaLink="false">a7f6bd9e7106d42352ad7b8e4d59f844</guid>
			<description><![CDATA[<a href="http://ads.pheedo.com/click.phdo?s=a7f6bd9e7106d42352ad7b8e4d59f844&amp;p=4"><img alt="" style="border: 0;" border="0" src="http://ads.pheedo.com/img.phdo?s=a7f6bd9e7106d42352ad7b8e4d59f844&amp;p=4"/></a>]]></description>
			<pubDate>Mon, 09 Apr 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>From Legacy to Dependency Injection</title>
			<link>http://www.pheedcontent.com/click.phdo?i=556912c208cf0aced0af0b17d2ddab6e</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-682165_From_Legacy_to_Dependency_Injection.aspx</pheedo:origLink>
			<description>&lt;p&gt;The best thing about using &lt;a rel='nofollow' href="http://www.telerik.com/products/mocking.aspx" target="_blank" re_target="_blank"&gt;&lt;strong&gt;Telerik JustMock&lt;/strong&gt;&lt;/a&gt; is that you can mock practically everything. You can even mock types without using dependency injection, making JustMock the best framework to use when working with legacy code.&lt;/p&gt; &lt;p&gt;Weve all encountered tightly-bound code, and our first instinct is to correct it. However, there are only so many hours in a sprint, and its not always convenient to go on a large refactoring spree when the backlog is filling up. With JustMock, you can still ensure the code works, and it will set you up for the cleaning that will take place at a later time.&lt;/p&gt; &lt;p&gt;The code I am about to show is rather simplistic, and it may not be much of a burden to refactor when encountered. The principles are the same in testing the code then refactoring to achieve higher quality.&lt;/p&gt; &lt;p&gt;Here is a simple action on an ASP.NET MVC controller:&lt;/p&gt; &lt;pre class="code"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #000000;"&gt;ActionResult Index()&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;var repository = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;BookRepository();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;var books = repository.GetAll();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;return&lt;/code&gt; &lt;code style="color: #000000;"&gt;View(books);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;This three lines of code simply retrieves all the books from a BookRepository and passes them to the view. Testing this controller action doesnt appear to be very difficult:&lt;/p&gt; &lt;pre class="code"&gt;&lt;code style="color: #000000;"&gt;[Fact]&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000000;"&gt;Index_Should_Return_All_Books_To_View()&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;BookController controller = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;BookController();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;var result = (ViewResult)controller.Index();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;var books = (IEnumerable&amp;lt;BookModel&amp;gt;)result.Model;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;Assert.Equal(5, books.Count());&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;This test has a major problem: it must call all the way to the backing data storage. I have been in many organizations that attempt to get around this by creating a test database. This approach leads to even more issues. First, the lack of code isolation means it can be more time consuming to track down the cause of a bug. If this test doesnt work, I will need to figure out if this code is broken, if the repository is broken, or if theres bad code in another layer that isnt immediately noticeable. Next, it takes more work to make sure side effects in the database do not affect unrelated. It can also be troublesome to maintain the data. Finally, testing through every layer of the application is slow. When the application grows large and the tests become more numerous, it becomes a chore to run them and you might as well forget automating it on check-in.&lt;/p&gt; &lt;p&gt;Heres how to use JustMock to isolate this unit of code without refactoring.&lt;/p&gt; &lt;pre class="code"&gt;&lt;code style="color: #000000;"&gt;[Fact]&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000000;"&gt;Index_Should_Return_All_Books_To_View()&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;var repository = Mock.Create&amp;lt;BookRepository&amp;gt;();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;repository.Arrange(r =&amp;gt; r.GetAll())&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;.Returns(Enumerable.Repeat&amp;lt;BookModel&amp;gt;(&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;BookModel(), 5))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;.IgnoreInstance();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;BookController controller = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;BookController();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;var result = (ViewResult)controller.Index();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;var books = (IEnumerable&amp;lt;BookModel&amp;gt;)result.Model;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;Assert.Equal(5, books.Count());&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;&amp;nbsp;The first step was to create a mock object of the BookRepository used in the controller action. There isnt an interface for this class, so its a good thing that JustMock will mock a concrete class. Next, I arranged for the repository to return a sequence of books when the GetAll() method is called on it. I then used IgnoreInstance() so that every instance of BookRepository encountered in this test would be replaced with the mock object.&lt;/p&gt; &lt;p&gt;It was that easy, and youre now in a position to refactor the code to support dependency injection with minimal changes to your test.&lt;/p&gt; &lt;p&gt;First, we should give the BookRepository an interface (you can cheat and use the &lt;strong&gt;Extract Interface&lt;/strong&gt; refactoring).&lt;/p&gt; &lt;pre class="code"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;interface&lt;/code&gt; &lt;code style="color: #000000;"&gt;IBookRepository&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;IEnumerable&amp;lt;BookModel&amp;gt; GetAll();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;&amp;nbsp;Next, promote the repository variable to a field (&lt;strong&gt;Introduce Field&lt;/strong&gt; refactoring) and change its type to IBookRepository. Create two constructors: one with no parameters and one with an IBookRepository parameter. Chain the default constructor to the one with a parameter, passing in new BookRepository. In the constructor with a parameter, set the field to the passed in value.&lt;/p&gt; &lt;pre class="code"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;class&lt;/code&gt; &lt;code style="color: #000000;"&gt;BookController : Controller&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;private&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;readonly&lt;/code&gt; &lt;code style="color: #000000;"&gt;IBookRepository repository;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #000000;"&gt;BookController()&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;: &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000000;"&gt;(&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;BookRepository())&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #000000;"&gt;BookController(IBookRepository repository)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000000;"&gt;.repository = repository;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #000000;"&gt;ActionResult Index()&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;var books = repository.GetAll();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;return&lt;/code&gt; &lt;code style="color: #000000;"&gt;View(books);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;} &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;In the unit test, remove the call to IgnoreInstance() and pass the mocked repository into the BookControllers constructor.&lt;/p&gt; &lt;pre class="code"&gt;&lt;code style="color: #000000;"&gt;[Fact]&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000000;"&gt;Index_Should_Return_All_Books_To_View()&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;var repository = Mock.Create&amp;lt;BookRepository&amp;gt;();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;repository.Arrange(r =&amp;gt; r.GetAll())&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;.Returns(Enumerable.Repeat&amp;lt;BookModel&amp;gt;(&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;BookModel(), 5));&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;BookController controller = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;BookController(repository);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;var result = (ViewResult)controller.Index();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;var books = (IEnumerable&amp;lt;BookModel&amp;gt;)result.Model;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code style="color: #000000;"&gt;Assert.Equal(5, books.Count());&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;h2&gt;Conclusion&lt;/h2&gt; &lt;p&gt;In this article, you learned how to mock objects without changing the code base. You also learned one of the easiest techniques for introducing dependency injection in your project while causing minimal changes to your existing tests. Theres a wide world of best practices for creating loosely coupled architectures that are conductive to unit testing. I hope this helps you get started happy coding!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/HxTOVzSZPDQ" height="1" width="1"/&gt;&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=556912c208cf0aced0af0b17d2ddab6e&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=556912c208cf0aced0af0b17d2ddab6e&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>the telerik blogs</author>
			<pubDate>Thu, 05 Apr 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>JustCode Extension Improvements in 2012 Q1 SP</title>
			<link>http://www.pheedcontent.com/click.phdo?i=ed29e0a3bed6be48e0e00c0858b37f18</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-680227_JustCode_Extension_Improvements_in_2012_Q1_SP.aspx</pheedo:origLink>
			<description>&lt;p&gt;The &lt;a rel='nofollow' href="http://www.telerik.com/products/justcode/whats-new/release-history/q1-2012-sp-version-2012-1-321.aspx" target="_blank"&gt;&lt;strong&gt;Telerik JustCode 2012 Q1 service pack&lt;/strong&gt;&lt;/a&gt; has been released, and with it comes improvements to help you begin writing &lt;a rel='nofollow' href="http://www.telerik.com/products/justcode.aspx" target="_blank"&gt;&lt;strong&gt;JustCode&lt;/strong&gt;&lt;/a&gt; extensions.&lt;/p&gt; &lt;h2&gt;Project Template&lt;/h2&gt; &lt;p&gt;Our previous release of JustCode included a project template that included three extension examples for navigation, code marking / fixes, and refactoring. This is accessed from the Telerik menu under Installed Templates when creating a new project.&lt;/p&gt; &lt;p&gt;&lt;a rel='nofollow' href="http://blogs.telerik.com/Libraries/MetaBlogLib/Windows-Live-Writer-7ea1b9aa2435_812A-NewProject_4.sflb"&gt;&lt;img width="640" height="447" title="NewProject" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" alt="NewProject" src="http://blogs.telerik.com/Libraries/MetaBlogLib/Windows-Live-Writer-7ea1b9aa2435_812A-NewProject_thumb_1.sflb" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Running this project would copy the assembly to the Libraries\UserExtensions folder in the JustCode installation path. This had the unfortunate side effect of applying the extensions anytime you ran Visual Studio, which would cause the assembly to be locked and hindered the ability to continue working in the extension project until the assembly was removed. We fixed this by utilizing the debug options in the projects properties.&lt;/p&gt; &lt;p&gt;&lt;a rel='nofollow' href="http://blogs.telerik.com/Libraries/MetaBlogLib/Windows-Live-Writer-7ea1b9aa2435_812A-ProjectOptions_2.sflb"&gt;&lt;img width="640" height="391" title="ProjectOptions" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" alt="ProjectOptions" src="http://blogs.telerik.com/Libraries/MetaBlogLib/Windows-Live-Writer-7ea1b9aa2435_812A-ProjectOptions_thumb.sflb" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;When you debug a JustCode extension project, it launches Visual Studio with a switch for JustCode to load extensions in a specific directory.&lt;/p&gt; &lt;h2&gt;Item Templates&lt;/h2&gt; &lt;p&gt;The project template is a great starting point, but it led overuse of copy/paste when creating new extensions in the same project. To alleviate this problem, we created item templates for each of the supported extension types.&lt;/p&gt; &lt;p&gt;&lt;a rel='nofollow' href="http://blogs.telerik.com/Libraries/MetaBlogLib/Windows-Live-Writer-7ea1b9aa2435_812A-AddNewItem_2.sflb"&gt;&lt;img width="640" height="446" title="AddNewItem" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" alt="AddNewItem" src="http://blogs.telerik.com/Libraries/MetaBlogLib/Windows-Live-Writer-7ea1b9aa2435_812A-AddNewItem_thumb.sflb" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;These templates provide the skeleton of each extension type eliminating the need to copy/paste!&lt;/p&gt; &lt;h2&gt;To Boldly Go Where No One Has Gone Before&lt;/h2&gt; &lt;p&gt;Opening the API gives you more flexibility than ever before, enabling JustCode to be specialized for any project. Want to learn more? Here are &lt;a rel='nofollow' href="http://bitly.com/H6B6l7" target="_blank"&gt;links to available articles&lt;/a&gt; on creating JustCode extensions!&lt;/p&gt; &lt;h2&gt;Wait, Theres More!&lt;/h2&gt; &lt;p&gt;Improvements to the extension API wasnt the only thing included in the service pack. We also &lt;a rel='nofollow' href="http://blogs.telerik.com/justteam/posts/12-03-09/justcode-visual-studio-11-beta-support.aspx" target="_blank"&gt;added support for Visual Studio 11&lt;/a&gt; and improved the formatter. Be sure to update your installation of &lt;a rel='nofollow' href="http://www.telerik.com/products/justcode.aspx" target="_blank"&gt;JustCode&lt;/a&gt; today!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/p7HEOtuiv6Y" height="1" width="1"/&gt;&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=ed29e0a3bed6be48e0e00c0858b37f18&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=ed29e0a3bed6be48e0e00c0858b37f18&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>the telerik blogs</author>
			<pubDate>Mon, 02 Apr 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Presented By:]]></title>
			<link>http://ads.pheedo.com/click.phdo?s=ed29e0a3bed6be48e0e00c0858b37f18&amp;p=4</link>
			<guid isPermaLink="false">ed29e0a3bed6be48e0e00c0858b37f18</guid>
			<description><![CDATA[<a href="http://ads.pheedo.com/click.phdo?s=ed29e0a3bed6be48e0e00c0858b37f18&amp;p=4"><img alt="" style="border: 0;" border="0" src="http://ads.pheedo.com/img.phdo?s=ed29e0a3bed6be48e0e00c0858b37f18&amp;p=4"/></a>]]></description>
			<pubDate>Mon, 02 Apr 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Telerik CAB Enabling Kit for RadControls for WinForms updated to Q1 2012 SP1</title>
			<link>http://www.pheedcontent.com/click.phdo?i=db5a9b7a531396f90998ffd473c71ef0</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-678516_Telerik_CAB_Enabling_Kit_for_RadControls_for_WinForms_updated_to_Q1_2012_SP1.aspx</pheedo:origLink>
			<description>&lt;p&gt;It is our pleasure to announce the availability of a new version of &lt;a rel='nofollow' href="http://www.telerik.com/products/winforms/cab-support.aspx"&gt;Telerik CAB Enabling Kit&lt;/a&gt; that supports the latest RadControls for WinForms Q1 2012 SP1.&lt;/p&gt; &lt;p&gt;This update includes removing obsolete adapters, major refactoring of current Workspaces and creating a new workspace which supports all MDI application scenarios.&lt;/p&gt; &lt;p&gt;Here is the list of the available Workspaces:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;RadDockWorkspace&amp;nbsp;&lt;/li&gt; &lt;li&gt;RadPageViewWorkspace&amp;nbsp;&lt;/li&gt; &lt;li&gt;RadFormWorkspace&amp;nbsp;&lt;/li&gt; &lt;li&gt;RadFormMdiWorkspace&amp;nbsp;&lt;/li&gt; &lt;li&gt;RadTabbedMdiWorkspace&amp;nbsp;&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;p&gt;In this release we have also improved the functionality of the UIAdapters and we have increased their number. Now we have a common adapter for all RadControls, which use RadItemCollection.&amp;nbsp;&lt;/p&gt; &lt;p&gt;The available UiAdapters are:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;sRadCommandBarUIAdapter&amp;nbsp;&lt;/li&gt; &lt;li&gt;sRadRibbonBarUIAdapter&amp;nbsp;&lt;/li&gt; &lt;li&gt;sRadTreeNodeUiAdapter&amp;nbsp;&lt;/li&gt; &lt;li&gt;sRadTreeViewUIAdapter&amp;nbsp;&lt;/li&gt; &lt;li&gt;sRadItemCollectionUIAdapter - (RadMenu, RadStatusStrip, all controls that support RadItem collections)&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;p&gt;Telerik CAB Enabling Kit is available for&amp;nbsp;&lt;a rel='nofollow' href="http://telerikcab.codeplex.com/"&gt;download at CodePlex&lt;/a&gt;.&amp;nbsp;&lt;/p&gt; &lt;br /&gt;Happy coding!&lt;br /&gt; &lt;p&gt;&lt;a target="_blank" href="http://www.telerik.com/account/your-products/trial-product-versions/download-trial-file.aspx?pid=523" title="Download RadControls for WinForms by Telerik" alt="Download RadControls for WinForms by Telerik"&gt;&lt;img title="Download RadControls for WinForms by Telerik" alt="Download RadControls for WinForms by Telerik" src="http://blogs.telerik.com/Libraries/MetaBlogLib/Blogs_banners_12_2011.sflb" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Telerik/~4/UpL-Tap-jJ4" height="1" width="1"/&gt;&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=db5a9b7a531396f90998ffd473c71ef0&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=db5a9b7a531396f90998ffd473c71ef0&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>the telerik blogs</author>
			<pubDate>Fri, 30 Mar 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>CacheAdapter 2.4  Bug fixes and minor functional update</title>
			<link>http://www.pheedcontent.com/click.phdo?i=ac8acf3f2175750a96382cef442aec1c</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-677479_CacheAdapter_2_4_Bug_fixes_and_minor_functional_update.aspx</pheedo:origLink>
			<description>&lt;p&gt;&lt;em&gt;Note: If you are unfamiliar with the CacheAdapter library and what it does, you can read all about its awesome ability to utilise memory, Asp.Net Web, Windows Azure AppFabric and memcached caching implementations via a single unified, simple to use API from &lt;a rel='nofollow' href="http://weblogs.asp.net/pglavich/archive/2011/08/21/updates-to-the-cacheadapter-package.aspx" target="_blank"&gt;here&lt;/a&gt; and &lt;a rel='nofollow' href="http://weblogs.asp.net/pglavich/archive/2011/07/04/cacheadapter-v2-now-with-memcached-support.aspx" target="_blank"&gt;here&lt;/a&gt;..&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The CacheAdapter library is receiving an update to version 2.4 and is currently available on Nuget &lt;a rel='nofollow' href="https://nuget.org/packages/Glav.CacheAdapter/2.4" target="_blank"&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;h3&gt;Bugs&lt;/h3&gt;  &lt;p&gt;This latest version fixes a big that is only present in the memcached implementation and is only seen in rare, intermittent times (making i particularly hard to find). The bug is where a cache node would be removed from the farm when errors in deserialization of cached objects would occur due to serialised data not being read from the stream in entirety.&lt;/p&gt;  &lt;p&gt;The code also contains enhancements to better surface serialization exceptions to aid in the debugging process. This is also specifically targeted at the memcached implementation. This is important when moving from something like memory or Asp.Web caching mechanisms to memcached where the serialization rules are not as lenient.&lt;/p&gt;  &lt;p&gt;There are a few other minor bug fixes, code cleanup and a little refactoring.&lt;/p&gt;  &lt;h3&gt;Minor feature addition&lt;/h3&gt;  &lt;p&gt;In addition to this bug fix, many people have asked for a single setting to either enable or disable the cache.In this version, you can disable the cache by setting the &lt;font face="Courier New"&gt;IsCacheEnabled&lt;/font&gt; flag to false in the application configuration file. Something like the example below:&lt;/p&gt;  &lt;pre style="background-color:#FFFFFF;overflow: auto;"&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;Glav.CacheAdapter.MainConfig&lt;/span&gt;&amp;gt;&lt;/span&gt;    &lt;/span&gt;&amp;lt;&lt;/span&gt;setting name&lt;/span&gt;=&lt;/span&gt;"&lt;/span&gt;CacheToUse&lt;/span&gt;"&lt;/span&gt; serializeAs&lt;/span&gt;=&lt;/span&gt;"&lt;/span&gt;String&lt;/span&gt;"&lt;/span&gt;&amp;gt;&lt;/span&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;value&lt;/span&gt;&amp;gt;&lt;/span&gt;memcached&lt;/span&gt;&amp;lt;/&lt;/span&gt;value&lt;/span&gt;&amp;gt;&lt;/span&gt;    &lt;/span&gt;&amp;lt;/&lt;/span&gt;setting&lt;/span&gt;&amp;gt;&lt;/span&gt;    &lt;/span&gt;&amp;lt;&lt;/span&gt;setting name&lt;/span&gt;=&lt;/span&gt;"&lt;/span&gt;DistributedCacheServers&lt;/span&gt;"&lt;/span&gt; serializeAs&lt;/span&gt;=&lt;/span&gt;"&lt;/span&gt;String&lt;/span&gt;"&lt;/span&gt;&amp;gt;&lt;/span&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;value&lt;/span&gt;&amp;gt;&lt;/span&gt;localhost:&lt;/span&gt;11211&lt;/span&gt;&amp;lt;/&lt;/span&gt;value&lt;/span&gt;&amp;gt;&lt;/span&gt;    &lt;/span&gt;&amp;lt;/&lt;/span&gt;setting&lt;/span&gt;&amp;gt;&lt;/span&gt;    &lt;/span&gt;&amp;lt;&lt;/span&gt;setting name&lt;/span&gt;=&lt;/span&gt;"&lt;/span&gt;IsCacheEnabled&lt;/span&gt;"&lt;/span&gt; serializeAs&lt;/span&gt;=&lt;/span&gt;"&lt;/span&gt;String&lt;/span&gt;"&lt;/span&gt;&amp;gt;&lt;/span&gt;      &lt;/span&gt;&amp;lt;&lt;/span&gt;value&lt;/span&gt;&amp;gt;&lt;/span&gt;False&lt;/span&gt;&amp;lt;/&lt;/span&gt;value&lt;/span&gt;&amp;gt;&lt;/span&gt;    &lt;/span&gt;&amp;lt;/&lt;/span&gt;setting&lt;/span&gt;&amp;gt;&lt;/span&gt;  &lt;/span&gt;&amp;lt;/&lt;/span&gt;Glav.CacheAdapter.MainConfig&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;p&gt;Your reasons to use this feature may vary (perhaps some performance testing or problem diagnosis). At any rate, disabling the cache will cause every attempt to retrieve data from the cache, resulting in a cache miss and returning null. If you are using the &lt;font face="Courier New"&gt;ICacheProvider&lt;/font&gt; with the delegate/Func&amp;lt;T&amp;gt; syntax to populate the cache, this delegate method will get executed every single time. For example, when the cache is disabled, the following delegate/Func&amp;lt;T&amp;gt; code will be executed every time:&lt;/p&gt;&lt;pre style="background-color:#FFFFFF;overflow: auto;"&gt;var data1 &lt;/span&gt;=&lt;/span&gt; cacheProvider.Get&lt;/span&gt;&amp;lt;&lt;/span&gt;SomeData&lt;/span&gt;&amp;gt;&lt;/span&gt;(&lt;/span&gt;"&lt;/span&gt;cache-key&lt;/span&gt;"&lt;/span&gt;, DateTime.Now.AddHours(&lt;/span&gt;1&lt;/span&gt;), () &lt;/span&gt;=&amp;gt;&lt;/span&gt;{    &lt;/span&gt;//&lt;/span&gt; With the cache disabled, this data access code is executed every attempt to    &lt;/span&gt;//&lt;/span&gt; get this data via the CacheProvider.&lt;/span&gt;&lt;/span&gt;    var someData &lt;/span&gt;=&lt;/span&gt; &lt;/span&gt;new&lt;/span&gt; SomeData() { SomeText &lt;/span&gt;=&lt;/span&gt; &lt;/span&gt;"&lt;/span&gt;cache example1&lt;/span&gt;"&lt;/span&gt;, SomeNumber &lt;/span&gt;=&lt;/span&gt; &lt;/span&gt;1&lt;/span&gt; };    &lt;/span&gt;return&lt;/span&gt; someData;});&lt;/span&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;p&gt;One final note: If you access the cache directly via the &lt;font face="Courier New"&gt;ICache&lt;/font&gt; instance, instead of the higher level &lt;font face="Courier New"&gt;ICacheProvider &lt;/font&gt;API, you bypass this setting and still access the underlying cache implementation. Only the &lt;font face="Courier New"&gt;ICacheProvider &lt;/font&gt;instance observes the &lt;font face="Courier New"&gt;IsCacheEnabled&lt;/font&gt; setting.&lt;/p&gt;&lt;p&gt;Thanks to those individuals who have used this library and provided feedback. Ifyou have any suggestions or ideas, please submit them to the &lt;a rel='nofollow' href="https://bitbucket.org/glav/cacheadapter" target="_blank"&gt;issue register on bitbucket&lt;/a&gt; (which is where you can grab all the source code from too)&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8368133" width="1" height="1"&gt;&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=ac8acf3f2175750a96382cef442aec1c&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=ac8acf3f2175750a96382cef442aec1c&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>Glavs Blog</author>
			<pubDate>Wed, 28 Mar 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Presented By:]]></title>
			<link>http://ads.pheedo.com/click.phdo?s=ac8acf3f2175750a96382cef442aec1c&amp;p=4</link>
			<guid isPermaLink="false">ac8acf3f2175750a96382cef442aec1c</guid>
			<description><![CDATA[<a href="http://ads.pheedo.com/click.phdo?s=ac8acf3f2175750a96382cef442aec1c&amp;p=4"><img alt="" style="border: 0;" border="0" src="http://ads.pheedo.com/img.phdo?s=ac8acf3f2175750a96382cef442aec1c&amp;p=4"/></a>]]></description>
			<pubDate>Wed, 28 Mar 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>LLBLGen Pro v3.5 has been released!</title>
			<link>http://www.pheedcontent.com/click.phdo?i=b72dc9b9d852fe3d919f0db027e22299</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-671837_LLBLGen_Pro_v3_5_has_been_released.aspx</pheedo:origLink>
			<description>Last weekend we released LLBLGen Pro v3.5! Below the list of what's new in this release. Of course, not everything is on this list, like the large amount of work we put in refactoring the runtime framework. The refactoring was necessary because our framework has two paradigms which are added to the framework at a different time, and from a design perspective in the wrong order (the paradigm we added first, SelfServicing, should have been built on top of Adapter, the other paradigm, which was added...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=b72dc9b9d852fe3d919f0db027e22299&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=b72dc9b9d852fe3d919f0db027e22299&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>Frans Boumas blog</author>
			<pubDate>Mon, 19 Mar 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Develop for Windows Phone, with Windows Phone... TouchDevelop</title>
			<link>http://www.pheedcontent.com/click.phdo?i=ec40ad7da485855a9fa49d3b9093d5e9</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-663786_Develop_for_Windows_Phone_with_Windows_Phone_TouchDevelop.aspx</pheedo:origLink>
			<description>Today's Mobile Monday post shows off a project that's kind of meta, programming for the phone, on the phone...Think you need a PC to develop for Windows Phone? Think it would be cool to take your development environment on the road, so you can code where ever you are? Like easily share your work with others? Would you like to reach out and touch your code?...touchdevelopWrite fun programs on your phone and share them with other people! Download for free for Windows Phone 7.infoProgram your phone...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=ec40ad7da485855a9fa49d3b9093d5e9&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=ec40ad7da485855a9fa49d3b9093d5e9&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>MSDN: Coding4Fun</author>
			<pubDate>Mon, 05 Mar 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Presented By:]]></title>
			<link>http://ads.pheedo.com/click.phdo?s=ec40ad7da485855a9fa49d3b9093d5e9&amp;p=4</link>
			<guid isPermaLink="false">ec40ad7da485855a9fa49d3b9093d5e9</guid>
			<description><![CDATA[<a href="http://ads.pheedo.com/click.phdo?s=ec40ad7da485855a9fa49d3b9093d5e9&amp;p=4"><img alt="" style="border: 0;" border="0" src="http://ads.pheedo.com/img.phdo?s=ec40ad7da485855a9fa49d3b9093d5e9&amp;p=4"/></a>]]></description>
			<pubDate>Mon, 05 Mar 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Primitive JavaScript (BYOSP Part 7)</title>
			<link>http://www.pheedcontent.com/click.phdo?i=4cff4378098cca323d90ec337ab98616</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-660214_Primitive_JavaScript_BYOSP_Part_7.aspx</pheedo:origLink>
			<description>When starting into the animations I decided it was time to refactor. One problem was the little "updateState" calls floating around inside conditional logic  always a bad sign. A second problem was the sheer number of strings and CSS selectors in the code.  I've become more sensitive to primitive obsession in JavaScript. Some code I see is nothing but strings and numbers. I think the obsession hurts readability and maintainability.   The selectors scattered in the slide presenter code do one of three...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=4cff4378098cca323d90ec337ab98616&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=4cff4378098cca323d90ec337ab98616&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>K. Scott Allen</author>
			<pubDate>Tue, 28 Feb 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>JustCode Release History : Q1 2012 (version 2012.1.214) </title>
			<link>http://www.pheedcontent.com/click.phdo?i=1ab945dfcb9a58ee1237faa1b54121b1</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-652681_JustCode_Release_History_Q1_2012_version_2012_1_214.aspx</pheedo:origLink>
			<description>JustCode Q1 2012&amp;nbsp;(version 2012.1.214) Major highlights  All Types Code Completion: Use Ctrl+Alt+Space (default shortcut) to show IntelliSense for all types regardless of their namespace. JustCode will automatically add using directives for you.  Code Style Options: "Naming Conventions" - you can specify naming conventions for types/methods/fields/etc and JustCode will help you enforce them  Test Runner: QUnit - jQuery JavaScript testing framework support  Test Runner: Jasmine - JavaScript...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=1ab945dfcb9a58ee1237faa1b54121b1&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=1ab945dfcb9a58ee1237faa1b54121b1&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>Telerik News RSS Feed</author>
			<pubDate>Wed, 15 Feb 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Presented By:]]></title>
			<link>http://ads.pheedo.com/click.phdo?s=1ab945dfcb9a58ee1237faa1b54121b1&amp;p=4</link>
			<guid isPermaLink="false">1ab945dfcb9a58ee1237faa1b54121b1</guid>
			<description><![CDATA[<a href="http://ads.pheedo.com/click.phdo?s=1ab945dfcb9a58ee1237faa1b54121b1&amp;p=4"><img alt="" style="border: 0;" border="0" src="http://ads.pheedo.com/img.phdo?s=1ab945dfcb9a58ee1237faa1b54121b1&amp;p=4"/></a>]]></description>
			<pubDate>Wed, 15 Feb 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Build Your Own Slide Presenter: Part 2</title>
			<link>http://www.pheedcontent.com/click.phdo?i=163c58563d0e10cc1cbb72867437cec4</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-651916_Build_Your_Own_Slide_Presenter_Part_2.aspx</pheedo:origLink>
			<description>The slide show project currently only shows one slide. I know a number of people who can talk for 75 minutes using one slide, but fortunately they've all retired from university life and taken their overhead projectors with them.   Today's speakers need to show at least one Internet meme infested slide every 30 seconds to keep an audience alert and happy. We must find a way to allow a presenter to move through slides with a keystroke, or the swipe of the finger. We'll look at touch later, and work...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=163c58563d0e10cc1cbb72867437cec4&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=163c58563d0e10cc1cbb72867437cec4&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>K. Scott Allen</author>
			<pubDate>Tue, 14 Feb 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Coding in Marble</title>
			<link>http://www.pheedcontent.com/click.phdo?i=9dc31fe1b11ca96cbe79edfcdf671a30</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-645123_Coding_in_Marble.aspx</pheedo:origLink>
			<description>I wish I could remember where I first read it because perhaps it deserves attribution.&amp;nbsp; But many years ago I read about the two world views of physicists and they resonated with me.&amp;nbsp; One world view is that prescibed by things like General Relativity&amp;nbsp;and Maxwell's Equations.&amp;nbsp; These have, in some sense a great mathematical beauty to them.&amp;nbsp; This is the "the universe is made out of marble" viewpoint.&amp;nbsp; Nice clean fields.&amp;nbsp; Very solid.&amp;nbsp; Then there's the other perspective,...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=9dc31fe1b11ca96cbe79edfcdf671a30&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=9dc31fe1b11ca96cbe79edfcdf671a30&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>Rico Marianis Performance Tidbits</author>
			<pubDate>Fri, 03 Feb 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Presented By:]]></title>
			<link>http://ads.pheedo.com/click.phdo?s=9dc31fe1b11ca96cbe79edfcdf671a30&amp;p=4</link>
			<guid isPermaLink="false">9dc31fe1b11ca96cbe79edfcdf671a30</guid>
			<description><![CDATA[<a href="http://ads.pheedo.com/click.phdo?s=9dc31fe1b11ca96cbe79edfcdf671a30&amp;p=4"><img alt="" style="border: 0;" border="0" src="http://ads.pheedo.com/img.phdo?s=9dc31fe1b11ca96cbe79edfcdf671a30&amp;p=4"/></a>]]></description>
			<pubDate>Fri, 03 Feb 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>CodeMash 2012 Sessions</title>
			<link>http://www.pheedcontent.com/click.phdo?i=2a606ae9117d13298ee6af84ad46999a</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-640256_CodeMash_2012_Sessions.aspx</pheedo:origLink>
			<description>&lt;p&gt;&lt;a rel='nofollow' href="http://codemash.org/"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://stevesmithblog.com/files/media/image/Windows-Live-Writer/CodeMash-Sessions_CBB8/image_3.png" width="206" height="209" /&gt;&lt;/a&gt;Last week I presented two half-day workshops at &lt;a rel='nofollow' href="http://codemash.org/"&gt;CodeMashs&lt;/a&gt; PreCompiler on Wednesday (with Brendan Enrick), and a session on ASP.NET MVC 4 on Thursday.&amp;#160; CodeMash 2012 was an amazing conference and Id like to personally thank the organizers as well as the attendees of my own events for making it such a great event.&amp;#160; Ill post a separate write-up with my experiences shortly  for now I just need to get my slides and demos posted for folks who want them.&lt;/p&gt;  &lt;h2&gt;Beginning Software Craftsmanship&lt;/h2&gt;  &lt;p&gt;The morning PreCompiler was on Beginning Software Craftsmanship, and included some presentations on software craftsmanship, deliberate practice, testing, and pairing.&amp;#160; We had about 25 people in attendance, which was just about perfect for the room we had.&amp;#160; Unfortunately, we had a tiny little 6 screen to present on, but we made it work and thankfully most of this workshop involves hands-on coding, not watching slides.&amp;#160; The group worked through the &lt;a rel='nofollow' href="http://nimblepros.com/katas"&gt;Prime Factors kata&lt;/a&gt; several times, and then the &lt;a rel='nofollow' href="http://nimblepros.com/katas"&gt;String Calculator kata&lt;/a&gt;.&amp;#160; You can &lt;a rel='nofollow' href="http://ssmith-presentations.s3.amazonaws.com/CodeMash2012BeginningSoftwareCraftsmanship.zip"&gt;download the Beginning Software Craftsmanship slides, katas, and the FizzBuzz demo that Brendan and I worked through here&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;Intermediate Software Craftsmanship&lt;/h2&gt;  &lt;p&gt;In the afternoon PreCompiler, we continued delving into software craftsmanship and practice, with an emphasis on writing quality code.&amp;#160; There was a quick repeat presentation on why software craftsmanship and practice are important, which was good since the afternoon session was standing room only with over 50 people in it at one point, so there were many new faces in addition to folks from the morning session.&amp;#160; Brendan and I presented one lecture on refactoring and SOLID principles to set up the next kata, the &lt;a rel='nofollow' href="http://nimblepros.com/katas"&gt;Gilded Rose refactoring kata&lt;/a&gt;.&amp;#160; This kata starts with some existing working code, which we provided in several different languages from online sources:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a rel='nofollow' href="http://github.com/professor/GildedRose"&gt;http://github.com/professor/GildedRose&lt;/a&gt; Ruby&lt;/li&gt;    &lt;li&gt;&lt;a rel='nofollow' href="http://github.com/NotMyself/GildedRose"&gt;http://github.com/NotMyself/GildedRose&lt;/a&gt; C#&lt;/li&gt;    &lt;li&gt;&lt;a rel='nofollow' href="http://github.com/wouterla/GildedRose"&gt;http://github.com/wouterla/GildedRose&lt;/a&gt; Java&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The intent of this kata is to practice your refactoring skills, and also to practice working with legacy code that has no test coverage and is in fact very difficult to get under test.&amp;#160; Working in pairs, the teams sought to implement the new feature requested in the kata while following the constraints and attempting to improve the overall design of the code (by, for instance, making it more &lt;a rel='nofollow' href="http://deviq.com/don-t-repeat-yourself"&gt;DRY&lt;/a&gt; and applying the &lt;a rel='nofollow' href="http://deviq.com/solid"&gt;SOLID principles&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Following the Gilded Rose kata, we worked through the Greed kata, which implements the rules of a simple dice game.&amp;#160; Included in the download below are several implementations of this kata in C#, including one that uses a rules engine that allows new rules to be added while following the &lt;a rel='nofollow' href="http://deviq.com/open-closed-principle"&gt;Open/Closed Principle&lt;/a&gt; (no changes need to be made to the scoring logic classes).&lt;/p&gt;  &lt;p&gt;&lt;a rel='nofollow' href="http://ssmith-presentations.s3.amazonaws.com/CodeMash2012IntermediateSoftwareCraftsmanship.zip"&gt;Download the Intermediate Software Craftsmanship slides, katas, and demos here&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;A Lap Around ASP.NET MVC 4&lt;/h2&gt;  &lt;p&gt;On Thursday I gave a morning session on ASP.NET MVC 4.&amp;#160; Unfortunately, I wasnt able to talk about some of the new features that were under development due to NDA restrictions.&amp;#160; However, that kind of changed about 30 minutes before my talk when Scott Hanselman announced several of the previously private features that were coming to MVC 4, namely integration of Web API directly into MVC and a few new project templates, including a single-page application template.&amp;#160; Look for more info on these topics on &lt;a rel='nofollow' href="http://hanselman.com/"&gt;Scotts blog&lt;/a&gt; and/or from &lt;a rel='nofollow' href="http://weblogs.asp.net/scottgu/"&gt;the Gu himself&lt;/a&gt;, soon.&lt;/p&gt;  &lt;p&gt;My session focused on the new mobile features, recipes, and async features of MVC 4.&amp;#160; You can find my &lt;a rel='nofollow' href="http://ssmith-presentations.s3.amazonaws.com/CodeMash2012LapAroundASPNETMVC4.zip"&gt;Lap Around ASP.NET MVC 4 slides and demos here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope you enjoyed &lt;a rel='nofollow' href="http://codemash.org/"&gt;CodeMash&lt;/a&gt; and I look forward to seeing you again soon.&amp;#160; Feel free to follow me on &lt;a rel='nofollow' href="http://twitter.com/ardalis"&gt;twitter (@ardalis)&lt;/a&gt; to join the conversation!&lt;/p&gt;&lt;p&gt;&lt;a rel='nofollow' href="http://feedads.g.doubleclick.net/~a/LH9Lq0Furf-UTSaeol0GOg-P1So/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LH9Lq0Furf-UTSaeol0GOg-P1So/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;&lt;a rel='nofollow' href="http://feedads.g.doubleclick.net/~a/LH9Lq0Furf-UTSaeol0GOg-P1So/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LH9Lq0Furf-UTSaeol0GOg-P1So/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a rel='nofollow' href="http://feeds.stevesmithblog.com/~ff/StevenSmith?a=XlIOOiZncG4:7ZV20gvLbVA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StevenSmith?i=XlIOOiZncG4:7ZV20gvLbVA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a rel='nofollow' href="http://feeds.stevesmithblog.com/~ff/StevenSmith?a=XlIOOiZncG4:7ZV20gvLbVA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StevenSmith?i=XlIOOiZncG4:7ZV20gvLbVA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a rel='nofollow' href="http://feeds.stevesmithblog.com/~ff/StevenSmith?a=XlIOOiZncG4:7ZV20gvLbVA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StevenSmith?i=XlIOOiZncG4:7ZV20gvLbVA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/StevenSmith/~4/XlIOOiZncG4" height="1" width="1"/&gt;&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=2a606ae9117d13298ee6af84ad46999a&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=2a606ae9117d13298ee6af84ad46999a&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>Steven Smith</author>
			<pubDate>Mon, 16 Jan 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>CodeMash 2012 Sessions</title>
			<link>http://www.pheedcontent.com/click.phdo?i=c680a820fff12838f2d0e514418b7b09</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-634909_CodeMash_2012_Sessions.aspx</pheedo:origLink>
			<description>&lt;p&gt;&lt;a rel='nofollow' href="http://codemash.org/"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 5px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://stevesmithblog.com/files/media/image/Windows-Live-Writer/CodeMash-Sessions_CBB8/image_3.png" width="206" height="209" /&gt;&lt;/a&gt;Last week I presented two half-day workshops at &lt;a rel='nofollow' href="http://codemash.org/"&gt;CodeMashs&lt;/a&gt; PreCompiler on Wednesday (with Brendan Enrick), and a session on ASP.NET MVC 4 on Thursday.&amp;#160; CodeMash 2012 was an amazing conference and Id like to personally thank the organizers as well as the attendees of my own events for making it such a great event.&amp;#160; Ill post a separate write-up with my experiences shortly  for now I just need to get my slides and demos posted for folks who want them.&lt;/p&gt;  &lt;h2&gt;Beginning Software Craftsmanship&lt;/h2&gt;  &lt;p&gt;The morning PreCompiler was on Beginning Software Craftsmanship, and included some presentations on software craftsmanship, deliberate practice, testing, and pairing.&amp;#160; We had about 25 people in attendance, which was just about perfect for the room we had.&amp;#160; Unfortunately, we had a tiny little 6 screen to present on, but we made it work and thankfully most of this workshop involves hands-on coding, not watching slides.&amp;#160; The group worked through the &lt;a rel='nofollow' href="http://nimblepros.com/katas"&gt;Prime Factors kata&lt;/a&gt; several times, and then the &lt;a rel='nofollow' href="http://nimblepros.com/katas"&gt;String Calculator kata&lt;/a&gt;.&amp;#160; You can &lt;a rel='nofollow' href="http://ssmith-presentations.s3.amazonaws.com/CodeMash2012BeginningSoftwareCraftsmanship.zip"&gt;download the Beginning Software Craftsmanship slides, katas, and the FizzBuzz demo that Brendan and I worked through here&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;Intermediate Software Craftsmanship&lt;/h2&gt;  &lt;p&gt;In the afternoon PreCompiler, we continued delving into software craftsmanship and practice, with an emphasis on writing quality code.&amp;#160; There was a quick repeat presentation on why software craftsmanship and practice are important, which was good since the afternoon session was standing room only with over 50 people in it at one point, so there were many new faces in addition to folks from the morning session.&amp;#160; Brendan and I presented one lecture on refactoring and SOLID principles to set up the next kata, the &lt;a rel='nofollow' href="http://nimblepros.com/katas"&gt;Gilded Rose refactoring kata&lt;/a&gt;.&amp;#160; This kata starts with some existing working code, which we provided in several different languages from online sources:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a rel='nofollow' href="http://github.com/professor/GildedRose"&gt;http://github.com/professor/GildedRose&lt;/a&gt; Ruby&lt;/li&gt;    &lt;li&gt;&lt;a rel='nofollow' href="http://github.com/NotMyself/GildedRose"&gt;http://github.com/NotMyself/GildedRose&lt;/a&gt; C#&lt;/li&gt;    &lt;li&gt;&lt;a rel='nofollow' href="http://github.com/wouterla/GildedRose"&gt;http://github.com/wouterla/GildedRose&lt;/a&gt; Java&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The intent of this kata is to practice your refactoring skills, and also to practice working with legacy code that has no test coverage and is in fact very difficult to get under test.&amp;#160; Working in pairs, the teams sought to implement the new feature requested in the kata while following the constraints and attempting to improve the overall design of the code (by, for instance, making it more &lt;a rel='nofollow' href="http://deviq.com/don-t-repeat-yourself"&gt;DRY&lt;/a&gt; and applying the &lt;a rel='nofollow' href="http://deviq.com/solid"&gt;SOLID principles&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Following the Gilded Rose kata, we worked through the Greed kata, which implements the rules of a simple dice game.&amp;#160; Included in the download below are several implementations of this kata in C#, including one that uses a rules engine that allows new rules to be added while following the &lt;a rel='nofollow' href="http://deviq.com/open-closed-principle"&gt;Open/Closed Principle&lt;/a&gt; (no changes need to be made to the scoring logic classes).&lt;/p&gt;  &lt;p&gt;&lt;a rel='nofollow' href="http://ssmith-presentations.s3.amazonaws.com/CodeMash2012IntermediateSoftwareCraftsmanship.zip"&gt;Download the Intermediate Software Craftsmanship slides, katas, and demos here&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;A Lap Around ASP.NET MVC 4&lt;/h2&gt;  &lt;p&gt;On Thursday I gave a morning session on ASP.NET MVC 4.&amp;#160; Unfortunately, I wasnt able to talk about some of the new features that were under development due to NDA restrictions.&amp;#160; However, that kind of changed about 30 minutes before my talk when Scott Hanselman announced several of the previously private features that were coming to MVC 4, namely integration of Web API directly into MVC and a few new project templates, including a single-page application template.&amp;#160; Look for more info on these topics on &lt;a rel='nofollow' href="http://hanselman.com/"&gt;Scotts blog&lt;/a&gt; and/or from &lt;a rel='nofollow' href="http://weblogs.asp.net/scottgu/"&gt;the Gu himself&lt;/a&gt;, soon.&lt;/p&gt;  &lt;p&gt;My session focused on the new mobile features, recipes, and async features of MVC 4.&amp;#160; You can find my &lt;a rel='nofollow' href="http://ssmith-presentations.s3.amazonaws.com/CodeMash2012LapAroundASPNETMVC4.zip"&gt;Lap Around ASP.NET MVC 4 slides and demos here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope you enjoyed &lt;a rel='nofollow' href="http://codemash.org/"&gt;CodeMash&lt;/a&gt; and I look forward to seeing you again soon.&amp;#160; Feel free to follow me on &lt;a rel='nofollow' href="http://twitter.com/ardalis"&gt;twitter (@ardalis)&lt;/a&gt; to join the conversation!&lt;/p&gt;&lt;p&gt;&lt;a rel='nofollow' href="http://feedads.g.doubleclick.net/~a/E8tp2h9EsgTElwzR8GUjYZCxaCA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E8tp2h9EsgTElwzR8GUjYZCxaCA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;&lt;a rel='nofollow' href="http://feedads.g.doubleclick.net/~a/E8tp2h9EsgTElwzR8GUjYZCxaCA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E8tp2h9EsgTElwzR8GUjYZCxaCA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a rel='nofollow' href="http://feeds.stevesmithblog.com/~ff/StevenSmith?a=xmfJ6bposs4:D8A9Vb57lco:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StevenSmith?i=xmfJ6bposs4:D8A9Vb57lco:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a rel='nofollow' href="http://feeds.stevesmithblog.com/~ff/StevenSmith?a=xmfJ6bposs4:D8A9Vb57lco:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StevenSmith?i=xmfJ6bposs4:D8A9Vb57lco:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a rel='nofollow' href="http://feeds.stevesmithblog.com/~ff/StevenSmith?a=xmfJ6bposs4:D8A9Vb57lco:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/StevenSmith?i=xmfJ6bposs4:D8A9Vb57lco:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/StevenSmith/~4/xmfJ6bposs4" height="1" width="1"/&gt;&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=c680a820fff12838f2d0e514418b7b09&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=c680a820fff12838f2d0e514418b7b09&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>Steven Smith</author>
			<pubDate>Mon, 16 Jan 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Presented By:]]></title>
			<link>http://ads.pheedo.com/click.phdo?s=c680a820fff12838f2d0e514418b7b09&amp;p=4</link>
			<guid isPermaLink="false">c680a820fff12838f2d0e514418b7b09</guid>
			<description><![CDATA[<a href="http://ads.pheedo.com/click.phdo?s=c680a820fff12838f2d0e514418b7b09&amp;p=4"><img alt="" style="border: 0;" border="0" src="http://ads.pheedo.com/img.phdo?s=c680a820fff12838f2d0e514418b7b09&amp;p=4"/></a>]]></description>
			<pubDate>Mon, 16 Jan 2012 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>JustCode Release History : Q3 2011 SP1 (v2011.3.1221)</title>
			<link>http://www.pheedcontent.com/click.phdo?i=d24704fc613be08e0a2ab2d51295fbf3</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-619509_JustCode_Release_History_Q3_2011_SP1_v2011_3_1221.aspx</pheedo:origLink>
			<description>JustCode Q3 2011 SP1 (v2011.3.1221) Major highlights  Improved performance Reduced memory footprint Improved code templates  Improvements  New warning "Type does not match file name" for nested types Key Mappings Window: it will now reorder the sections to be more balanced if needed Improved refactoring "Introduce Field": if executed on a variable declaration, it promotes the variable to a field Added "Filter By" field in "ToDo Navigator"; it can filter by File, Project or Type Added "Filter By"...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=d24704fc613be08e0a2ab2d51295fbf3&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=d24704fc613be08e0a2ab2d51295fbf3&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>Telerik News RSS Feed</author>
			<pubDate>Wed, 21 Dec 2011 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>How to present PowerPoint slides with a WinForms Tiles App</title>
			<link>http://www.pheedcontent.com/click.phdo?i=296ec6fbbfc09c65197a34bdf42fcbb0</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-616078_How_to_present_PowerPoint_slides_with_a_WinForms_Tiles_App.aspx</pheedo:origLink>
			<description>Check out this slick little application I built using the new DevExpress WinForms Tile controls for my touch webinar:    Quick &amp; fun  This app took me about 15 minutes to create. And I wrote it for 2 main reasons:     It&amp;#39;s a fun way to learn the new DevExpress WinForms Tile suite     And it&amp;#39;s a great way to show touch features    Creating a slick and useful app quickly like my TileControlPowerPoint is what DevExpress productivity is all about.  How it&amp;#39;s made  This visually stunning application...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=296ec6fbbfc09c65197a34bdf42fcbb0&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=296ec6fbbfc09c65197a34bdf42fcbb0&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>The ASPx Blog</author>
			<pubDate>Thu, 15 Dec 2011 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Presented By:]]></title>
			<link>http://ads.pheedo.com/click.phdo?s=296ec6fbbfc09c65197a34bdf42fcbb0&amp;p=4</link>
			<guid isPermaLink="false">296ec6fbbfc09c65197a34bdf42fcbb0</guid>
			<description><![CDATA[<a href="http://ads.pheedo.com/click.phdo?s=296ec6fbbfc09c65197a34bdf42fcbb0&amp;p=4"><img alt="" style="border: 0;" border="0" src="http://ads.pheedo.com/img.phdo?s=296ec6fbbfc09c65197a34bdf42fcbb0&amp;p=4"/></a>]]></description>
			<pubDate>Thu, 15 Dec 2011 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>.NET Unit Testing Webinar Series - Free Webinars on ASP.NET and .NET Unit Testing</title>
			<link>http://www.pheedcontent.com/click.phdo?i=363f7d014d83cd6c356e8cb610601427</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-607928_NET_Unit_Testing_Webinar_Series_Free_Webinars_on_ASP_NET_and_NET_Unit_Testing.aspx</pheedo:origLink>
			<description>Typemock is hosting a special series of webinars to help you begin the new year with improved software quality. There are webinars appropriate for every level.Reducing Bugs Faster: Introduction to Unit TestingUnit testing is considered one of the basic principles for code quality, and indeed agile development. From the outside it may look like it&amp;rsquo;s hard to begin, or can take a long time to implement and doesn&amp;rsquo;t provide significant benefit.&amp;nbsp;Join this webinar&amp;nbsp;to learn what...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=363f7d014d83cd6c356e8cb610601427&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=363f7d014d83cd6c356e8cb610601427&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>ASP.NET Announcements</author>
			<pubDate>Thu, 01 Dec 2011 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Roslyn Syntax Visualizers</title>
			<link>http://www.pheedcontent.com/click.phdo?i=c94f0f14aaeffd2b58528292c28be857</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-600985_Roslyn_Syntax_Visualizers.aspx</pheedo:origLink>
			<description>Hi All! A few weeks ago, we announced the Microsoft "Roslyn" CTP. I hope many of you have had a chance to download the CTP and take it for a spin :) If you haven&amp;rsquo;t, do give it a try.To recap &amp;ndash; in the Roslyn CTP, we are previewing a powerful set of language services APIs that you can use within your apps to reason about C# and VB code. We are also previewing IDE extensibility points for C# and VB that will allow you to build rich code refactorings, quick fixes etc. that run inside Visual...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=c94f0f14aaeffd2b58528292c28be857&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=c94f0f14aaeffd2b58528292c28be857&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>C# Frequently Asked Questions</author>
			<pubDate>Sat, 19 Nov 2011 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Presented By:]]></title>
			<link>http://ads.pheedo.com/click.phdo?s=c94f0f14aaeffd2b58528292c28be857&amp;p=4</link>
			<guid isPermaLink="false">c94f0f14aaeffd2b58528292c28be857</guid>
			<description><![CDATA[<a href="http://ads.pheedo.com/click.phdo?s=c94f0f14aaeffd2b58528292c28be857&amp;p=4"><img alt="" style="border: 0;" border="0" src="http://ads.pheedo.com/img.phdo?s=c94f0f14aaeffd2b58528292c28be857&amp;p=4"/></a>]]></description>
			<pubDate>Sat, 19 Nov 2011 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Roslyn Syntax Visualizers</title>
			<link>http://www.pheedcontent.com/click.phdo?i=db7e4d73dcff7d84a246cebc1e30867c</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-600984_Roslyn_Syntax_Visualizers.aspx</pheedo:origLink>
			<description>Hi All! A few weeks ago, we announced the Microsoft "Roslyn" CTP. I hope many of you have had a chance to download the CTP and take it for a spin :) If you haven&amp;rsquo;t, do give it a try.To recap &amp;ndash; in the Roslyn CTP, we are previewing a powerful set of language services APIs that you can use within your apps to reason about VB and C# code. We are also previewing IDE extensibility points for VB and C# that will allow you to build rich code refactorings, quick fixes etc. that run inside Visual...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=db7e4d73dcff7d84a246cebc1e30867c&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=db7e4d73dcff7d84a246cebc1e30867c&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>The Visual Basic Team</author>
			<pubDate>Sat, 19 Nov 2011 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>JustCode Release History : Q3 2011 (v2011.3.1116)</title>
			<link>http://www.pheedcontent.com/click.phdo?i=099dbb9dd3931d408004bc220472eedc</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-600293_JustCode_Release_History_Q3_2011_v2011_3_1116.aspx</pheedo:origLink>
			<description>JustCode Q3 2011 (v2011.3.1116) Major highlights  CSS support Razor support Visual Studio 11 support Key Mappings window  Improvements  Visual Studio 11 support CSS support:     Solution-wide analysis for errors and warnings Navigation feature "Go To Member" finds CSS properties selectors Navigation feature "Find Matching CSS Rule Sets" for a given HTML element Navigation feature "Find Matching HTML Elements" for a given CSS rule set Navigation feature "Find Usages" on a CSS class/id finds all...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=099dbb9dd3931d408004bc220472eedc&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=099dbb9dd3931d408004bc220472eedc&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>Telerik News RSS Feed</author>
			<pubDate>Thu, 17 Nov 2011 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Presented By:]]></title>
			<link>http://ads.pheedo.com/click.phdo?s=099dbb9dd3931d408004bc220472eedc&amp;p=4</link>
			<guid isPermaLink="false">099dbb9dd3931d408004bc220472eedc</guid>
			<description><![CDATA[<a href="http://ads.pheedo.com/click.phdo?s=099dbb9dd3931d408004bc220472eedc&amp;p=4"><img alt="" style="border: 0;" border="0" src="http://ads.pheedo.com/img.phdo?s=099dbb9dd3931d408004bc220472eedc&amp;p=4"/></a>]]></description>
			<pubDate>Thu, 17 Nov 2011 00:00:00 GMT</pubDate>
		</item>
		<item>
			<title>CodeSmith Generator 6.0Status, Website and Future</title>
			<link>http://www.pheedcontent.com/click.phdo?i=6fbbaed67ec0415148272d7648b9e23b</link>
			<pheedo:origLink>http://dotnetslackers.com/Refactor/re-596415_CodeSmith_Generator_6_0_Status_Website_and_Future.aspx</pheedo:origLink>
			<description>We are on the home stretch of Generator 6.0 and things have come together really nicely.&amp;#160; This is going to be a great release!&amp;#160; We have been mostly working on performance, memory utilization and bug fixes, and we are doing really good on all fronts now.&amp;#160; The feedback we have been getting is very positive and everyone seems to love the new version.&amp;#160; We are really excited to get this release out the door, but we have some house cleaning to finish first.  I have been working on making...&lt;p&gt;Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: &lt;a href='http://dotnetslackers.com/articles/default.aspx'&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot;/&gt;
&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=6fbbaed67ec0415148272d7648b9e23b&amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=6fbbaed67ec0415148272d7648b9e23b&amp;p=1&quot;/&gt;&lt;/a&gt;
&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://tags.bluekai.com/site/5148&quot;/&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; width=&quot;0&quot; border=&quot;0&quot; style=&quot;display:none&quot; src=&quot;http://insight.adsrvr.org/track/evnt/?ct=0:8pyu3gz&amp;adv=wouzn4v&amp;fmt=3&quot;/&gt;</description>
			<author>Eric J. Smiths Weblog</author>
			<pubDate>Thu, 10 Nov 2011 00:00:00 GMT</pubDate>
		</item>
	</channel>
</rss>
