<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Nick Berardi's Coder Journal</title><atom:link href="http://www.coderjournal.com/index.php?feed=feed" rel="self" type="application/rss+xml" /><link>http://www.coderjournal.com</link><description>while(!(succeed = try()));</description><lastBuildDate>Mon, 06 Jul 2009 13:20:03 +0000</lastBuildDate><generator>http://wordpress.org/?v=2.8.1</generator><language>en</language><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-sa/3.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Form over function often fails</title><link>http://feedproxy.google.com/~r/coderjournal/~3/h79IZWEZQH0/</link><comments>http://www.coderjournal.com/2009/07/form-over-function-often-fails/#comments</comments><pubDate>Mon, 06 Jul 2009 13:20:03 +0000</pubDate><dc:creator>Nick Berardi</dc:creator><category><![CDATA[Programming]]></category><category><![CDATA[Rant]]></category><category><![CDATA[ALT.NET]]></category><category><![CDATA[Le Meridian]]></category><category><![CDATA[Starwood]]></category><category><![CDATA[TDD]]></category><category><![CDATA[Unit Testing]]></category><guid isPermaLink="false">http://www.coderjournal.com/?p=701</guid><description><![CDATA[Have you ever been asked to program something as simple as this chain lock for a door:

And after it has gone through the design process, usability groups, your corporate intigration team, and any Tom, Dick, or Harry that wants to put their finger print on the project to get credit.  You end up with something [...]]]></description><content:encoded><![CDATA[<p>Have you ever been asked to program something as simple as this chain lock for a door:</p>
<p><img class="alignnone size-full wp-image-703" title="Door Chain Lock" src="http://www.coderjournal.com/uploads/2009/06/door_chain_n183-590.jpg" alt="Door Chain Lock" width="200" height="200" /></p>
<p>And after it has gone through the design process, usability groups, your corporate intigration team, and any Tom, Dick, or Harry that wants to put their finger print on the project to get credit.  You end up with something like this:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/oPA8-5wWqkA&#038;hl=en&#038;fs=1&#038;color1=0xe1600f&#038;color2=0xfebd01"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/oPA8-5wWqkA&#038;hl=en&#038;fs=1&#038;color1=0xe1600f&#038;color2=0xfebd01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>At least it looks pretty, and functions once as intended.  However every time the door opens after that it fails to work as the user would assume, and gives a false sense of security.  </p>
<p>This is a major security flaw and these are the exact situations, as programmers, we are hired to prevent.  I am not talking about chain locks on a door, but programs that were suppose to serve simple processes, but after going through the design and review machines it came out looking like some Frankin-program.  </p>
<p><strong>This is why as developers, we must create unit tests based off requirements and not based off of the program we have created.</strong>  It is usually easier to get a unit test to pass after we have programmed something, but often times that leads to a false sense of security for both us as developers and the users who rely on the program.  If the second, pretty-looking-lock, was properly unit tested based off the requirements of the first lock, <strong>it would have never made it&#8217;s way in to the high priced Le Meridian hotel in Paris</strong>.</p>
<p><strong>Be sure to unit test to provide both a sense of security for you as the developer and an expected experience for your users.</strong></p>
<p><a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/CJOURNAL/AE6360267450531252CE4F1DD236E13E5CAB2458"><img src="http://theloungenet.com/feeds/img/DOTNETRSS/CJOURNAL/AE6360267450531252CE4F1DD236E13E5CAB2458"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/coderjournal?a=h79IZWEZQH0:A5fN4au7_zU:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=h79IZWEZQH0:A5fN4au7_zU:zYSYRoQSaQY"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=zYSYRoQSaQY" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=h79IZWEZQH0:A5fN4au7_zU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=h79IZWEZQH0:A5fN4au7_zU:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=h79IZWEZQH0:A5fN4au7_zU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=h79IZWEZQH0:A5fN4au7_zU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=h79IZWEZQH0:A5fN4au7_zU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=h79IZWEZQH0:A5fN4au7_zU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=h79IZWEZQH0:A5fN4au7_zU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjournal/~4/h79IZWEZQH0" height="1" width="1"/>]]></content:encoded><wfw:commentRss>http://www.coderjournal.com/2009/07/form-over-function-often-fails/feed/</wfw:commentRss><slash:comments>1</slash:comments><feedburner:origLink>http://www.coderjournal.com/2009/07/form-over-function-often-fails/</feedburner:origLink></item><item><title>Sneak Peek at ASP.NET MVC 1.0 Website Programming: Problem – Design – Solution</title><link>http://feedproxy.google.com/~r/coderjournal/~3/qBPHWM032DU/</link><comments>http://www.coderjournal.com/2009/06/sneak-peek-at-aspnet-mvc-10-website-programming-problem-design-solution/#comments</comments><pubDate>Mon, 08 Jun 2009 17:06:12 +0000</pubDate><dc:creator>Nick Berardi</dc:creator><category><![CDATA[News]]></category><category><![CDATA[Personal]]></category><category><![CDATA[Portfolio]]></category><category><![CDATA[Review]]></category><category><![CDATA[Book]]></category><guid isPermaLink="false">http://www.coderjournal.com/?p=690</guid><description><![CDATA[You can now use the Amazon Look Inside feature to view many parts my book that is going to be released June 22, 2009.  So if you are interested use the links below to go to different parts of the book or search for specific things.

Front Cover
Table of Contents
First Pages
Index
Back Cover
Surprise Me!


 Search Inside This Book:

 


]]></description><content:encoded><![CDATA[<p>You can now use the Amazon Look Inside feature to view many parts <a href="http://www.amazon.com/dp/0470410957?tag=coderjournal-20">my book that is going to be released June 22, 2009</a>.  So if you are interested use the links below to go to different parts of the book or search for specific things.</p>
<ul>
<li><a href="http://www.amazon.com/gp/reader/0470410957/ref=sib_dp_pop_fc?ie=UTF8&amp;p=S001#reader-link">Front Cover</a></li>
<li><a href="http://www.amazon.com/gp/reader/0470410957/ref=sib_dp_pop_toc?ie=UTF8&amp;p=S002#reader-link">Table of Contents</a></li>
<li><a href="http://www.amazon.com/gp/reader/0470410957/ref=sib_dp_pop_ex?ie=UTF8&amp;p=S00U#reader-link">First Pages</a></li>
<li><a href="http://www.amazon.com/gp/reader/0470410957/ref=sib_dp_pop_idx?ie=UTF8&amp;p=S0ES#reader-link">Index</a></li>
<li><a href="http://www.amazon.com/gp/reader/0470410957/ref=sib_dp_pop_bc?ie=UTF8&amp;p=S0FE#reader-link">Back Cover</a></li>
<li><a href="http://www.amazon.com/gp/reader/0470410957/ref=sib_dp_pop_sup?ie=UTF8&amp;p=random#reader-link">Surprise Me!</a></li>
<li>
<form style="margin-top: 0px; margin-bottom: 0px; padding-bottom: 0px;" action="http://www.amazon.com/gp/reader/0470410957/ref=sib_dp_srch_pop" method="get">
<input name="v" type="hidden" value="search-inside" /> <label for="amazon-book-search">Search Inside This Book:</label></p>
<input id="amazon-book-search" class="sitb-pop-inputbox" name="keywords" />
<input alt="Go!" name="go" src="http://g-ecx.images-amazon.com/images/G/01/search-browse/dp-popover-go-button._V252148710_.png" type="image" value="Go!" /> </form>
</li>
</ul>
<p><a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/CJOURNAL/4E97C4A693324F23FBA18ADF8441A9BFB6228D6F"><img src="http://theloungenet.com/feeds/img/DOTNETRSS/CJOURNAL/4E97C4A693324F23FBA18ADF8441A9BFB6228D6F"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/coderjournal?a=qBPHWM032DU:WKB_iw5RVAQ:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=qBPHWM032DU:WKB_iw5RVAQ:zYSYRoQSaQY"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=zYSYRoQSaQY" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=qBPHWM032DU:WKB_iw5RVAQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=qBPHWM032DU:WKB_iw5RVAQ:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=qBPHWM032DU:WKB_iw5RVAQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=qBPHWM032DU:WKB_iw5RVAQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=qBPHWM032DU:WKB_iw5RVAQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=qBPHWM032DU:WKB_iw5RVAQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=qBPHWM032DU:WKB_iw5RVAQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjournal/~4/qBPHWM032DU" height="1" width="1"/>]]></content:encoded><wfw:commentRss>http://www.coderjournal.com/2009/06/sneak-peek-at-aspnet-mvc-10-website-programming-problem-design-solution/feed/</wfw:commentRss><slash:comments>4</slash:comments><feedburner:origLink>http://www.coderjournal.com/2009/06/sneak-peek-at-aspnet-mvc-10-website-programming-problem-design-solution/</feedburner:origLink></item><item><title>Managed Fusion URL Rewriter &amp; Reverse Proxy – Release 3.0</title><link>http://feedproxy.google.com/~r/coderjournal/~3/JZT8pfg4FI8/</link><comments>http://www.coderjournal.com/2009/06/managed-fusion-url-rewriter-reverse-proxy-release-30/#comments</comments><pubDate>Sun, 07 Jun 2009 23:15:41 +0000</pubDate><dc:creator>Nick Berardi</dc:creator><category><![CDATA[News]]></category><category><![CDATA[SEO]]></category><category><![CDATA[Managed Fusion URL Rewriter and Reverse Proxy]]></category><category><![CDATA[URL Rewriter]]></category><guid isPermaLink="false">http://www.coderjournal.com/?p=683</guid><description><![CDATA[I am happy to announce the 3.0 release of the Managed Fusion URL Rewriter &#38; Reverse Proxy.  Since my previous release in February I have been working hard on a significant rewrite of the core, that to be honest really needed refactoring if I hoped to extend the rewriter is some interesting ways in [...]]]></description><content:encoded><![CDATA[<p>I am happy to announce the 3.0 release of the <em>Managed Fusion URL Rewriter &amp; Reverse Proxy</em>.  Since my <a href="http://www.coderjournal.com/2009/02/managed-fusion-url-rewriter-reverse-proxy-release-25/">previous release in February</a> I have been working hard on a significant rewrite of the core, that to be honest really needed refactoring if I hoped to extend the rewriter is some interesting ways in the future.</p>
<p><strong>Download:</strong> <a class="externalLink" href="http://urlrewriter.codeplex.com/Release/ProjectReleases.aspx">Binary Release</a><br />
<strong>View:</strong> <a class="externalLink" href="http://urlrewriter.codeplex.com/SourceControl/ListDownloadableCommits.aspx">Source Code</a><br />
<strong>Discuss:</strong> <a class="externalLink" href="http://urlrewriter.codeplex.com/Thread/List.aspx">Forum</a><br />
<strong>Issues:</strong> <a class="externalLink" href="http://urlrewriter.codeplex.com/WorkItem/List.aspx">Report</a></p>
<h3>Release Notes</h3>
<p>If you would like to find out more about the past releases please visit us at <a class="externalLink" href="http://www.managedfusion.com/products/url-rewriter/release-notes.aspx">http://www.managedfusion.com/products/url-rewriter/release-notes.aspx</a></p>
<h3>Version 3.0</h3>
<ul>
<li><strong>Breaking Change</strong> Configuration in the web.config has been reorganized.</li>
<li>Major rewrite to the URL Rewriter to provide better performance and more reliable logging.</li>
<li>Major update to the proxy handler, it is much faster, and provides an exact duplication of headers from the proxied server.</li>
<li>Fixed many issues with the chunked encoding, so you are now able to proxy web based services, such as SVN.</li>
<li>Full rewrite of the rule, condition, and flag handling system to provide better performance and more flexibility for developers.</li>
<li>More extensibility points have been created for developers interested in creating their own handlers for rules, conditions, and flags.</li>
<li>More extensive testing of internal mechanics of the rewriter.</li>
<li>Added thread safety to the Apache rule set refresh.</li>
<li>Added initial support for Microsoft UrlRewriter IIS 7 module, this will provided a starting point for extension of the Microsoft configuration to support proxying and other more advanced Apache features.</li>
</ul>
<h3>Featured at PDC 2008</h3>
<p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/38Bt_0ufH1E&#038;hl=en&#038;fs=1&#038;color1=0x006699&#038;color2=0x54abd6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/38Bt_0ufH1E&#038;hl=en&#038;fs=1&#038;color1=0x006699&#038;color2=0x54abd6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>
<p><a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/CJOURNAL/DC3F22041DAA7B2A075FBADB8EA83809CF841E54"><img src="http://theloungenet.com/feeds/img/DOTNETRSS/CJOURNAL/DC3F22041DAA7B2A075FBADB8EA83809CF841E54"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/coderjournal?a=JZT8pfg4FI8:PCkskCiugAw:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=JZT8pfg4FI8:PCkskCiugAw:zYSYRoQSaQY"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=zYSYRoQSaQY" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=JZT8pfg4FI8:PCkskCiugAw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=JZT8pfg4FI8:PCkskCiugAw:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=JZT8pfg4FI8:PCkskCiugAw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=JZT8pfg4FI8:PCkskCiugAw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=JZT8pfg4FI8:PCkskCiugAw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=JZT8pfg4FI8:PCkskCiugAw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=JZT8pfg4FI8:PCkskCiugAw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjournal/~4/JZT8pfg4FI8" height="1" width="1"/>]]></content:encoded><wfw:commentRss>http://www.coderjournal.com/2009/06/managed-fusion-url-rewriter-reverse-proxy-release-30/feed/</wfw:commentRss><slash:comments>5</slash:comments><feedburner:origLink>http://www.coderjournal.com/2009/06/managed-fusion-url-rewriter-reverse-proxy-release-30/</feedburner:origLink></item><item><title>Creating Your First MVC ViewEngine</title><link>http://feedproxy.google.com/~r/coderjournal/~3/H_SOK9uWTvE/</link><comments>http://www.coderjournal.com/2009/05/creating-your-first-mvc-viewengine/#comments</comments><pubDate>Mon, 11 May 2009 13:46:08 +0000</pubDate><dc:creator>Nick Berardi</dc:creator><category><![CDATA[ASP.NET]]></category><category><![CDATA[C#]]></category><category><![CDATA[How To]]></category><category><![CDATA[asp.net mvc]]></category><category><![CDATA[MVC]]></category><category><![CDATA[ViewEngine]]></category><guid isPermaLink="false">http://www.coderjournal.com/?p=681</guid><description><![CDATA[A question that I have been hearing a lot lately is:
How do I change the view location in MVC?
But what they really mean to say is:
How do I create a new ViewEngine that uses the view locations of my choosing?
It is actually very simple to do, and once you see it, I think you will [...]]]></description><content:encoded><![CDATA[<p>A question that I have been hearing a lot lately is:</p>
<blockquote><p>How do I change the view location in MVC?</p></blockquote>
<p>But what they really mean to say is:</p>
<blockquote><p>How do I create a new ViewEngine that uses the view locations of my choosing?</p></blockquote>
<p>It is actually very simple to do, and once you see it, I think you will agree with my assessment.  The first thing we are going to do to create our custom ViewEngine, is define the paths that we want to use for our master pages, view pages, and shared pages.  I have taken the liberty to define the following paths, you can customize them however you wish:</p>
<ul>
<li><strong>Master Pages:</strong><br />
<em>~/Templates</em><br />
it use to be <em>~/Views/Shared</em> or the controllers view</li>
<li><strong>View Pages:</strong><br />
<em>~/Views</em></li>
<li><strong>Shared Pages:</strong><br />
<em>~/Common</em><br />
it use to be <em>~/Views/Shared</em></li>
</ul>
<p>The next thing we need to do is create a new class for our ViewEngine, for this example we are going to call it <em>SimpleViewEngine</em>.</p>
<pre name="code" class="csharp">public class SimpleViewEngine : VirtualPathProviderViewEngine
{
}</pre>
<p>As you might have noticed from above our SimpleViewEngine inherits from <em>VirtualPathProviderViewEngine</em>, this is the root ViewEngine that uses the <a href="http://msdn.microsoft.com/en-us/library/system.web.hosting.virtualpathprovider.aspx">VirtualPathProvider</a> (VPP). The VPP provides a way for web applications to read files off the file system in their local web application, so it is perfect for what we are doing.  If you don&#8217;t want a file system based ViewEngine, and maybe want a ViewEngine based from the database, you can use the <em>IViewEngine </em>interface to create your own custom ViewEngine that fits your needs.  (MVC is very flexible, by design)</p>
<p>The next thing we need to do is code our paths in to our SimpleViewEngine.  We will do this in the constructor, so that they only have to be initialized once for the entire life span of our SimpleViewEngine.</p>
<pre name="code" class="csharp">public SimpleViewEngine ()
{
	/* {0} = view name or master page name
	 * {1} = controller name
	 */

	// create our master page location
	MasterLocationFormats = new[] {
		"~/Templates/{0}.master"
	};

	// create our views and common shared locations
	ViewLocationFormats = new[] {
		"~/Views/{1}/{0}.aspx",
		"~/Common/{0}.aspx",
	};

	// create our partial views and common shared locations
	PartialViewLocationFormats = new[] {
		"~/Views/{1}/{0}.ascx",
		"~/Common/{0}.ascx"
	};
}</pre>
<p>As you can see the format is pretty straight forward.  We create a <em>string[]</em> array with the paths of where our master pages, views, and common views are located.  The only thing that we need to do is set place holders in our path so the the VirtualPathProviderViewEngine can replace the master name, view name, and controller name to construct our appropriate path.</p>
<ul>
<li><strong>{0}:</strong> is the view name or master page name.
<li><strong>{1}:</strong> is the controller name.
</ul>
<p>After we have done the hard part, which honestly wasn&#8217;t that hard, of creating the constructor with the paths, we just need to return the view objects from the constructed partial paths.  Since we are using the standard ASP.NET Web Form (ASPX/ASCX) rendering engine.  We are able to leverage the work already done by the MVC team and just return a new instance of the <em>WebFormView </em>object.</p>
<pre name="code" class="csharp">protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath)
{
	return new WebFormView(partialPath, null);
}

protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath)
{
	return new WebFormView(viewPath, masterPath);
}</pre>
<p>Nothing really earth shattering here, just simply filling out the constructor with the proper parameters from our method, and then returning the newly created view.  If you wanted to create a view based out of the database, or off your own syntax (meaning not ASP.NET syntax) then you would have to create your own view based off of the <em>IView</em> interface.  But for this example we are only concerned with changing where our views are located.</p>
<p>There is one more thing that we need to do, and that is register our new SimpleViewEngine for use in the framework.  The registration of view engines is done in the <em>Global.asax</em>, similar to the same way we register new routes.</p>
<pre name="code" class="csharp">public static void RegisterViewEngines(ViewEngineCollection viewEngines)
{
	viewEngines.Clear();
	viewEngines.Add(new SimpleViewEngine());
}

