<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Spencer Prahl</title><link>http://blogs.crsw.com/spence/</link><description>.Net Developer &amp; Architect</description><managingEditor>Spence Prahl</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Spence Prahl</dc:creator><title>Mock Unit Testing with Dependency Injection</title><link>http://blogs.crsw.com/spence/archive/2006/11/13/3430.aspx</link><pubDate>Mon, 13 Nov 2006 15:21:00 GMT</pubDate><guid>http://blogs.crsw.com/spence/archive/2006/11/13/3430.aspx</guid><wfw:comment>http://blogs.crsw.com/spence/comments/3430.aspx</wfw:comment><comments>http://blogs.crsw.com/spence/archive/2006/11/13/3430.aspx#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://blogs.crsw.com/spence/comments/commentRss/3430.aspx</wfw:commentRss><trackback:ping>http://blogs.crsw.com/spence/services/trackbacks/3430.aspx</trackback:ping><description>&lt;P&gt;&lt;STRONG&gt;Mock Unit Testing with Dependency Injection&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.crsw.com/spence/articles/MockTesting.aspx"&gt;Get the complete article here&lt;/A&gt; &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;In software development, unit testing is performed to validate a small module or portion of functionality at a fundamental level. Test cases are written at the function or procedure level to validate inputs and outputs. Several test cases can be written to validate a given piece of functionality and then, when new functionality is added or changed, the existing test cases can be used to validate that existing functionality has not been affected.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;In theory, unit testing sounds like an effective tool that can be used to improve application quality. The improved quality comes at a price however, because developers must take into account the additional effort required to develop useful and relevant test cases while still meeting deadlines.&amp;nbsp; To complicate matters, many application components rely upon other components and domain state to function properly, increasing the test effort.&amp;nbsp; An application component may require a database, a web service, or even the current outside temperature in order to work properly. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.crsw.com/spence/articles/MockTesting.aspx"&gt;Get the complete article here&lt;/A&gt; &lt;/P&gt;&lt;img src ="http://blogs.crsw.com/spence/aggbug/3430.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Spence Prahl</dc:creator><title>Glass Art and Jewelry</title><link>http://blogs.crsw.com/spence/archive/2006/01/20/1641.aspx</link><pubDate>Fri, 20 Jan 2006 07:25:00 GMT</pubDate><guid>http://blogs.crsw.com/spence/archive/2006/01/20/1641.aspx</guid><wfw:comment>http://blogs.crsw.com/spence/comments/1641.aspx</wfw:comment><comments>http://blogs.crsw.com/spence/archive/2006/01/20/1641.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.crsw.com/spence/comments/commentRss/1641.aspx</wfw:commentRss><trackback:ping>http://blogs.crsw.com/spence/services/trackbacks/1641.aspx</trackback:ping><description>If anyone is interested in finding some very nice, high quality, glass art or jewelry, &lt;A href="http://www.spiritofdelight.com/"&gt;Spirit of Delight&lt;/A&gt; has some very interesting pieces. These things are made by a friend of mine and I've seen them. The pieces are very high quality and some of the details are extremely impressive! Check it out. &lt;img src ="http://blogs.crsw.com/spence/aggbug/1641.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Spence Prahl</dc:creator><title>Updated VAPr Skin for .Text 0.96</title><link>http://blogs.crsw.com/spence/archive/2006/01/17/1637.aspx</link><pubDate>Tue, 17 Jan 2006 15:37:00 GMT</pubDate><guid>http://blogs.crsw.com/spence/archive/2006/01/17/1637.aspx</guid><wfw:comment>http://blogs.crsw.com/spence/comments/1637.aspx</wfw:comment><comments>http://blogs.crsw.com/spence/archive/2006/01/17/1637.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.crsw.com/spence/comments/commentRss/1637.aspx</wfw:commentRss><trackback:ping>http://blogs.crsw.com/spence/services/trackbacks/1637.aspx</trackback:ping><description>It's still not perfect, but&amp;nbsp;it is better. I still am not happy with the colors, but the performance is better. If anyone would like the updated skin, you can get it &lt;A href="http://blogs.crsw.com/spence/files/VAPr-v0.96-2006-01-17.zip"&gt;here.&lt;/A&gt;&lt;img src ="http://blogs.crsw.com/spence/aggbug/1637.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Spence Prahl</dc:creator><title>Use the .Net CodeDOM to compile C# On the Fly </title><link>http://blogs.crsw.com/spence/archive/2005/12/08/1596.aspx</link><pubDate>Thu, 08 Dec 2005 10:44:00 GMT</pubDate><guid>http://blogs.crsw.com/spence/archive/2005/12/08/1596.aspx</guid><wfw:comment>http://blogs.crsw.com/spence/comments/1596.aspx</wfw:comment><comments>http://blogs.crsw.com/spence/archive/2005/12/08/1596.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blogs.crsw.com/spence/comments/commentRss/1596.aspx</wfw:commentRss><trackback:ping>http://blogs.crsw.com/spence/services/trackbacks/1596.aspx</trackback:ping><description>&lt;P&gt;&lt;STRONG&gt;Use the .Net CodeDOM to compile C# On the Fly &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.crsw.com/spence/articles/1595.aspx"&gt;Get the complete article here&lt;/A&gt; &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Wouldn't it be nice if you could extend an existing application's functionality without re-compiling the entire application? There is a solution! The .Net &lt;STRONG&gt;CodeDOM&lt;/STRONG&gt; provides a way to do just that. The &lt;STRONG&gt;CodeDOM&lt;/STRONG&gt; provides a way to create a source code&amp;nbsp;object graph by defining source code elements. Once these source code elements are defined, the &lt;STRONG&gt;CodeDOM &lt;/STRONG&gt;can be used to compile the objects. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.crsw.com/spence/articles/1595.aspx"&gt;Get the complete article here&lt;/A&gt; &lt;/P&gt;&lt;img src ="http://blogs.crsw.com/spence/aggbug/1596.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Spence Prahl</dc:creator><title>Check out Joe's Oyster Bar in Mazatlan</title><link>http://blogs.crsw.com/spence/archive/2005/07/07/1310.aspx</link><pubDate>Thu, 07 Jul 2005 08:14:00 GMT</pubDate><guid>http://blogs.crsw.com/spence/archive/2005/07/07/1310.aspx</guid><wfw:comment>http://blogs.crsw.com/spence/comments/1310.aspx</wfw:comment><comments>http://blogs.crsw.com/spence/archive/2005/07/07/1310.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.crsw.com/spence/comments/commentRss/1310.aspx</wfw:commentRss><trackback:ping>http://blogs.crsw.com/spence/services/trackbacks/1310.aspx</trackback:ping><description>On a recent trip to Mazatlan Mexico, I found a fun place to go. It is Joe's Oyster Bar. If you are ever in Mazatlan, I recommend going. The atmosphere is casual and laid back. Check out a review &lt;A href="http://www.bootsnall.com/articles/01-02/mazatlan-mexico-bars.html"&gt;here&lt;/A&gt;.&lt;img src ="http://blogs.crsw.com/spence/aggbug/1310.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Spence Prahl</dc:creator><title>Enhancing the ASP.Net Validation Summary Control</title><link>http://blogs.crsw.com/spence/archive/2005/07/07/1308.aspx</link><pubDate>Thu, 07 Jul 2005 07:47:00 GMT</pubDate><guid>http://blogs.crsw.com/spence/archive/2005/07/07/1308.aspx</guid><wfw:comment>http://blogs.crsw.com/spence/comments/1308.aspx</wfw:comment><comments>http://blogs.crsw.com/spence/archive/2005/07/07/1308.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.crsw.com/spence/comments/commentRss/1308.aspx</wfw:commentRss><trackback:ping>http://blogs.crsw.com/spence/services/trackbacks/1308.aspx</trackback:ping><description>&lt;P&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: Arial"&gt;Enhancing the ASP.Net Validation Summary Control&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;A href="http://blogs.crsw.com/spence/articles/1307.aspx"&gt;Get the complete article here&lt;/A&gt; 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;The standard Validation Summary control in ASP.Net provides some useful functionality that enhances ASP.Net validation. However, there are instances when the standard functionality is not quite enough. For example, a client-side validator won&amp;#8217;t suffice when input data must be validated against data in a database. &lt;B&gt;Scott Juranek&lt;/B&gt; has provided a good way to add validation messages to a ValidationSummary control when server-side validation takes place. His project can be found on &lt;A href="http://www.codeproject.com/aspnet/validationsummary.asp"&gt;CodeProject&lt;/A&gt;. His project explains an instance where client-side validation is not practical when validating data from a database.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Scott&amp;#8217;s example covers another scenario that I recently encountered. Say you have a DataGrid that has multiple editable columns and rows and each cell has its own validator. The validators each have the same values for the ErrorMessage and Text properties. When there are multiple failures in the DataGrid, the ValidationSummary control will display a message for each failed validator which could result in multiple messages listed, each with the same message. The result is a long list of repeated error messages in the ValidationSummary control. &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;A href="http://blogs.crsw.com/spence/articles/1307.aspx"&gt;Get the complete article here&lt;/A&gt; &lt;img src ="http://blogs.crsw.com/spence/aggbug/1308.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Spence Prahl</dc:creator><title>One Step Closer to MCSD</title><link>http://blogs.crsw.com/spence/archive/2005/06/15/1061.aspx</link><pubDate>Wed, 15 Jun 2005 07:50:00 GMT</pubDate><guid>http://blogs.crsw.com/spence/archive/2005/06/15/1061.aspx</guid><wfw:comment>http://blogs.crsw.com/spence/comments/1061.aspx</wfw:comment><comments>http://blogs.crsw.com/spence/archive/2005/06/15/1061.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.crsw.com/spence/comments/commentRss/1061.aspx</wfw:commentRss><trackback:ping>http://blogs.crsw.com/spence/services/trackbacks/1061.aspx</trackback:ping><description>&lt;P&gt;Without violating the NDA, I thought I would provide some information about how I prepared for the Microsoft exam 70-300 Analyzing Requirements and Defining Microsoft .NET Solution Architectures. &lt;/P&gt;&lt;BR&gt;
&lt;P&gt;First, I read the Microsoft Press book (twice!). As it turned out, that was overkill. The information in the book is useful and I don't regret reading it, however, there is no substitute for &amp;#8220;real-life&amp;#8221; experience. The book describes the Microsoft Solutions Framework development process in detail. It covers the entire process from defining the vision and scope of a project to developing, testing, and implementing a solution. &lt;/P&gt;&lt;A href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0735618941&amp;link_code=as2&amp;camp=1789&amp;tag=spencerprahl-20&amp;creative=9325"&gt;&lt;IMG src="http://images.amazon.com/images/P/0735618941.01._SCTZZZZZZZ_.jpg" border=0&gt;&lt;/A&gt;&lt;IMG style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: 0px; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none" height=1 alt="" src="http://www.assoc-amazon.com/e/ir?t=spencerprahl-20&amp;l=as2&amp;o=1&amp;a=0735618941" width=1 border=0&gt; 
&lt;P&gt;The second, and probably more valuable tool I utilized, was the Transcender practice exams. They not only covered all of the relevant material, but also mirrored the format of the exam, which is a bit different from the Microsoft exams I have taken. In addition, the Transcender exams highlighted areas that were not covered in detail in the book, which forced me to look to other sources for information. I would recommend extra study time on ORM and ER for data modeling. When I took the first Transcender exam, I failed it miserably. Because of this, I was a bit intimidated and reluctant to take the exam. All for nothing! I passed and it turned out to be a bit easier than I expected. 
&lt;P&gt;
&lt;P&gt; &lt;/P&gt;&lt;img src ="http://blogs.crsw.com/spence/aggbug/1061.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Spence Prahl</dc:creator><title>VAPr Skin for .Text 0.95</title><link>http://blogs.crsw.com/spence/archive/2005/05/23/935.aspx</link><pubDate>Mon, 23 May 2005 16:45:00 GMT</pubDate><guid>http://blogs.crsw.com/spence/archive/2005/05/23/935.aspx</guid><wfw:comment>http://blogs.crsw.com/spence/comments/935.aspx</wfw:comment><comments>http://blogs.crsw.com/spence/archive/2005/05/23/935.aspx#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://blogs.crsw.com/spence/comments/commentRss/935.aspx</wfw:commentRss><trackback:ping>http://blogs.crsw.com/spence/services/trackbacks/935.aspx</trackback:ping><description>&lt;P align=left&gt;&lt;STRONG&gt;VAPr skin for .Text 0.95&lt;/STRONG&gt;&lt;/P&gt;
&lt;P align=left&gt;This is my first .Text skin! It was interesting to try this. Configuring the .Text framework to add the skin was the easy part. I definately need some practice editing images. The skin is fairly heavy and can cause delays when viewing over slower connections. I will continue to optimize the images and content to improve the performance. Overall, I'm content with this, my first attempt at skinning my blog.&lt;/P&gt;&lt;BR&gt;
&lt;P align=left&gt;&lt;IMG src="/spence/images/VAPr-Red-300.gif" align=bottom&gt;&lt;/P&gt;
&lt;P&gt;See &lt;A href="http://blogs.crsw.com/mark/archive/2004/02/23/205.aspx"&gt;Mark Wagner's&lt;/A&gt; blog for additional information on creating skins. This is a very good article that explains the basics of creating or editing skins for .Text.&lt;/P&gt;
&lt;P&gt;Download the VAPr skin&amp;nbsp;for .Text.&amp;nbsp; This has been written for&amp;nbsp;.Text version 0.95.&amp;nbsp; Please report any problems or suggestions.&amp;nbsp; Your feedback is appreciated.&lt;/P&gt;&lt;BR&gt;
&lt;P&gt;&lt;A href="http://blogs.crsw.com/spence/files/VAPr-v0.95-2005-05-22.zip"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="/mark/images/downloaddisk.gif"&gt;&amp;nbsp;Download&amp;nbsp;&lt;/A&gt;&amp;nbsp;Get the skin here!&lt;/P&gt;
&lt;P&gt;Notes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;I found it much easier to use the style.css to apply styles than to try and add &amp;#8220;custom&amp;#8220; attributes to individual HTML elements. 
&lt;LI&gt;The images definately need work! They are heavy and slow. I think I may have to change my &amp;#8220;look&amp;#8220; in order to reduce the load time.&lt;/LI&gt;&lt;/UL&gt;You can still get the older version &lt;A href="http://blogs.crsw.com/spence/files/VAPr-v0.95-2005-05-22.zip"&gt;here&lt;/A&gt;&lt;img src ="http://blogs.crsw.com/spence/aggbug/935.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Spence Prahl</dc:creator><title>Book: Design Patterns in C# by Steven John Metsker</title><link>http://blogs.crsw.com/spence/archive/2005/04/22/877.aspx</link><pubDate>Fri, 22 Apr 2005 08:52:00 GMT</pubDate><guid>http://blogs.crsw.com/spence/archive/2005/04/22/877.aspx</guid><wfw:comment>http://blogs.crsw.com/spence/comments/877.aspx</wfw:comment><comments>http://blogs.crsw.com/spence/archive/2005/04/22/877.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.crsw.com/spence/comments/commentRss/877.aspx</wfw:commentRss><trackback:ping>http://blogs.crsw.com/spence/services/trackbacks/877.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.amazon.com/exec/obidos/redirect?tag=spencerprahl-20&amp;amp;link_code=am2&amp;amp;path=tg/stores/offering/list/-/0321126971/all/ASIN/0321126971&amp;amp;camp=1789&amp;amp;creative=9325"&gt;&lt;IMG src="http://images.amazon.com/images/P/0321126971.01._SCTZZZZZZZ_.jpg" align=left border=0&gt;&lt;/A&gt;&amp;nbsp; &lt;STRONG&gt;&lt;FONT size=5&gt;Design Patterns in C#&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp; By Steven John Metsker&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Design patterns in programming seem to be gaining popularity. Every experienced programmer has used&amp;nbsp;design patterns in one way or another without even knowing it. Finally, design patterns are being formally defined.&lt;/P&gt;
&lt;P&gt;This book is a great primer to learning design patterns using C#. It is clear and concise. All of the samples are available for download and&amp;nbsp;work well. I am becoming a big fan of design patterns in general and I really like this book!&lt;/P&gt;
&lt;P&gt;Look for this book on &lt;A href="http://www.qk%73rv.net/click-1718055-10370388?SID=0321126971&amp;amp;loc=http%3A%2F%2Fsearch.ebay.com%2F0321126971_W0QQ" target=_blank&gt;&lt;img src="http://www.awltovhc.com/image-1718055-2695978" width="120" height="30" alt="Click here for your favorite eBay items" border="0"&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blogs.crsw.com/spence/aggbug/877.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>