public static void RegisterRoutes(RouteCollection routes) { ... }

protected void Application_Start()
{
	RegisterRoutes(RouteTable.Routes);
	RegisterViewEngines(ViewEngines.Engines);
}</pre>
<p>So we are now done.  You have created a new view engines, defined your own routes, and registered this view engine with the MVC framework.  Some other types of paths you may want to consider trying for your applications, using a custom ViewEngine, are special folders for your mobile or <a href="http://www.coderjournal.com/2008/06/mvc-facebook-wonderful-development-platform/">Facebook</a> versions of your website.</p>
<ul>
<li><strong>Mobile:</strong> <em>~/Views/{1}/<strong>Mobile</strong>/{0}.aspx</em>
<li><strong>Facebook:</strong> <em>~/Views/{1}/<strong>Facebook</strong>/{0}.aspx</em>
</ul>
<p>I told you it was simple and straight forward, and I hope you agree that the MVC team has done an awesome job at providing a very flexible framework for us to tweak and customize it so it fits our applications.</p>
<p><a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/CJOURNAL/3C66A1C410EE64DBE0A48786F303C5A6FFB025D6"><img src="http://theloungenet.com/feeds/img/DOTNETRSS/CJOURNAL/3C66A1C410EE64DBE0A48786F303C5A6FFB025D6"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/coderjournal?a=H_SOK9uWTvE:Fes5WFzwNKw:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=H_SOK9uWTvE:Fes5WFzwNKw:zYSYRoQSaQY"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=zYSYRoQSaQY" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=H_SOK9uWTvE:Fes5WFzwNKw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=H_SOK9uWTvE:Fes5WFzwNKw:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=H_SOK9uWTvE:Fes5WFzwNKw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=H_SOK9uWTvE:Fes5WFzwNKw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=H_SOK9uWTvE:Fes5WFzwNKw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=H_SOK9uWTvE:Fes5WFzwNKw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=H_SOK9uWTvE:Fes5WFzwNKw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjournal/~4/H_SOK9uWTvE" height="1" width="1"/>]]></content:encoded><wfw:commentRss>http://www.coderjournal.com/2009/05/creating-your-first-mvc-viewengine/feed/</wfw:commentRss><slash:comments>10</slash:comments><feedburner:origLink>http://www.coderjournal.com/2009/05/creating-your-first-mvc-viewengine/</feedburner:origLink></item><item><title>Google Alerts for Real Life</title><link>http://feedproxy.google.com/~r/coderjournal/~3/xxYtGI_B6us/</link><comments>http://www.coderjournal.com/2009/05/google-alerts-for-real-life/#comments</comments><pubDate>Thu, 07 May 2009 15:38:09 +0000</pubDate><dc:creator>Nick Berardi</dc:creator><category><![CDATA[News]]></category><category><![CDATA[Personal]]></category><category><![CDATA[Rant]]></category><category><![CDATA[Google Alerts]]></category><category><![CDATA[Real Life]]></category><guid isPermaLink="false">http://www.coderjournal.com/?p=679</guid><description><![CDATA[I have always been driven by the idea that computers and to the greater extent the internet should be as transparent as possible to the users.  People shouldn&#8217;t care about what the hot new websites are to meet people with similar interests.  In fact I think this is most of the problem why people are [...]]]></description><content:encoded><![CDATA[<p>I have always been driven by the idea that computers and to the greater extent the internet should be as transparent as possible to the users.  People shouldn&#8217;t care about what the hot new websites are to meet people with similar interests.  In fact I think this is most of the problem why people are becoming more and more disconnected from each other on a personal level.  And more and more disconnected from the human experience, of social interaction.  There is so much communication that is lost when you cannot see a person face to face, and experience things in the same environment that they do.  Wouldn&#8217;t it be great if you could find and meet new local people with similar interests, hobbies, and ambitions, whatever they maybe.  The Internet currently excels at all of this even getting people physically together to meet.</p>
<p>However, this requires a lot of active participation of the person searching and trying to find the right website where everybody of a particular interest meets, and then you need to find somebody locally who is willing to meet up for dinner or a gathering of some kind.  This is a lot of work to find people who are interested in the same stuff as you are.  And it is no wonder so many people just give up.  Now imagine that barrier is removed and finding people with similar interests, hobbies, and ambitions is a passive activity.  Where you are automatically alerted to a new person or group in your area that shares your interests, <strong>sort of like Google Alerts for real life</strong>.</p>
<p>I would really like to start working on this problem with a small group of developers and people that share a similiar passion to physically connect people in a meaningful way with other people that share their interests.</p>
<p><a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/CJOURNAL/CE09461E14F56D8EC82D29E5BB4098C830264C05"><img src="http://theloungenet.com/feeds/img/DOTNETRSS/CJOURNAL/CE09461E14F56D8EC82D29E5BB4098C830264C05"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/coderjournal?a=xxYtGI_B6us:-Q7cqD70UGg:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=xxYtGI_B6us:-Q7cqD70UGg:zYSYRoQSaQY"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=zYSYRoQSaQY" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=xxYtGI_B6us:-Q7cqD70UGg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=xxYtGI_B6us:-Q7cqD70UGg:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=xxYtGI_B6us:-Q7cqD70UGg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=xxYtGI_B6us:-Q7cqD70UGg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=xxYtGI_B6us:-Q7cqD70UGg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=xxYtGI_B6us:-Q7cqD70UGg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=xxYtGI_B6us:-Q7cqD70UGg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjournal/~4/xxYtGI_B6us" height="1" width="1"/>]]></content:encoded><wfw:commentRss>http://www.coderjournal.com/2009/05/google-alerts-for-real-life/feed/</wfw:commentRss><slash:comments>0</slash:comments><feedburner:origLink>http://www.coderjournal.com/2009/05/google-alerts-for-real-life/</feedburner:origLink></item><item><title>Windows 7 Blame Feature</title><link>http://feedproxy.google.com/~r/coderjournal/~3/foCx_FX-HJI/</link><comments>http://www.coderjournal.com/2009/05/windows-7-blame-feature/#comments</comments><pubDate>Mon, 04 May 2009 03:01:54 +0000</pubDate><dc:creator>Nick Berardi</dc:creator><category><![CDATA[Review]]></category><category><![CDATA[Blue Screen]]></category><category><![CDATA[Microsoft]]></category><category><![CDATA[Windows 7]]></category><guid isPermaLink="false">http://www.coderjournal.com/?p=675</guid><description><![CDATA[Over this past weekend I installed Windows 7 (64-bit), and I have to say that it is a great upgrade from Windows Vista that nobody should be disappointed with.  Even as a release candidate it is rock stable and has been able to cope and recover from many of the failing drivers I tried [...]]]></description><content:encoded><![CDATA[<p>Over this past weekend I installed Windows 7 (64-bit), and I have to say that it is a great upgrade from Windows Vista that nobody should be disappointed with.  Even as a release candidate it is rock stable and has been able to cope and recover from many of the failing drivers I tried this weekend, <strong>with out the need for a single reboot</strong>.  This is impressive, because I remember when I first tried Windows Vista as a beta almost 3 years ago, that I received blue screens left and right from faulty drivers that didn&#8217;t yet support Windows Vista.  Blue screens have always really bothered me, because as a avid Windows supporter, I have heard all too often the mantra of the uneducated.</p>
<blockquote><p>It&#8217;s Microsofts fault that Windows blue screens every time I try to play a game on my graphics card.</p></blockquote>
<p>What this uneducated user doesn&#8217;t understand is that Microsoft isn&#8217;t really at fault, it is the fault of the hardware manufacurer that poorly developed the drivers.  But up until Windows 7 a poorly programmed driver would result in a blue screen and Windows would have no way of letting the user know what was going on until the <a href="http://www.coderjournal.com/2007/02/windows-vista-blue-screen-of-death/">operating system had been restarted</a>.  Now in Windows 7 bad programming by hardware manufactures are caught in real time with out rebooting.  <strong>Windows 7 gracefully handles the error</strong>, and displays a &#8220;blame message&#8221; line the one listed below.</p>
<p><img class="alignnone size-full wp-image-674" title="windows-7-blame" src="http://www.coderjournal.com/uploads/2009/05/windows-7-blame.png" alt="windows-7-blame" width="660" height="154" /></p>
<p>Windows 7 shows a small dialog explaining that something has happened and that it was able to recover from the error without effecting the user.  It even displays the name of the device that caused the error, so that users can better understand what has happened to their system.  I love this feature because it provides transparency to the user, so that they can blame the correct party for the failure of their computer.</p>
<p><a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/CJOURNAL/DBBF3C635F4E2BE2B88298107981C3F5EE056EC2"><img src="http://theloungenet.com/feeds/img/DOTNETRSS/CJOURNAL/DBBF3C635F4E2BE2B88298107981C3F5EE056EC2"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/coderjournal?a=foCx_FX-HJI:ByIS1f-lLTg:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=foCx_FX-HJI:ByIS1f-lLTg:zYSYRoQSaQY"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=zYSYRoQSaQY" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=foCx_FX-HJI:ByIS1f-lLTg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=foCx_FX-HJI:ByIS1f-lLTg:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=foCx_FX-HJI:ByIS1f-lLTg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=foCx_FX-HJI:ByIS1f-lLTg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=foCx_FX-HJI:ByIS1f-lLTg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=foCx_FX-HJI:ByIS1f-lLTg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=foCx_FX-HJI:ByIS1f-lLTg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjournal/~4/foCx_FX-HJI" height="1" width="1"/>]]></content:encoded><wfw:commentRss>http://www.coderjournal.com/2009/05/windows-7-blame-feature/feed/</wfw:commentRss><slash:comments>0</slash:comments><feedburner:origLink>http://www.coderjournal.com/2009/05/windows-7-blame-feature/</feedburner:origLink></item><item><title>Managed Fusion URL Rewriter Was Featured at PDC 2008</title><link>http://feedproxy.google.com/~r/coderjournal/~3/MwZgJ3_Pe2c/</link><comments>http://www.coderjournal.com/2009/04/managed-fusion-url-rewriter-was-featured-at-pdc-2008/#comments</comments><pubDate>Sat, 18 Apr 2009 18:23:12 +0000</pubDate><dc:creator>Nick Berardi</dc:creator><category><![CDATA[News]]></category><category><![CDATA[Personal]]></category><category><![CDATA[Portfolio]]></category><category><![CDATA[Managed Fusion]]></category><category><![CDATA[Managed Fusion URL Rewriter and Reverse Proxy]]></category><category><![CDATA[PDC]]></category><category><![CDATA[PDC 2008]]></category><guid isPermaLink="false">http://www.coderjournal.com/?p=637</guid><description><![CDATA[The Managed Fusion URL Rewriter, that I work on and that runs this blog, was featured in PDC 2008 by CJ Saretto (Senior Program Manager for Microsoft Home Server).  He used it as a reverse proxy to demonstrate streaming video and music from Windows Home Server to the internet from a simulated internal home [...]]]></description><content:encoded><![CDATA[<p>The <a href="http://urlrewriter.codeplex.com">Managed Fusion URL Rewriter</a>, that I work on and that <a href="http://www.coderjournal.com/2008/02/url-rewriter-reverse-proxy-iis-wordpress/">runs this blog</a>, was featured in PDC 2008 by <a href="http://channel9.msdn.com/pdc2008/ES12/">CJ Saretto</a> (Senior Program Manager for Microsoft Home Server).  He used it as a reverse proxy to demonstrate streaming video and music from Windows Home Server to the internet from a simulated internal home network.  </p>
<p>I have cut down the <a href="http://channel9.msdn.com/pdc2008/ES12/">actual video presentation</a> to the segment that mentioned the Managed Fusion URL Rewriter.  If you want to skip to the good parts in this segmented video, I recommend:</p>
<ul>
<li><strong>2:20</strong> &#8211; Managed Fusion URL Rewriter is first mentioned</li>
<li><strong>7:00</strong> &#8211; An impressive video demonstration streaming through the rewriter</li>
</ul>
<p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/38Bt_0ufH1E&#038;hl=en&#038;fs=1&#038;color1=0x006699&#038;color2=0x54abd6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/38Bt_0ufH1E&#038;hl=en&#038;fs=1&#038;color1=0x006699&#038;color2=0x54abd6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object><br />
<em>Clips comes from about 18:00 minutes in to <a href="http://channel9.msdn.com/pdc2008/ES12/">http://channel9.msdn.com/pdc2008/ES12/</a></em></p>
<p>If you are actually wondering why I am bringing this up now, and not 6 months ago when <a href="http://www.microsoftpdc.com/">PDC 2008</a> was going on&#8230;  Well it is because I just found out about it at the end of last month, 5 months after the fact.  And to be totally honest the video presentation blew me away, because that is some serious bandwidth to show a video of that high of a quality.  Especially because <a href="http://urlrewriter.codeplex.com/SourceControl/changeset/view/27780#364389">the ProxyHandler.cs code</a> was suppose to handle at most small images and HTML being served from a remote server.  </p>
<p><a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/CJOURNAL/7FD1495F7D35BF130F7981137C8A8A45E0CF180B"><img src="http://theloungenet.com/feeds/img/DOTNETRSS/CJOURNAL/7FD1495F7D35BF130F7981137C8A8A45E0CF180B"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/coderjournal?a=MwZgJ3_Pe2c:-reWnsv3btA:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=MwZgJ3_Pe2c:-reWnsv3btA:zYSYRoQSaQY"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=zYSYRoQSaQY" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=MwZgJ3_Pe2c:-reWnsv3btA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=MwZgJ3_Pe2c:-reWnsv3btA:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=MwZgJ3_Pe2c:-reWnsv3btA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=MwZgJ3_Pe2c:-reWnsv3btA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=MwZgJ3_Pe2c:-reWnsv3btA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=MwZgJ3_Pe2c:-reWnsv3btA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=MwZgJ3_Pe2c:-reWnsv3btA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjournal/~4/MwZgJ3_Pe2c" height="1" width="1"/>]]></content:encoded><wfw:commentRss>http://www.coderjournal.com/2009/04/managed-fusion-url-rewriter-was-featured-at-pdc-2008/feed/</wfw:commentRss><slash:comments>0</slash:comments><feedburner:origLink>http://www.coderjournal.com/2009/04/managed-fusion-url-rewriter-was-featured-at-pdc-2008/</feedburner:origLink></item><item><title>Code Camp 2009.1 – Gooey GUI… Programming in Visual Studio</title><link>http://feedproxy.google.com/~r/coderjournal/~3/_nFstGLnlac/</link><comments>http://www.coderjournal.com/2009/04/code-camp/#comments</comments><pubDate>Sat, 18 Apr 2009 17:00:38 +0000</pubDate><dc:creator>Nick Berardi</dc:creator><category><![CDATA[Personal]]></category><category><![CDATA[Programming]]></category><category><![CDATA[Code Camp]]></category><category><![CDATA[Code Camp 2009.1]]></category><category><![CDATA[philly.net]]></category><category><![CDATA[Public Speaking]]></category><guid isPermaLink="false">http://www.coderjournal.com/?p=650</guid><description><![CDATA[Here is my presentation from Code Camp 2009.1:

You can download the software seen in this presentation at:

Microsoft Visual Studio Express
http://www.microsoft.com/express/download
Microsoft SQL Server Express w/ Tools
http://www.microsoft.com/express/sql/download

And Sara Ford&#8217;s best selling book on the subject, appropriately called Microsoft Visual Studio Tips.

And because she is such an awesome person all the royalties from the book are going to [...]]]></description><content:encoded><![CDATA[<p>Here is my presentation from Code Camp 2009.1:</p>
<p><iframe src='http://docs.google.com/EmbedSlideshow?docid=dcrrgz44_1fcm9dcgf&amp;size=m' frameborder='0' width='555' height='451'></iframe></p>
<p>You can download the software seen in this presentation at:</p>
<ul>
<li><strong>Microsoft Visual Studio Express</strong><br/><br />
<a href="http://www.microsoft.com/express/download">http://www.microsoft.com/express/download</a></li>
<li><strong>Microsoft SQL Server Express w/ Tools</strong><br/><br />
<a href="http://www.microsoft.com/express/sql/download">http://www.microsoft.com/express/sql/download</a></li>
</ul>
<p>And Sara Ford&#8217;s best selling <a href="http://www.amazon.com/gp/product/0735626405?tag=coderjournal-20">book on the subject</a>, appropriately called <strong>Microsoft Visual Studio Tips</strong>.</p>
<p style="text-align: center;"><a href="http://www.amazon.com/gp/product/0735626405?tag=coderjournal-20"><img class="size-full wp-image-632 aligncenter" title="sara-ford-visual-studio-tips" src="http://www.coderjournal.com/uploads/2009/03/sara-ford-visual-studio-tips.jpg" alt="sara-ford-visual-studio-tips" width="500" height="500" /></a></p>
<p>And because she is such an awesome person all the royalties from the book are going to a scholarship fund to help pay for the the costs of <strong><a href="http://www.mgccc.cc.ms.us/news/book_raises_scholarship_money_for_MGCCC_students.php"><span style="text-decoration: underline;">sending Hurricane Katrina survivors to college</span></a></strong>. So if you are interested <a href="http://www.amazon.com/gp/product/0735626405?tag=coderjournal-20">go pick up a copy</a>.</p>
<p>Top 3 of my favorite tips from Sara Ford:</p>
<ol>
<li><a href="http://blogs.msdn.com/saraford/archive/2008/12/05/did-you-know-you-can-create-toolbar-buttons-to-quickly-toggle-your-favorite-vs-settings-371.aspx">Did you know… You can create toolbar buttons to quickly toggle your favorite VS Settings? – #372</a></li>
<li><a href="http://blogs.msdn.com/saraford/archive/2007/09/28/did-you-know-how-not-to-accidentally-copy-a-blank-line.aspx">Did you know&#8230; how not to accidentally copy a blank line? &#8211; #050 </a></li>
<li><a href="http://blogs.msdn.com/saraford/archive/2008/12/18/did-you-know-how-to-optimize-visual-studio-for-multi-monitors-381.aspx">Did you know… How to optimize Visual Studio for multi-monitors? &#8211; #381 </a></li>
</ol>
<p><a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/CJOURNAL/103A48FEED2DEE7427212AFACA7EDC1EDF029BB7"><img src="http://theloungenet.com/feeds/img/DOTNETRSS/CJOURNAL/103A48FEED2DEE7427212AFACA7EDC1EDF029BB7"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/coderjournal?a=_nFstGLnlac:98BkCz7ktis:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_nFstGLnlac:98BkCz7ktis:zYSYRoQSaQY"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=zYSYRoQSaQY" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_nFstGLnlac:98BkCz7ktis:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_nFstGLnlac:98BkCz7ktis:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_nFstGLnlac:98BkCz7ktis:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=_nFstGLnlac:98BkCz7ktis:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_nFstGLnlac:98BkCz7ktis:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=_nFstGLnlac:98BkCz7ktis:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_nFstGLnlac:98BkCz7ktis:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjournal/~4/_nFstGLnlac" height="1" width="1"/>]]></content:encoded><wfw:commentRss>http://www.coderjournal.com/2009/04/code-camp/feed/</wfw:commentRss><slash:comments>0</slash:comments><feedburner:origLink>http://www.coderjournal.com/2009/04/code-camp/</feedburner:origLink></item><item><title>See everybody at Code Camp 2009.1 Tomorrow</title><link>http://feedproxy.google.com/~r/coderjournal/~3/kHn8kR2mO2g/</link><comments>http://www.coderjournal.com/2009/04/see-everybody-at-code-camp-20091-tomorrow/#comments</comments><pubDate>Sat, 18 Apr 2009 03:03:11 +0000</pubDate><dc:creator>Nick Berardi</dc:creator><category><![CDATA[Uncategorized]]></category><category><![CDATA[Code Camp]]></category><category><![CDATA[Code Camp 2009.1]]></category><category><![CDATA[philly.net]]></category><category><![CDATA[Public Speaking]]></category><guid isPermaLink="false">http://www.coderjournal.com/2009/04/see-everybody-at-code-camp-20091-tomorrow/</guid><description><![CDATA[I will be speaking at the Philly.NET Code Camp 2009.1 tomorrow.  So if you read this blog, come up to me and say hi.  I don&#8217;t bite.     
After my presentation tomorrow on &#8220;Gooey GUI&#8230; Programming in Visual Studio&#8221;, I will be posting my presentation and links for everybody that [...]]]></description><content:encoded><![CDATA[<p>I will be speaking at the Philly.NET Code Camp 2009.1 tomorrow.  So if you read this blog, come up to me and say hi.  I don&#8217;t bite.  <img src='http://www.coderjournal.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   </p>
<p>After my presentation tomorrow on &#8220;Gooey GUI&#8230; Programming in Visual Studio&#8221;, I will be posting my presentation and links for everybody that couldn&#8217;t attend or did attend and wants a quick reference.</p>
<p>See you tomorrow.</p>
<p><a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/CJOURNAL/7B98566892C39E8761F1AF78B1B08E727B86A8ED"><img src="http://theloungenet.com/feeds/img/DOTNETRSS/CJOURNAL/7B98566892C39E8761F1AF78B1B08E727B86A8ED"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/coderjournal?a=kHn8kR2mO2g:chxTagZrKFg:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=kHn8kR2mO2g:chxTagZrKFg:zYSYRoQSaQY"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=zYSYRoQSaQY" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=kHn8kR2mO2g:chxTagZrKFg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=kHn8kR2mO2g:chxTagZrKFg:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=kHn8kR2mO2g:chxTagZrKFg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=kHn8kR2mO2g:chxTagZrKFg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=kHn8kR2mO2g:chxTagZrKFg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=kHn8kR2mO2g:chxTagZrKFg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=kHn8kR2mO2g:chxTagZrKFg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjournal/~4/kHn8kR2mO2g" height="1" width="1"/>]]></content:encoded><wfw:commentRss>http://www.coderjournal.com/2009/04/see-everybody-at-code-camp-20091-tomorrow/feed/</wfw:commentRss><slash:comments>0</slash:comments><feedburner:origLink>http://www.coderjournal.com/2009/04/see-everybody-at-code-camp-20091-tomorrow/</feedburner:origLink></item><item><title>Recession Proof Your Programming Skills</title><link>http://feedproxy.google.com/~r/coderjournal/~3/_eMFRy7joA4/</link><comments>http://www.coderjournal.com/2009/04/recession-proof-your-programming-skills/#comments</comments><pubDate>Thu, 16 Apr 2009 11:00:43 +0000</pubDate><dc:creator>Nick Berardi</dc:creator><category><![CDATA[ASP.NET]]></category><category><![CDATA[C#]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[News]]></category><category><![CDATA[Personal]]></category><category><![CDATA[Programming]]></category><category><![CDATA[Review]]></category><category><![CDATA[programming skills]]></category><category><![CDATA[recession proof]]></category><guid isPermaLink="false">http://www.coderjournal.com/?p=644</guid><description><![CDATA[In this economy you have to do everything to keep your skills fresh and current so that employers find you a desirable hire.  I really though the tips provided in 8 Ways to Recession-Proof Your Programming Career where spot on when this article came out last year.  And now that the TechRepublic has released 10 [...]]]></description><content:encoded><![CDATA[<p>In this economy you have to do everything to keep your skills fresh and current so that employers find you a desirable hire.  I really though the tips provided in<a href="http://www.softwarebyrob.com/2008/12/10/8-ways-to-recession-proof-your-programming-career/"> 8 Ways to Recession-Proof Your Programming Career</a> where spot on when this article came out last year.  And now that the TechRepublic has released <a href="http://blogs.techrepublic.com.com/10things/?p=643">10 kills developers will need in the next 5 years</a>.  I have decided to give you some of my favorite Wrox books that align very well to this TechRepublic article.</p>
<h3>Learn C#</h3>
<p><a href="http://www.amazon.com/gp/product/0470191376?tag=coderjournal-20" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51Dwtn6o8jL.jpg" alt="" width="320" /></a></p>
<h3>Learn ASP.NET</h3>
<p><a href="http://www.amazon.com/gp/product/0470478268?tag=coderjournal-20" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51n-bC3pPIL.jpg" alt="" width="320" /></a></p>
<h3>Learn ASP.NET MVC</h3>
<p><a href="http://www.amazon.com/gp/product/0470384611?tag=coderjournal-20" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51Jz48cCnNL.jpg" alt="" width="320" /></a><a href="http://www.amazon.com/gp/product/0470410957?tag=coderjournal-20" target="_blank"> <img src="http://www.coderjournal.com/uploads/2009/03/final-book-cover1.jpg" alt="Final Cover Photo" width="320" /></a></p>
<p><em>didn&#8217;t think I would leave my book out, did you?</em> <img src='http://www.coderjournal.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Learn Java</h3>
<p><a href="http://www.amazon.com/gp/product/0471777102?tag=coderjournal-20" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51K4bR1A1IL._SS500_.jpg" alt="" width="320" /></a></p>
<h3>Learn PHP</h3>
<p><a href="http://www.amazon.com/gp/product/0470087889?tag=coderjournal-20" target="_blank"><img src="http://ecx.images-amazon.com/images/I/415F3F2Y7FL.jpg" alt="" width="320" /></a></p>
<h3>Learn RIA &amp; Web 2.0</h3>
<p><a href="http://www.amazon.com/gp/product/0470087889?tag=coderjournal-20" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51%2BtrtzLpiL.jpg" alt="" width="320" /></a><a href="http://www.amazon.com/gp/product/0470277750?tag=coderjournal-20" target="_blank"> <img src="http://ecx.images-amazon.com/images/I/515oZwDMmQL.jpg" alt="" width="320" /></a><a href="http://www.amazon.com/gp/product/0470182075?tag=coderjournal-20" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41RGrD9pfpL.jpg" alt="" width="320" /></a><a href="http://www.amazon.com/gp/product/0470227796?tag=coderjournal-20" target="_blank"> <img src="http://ecx.images-amazon.com/images/I/51czJ1Ra19L._SS500_.jpg" alt="" width="320" /></a></p>
<p>I beleive all these books are a nessisty in helping you improve your career.  You don&#8217;t have to understand or know all of this technology, but you should at least have one of these books on your shelf.</p>
<p><a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/CJOURNAL/73FA620ACD9E56FA8C4AA0197DD97AE58F052E42"><img src="http://theloungenet.com/feeds/img/DOTNETRSS/CJOURNAL/73FA620ACD9E56FA8C4AA0197DD97AE58F052E42"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/coderjournal?a=_eMFRy7joA4:BHiq2Jhag0U:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_eMFRy7joA4:BHiq2Jhag0U:zYSYRoQSaQY"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=zYSYRoQSaQY" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_eMFRy7joA4:BHiq2Jhag0U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_eMFRy7joA4:BHiq2Jhag0U:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_eMFRy7joA4:BHiq2Jhag0U:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=_eMFRy7joA4:BHiq2Jhag0U:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_eMFRy7joA4:BHiq2Jhag0U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/coderjournal?i=_eMFRy7joA4:BHiq2Jhag0U:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/coderjournal?a=_eMFRy7joA4:BHiq2Jhag0U:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/coderjournal?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/coderjournal/~4/_eMFRy7joA4" height="1" width="1"/>]]></content:encoded><wfw:commentRss>http://www.coderjournal.com/2009/04/recession-proof-your-programming-skills/feed/</wfw:commentRss><slash:comments>1</slash:comments><feedburner:origLink>http://www.coderjournal.com/2009/04/recession-proof-your-programming-skills/</feedburner:origLink></item></channel></rss>
