<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>BrettVeenstra.com</title>
	
	<link>http://brettveenstra.com</link>
	<description>Rants, Dreams, Recollections, and Self-Effacement... on the Walk</description>
	<pubDate>Fri, 31 Oct 2008 14:12:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Bpoint" type="application/rss+xml" /><feedburner:emailServiceId>227092</feedburner:emailServiceId><feedburner:feedburnerHostname>http://www.feedburner.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FBpoint" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FBpoint" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FBpoint" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Ffeeds.feedburner.com%2FBpoint" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/Bpoint" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FBpoint" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FBpoint" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FBpoint" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item>
		<title>Continuous Integration Gotcha: NAnt empty elements</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/438081538/</link>
		<comments>http://feeds.feedburner.com/~r/JourneymanToMaster/~3/438047702/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 13:43:05 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Programmer]]></category>

		<guid isPermaLink="false">http://programmer.brettveenstra.com/?p=168</guid>
		<description><![CDATA[For those of us using the TeamCity continuous integration tool, I ran across a gotcha this morning that I will forget very soon.

The problem

When running NAnt script on my local machine &#8220;in developer mode&#8221;, everything runs fine.  However, once it goes to TeamCity, it puts up a general error:

Could not include build [...]]]></description>
			<content:encoded><![CDATA[<p>For those of us using the <a href="http://jetbrains.com/teamcity" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://jetbrains.com/teamcity');">TeamCity</a> continuous integration tool, I ran across a gotcha this morning that I <strong>will</strong> forget very soon.</p>

<h2>The problem</h2>

<p>When running NAnt script on my local machine &#8220;in developer mode&#8221;, everything runs fine.  However, once it goes to TeamCity, it puts up a general error:</p>

<blockquote>
  <p>Could not include build file &#8216;X:\teamcity-BuildAgent\work\684ab6ff82f1a29a\build\foo.core.build&#8217;. 
  Object reference not set to an instance of an object.</p>
</blockquote>

<p>In the end, my offending entry was:</p>

<pre><code>&lt;fileset id="cube.load.files"&gt;
  &lt;!-- &lt;include name="${build.mxl.dml.dir}\foo.mxl" asis="true"/&gt; --&gt;
&lt;/fileset&gt;
</code></pre>

<p>Here&#8217;s my NAnt file pattern.  I use a set of local.properties.xml for a development machine.  I also create a buildserver.properties.xml for the TeamCity run.  Then I create a &#8220;wrapper&#8221; NAnt file that includes both the CORE build script as well as the *.properties.xml file for the given environment.</p>

<p>This has worked very smoothly in the past so this morning it was rather frustrating to receive the error.  The inspiration for this methodology was inspired by <a href="http://blog.jpboodhoo.com/NAntStarterSeries.aspx" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://blog.jpboodhoo.com/NAntStarterSeries.aspx');">Jean-Paul&#8217;s excellent NAnt series</a>.  I highly encourage you to check it out.</p>

<p>Back to the problem&#8230; When running under TeamCity, I get a failure to include a build file, but everything works when running on a development machine.</p>

<h2>The Solution</h2>

<p>Remove EMPTY elements from the XML-formatted NAnt file (or close them using shorthand).  For some reason, it looks as if TeamCity&#8217;s NAnt runner is parsing those files before sending them over to NAnt (guessing here).</p>

<p>And once I cleaned up this empty element, it worked!  Interesting how this <a href="http://programmer.brettveenstra.com/2008/09/13/gotcha-of-inline-document-ready-function-for-jquery" >yet another reason</a> why <a href="http://http://www.codinghorror.com/blog/archives/001114.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://http://www.codinghorror.com/blog/archives/001114.html');">XML is the bane of developers</a>.</p>

<pre><code>&lt;fileset id="cube.load.files" /&gt;
</code></pre>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/JourneymanToMaster?a=fmIXm"><img src="http://feeds.feedburner.com/~f/JourneymanToMaster?i=fmIXm" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/JourneymanToMaster?a=uiybM"><img src="http://feeds.feedburner.com/~f/JourneymanToMaster?i=uiybM" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/JourneymanToMaster?a=TtfOm"><img src="http://feeds.feedburner.com/~f/JourneymanToMaster?i=TtfOm" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/JourneymanToMaster?a=e8uqm"><img src="http://feeds.feedburner.com/~f/JourneymanToMaster?i=e8uqm" border="0"></img></a>
 <a href="http://feeds.feedburner.com/~f/Bpoint?a=INitM"><img src="http://feeds.feedburner.com/~f/Bpoint?i=INitM" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=t4eqm"><img src="http://feeds.feedburner.com/~f/Bpoint?i=t4eqm" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=RZKMm"><img src="http://feeds.feedburner.com/~f/Bpoint?i=RZKMm" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=VnPxm"><img src="http://feeds.feedburner.com/~f/Bpoint?i=VnPxm" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/JourneymanToMaster/~4/438047702" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/Bpoint/~4/438081538" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feeds.feedburner.com/~r/JourneymanToMaster/~3/438047702/feed/</wfw:commentRss>
		<feedburner:origLink>http://feeds.feedburner.com/~r/JourneymanToMaster/~3/438047702/</feedburner:origLink></item>
		<item>
		<title>Gotcha of inline Document Ready function for JQuery</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/438081539/</link>
		<comments>http://feeds.feedburner.com/~r/JourneymanToMaster/~3/391341175/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 06:56:34 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Programmer]]></category>

		<guid isPermaLink="false">http://programmer.brettveenstra.com/?p=136</guid>
		<description><![CDATA[I&#8217;ve had some reasons to use JQuery this week, and you should believe whatever good rumors and hype you&#8217;ve heard about this library.  It&#8217;s amazing.

There are many benefits to a Javascript framework, particularly JQuery.  Take this example that I put inside my &#60;head&#62; element:

&#60;script type="text/javascript"&#62;
    $(document).ready(function(){

<pre><code> [...]
</code></pre>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had some reasons to use JQuery this week, and you should believe whatever good rumors and hype you&#8217;ve heard about this library.  It&#8217;s amazing.</p>

<p>There are <a href="http://roshanbh.com.np/2008/03/jquery-benefits-examples-free-ebook.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://roshanbh.com.np/2008/03/jquery-benefits-examples-free-ebook.html');">many benefits to a Javascript framework</a>, particularly <a href="http://jquery.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://jquery.com');">JQuery</a>.  Take this example that I put inside my &lt;head&#62; element:</p>

<pre><code>&lt;script type="text/javascript"&gt;
    $(document).ready(function(){

        $('#deliciouslogin').submit(function(){
            alert("This to authenticate with Delicious and start retrieving Bookmarks into Google Gears  database");
        })

    });
&lt;/script&gt;
</code></pre>

<p>This is the <a href="http://docs.jquery.com/How_jQuery_Works#.24.28document.29.ready.28function.28.29.7B.7D.29.3B" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://docs.jquery.com/How_jQuery_Works#.24.28document.29.ready.28function.28.29.7B.7D.29.3B');">&#8220;Document Ready&#8221;</a> function.  This solves the problem of running your Javascript code before your page is done rendering on the browser.  Also note how easy it is to hookup an &#8220;onsubmit&#8221; event handler.  You use CSS-selectors to identify what HTML element(s) to apply to, and JQuery does the rest, figuring out the best way to accomplish that <strong>regardless of your browser</strong>.  Great fun.</p>

<p>My elation quickly disappeared when I fired this sample up in FireFox 3, nothing happened when my &lt;form&#62;&#8217;s submit button was triggered.  Frustrated, I quickly tried it in Safari (Mac), it worked fine.  I switched to the PC and grumpy IE6, and again, no luck.  So what&#8217;s going on?</p>

<p>It turns out that the inline JavaScript will be ignored if you close the element just prior in your &lt;head&#62; section with the shorthand closetag &#8220;/>&#8221;.</p>

<p>This doesn&#8217;t work:</p>

<pre><code>&lt;script type="text/javascript" src="lib/jquery/jquery.js" /&gt;
&lt;script type="text/javascript"&gt;
    $(document).ready(function(){
        // blah
        })
    });
&lt;/script&gt;    
</code></pre>

<p>This does work:</p>

<pre><code>&lt;script type="text/javascript" src="lib/jquery/jquery.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
    $(document).ready(function(){
        // blah
        })
    });
&lt;/script&gt;    
</code></pre>

<p>Hopefully I will remember this in the future, as this is now the <strong>second time</strong> in two days I&#8217;ve wasted an hour <em>or more</em> wondering why my Javascript wasn&#8217;t activated.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/JourneymanToMaster?a=kygXl"><img src="http://feeds.feedburner.com/~f/JourneymanToMaster?i=kygXl" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/JourneymanToMaster?a=KrEfL"><img src="http://feeds.feedburner.com/~f/JourneymanToMaster?i=KrEfL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/JourneymanToMaster?a=fBq5l"><img src="http://feeds.feedburner.com/~f/JourneymanToMaster?i=fBq5l" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/JourneymanToMaster?a=yVHfl"><img src="http://feeds.feedburner.com/~f/JourneymanToMaster?i=yVHfl" border="0"></img></a>
 <a href="http://feeds.feedburner.com/~f/Bpoint?a=UtMjM"><img src="http://feeds.feedburner.com/~f/Bpoint?i=UtMjM" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=0wFpm"><img src="http://feeds.feedburner.com/~f/Bpoint?i=0wFpm" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=GSUYm"><img src="http://feeds.feedburner.com/~f/Bpoint?i=GSUYm" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=gwG8m"><img src="http://feeds.feedburner.com/~f/Bpoint?i=gwG8m" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/JourneymanToMaster/~4/391341175" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/Bpoint/~4/438081539" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feeds.feedburner.com/~r/JourneymanToMaster/~3/391341175/feed/</wfw:commentRss>
		<feedburner:origLink>http://feeds.feedburner.com/~r/JourneymanToMaster/~3/391341175/</feedburner:origLink></item>
		<item>
		<title>PhotoWalking - Metro Detroit - September 21</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/386178908/</link>
		<comments>http://brettveenstra.com/2008/09/07/photowalking-metro-detroit-september-21/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 00:11:12 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Photographer]]></category>

		<category><![CDATA[ann arbor]]></category>

		<category><![CDATA[Photography]]></category>

		<category><![CDATA[Photosynth]]></category>

		<category><![CDATA[PhotoWalk]]></category>

		<category><![CDATA[PhotoWalking]]></category>

		<category><![CDATA[September]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=321</guid>
		<description><![CDATA[Mark your calendars for Sunday, September 21 from 4:00 - 8:00pm.  We’ll be meeting in Ann Arbor at &#8220;The QuadDiag&#8221;.  The QuadDiag is the large walk area just in front of the main library.  Grab parking where you can find it and meet up with us.  We&#8217;ll start walking at 4:15, [...]]]></description>
			<content:encoded><![CDATA[<p>Mark your calendars for Sunday, September 21 from 4:00 - 8:00pm.  We’ll be meeting in Ann Arbor at &#8220;The <del datetime="2008-09-21T11:54:42+00:00">Quad</del>Diag&#8221;.  The <del datetime="2008-09-21T11:54:42+00:00">Quad</del>Diag is the large walk area just in front of the main library.  Grab parking where you can find it and meet up with us.  We&#8217;ll start walking at 4:15, and we should have a sunset around 7:00pm.</p>

<p>I&#8217;ve posted a central page with full details <a href="http://brettveenstra.com/photowalks/photowalk-sept-21/">here</a>.</p>

<p><strong>UPDATE:</strong> Ashamed as a U of M Alumn that I mixed up my Quad and Diag terms.  We&#8217;re meeting in the Diag (don&#8217;t step on the M!).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=6KOaL"><img src="http://feeds.feedburner.com/~f/Bpoint?i=6KOaL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=dTotl"><img src="http://feeds.feedburner.com/~f/Bpoint?i=dTotl" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=9QLpl"><img src="http://feeds.feedburner.com/~f/Bpoint?i=9QLpl" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=Nmjll"><img src="http://feeds.feedburner.com/~f/Bpoint?i=Nmjll" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/386178908" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2008/09/07/photowalking-metro-detroit-september-21/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2008/09/07/photowalking-metro-detroit-september-21/</feedburner:origLink></item>
		<item>
		<title>Response to Readability</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/377822385/</link>
		<comments>http://programmer.brettveenstra.com/2008/08/28/response-to-readability/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 03:48:04 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Programmer]]></category>

		<guid isPermaLink="false">http://programmer.brettveenstra.com/?p=95</guid>
		<description><![CDATA[JP put out another post requesting comments on a Readable (Fluent) approach he&#8217;s currently using.
I tried to leave a comment, but the system wouldn&#8217;t accept anything I used for the captcha&#8230; so here goes:

JP writes:

Run.the&#60;wire_up_global_error_handling>()
   .then&#60;initialize_the_container_for_the_user_interface>()
   .then&#60;initialize_the_user_interface_registry>()
   .then&#60;initialize_the_ui_images_registry>()
   .then&#60;initialize_the_main_menus>()
   .execute();

Here are my humble [...]]]></description>
			<content:encoded><![CDATA[<p>JP put out another post <a href="http://blog.jpboodhoo.com/ThoughtsOnReadability.aspx" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://blog.jpboodhoo.com/ThoughtsOnReadability.aspx');">requesting comments on a Readable (Fluent) approach he&#8217;s currently using</a>.
I tried to leave a comment, but the system wouldn&#8217;t accept anything I used for the captcha&#8230; so here goes:</p>

<p>JP writes:</p>

<p><pre>
<code class="cpp">
  Run.the&lt;wire_up_global_error_handling>()
   .then&lt;initialize_the_container_for_the_user_interface>()
   .then&lt;initialize_the_user_interface_registry>()
   .then&lt;initialize_the_ui_images_registry>()
   .then&lt;initialize_the_main_menus>()
   .execute();
</code>
</pre></p>

<p>Here are my humble comments:
 + &#8220;Run&#8221; &amp; &#8220;execute&#8221; seems redundant
 + The underscores are nice to look at but CamelCasing is also easy to read (for me), and easier to type &#8230; I suppose if you&#8217;re using your <a href="http://blog.jpboodhoo.com/BDDAutoHotKeyScriptUpdateTake2.aspx" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://blog.jpboodhoo.com/BDDAutoHotKeyScriptUpdateTake2.aspx');">AutoHotKey ninja tricks like JP does</a>, this would be minimum overhead.</p>

<p>So, for the full comparison in code:
<pre>
<code class="cpp">
  Start.by&lt;wireUpGlobalErrorHandling&#62;()
   .and&lt;initializeTheContainerForTheUserInterface&#62;()
   .and&lt;initializeTheUserInterfaceRegistry&#62;()
   .and&lt;initializeTheUiImagesRegistry&#62;()
   .finally&lt;initializeTheMainMenus&#62;();
</code>
</pre></p>

<p>Hopefully JP gets this via a trackback.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=8PgJiK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=8PgJiK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=UDuoYk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=UDuoYk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=IsDCpk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=IsDCpk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=UPg6Zk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=UPg6Zk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/377822385" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://programmer.brettveenstra.com/2008/08/28/response-to-readability/feed/</wfw:commentRss>
		<feedburner:origLink>http://programmer.brettveenstra.com/2008/08/28/response-to-readability/</feedburner:origLink></item>
		<item>
		<title>Resharper 4.0 Release Candidate Available</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/305512809/</link>
		<comments>http://brettveenstra.com/2008/06/05/resharper-40-release-candidate-available/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 18:47:13 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Programmer]]></category>

		<category><![CDATA[Resharper]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=88</guid>
		<description><![CDATA[JetBrains has just posted their Release Candidate for Resharper 4.0.



I&#8217;m excited to see this and already have my C# tax ($99) lined up for it&#8217;s official release!

I&#8217;m officially a convert from the CodeRush/Refactor Pro camp&#8230; I just found Resharper more discoverable than CodeRush.  CodeRush definitely has a slicker UI, but Resharper lets me work more [...]]]></description>
			<content:encoded><![CDATA[<p>JetBrains has just <a href="http://www.jetbrains.net/confluence/display/ReSharper/ReSharper+4.0+Nightly+Builds">posted their Release Candidate for Resharper 4.0</a>.</p>

<p><img src="http://farm4.static.flickr.com/3025/2554410086_a085eaff68.jpg?v=0" alt=" Resharper 4.0 Release Candidate Available" width="500" height="492" title=" photo" /></p>

<p>I&#8217;m excited to see this and already have my C# tax ($99) lined up for it&#8217;s official release!</p>

<p>I&#8217;m officially a convert from the CodeRush/Refactor Pro camp&#8230; I just found Resharper more discoverable than CodeRush.  CodeRush definitely has a slicker UI, but Resharper lets me work more like myself (renames/namespaces/interface-based architecture) in Visual Studio.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=dsL2FK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=dsL2FK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=opJ75k"><img src="http://feeds.feedburner.com/~f/Bpoint?i=opJ75k" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=yQ1vak"><img src="http://feeds.feedburner.com/~f/Bpoint?i=yQ1vak" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/305512809" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2008/06/05/resharper-40-release-candidate-available/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2008/06/05/resharper-40-release-candidate-available/</feedburner:origLink></item>
		<item>
		<title>May Challenge - 2/2 Up - Mustang</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/285881428/</link>
		<comments>http://brettveenstra.com/2008/05/08/may-challenge-22-up-mustang/#comments</comments>
		<pubDate>Thu, 08 May 2008 06:27:18 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
		
		<category><![CDATA[Photographer]]></category>

		<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=87</guid>
		<description><![CDATA[I just had to take a shot of the classic Mustang badge.  Enjoy.

A little tweaking in PhotoShop CS3 and we can take an 8MB file and turn it into 80MB, that&#8217;s progress!
]]></description>
			<content:encoded><![CDATA[<p>I just had to take a shot of the classic <a href="http://en.wikipedia.org/wiki/Ford_Mustang">Mustang</a> badge.  Enjoy.
<a class="flickr-image" title="May Challenge - Week 2, Day 2 - Mustang" rel="flickr-mgr" href="http://flickr.com/photos/brettveenstra/2475619866/"><img class="flickr-large" src="http://farm3.static.flickr.com/2411/2475619866_b54ac3e5ac.jpg" alt="PhotoChallenge #3 - Tired Gnome" title="2475619866 b54ac3e5ac photo" /></a>
A little tweaking in PhotoShop CS3 and we can take an 8MB file and turn it into 80MB, that&#8217;s progress!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=ldG84K"><img src="http://feeds.feedburner.com/~f/Bpoint?i=ldG84K" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=HTdp2k"><img src="http://feeds.feedburner.com/~f/Bpoint?i=HTdp2k" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=h0BBvk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=h0BBvk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/285881428" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2008/05/08/may-challenge-22-up-mustang/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2008/05/08/may-challenge-22-up-mustang/</feedburner:origLink></item>
		<item>
		<title>April PhotoChallenge #3 Up</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/265731895/</link>
		<comments>http://brettveenstra.com/2008/04/03/april-photochallenge-3-up/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 04:50:42 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Photographer]]></category>

		<category><![CDATA[Lightroom]]></category>

		<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=84</guid>
		<description><![CDATA[I found this lonely old Lawn Gnome that I just had to snap a photo for Trevor&#8217;s April PhotoChallenge.



Plus, it gave me an excuse to play with the new beta of LightRoom!
]]></description>
			<content:encoded><![CDATA[<p>I found this lonely old Lawn Gnome that I just had to snap a photo for Trevor&#8217;s April PhotoChallenge.</p>

<p><a class="flickr-image" title="PhotoChallenge #3 - Tired Gnome" rel="flickr-mgr" href="http://www.flickr.com/photos/38424787@N00/2386564922/"><img class="flickr-large" src="http://farm3.static.flickr.com/2076/2386564922_f093a18220_m.jpg" alt="PhotoChallenge #3 - Tired Gnome" title="2386564922 f093a18220 m photo" /></a></p>

<p>Plus, it gave me an excuse to play with the new beta of LightRoom!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=cX6UTK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=cX6UTK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=GdWcmk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=GdWcmk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=AAqYuk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=AAqYuk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/265731895" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2008/04/03/april-photochallenge-3-up/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2008/04/03/april-photochallenge-3-up/</feedburner:origLink></item>
		<item>
		<title>Utterances: Kathy</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/265731896/</link>
		<comments>http://brettveenstra.com/2008/02/25/utterances-kathy/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 23:53:27 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Father]]></category>

		<category><![CDATA[Humor]]></category>

		<category><![CDATA[Utterances]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=81</guid>
		<description><![CDATA[Kathy: &#8220;Man, that is a lot of hair.&#8221;



Apparently Lydia liked my recent haircut so much she decided to copycat.


Special thanks to the hair-savings skills of Aunt Linda.
]]></description>
			<content:encoded><![CDATA[<p>Kathy: &#8220;Man, that is a lot of hair.&#8221;</p>

<p><a title="20080223-LydiasNewHaircut-7435 by Brett_Veenstra, on Flickr" href="http://www.flickr.com/photos/brettveenstra/2289432175/"><img src="http://farm3.static.flickr.com/2149/2289432175_f48dd4d673.jpg" alt="20080223-LydiasNewHaircut-7435" width="333" height="500" title="2289432175 f48dd4d673 photo" /></a></p>

<p>Apparently Lydia liked my recent haircut so much she decided to copycat.
<a title="20080223-LydiasNewHaircut-7436 by Brett_Veenstra, on Flickr" href="http://www.flickr.com/photos/brettveenstra/2289413635/"><img src="http://farm3.static.flickr.com/2366/2289413635_453747b16e_m.jpg" alt="20080223-LydiasNewHaircut-7436" width="160" height="240" title="2289413635 453747b16e m photo" /></a></p>

<p>Special thanks to the hair-savings skills of <a href="http://lindachristenson.com">Aunt Linda</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=SbnvNK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=SbnvNK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=M0ozvk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=M0ozvk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=iN9cuk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=iN9cuk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/265731896" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2008/02/25/utterances-kathy/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2008/02/25/utterances-kathy/</feedburner:origLink></item>
		<item>
		<title>Surviving the Technological Future</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/265731897/</link>
		<comments>http://brettveenstra.com/2008/02/21/surviving-the-technological-future/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 15:22:11 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Disciple]]></category>

		<category><![CDATA[Culture]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=82</guid>
		<description><![CDATA[My bud&#8217;s over at Geeks and God pointed me to this awesome video below.


Jon makes a great followup to something Rob and MF already commented on for unplugging, and being there when you&#8217;re with real people, not your virtual friends.

He also makes some resolutions about going &#8220;natural&#8221;, and finding a way to completely disconnect using [...]]]></description>
			<content:encoded><![CDATA[<p>My bud&#8217;s over at <a href="http://geeksandgod.com">Geeks and God</a> <a href="http://geeksandgod.com/episode74">pointed me</a> to this awesome video below.
<a href="http://www.vimeo.com/421868"><img src="http://brettveenstra.com/wp-content/uploads/2008/09/surviningtechnologicalfuture-300x171.png" alt="surviningtechnologicalfuture-300x171 Surviving the Technological Future" title="Resolution for Surviving the Future" width="300" height="171" class="alignnone size-medium wp-image-325" /></a></p>

<p>Jon makes a great followup to something Rob and MF already commented on for <a href="http://geeksandgod.com/episode73">unplugging, and being there</a> when you&#8217;re with real people, not your virtual friends.</p>

<p>He also makes some resolutions about going &#8220;natural&#8221;, and finding a way to completely disconnect using nature.  I wish him well in this endeavor, must past <a href="http://bveenstra.wordpress.com/2008/02/14/how-long-would-you-last/">my estimated endurance of 3 days</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=NCYXTK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=NCYXTK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=qcKnKk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=qcKnKk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=J7U1ak"><img src="http://feeds.feedburner.com/~f/Bpoint?i=J7U1ak" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/265731897" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2008/02/21/surviving-the-technological-future/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2008/02/21/surviving-the-technological-future/</feedburner:origLink></item>
		<item>
		<title>Multiple Views (redux)</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/345431208/</link>
		<comments>http://brettveenstra.com/2008/02/19/multiple-views-redux/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 21:01:51 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Programmer]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Functional]]></category>

		<category><![CDATA[Hacks]]></category>

		<category><![CDATA[Refactoring]]></category>

		<guid isPermaLink="false">http://journeymantomaster.wordpress.com/?p=102</guid>
		<description><![CDATA[Jeremy posted an article on retrieving filtered results on collections, using the perennial Animal kingdom example.  Great post.

As I was looking at this again, it just started looking &#8220;smelly&#8221;.  First thought, can we do this cleaner with Generics? 




public IEnumerable&#60;AnimalType&#62; AnimalsList&#60;AnimalType&#62;() where AnimalType:class
{
foreach (IAnimal animal in _animals)
{
AnimalType testAnimal = animal as AnimalType;
if (testAnimal [...]]]></description>
			<content:encoded><![CDATA[<p>Jeremy posted an <a href="http://jeremyjarrell.com/archive/2008/02/19/82.aspx">article on retrieving filtered results on collections</a>, using the perennial Animal kingdom example.  Great post.</p>

<p>As I was looking at this again, it just started looking &#8220;smelly&#8221;.  First thought, can we do this cleaner with <a href="http://www.google.com/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fmsdn2.microsoft.com%2Fen-us%2Flibrary%2Fms379564(VS.80).aspx&amp;ei=U0K7R8fwDpOwiAHSj6z5CA&amp;usg=AFQjCNGp2vS4kpeLcGjXWtnM-3-rc8UZ1A&amp;sig2=EqElobu2fgGrPArnFHFUVg">Generics</a>?<span id="more-172"></span> <!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red0\green0\blue0;\red248\green248\blue248;\red0\green0\blue128;\red166\green83\blue0;\red128\green0\blue0;}??\fs20 \cb2\highlight2         \cf3 public\cf0  \cf4 IEnumerable\cf0 &amp;lt;\cf5 AnimalType\cf0 &amp;gt; \cf5 AnimalsList\cf0 &amp;lt;\cf5 AnimalType\cf0 &amp;gt;() \cf3 where\cf0  \cf5 AnimalType\cf0 :\cf3 class\par ??\cf0         \{\par ??                \cf3 foreach\cf0  (\cf4 IAnimal\cf0  \cf5 animal\cf0  \cf3 in\cf0  \cf5 _animals\cf0 )\par ??                \{\par ??                    \cf5 AnimalType\cf0  \cf5 testAnimal\cf0  = \cf5 animal\cf0  \cf3 as\cf0  \cf5 AnimalType\cf0 ;\par ??                    \cf3 if\cf0  (\cf5 testAnimal\cf0  != \cf3 null\cf0 )\par ??                        \cf3 yield\cf0  \cf3 return\cf0  \cf5 testAnimal\cf0 ;\par ??                \}\par ??        \}} --></p>

<!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red0\green0\blue0;\red248\green248\blue248;\red0\green0\blue128;\red166\green83\blue0;\red128\green0\blue0;}??\fs20 \cb2\highlight2         \cf3 public\cf0  \cf4 IEnumerable\cf0 &amp;lt;\cf5 AnimalType\cf0 &amp;gt; \cf5 AnimalsList\cf0 &amp;lt;\cf5 AnimalType\cf0 &amp;gt;() \cf3 where\cf0  \cf5 AnimalType\cf0 :\cf3 class\par ??\cf0         \{\par ??                \cf3 foreach\cf0  (\cf4 IAnimal\cf0  \cf5 animal\cf0  \cf3 in\cf0  \cf5 _animals\cf0 )\par ??                \{\par ??                    \cf5 AnimalType\cf0  \cf5 testAnimal\cf0  = \cf5 animal\cf0  \cf3 as\cf0  \cf5 AnimalType\cf0 ;\par ??                    \cf3 if\cf0  (\cf5 testAnimal\cf0  != \cf3 null\cf0 )\par ??                        \cf3 yield\cf0  \cf3 return\cf0  \cf5 testAnimal\cf0 ;\par ??                \}\par ??        \}} -->

<div style="background:#f8f8f8 none repeat scroll 0 50%;font-family:Consolas;font-size:10pt;color:black;">
<p style="margin:0;"><span style="color: navy;">public</span> <span style="color: #a65300;">IEnumerable</span>&lt;<span style="color: maroon;">AnimalType</span>&gt; <span style="color: maroon;">AnimalsList</span>&lt;<span style="color: maroon;">AnimalType</span>&gt;() <span style="color: navy;">where</span> <span style="color: maroon;">AnimalType</span>:<span style="color: navy;">class</span></p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: navy;">foreach</span> (<span style="color: #a65300;">IAnimal</span> <span style="color: maroon;">animal</span> <span style="color: navy;">in</span> <span style="color: maroon;">_animals</span>)</p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: maroon;">AnimalType</span> <span style="color: maroon;">testAnimal</span> = <span style="color: maroon;">animal</span> <span style="color: navy;">as</span> <span style="color: maroon;">AnimalType</span>;</p>
<p style="margin:0;"><span style="color: navy;">if</span> (<span style="color: maroon;">testAnimal</span> != <span style="color: navy;">null</span>)</p>
<p style="margin:0;"><span style="color: navy;">yield</span> <span style="color: navy;">return</span> <span style="color: maroon;">testAnimal</span>;</p>
<p style="margin:0;">}</p>
<p style="margin:0;">}</p>

</div>

<p>Oh yeah&#8230; generics are just the coolest thing.</p>

<p>But, this still smelled to me (I didn&#8217;t like all the filter code inside the function).  Sprinkling some functional programming goodness (<a href="http://diditwith.net/PermaLink,guid,a1a76478-03d2-428f-9db6-9cf4e300ea0f.aspx">thank you Dustin</a>), it turned into this.</p>

<!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red0\green0\blue0;\red248\green248\blue248;\red0\green0\blue128;\red166\green83\blue0;\red128\green0\blue0;}??\fs20 \cb2\highlight2         \cf3 public\cf0  \cf4 IEnumerable\cf0  \cf5 AnimalList\cf0 (\cf4 FilterAnimalPredicate\cf0  \cf5 filter\cf0 )\par ??        \{\par ??            \cf3 foreach\cf0  (\cf4 IAnimal\cf0  \cf5 animal\cf0  \cf3 in\cf0  \cf5 _animals\cf0 )\par ??            \{\par ??                \cf3 if\cf0  (\cf5 filter\cf0 (\cf5 animal\cf0 .\cf5 GetType\cf0 ()))\par ??                \{\par ??                    \cf3 yield\cf0  \cf3 return\cf0  \cf5 animal\cf0 ;\par ??                \}\par ??            \}\par ??        \}} -->

<div style="background:#f8f8f8 none repeat scroll 0 50%;font-family:Consolas;font-size:10pt;color:black;">
<p style="margin:0;"><!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red0\green0\blue0;\red248\green248\blue248;\red0\green0\blue128;\red166\green83\blue0;\red128\green0\blue0;}??\fs20 \cb2\highlight2         \cf3 public\cf0  \cf3 delegate\cf0  \cf3 bool\cf0  \cf4 FilterAnimalPredicate\cf0 (\cf5 System\cf0 .\cf4 Type\cf0  \cf5 type\cf0 );\par ??\par ??        \cf3 private\cf0  \cf3 readonly\cf0  \cf4 IList\cf0 &amp;lt;\cf4 IAnimal\cf0 &amp;gt; \cf5 _animals\cf0  = \cf3 new\cf0  \cf4 List\cf0 &amp;lt;\cf4 IAnimal\cf0 &amp;gt;();\par ??\par ??} --></p>

<div style="background:#f8f8f8 none repeat scroll 0 50%;font-family:Consolas;font-size:10pt;color:black;">
<p style="margin:0;"><span style="color: navy;">public</span> <span style="color: navy;">delegate</span> <span style="color: navy;">bool</span> <span style="color: #a65300;">FilterAnimalPredicate</span>(<span style="color: maroon;">System</span>.<span style="color: #a65300;">Type</span> <span style="color: maroon;">type</span>);</p>
<p style="margin:0;"></p>

<!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red0\green0\blue0;\red248\green248\blue248;\red0\green128\blue0;}??\fs20 \cb2\highlight2         \cf3 //public IEnumerable Zebras\par ??} -->
<div style="background:#f8f8f8 none repeat scroll 0 50%;font-family:Consolas;font-size:10pt;color:black;">
<p style="margin:0;"><span style="color: green;">/// snip</span></p>

</div>
<p style="margin:0;"></p>

</div>
<p style="margin:0;"><span style="color: navy;">public</span> <span style="color: #a65300;">IEnumerable</span> <span style="color: maroon;">AnimalList</span>(<span style="color: #a65300;">FilterAnimalPredicate</span> <span style="color: maroon;">filter</span>)</p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: navy;">foreach</span> (<span style="color: #a65300;">IAnimal</span> <span style="color: maroon;">animal</span> <span style="color: navy;">in</span> <span style="color: maroon;">_animals</span>)</p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: navy;">if</span> (<span style="color: maroon;">filter</span>(<span style="color: maroon;">animal</span>.<span style="color: maroon;">GetType</span>()))</p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: navy;">yield</span> <span style="color: navy;">return</span> <span style="color: maroon;">animal</span>;</p>
<p style="margin:0;">}</p>
<p style="margin:0;">}</p>
<p style="margin:0;">}</p>

</div>

<p>Admittedly, I have cheated &#8230; we are no longer using a Property, and hence the unit tests had to change.  But I&#8217;d take this approach as it feels much cleaner.</p>

<p>Thanks again to Jeremy for sparking this post.</p>

<p>Here&#8217;s the final Test Code:</p>

<!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red0\green0\blue128;\red248\green248\blue248;\red0\green0\blue0;\red128\green0\blue0;\red166\green83\blue0;\red230\green255\blue255;}??\fs20 \cf1\cb2\highlight2 using\cf0  \cf4 System\cf0 ;\par ??\cf1 using\cf0  \cf4 System\cf0 .\cf4 Collections\cf0 ;\par ??\cf1 using\cf0  \cf4 System\cf0 .\cf4 Collections\cf0 .\cf4 Generic\cf0 ;\par ??\cf1 using\cf0  \cf4 MbUnit\cf0 .\cf4 Framework\cf0 ;\par ??\par ??\cf1 namespace\cf0  \cf4 MultipleIterators\cf0 .\cf4 Test\par ??\cf0 \{\par ??    [\cf5 TestFixture\cf0 ]\par ??    \cf1 public\cf0  \cf1 class\cf0  \cf5 ZooTest\par ??\cf0     \{\par ??\par ??        \cf1 private\cf0  \cf1 static\cf0  \cf1 bool\cf0  \cf4 IsElephant\cf0 (\cf4 System\cf0 .\cf5 Type\cf0  \cf4 type\cf0 )\par ??        \{\par ??            \cf1 return\cf0  (\cf4 type\cf0  \cf1 is\cf0  \cf5 Elephant\cf0 );\par ??        \}\par ??\par ??        \cf1 private\cf0  \cf1 static\cf0  \cf1 bool\cf0  \cf4 IsZebra\cf0 (\cf4 System\cf0 .\cf5 Type\cf0  \cf4 type\cf0 )\par ??        \{\par ??            \cf1 return\cf0  (\cf4 type\cf0  \cf1 is\cf0  \cf5 Zebra\cf0 );\par ??        \}\par ??        \par ??        [\cf4 Test\cf0 ]\par ??        \cf1 public\cf0  \cf1 void\cf0  \cf4 Can_add_elephants_to_the_zoo\cf0 ()\par ??        \{\par ??            \cf5 Zoo\cf0  \cf4 zoo\cf0  = \cf1 new\cf0  \cf5 Zoo\cf0 ();\par ??            \cf4 zoo\cf0 .\cf4 AddAnimal\cf0 (\cf1 new\cf0  \cf5 Elephant\cf0 ());\par ??\par ??            \cf1 int\cf0  \cf4 animalCounter\cf0  = \cb6\highlight6 0\cb2\highlight2 ;\par ??            \cf1 foreach\cf0  (\cf5 IAnimal\cf0  \cf4 animal\cf0  \cf1 in\cf0  \cf4 zoo\cf0 .\cf4 Animals\cf0 )\par ??                \cf4 animalCounter\cf0 ++;\par ??\par ??            \cf5 Assert\cf0 .\cf4 AreEqual\cf0 (\cb6\highlight6 1\cb2\highlight2 , \cf4 animalCounter\cf0 );\par ??        \}\par ??\par ??        [\cf4 Test\cf0 ]\par ??        \cf1 public\cf0  \cf1 void\cf0  \cf4 Can_add_zebras_to_the_zoo\cf0 ()\par ??        \{\par ??            \cf5 Zoo\cf0  \cf4 zoo\cf0  = \cf1 new\cf0  \cf5 Zoo\cf0 ();\par ??            \cf4 zoo\cf0 .\cf4 AddAnimal\cf0 (\cf1 new\cf0  \cf5 Zebra\cf0 ());\par ??\par ??            \cf1 int\cf0  \cf4 animalCounter\cf0  = \cb6\highlight6 0\cb2\highlight2 ;\par ??            \cf1 foreach\cf0  (\cf5 IAnimal\cf0  \cf4 animal\cf0  \cf1 in\cf0  \cf4 zoo\cf0 .\cf4 Animals\cf0 )\par ??                \cf4 animalCounter\cf0 ++;\par ??\par ??            \cf5 Assert\cf0 .\cf4 AreEqual\cf0 (\cb6\highlight6 1\cb2\highlight2 , \cf4 animalCounter\cf0 );\par ??        \}\par ??\par ??        [\cf4 Test\cf0 ]\par ??        \cf1 public\cf0  \cf1 void\cf0  \cf4 Can_get_just_the_zebras_out_of_the_zoo\cf0 ()\par ??        \{\par ??            \cf5 Zoo\cf0  \cf4 zoo\cf0  = \cf1 new\cf0  \cf5 Zoo\cf0 ();\par ??            \cf4 zoo\cf0 .\cf4 AddAnimal\cf0 (\cf1 new\cf0  \cf5 Zebra\cf0 ());\par ??            \cf4 zoo\cf0 .\cf4 AddAnimal\cf0 (\cf1 new\cf0  \cf5 Elephant\cf0 ());\par ??\par ??            \cf1 foreach\cf0  (\cf5 Zebra\cf0  \cf4 zebra\cf0  \cf1 in\cf0  \cf4 zoo\cf0 .\cf4 AnimalsList\cf0 &amp;lt;\cf5 Zebra\cf0 &amp;gt;())\par ??                \cf5 Assert\cf0 .\cf4 IsTrue\cf0 (\cf4 zebra\cf0  \cf1 is\cf0  \cf5 Zebra\cf0 );\par ??        \}\par ??\par ??        [\cf4 Test\cf0 ]\par ??        \cf1 public\cf0  \cf1 void\cf0  \cf4 Can_get_just_the_elephants_out_of_the_zoo\cf0 ()\par ??        \{\par ??            \cf5 Zoo\cf0  \cf4 zoo\cf0  = \cf1 new\cf0  \cf5 Zoo\cf0 ();\par ??            \cf4 zoo\cf0 .\cf4 AddAnimal\cf0 (\cf1 new\cf0  \cf5 Zebra\cf0 ());\par ??            \cf4 zoo\cf0 .\cf4 AddAnimal\cf0 (\cf1 new\cf0  \cf5 Elephant\cf0 ());\par ??\par ??            \cf1 foreach\cf0  (\cf5 Elephant\cf0  \cf4 elephant\cf0  \cf1 in\cf0  \cf4 zoo\cf0 .\cf4 AnimalsList\cf0 &amp;lt;\cf5 Elephant\cf0 &amp;gt;())\par ??                \cf5 Assert\cf0 .\cf4 IsTrue\cf0 (\cf4 elephant\cf0  \cf1 is\cf0  \cf5 Elephant\cf0 );\par ??        \}\par ??\par ??        [\cf4 Test\cf0 ]\par ??        \cf1 public\cf0  \cf1 void\cf0  \cf4 Can_get_just_the_elephants_out_of_the_zoo_using_predicate\cf0 ()\par ??        \{\par ??            \cf5 Zoo\cf0  \cf4 zoo\cf0  = \cf1 new\cf0  \cf5 Zoo\cf0 ();\par ??            \cf4 zoo\cf0 .\cf4 AddAnimal\cf0 (\cf1 new\cf0  \cf5 Zebra\cf0 ());\par ??            \cf4 zoo\cf0 .\cf4 AddAnimal\cf0 (\cf1 new\cf0  \cf5 Elephant\cf0 ());\par ??\par ??            \cf1 foreach\cf0  (\cf5 Elephant\cf0  \cf4 elephant\cf0  \cf1 in\cf0  \cf4 zoo\cf0 .\cf4 AnimalList\cf0 (\cf4 IsElephant\cf0 ))\par ??                \cf5 Assert\cf0 .\cf4 IsTrue\cf0 (\cf4 elephant\cf0  \cf1 is\cf0  \cf5 Elephant\cf0 );\par ??        \}\par ??\par ??    \}\par ??\}} -->

<div style="background:#f8f8f8 none repeat scroll 0 50%;font-family:Consolas;font-size:10pt;color:black;">
<p style="margin:0;"><span style="color: navy;">using</span> <span style="color: maroon;">System</span>;</p>
<p style="margin:0;"><span style="color: navy;">using</span> <span style="color: maroon;">System</span>.<span style="color: maroon;">Collections</span>;</p>
<p style="margin:0;"><span style="color: navy;">using</span> <span style="color: maroon;">System</span>.<span style="color: maroon;">Collections</span>.<span style="color: maroon;">Generic</span>;</p>
<p style="margin:0;"><span style="color: navy;">using</span> <span style="color: maroon;">MbUnit</span>.<span style="color: maroon;">Framework</span>;</p>
<p style="margin:0;"></p>
<p style="margin:0;"><span style="color: navy;">namespace</span> <span style="color: maroon;">MultipleIterators</span>.<span style="color: maroon;">Test</span></p>
<p style="margin:0;">{</p>
<p style="margin:0;">[<span style="color: #a65300;">TestFixture</span>]</p>
<p style="margin:0;"><span style="color: navy;">public</span> <span style="color: navy;">class</span> <span style="color: #a65300;">ZooTest</span></p>
<p style="margin:0;">{</p>
<p style="margin:0;"></p>
<p style="margin:0;"><span style="color: navy;">private</span> <span style="color: navy;">static</span> <span style="color: navy;">bool</span> <span style="color: maroon;">IsElephant</span>(<span style="color: maroon;">System</span>.<span style="color: #a65300;">Type</span> <span style="color: maroon;">type</span>)</p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: navy;">return</span> (<span style="color: maroon;">type</span> <span style="color: navy;">is</span> <span style="color: #a65300;">Elephant</span>);</p>
<p style="margin:0;">}</p>
<p style="margin:0;"></p>
<p style="margin:0;"><span style="color: navy;">private</span> <span style="color: navy;">static</span> <span style="color: navy;">bool</span> <span style="color: maroon;">IsZebra</span>(<span style="color: maroon;">System</span>.<span style="color: #a65300;">Type</span> <span style="color: maroon;">type</span>)</p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: navy;">return</span> (<span style="color: maroon;">type</span> <span style="color: navy;">is</span> <span style="color: #a65300;">Zebra</span>);</p>
<p style="margin:0;">}</p>
<p style="margin:0;"></p>
<p style="margin:0;">[<span style="color: maroon;">Test</span>]</p>
<p style="margin:0;"><span style="color: navy;">public</span> <span style="color: navy;">void</span> <span style="color: maroon;">Can_add_elephants_to_the_zoo</span>()</p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: #a65300;">Zoo</span> <span style="color: maroon;">zoo</span> = <span style="color: navy;">new</span> <span style="color: #a65300;">Zoo</span>();</p>
<p style="margin:0;"><span style="color: maroon;">zoo</span>.<span style="color: maroon;">AddAnimal</span>(<span style="color: navy;">new</span> <span style="color: #a65300;">Elephant</span>());</p>
<p style="margin:0;"></p>
<p style="margin:0;"><span style="color: navy;">int</span> <span style="color: maroon;">animalCounter</span> = <span style="background:#e6ffff none repeat scroll 0 50%;">0</span>;</p>
<p style="margin:0;"><span style="color: navy;">foreach</span> (<span style="color: #a65300;">IAnimal</span> <span style="color: maroon;">animal</span> <span style="color: navy;">in</span> <span style="color: maroon;">zoo</span>.<span style="color: maroon;">Animals</span>)</p>
<p style="margin:0;"><span style="color: maroon;">animalCounter</span>++;</p>
<p style="margin:0;"></p>
<p style="margin:0;"><span style="color: #a65300;">Assert</span>.<span style="color: maroon;">AreEqual</span>(<span style="background:#e6ffff none repeat scroll 0 50%;">1</span>, <span style="color: maroon;">animalCounter</span>);</p>
<p style="margin:0;">}</p>
<p style="margin:0;"></p>
<p style="margin:0;">[<span style="color: maroon;">Test</span>]</p>
<p style="margin:0;"><span style="color: navy;">public</span> <span style="color: navy;">void</span> <span style="color: maroon;">Can_add_zebras_to_the_zoo</span>()</p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: #a65300;">Zoo</span> <span style="color: maroon;">zoo</span> = <span style="color: navy;">new</span> <span style="color: #a65300;">Zoo</span>();</p>
<p style="margin:0;"><span style="color: maroon;">zoo</span>.<span style="color: maroon;">AddAnimal</span>(<span style="color: navy;">new</span> <span style="color: #a65300;">Zebra</span>());</p>
<p style="margin:0;"></p>
<p style="margin:0;"><span style="color: navy;">int</span> <span style="color: maroon;">animalCounter</span> = <span style="background:#e6ffff none repeat scroll 0 50%;">0</span>;</p>
<p style="margin:0;"><span style="color: navy;">foreach</span> (<span style="color: #a65300;">IAnimal</span> <span style="color: maroon;">animal</span> <span style="color: navy;">in</span> <span style="color: maroon;">zoo</span>.<span style="color: maroon;">Animals</span>)</p>
<p style="margin:0;"><span style="color: maroon;">animalCounter</span>++;</p>
<p style="margin:0;"></p>
<p style="margin:0;"><span style="color: #a65300;">Assert</span>.<span style="color: maroon;">AreEqual</span>(<span style="background:#e6ffff none repeat scroll 0 50%;">1</span>, <span style="color: maroon;">animalCounter</span>);</p>
<p style="margin:0;">}</p>
<p style="margin:0;"></p>
<p style="margin:0;">[<span style="color: maroon;">Test</span>]</p>
<p style="margin:0;"><span style="color: navy;">public</span> <span style="color: navy;">void</span> <span style="color: maroon;">Can_get_just_the_zebras_out_of_the_zoo</span>()</p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: #a65300;">Zoo</span> <span style="color: maroon;">zoo</span> = <span style="color: navy;">new</span> <span style="color: #a65300;">Zoo</span>();</p>
<p style="margin:0;"><span style="color: maroon;">zoo</span>.<span style="color: maroon;">AddAnimal</span>(<span style="color: navy;">new</span> <span style="color: #a65300;">Zebra</span>());</p>
<p style="margin:0;"><span style="color: maroon;">zoo</span>.<span style="color: maroon;">AddAnimal</span>(<span style="color: navy;">new</span> <span style="color: #a65300;">Elephant</span>());</p>
<p style="margin:0;"></p>
<p style="margin:0;"><span style="color: navy;">foreach</span> (<span style="color: #a65300;">Zebra</span> <span style="color: maroon;">zebra</span> <span style="color: navy;">in</span> <span style="color: maroon;">zoo</span>.<span style="color: maroon;">AnimalsList</span>&lt;<span style="color: #a65300;">Zebra</span>&gt;())</p>
<p style="margin:0;"><span style="color: #a65300;">Assert</span>.<span style="color: maroon;">IsTrue</span>(<span style="color: maroon;">zebra</span> <span style="color: navy;">is</span> <span style="color: #a65300;">Zebra</span>);</p>
<p style="margin:0;">}</p>
<p style="margin:0;"></p>
<p style="margin:0;">[<span style="color: maroon;">Test</span>]</p>
<p style="margin:0;"><span style="color: navy;">public</span> <span style="color: navy;">void</span> <span style="color: maroon;">Can_get_just_the_elephants_out_of_the_zoo</span>()</p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: #a65300;">Zoo</span> <span style="color: maroon;">zoo</span> = <span style="color: navy;">new</span> <span style="color: #a65300;">Zoo</span>();</p>
<p style="margin:0;"><span style="color: maroon;">zoo</span>.<span style="color: maroon;">AddAnimal</span>(<span style="color: navy;">new</span> <span style="color: #a65300;">Zebra</span>());</p>
<p style="margin:0;"><span style="color: maroon;">zoo</span>.<span style="color: maroon;">AddAnimal</span>(<span style="color: navy;">new</span> <span style="color: #a65300;">Elephant</span>());</p>
<p style="margin:0;"></p>
<p style="margin:0;"><span style="color: navy;">foreach</span> (<span style="color: #a65300;">Elephant</span> <span style="color: maroon;">elephant</span> <span style="color: navy;">in</span> <span style="color: maroon;">zoo</span>.<span style="color: maroon;">AnimalsList</span>&lt;<span style="color: #a65300;">Elephant</span>&gt;())</p>
<p style="margin:0;"><span style="color: #a65300;">Assert</span>.<span style="color: maroon;">IsTrue</span>(<span style="color: maroon;">elephant</span> <span style="color: navy;">is</span> <span style="color: #a65300;">Elephant</span>);</p>
<p style="margin:0;">}</p>
<p style="margin:0;"></p>
<p style="margin:0;">[<span style="color: maroon;">Test</span>]</p>
<p style="margin:0;"><span style="color: navy;">public</span> <span style="color: navy;">void</span> <span style="color: maroon;">Can_get_just_the_elephants_out_of_the_zoo_using_predicate</span>()</p>
<p style="margin:0;">{</p>
<p style="margin:0;"><span style="color: #a65300;">Zoo</span> <span style="color: maroon;">zoo</span> = <span style="color: navy;">new</span> <span style="color: #a65300;">Zoo</span>();</p>
<p style="margin:0;"><span style="color: maroon;">zoo</span>.<span style="color: maroon;">AddAnimal</span>(<span style="color: navy;">new</span> <span style="color: #a65300;">Zebra</span>());</p>
<p style="margin:0;"><span style="color: maroon;">zoo</span>.<span style="color: maroon;">AddAnimal</span>(<span style="color: navy;">new</span> <span style="color: #a65300;">Elephant</span>());</p>
<p style="margin:0;"></p>
<p style="margin:0;"><span style="color: navy;">foreach</span> (<span style="color: #a65300;">Elephant</span> <span style="color: maroon;">elephant</span> <span style="color: navy;">in</span> <span style="color: maroon;">zoo</span>.<span style="color: maroon;">AnimalList</span>(<span style="color: maroon;">IsElephant</span>))</p>
<p style="margin:0;"><span style="color: #a65300;">Assert</span>.<span style="color: maroon;">IsTrue</span>(<span style="color: maroon;">elephant</span> <span style="color: navy;">is</span> <span style="color: #a65300;">Elephant</span>);</p>
<p style="margin:0;">}</p>
<p style="margin:0;"></p>
<p style="margin:0;">}</p>
<p style="margin:0;">}</p>

</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=G9npBK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=G9npBK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=Ng9Rnk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=Ng9Rnk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=y193Dk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=y193Dk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/345431208" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2008/02/19/multiple-views-redux/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2008/02/19/multiple-views-redux/</feedburner:origLink></item>
		<item>
		<title>Utterances: Connor</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/265731898/</link>
		<comments>http://brettveenstra.com/2008/02/19/utterances-connor-2/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 14:25:24 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Father]]></category>

		<category><![CDATA[Utterances]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=80</guid>
		<description><![CDATA[Dad: &#8220;Connor, would you like me to make you a hot chocolate?&#8221;

Connor: &#8220;No way Dad, I like my hot cocoa old school ya know?  A little milk, some chocolate syrup and then I pop it in the microwave!&#8221;

Here&#8217;s to the new old school.
]]></description>
			<content:encoded><![CDATA[<h3><a href="http://flickr.com/photos/binkley27/1501265032/"><img src="http://farm3.static.flickr.com/2382/1501265032_bcaf3ad412_m.jpg" alt="1501265032_bcaf3ad412_m Utterances: Connor" hspace="2" vspace="2" width="180" height="240" align="left" title="1501265032 bcaf3ad412 m photo" /></a>Dad: &#8220;Connor, would you like me to <a title="Super Coffee Maker" href="http://www.amazon.com/gp/product/B000SQWAKY?ie=UTF8&amp;tag=bpoint-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B000SQWAKY">make you a hot chocolate</a>?&#8221;</h3>

<h3>Connor: &#8220;No way Dad, I like my hot cocoa old school ya know?  A little milk, some chocolate syrup and then I pop it in the microwave!&#8221;</h3>

<h2>Here&#8217;s to the new old school.</h2>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=pF6f6K"><img src="http://feeds.feedburner.com/~f/Bpoint?i=pF6f6K" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=Cd9pgk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=Cd9pgk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=T7fyUk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=T7fyUk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/265731898" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2008/02/19/utterances-connor-2/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2008/02/19/utterances-connor-2/</feedburner:origLink></item>
		<item>
		<title>How long would you last?</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/265731899/</link>
		<comments>http://brettveenstra.com/2008/02/14/how-long-would-you-last/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 23:00:12 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Geek]]></category>

		<category><![CDATA[Culture]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=79</guid>
		<description><![CDATA[The Today Show released a video to YouTube on how addicted we are in America.
httpv://www.youtube.com/watch?v=vmEErhy7AIc

MF wrote about the same thing, in a different perspective.

I think I could last a weekend, and the day after.

How about you?
]]></description>
			<content:encoded><![CDATA[<p>The Today Show released a <a href="http://www.youtube.com/watch?v=vmEErhy7AIc">video to YouTube</a> on how addicted we are in America.
httpv://www.youtube.com/watch?v=vmEErhy7AIc</p>

<p><a href="http://www.innovatingtomorrow.net/2008/02/12/what-need-does-your-tech-solution-fill">MF wrote about the same thing, in a different perspective.</a></p>

<p>I think I could last a weekend, and the day after.</p>

<p><strong>How about you?</strong></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=Nl0TiK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=Nl0TiK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=9gUvEk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=9gUvEk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=pLehdk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=pLehdk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/265731899" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2008/02/14/how-long-would-you-last/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2008/02/14/how-long-would-you-last/</feedburner:origLink></item>
		<item>
		<title>Brrr…</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/265731900/</link>
		<comments>http://brettveenstra.com/2008/02/14/brrr/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 11:00:46 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Dude]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=78</guid>
		<description><![CDATA[Happy Valentine&#8217;s Day!

Man I&#8217;m sick of cold already&#8230;



&#160;
High /
Low (°F)
Precip. %



Today
Feb 14

Mostly Cloudy
31°/20°
20 %


Fri
Feb 15

AM Snow Showers
19°/2°
30 %


Sat
Feb 16

Partly Cloudy
20°/19°
0 %


Sun
Feb 17

Snow
31°/28°
70 %


Mon
Feb 18

Snow Shower
28°/10°
50 %


Tue
Feb 19

Few Snow Showers
14°/13°
30 %


Wed
Feb 20

Snow Shower
28°/19°
40 %


Thu
Feb 21

Scattered Snow Showers
31°/26°
40 %


Fri
Feb 22

Rain / Snow
36°/29°
60 %


Sat
Feb 23

Rain / Snow Showers
35°/32°
60 %





One more month&#8230; one more month&#8230; until we get something [...]]]></description>
			<content:encoded><![CDATA[<h1><img src="http://farm3.static.flickr.com/2010/2254730248_ea0e20ea26_m.jpg" align="middle" height="123" width="240" title="2254730248 ea0e20ea26 m photo" alt="2254730248_ea0e20ea26_m Brrr..." />Happy <a href="http://www.google.com/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FValentine's_Day&amp;ei=Tku0R6nVN5TeigG_n6n5CA&amp;usg=AFQjCNE6Hkg5_Qoiq6oJEtCVpPqLvK8dCQ&amp;sig2=dfF8tVTQqWZzMzR3lEZYww">Valentine&#8217;s Day</a>!</h1>

<p>Man <a href="http://www.weather.com/weather/print/48324" title="West Bloomfield, MI">I&#8217;m sick of cold already</a>&#8230;</p>

<table id="f2" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#f1f4f5">
<td colspan="3">&nbsp;</td>
<td class="blkVerdanaText10" align="center" valign="middle" width="100%"><b>High /
Low (°F)</b></td>
<td class="blkVerdanaText10" align="center" valign="middle" width="100%"><b>Precip. %</b></td>
<td><img src="http://image.weather.com/web/blank.gif" border="0" height="1" width="1" title="blank photo" alt="blank Brrr..." /></td>
</tr>
<tr>
<td width="15%">Today
Feb 14</td>
<td width="10%"><img src="http://image.weather.com/web/common/wxicons/31/28.gif" border="0" height="31" width="31" title="28 photo" alt="28 Brrr..." /></td>
<td width="35%">Mostly Cloudy</td>
<td align="center" width="25%"><b>31°/20°</b></td>
<td align="center" width="15%">20 %</td>
</tr>
<tr>
<td class="f2a"><font>Fri
Feb 15</font></td>
<td class="f2a"><img src="http://image.weather.com/web/common/wxicons/31/14.gif" border="0" height="31" width="31" title="14 photo" alt="14 Brrr..." /></td>
<td class="f2a"><font>AM Snow Showers</font></td>
<td class="f2a" align="center"><font><b>19°/2°</b></font></td>
<td class="f2a" align="center"><font>30 %</font></td>
</tr>
<tr>
<td><font>Sat
Feb 16</font></td>
<td><img src="http://image.weather.com/web/common/wxicons/31/30.gif" border="0" height="31" width="31" title="30 photo" alt="30 Brrr..." /></td>
<td><font>Partly Cloudy</font></td>
<td align="center"><font><b>20°/19°</b></font></td>
<td align="center"><font>0 %</font></td>
</tr>
<tr>
<td class="f2a"><font>Sun
Feb 17</font></td>
<td class="f2a"><img src="http://image.weather.com/web/common/wxicons/31/16.gif" border="0" height="31" width="31" title="16 photo" alt="16 Brrr..." /></td>
<td class="f2a"><font>Snow</font></td>
<td class="f2a" align="center"><font><b>31°/28°</b></font></td>
<td class="f2a" align="center"><font>70 %</font></td>
</tr>
<tr>
<td><font>Mon
Feb 18</font></td>
<td><img src="http://image.weather.com/web/common/wxicons/31/14.gif" border="0" height="31" width="31" title="14 photo" alt="14 Brrr..." /></td>
<td><font>Snow Shower</font></td>
<td align="center"><font><b>28°/10°</b></font></td>
<td align="center"><font>50 %</font></td>
</tr>
<tr>
<td class="f2a"><font>Tue
Feb 19</font></td>
<td class="f2a"><img src="http://image.weather.com/web/common/wxicons/31/14.gif" border="0" height="31" width="31" title="14 photo" alt="14 Brrr..." /></td>
<td class="f2a"><font>Few Snow Showers</font></td>
<td class="f2a" align="center"><font><b>14°/13°</b></font></td>
<td class="f2a" align="center"><font>30 %</font></td>
</tr>
<tr>
<td><font>Wed
Feb 20</font></td>
<td><img src="http://image.weather.com/web/common/wxicons/31/14.gif" border="0" height="31" width="31" title="14 photo" alt="14 Brrr..." /></td>
<td><font>Snow Shower</font></td>
<td align="center"><font><b>28°/19°</b></font></td>
<td align="center"><font>40 %</font></td>
</tr>
<tr>
<td class="f2a"><font>Thu
Feb 21</font></td>
<td class="f2a"><img src="http://image.weather.com/web/common/wxicons/31/41.gif" border="0" height="31" width="31" title="41 photo" alt="41 Brrr..." /></td>
<td class="f2a"><font>Scattered Snow Showers</font></td>
<td class="f2a" align="center"><font><b>31°/26°</b></font></td>
<td class="f2a" align="center"><font>40 %</font></td>
</tr>
<tr>
<td><font>Fri
Feb 22</font></td>
<td><img src="http://image.weather.com/web/common/wxicons/31/5.gif" border="0" height="31" width="31" title="5 photo" alt="5 Brrr..." /></td>
<td><font>Rain / Snow</font></td>
<td align="center"><font><b>36°/29°</b></font></td>
<td align="center"><font>60 %</font></td>
</tr>
<tr>
<td class="f2a"><font>Sat
Feb 23</font></td>
<td class="f2a"><img src="http://image.weather.com/web/common/wxicons/31/5.gif" border="0" height="31" width="31" title="5 photo" alt="5 Brrr..." /></td>
<td class="f2a"><font>Rain / Snow Showers</font></td>
<td class="f2a" align="center"><font><b>35°/32°</b></font></td>
<td class="f2a" align="center"><font>60 %</font></td>
</tr>
</table>

<div style="padding:10px 0 3px 5px;"></div>

<div style="padding:10px 0 3px 5px;">One more month&#8230; one more month&#8230; until we get <a href="http://www.weather.com/weather/print/USFL0067" title="Cape Coral, FL">something like</a>&#8230;</div>

<div style="padding:10px 0 3px 5px;"></div>

<div style="padding:10px 0 3px 5px;">
<table id="f2" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#f1f4f5">
<td colspan="3"><img src="http://image.weather.com/web/blank.gif" border="0" height="1" width="1" title="blank photo" alt="blank Brrr..." /></td>
<td class="blkVerdanaText10" align="center" valign="middle" width="100%"><b>High /
Low (°F)</b></td>
<td class="blkVerdanaText10" align="center" valign="middle" width="100%"><b>Precip. %</b></td>
<td><img src="http://image.weather.com/web/blank.gif" border="0" height="1" width="1" title="blank photo" alt="blank Brrr..." /></td>
</tr>
<tr>
<td width="15%">Today
Feb 14</td>
<td width="10%"><img src="http://image.weather.com/web/common/wxicons/31/32.gif" border="0" height="31" width="31" title="32 photo" alt="32 Brrr..." /></td>
<td width="35%">Sunny</td>
<td align="center" width="25%"><b>75°/52°</b></td>
<td align="center" width="15%">10 %</td>
</tr>
<tr>
<td class="f2a"><font>Fri
Feb 15</font></td>
<td class="f2a"><img src="http://image.weather.com/web/common/wxicons/31/34.gif" border="0" height="31" width="31" title="34 photo" alt="34 Brrr..." /></td>
<td class="f2a"><font>Mostly Sunny</font></td>
<td class="f2a" align="center"><font><b>83°/61°</b></font></td>
<td class="f2a" align="center"><font>20 %</font></td>
</tr>
<tr>
<td><font>Sat
Feb 16</font></td>
<td><img src="http://image.weather.com/web/common/wxicons/31/30.gif" border="0" height="31" width="31" title="30 photo" alt="30 Brrr..." /></td>
<td><font>Partly Cloudy</font></td>
<td align="center"><font><b>83°/64°</b></font></td>
<td align="center"><font>0 %</font></td>
</tr>
<tr>
<td class="f2a"><font>Sun
Feb 17</font></td>
<td class="f2a"><img src="http://image.weather.com/web/common/wxicons/31/37.gif" border="0" height="31" width="31" title="37 photo" alt="37 Brrr..." /></td>
<td class="f2a"><font>Isolated T-Storms</font></td>
<td class="f2a" align="center"><font><b>83°/66°</b></font></td>
<td class="f2a" align="center"><font>30 %</font></td>
</tr>
<tr>
<td><font>Mon
Feb 18</font></td>
<td><img src="http://image.weather.com/web/common/wxicons/31/11.gif" border="0" height="31" width="31" title="11 photo" alt="11 Brrr..." /></td>
<td><font>T-Showers</font></td>
<td align="center"><font><b>79°/52°</b></font></td>
<td align="center"><font>50 %</font></td>
</tr>
<tr>
<td class="f2a"><font>Tue
Feb 19</font></td>
<td class="f2a"><img src="http://image.weather.com/web/common/wxicons/31/34.gif" border="0" height="31" width="31" title="34 photo" alt="34 Brrr..." /></td>
<td class="f2a"><font>Mostly Sunny</font></td>
<td class="f2a" align="center"><font><b>70°/51°</b></font></td>
<td class="f2a" align="center"><font>10 %</font></td>
</tr>
<tr>
<td><font>Wed
Feb 20</font></td>
<td><img src="http://image.weather.com/web/common/wxicons/31/30.gif" border="0" height="31" width="31" title="30 photo" alt="30 Brrr..." /></td>
<td><font>Partly Cloudy</font></td>
<td align="center"><font><b>78°/54°</b></font></td>
<td align="center"><font>10 %</font></td>
</tr>
<tr>
<td class="f2a"><font>Thu
Feb 21</font></td>
<td class="f2a"><img src="http://image.weather.com/web/common/wxicons/31/30.gif" border="0" height="31" width="31" title="30 photo" alt="30 Brrr..." /></td>
<td class="f2a"><font>Partly Cloudy</font></td>
<td class="f2a" align="center"><font><b>80°/60°</b></font></td>
<td class="f2a" align="center"><font>10 %</font></td>
</tr>
<tr>
<td><font>Fri
Feb 22</font></td>
<td><img src="http://image.weather.com/web/common/wxicons/31/34.gif" border="0" height="31" width="31" title="34 photo" alt="34 Brrr..." /></td>
<td><font>Mostly Sunny</font></td>
<td align="center"><font><b>81°/61°</b></font></td>
<td align="center"><font>20 %</font></td>
</tr>
<tr>
<td class="f2a"><font>Sat
Feb 23</font></td>
<td class="f2a"><img src="http://image.weather.com/web/common/wxicons/31/34.gif" border="0" height="31" width="31" title="34 photo" alt="34 Brrr..." /></td>
<td class="f2a"><font>Mostly Sunny</font></td>
<td class="f2a" align="center"><font><b>82°/61°</b></font></td>
<td class="f2a" align="center"><font>20 %</font></td>
</tr>
</table>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=YTboxK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=YTboxK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=jGgTKk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=jGgTKk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=Xu0Lzk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=Xu0Lzk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/265731900" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2008/02/14/brrr/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2008/02/14/brrr/</feedburner:origLink></item>
		<item>
		<title>Photo(solo)walk - Florida</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/265731901/</link>
		<comments>http://brettveenstra.com/2007/12/10/photosolowalk-florida/#comments</comments>
		<pubDate>Mon, 10 Dec 2007 11:53:19 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Photographer]]></category>

		<category><![CDATA[PhotoWalking]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=77</guid>
		<description><![CDATA[

We spent Thanksgiving in Florida, and I was lucky enough to break away one morning to find some shots.  I need to finish the edits and I&#8217;ll put some more up soon!
]]></description>
			<content:encoded><![CDATA[<p class="flickr-frame"><a href="http://www.flickr.com/photos/brettveenstra/2099954079/" title="photo sharing"><img src="http://farm3.static.flickr.com/2392/2099954079_5bed2e67d2_t.jpg" class="flickr-photo" alt="20071119-FLA-PhotoWalk-4525.jpg" title="2099954079 5bed2e67d2 t photo" /></a></p>

<p>We spent Thanksgiving in Florida, and I was lucky enough to break away one morning to find some shots.  I need to finish the edits and I&#8217;ll put some more up soon!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=tuH7yK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=tuH7yK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=CiIpJk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=CiIpJk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=2RoVak"><img src="http://feeds.feedburner.com/~f/Bpoint?i=2RoVak" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/265731901" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2007/12/10/photosolowalk-florida/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2007/12/10/photosolowalk-florida/</feedburner:origLink></item>
		<item>
		<title>Vista SP1 - seeking users</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/345457853/</link>
		<comments>http://brettveenstra.com/2007/12/04/vista-sp1-seeking-users/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 15:22:34 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Programmer]]></category>

		<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://journeymantomaster.wordpress.com/2007/12/04/vista-sp1-seeking-users/</guid>
		<description><![CDATA[I&#8217;m not sure if I&#8217;ll ever run VISTA in this decade&#8230; I haven&#8217;t even played with the beta&#8217;s&#8230; I recommend to friends and family to keep their Windows XP disk around.

Why?  There are so many reasons, but maybe one of the biggies might be coming to an end&#8230;

Ed Bott of ZD Net is reporting that [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not sure if I&#8217;ll ever run VISTA in this decade&#8230; I haven&#8217;t even played with the beta&#8217;s&#8230; I recommend to friends and family to keep their Windows XP disk around.</p>

<p>Why?  <a href="http://www.google.com/search?q=reasons+not+to+upgrade+to+Windows+VISTA&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:en-US:official&amp;client=firefox-a">There are so many reasons</a>, but maybe one of the biggies might be coming to an end&#8230;<span id="more-171"></span></p>

<p><a href="http://blogs.zdnet.com/Bott/wp-trackback.php?p=334">Ed Bott of ZD Net is reporting that Service Pack 1 (SP1) of VISTA next year will not include the &#8220;kill switch&#8221;.</a> You knew this one right?  If you do not activate VISTA in time, some functionality stops working&#8230; this gets more interesting if you&#8217;re not connected to the &#8216;net or experience a <a href="http://blogs.zdnet.com/Bott/wp-trackback.php?p=221">glitch</a>.<a href="http://blogs.zdnet.com/Bott/wp-trackback.php?p=334">
</a></p>

<p>I don&#8217;t know how much more evidence one might need to conclude that Microsoft&#8217;s latest operating system is not really hitting it&#8217;s mark, <a href="http://seventhheavens.wordpress.com/2006/11/30/analyst-vista-shipments-to-top-90-million-worldwide-in-2007/">regardless of the hype otherwise</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=zMkc2K"><img src="http://feeds.feedburner.com/~f/Bpoint?i=zMkc2K" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=bDPL5k"><img src="http://feeds.feedburner.com/~f/Bpoint?i=bDPL5k" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=nRUMYk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=nRUMYk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/345457853" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2007/12/04/vista-sp1-seeking-users/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2007/12/04/vista-sp1-seeking-users/</feedburner:origLink></item>
		<item>
		<title>Storage in the cloud - JungleDisk.com</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/345457854/</link>
		<comments>http://brettveenstra.com/2007/11/09/storage-in-the-cloud-junglediskcom/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 05:16:30 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Programmer]]></category>

		<category><![CDATA[SaaS]]></category>

		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://journeymantomaster.wordpress.com/2007/11/09/storage-in-the-cloud-junglediskcom/</guid>
		<description><![CDATA[These are exciting times and another idea turned gold is Jungle Disk.  A cross-platform Amazon S3 interface for remote storage. They setup a WebDAV service on your machine that runs their bits to encrypt and transmit your files up to Amazon&#8217;s S3 service.

Never heard of S3?  Neither had I until visiting the Day [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Photo Sharing" href="http://www.flickr.com/photos/brettveenstra/1394465957/"><img src="http://farm2.static.flickr.com/1014/1394465957_e30d421a75_m.jpg" alt="20070901-IMG_0598.jpg" width="240" height="160" align="left" title="1394465957 e30d421a75 m photo" /></a>These are exciting times and another idea turned gold is <a href="http://jungledisk.com">Jungle Disk</a>.  A cross-platform Amazon S3 interface for remote storage. They setup a WebDAV service on your machine that runs their bits to encrypt and transmit your files up to Amazon&#8217;s S3 service.</p>

<p>Never heard of S3?  Neither had I<span id="more-170"></span> until visiting the <a href="http://www.dayofdotnet.org/AnnArbor/Fall2007/Sessions.aspx">Day of .NET in Arbor</a> this past October.  I happened to catch the tail end of Joe Klunk&#8217;s &#8220;<a class="sessionname" title="8" name="8"></a>Storage (and more) in the Cloud&#8221; session.  He built a quick .NET application to push files up to <a href="http://www.amazon.com/gp/browse.html?node=16427261">Amazon&#8217;s Simple Storage Service</a> (S3).  Now that wasn&#8217;t mind blowing as I had done WebDAV operations back in the heady days of ASP, &#8220;classic&#8221;.  What <strong>was</strong> mind blowing was the price for storage: $0.15 USD, per month, per <strong>GIG-</strong><strong>a-byte</strong>.</p>

<p>Now the folks at JungleDisk has just made a program that even our mother&#8217;s can use to properly backup their systems.  It&#8217;s a great connected world!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=XAiyyK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=XAiyyK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=kILoJk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=kILoJk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=CNnIlk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=CNnIlk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/345457854" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2007/11/09/storage-in-the-cloud-junglediskcom/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2007/11/09/storage-in-the-cloud-junglediskcom/</feedburner:origLink></item>
		<item>
		<title>First real day of snow…</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/265731902/</link>
		<comments>http://brettveenstra.com/2007/11/08/first-real-day-of-snow/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 03:26:04 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Photographer]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=76</guid>
		<description><![CDATA[Yeah, there was real snow today&#8230; so Fall is really here and summer is gone.  In memory, I found this photo as we look forward to another spring&#8230;

(lonely backstop)
]]></description>
			<content:encoded><![CDATA[<p>Yeah, there was real snow today&#8230; so Fall is really here and summer is gone.  In memory, I found this photo as we look forward to another spring&#8230;<span id="more-76"></span>
<a title="Photo Sharing" href="http://www.flickr.com/photos/brettveenstra/1927130080/"><img src="http://farm3.static.flickr.com/2407/1927130080_9d798dfa87.jpg" alt="Lonely Backstop" width="500" height="333" title="1927130080 9d798dfa87 photo" /></a>
<em>(lonely backstop)</em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=DOEclK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=DOEclK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=oGugKk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=oGugKk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=WHDmMk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=WHDmMk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/265731902" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2007/11/08/first-real-day-of-snow/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2007/11/08/first-real-day-of-snow/</feedburner:origLink></item>
		<item>
		<title>Epic Edits - Top Photography Blogs</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/265731905/</link>
		<comments>http://brettveenstra.com/2007/11/08/epic-edits-top-photography-blogs/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 18:53:24 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Photographer]]></category>

		<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=75</guid>
		<description><![CDATA[Epic Edits posted a fine list of photography blog sites.  I&#8217;ve already added many of the top 10 to my Google Reader.

Many of these sites are new to me and very informative and inspirational.

Do you have any sites that give you inspiration?
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/brettveenstra/1802382086/" title="Photo Sharing"><img src="http://farm3.static.flickr.com/2299/1802382086_52e5269a40_t.jpg" alt="20071028-Northville-3554.jpg" align="left" height="100" width="67" title="1802382086 52e5269a40 t photo" /></a><a href="http://blog.epicedits.com/2007/11/07/87-great-photography-blogs-and-feeds/">Epic Edits posted a fine list of photography blog sites</a>.  I&#8217;ve already added many of the top 10 to my Google Reader.</p>

<p>Many of these sites are new to me and very informative and inspirational.</p>

<p>Do you have any sites that give you inspiration?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=5yNsTK"><img src="http://feeds.feedburner.com/~f/Bpoint?i=5yNsTK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=4GkqOk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=4GkqOk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=GzdTXk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=GzdTXk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/265731905" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2007/11/08/epic-edits-top-photography-blogs/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2007/11/08/epic-edits-top-photography-blogs/</feedburner:origLink></item>
		<item>
		<title>Utterances: Noah</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/265731906/</link>
		<comments>http://brettveenstra.com/2007/11/05/utterances-noah-5/#comments</comments>
		<pubDate>Mon, 05 Nov 2007 17:10:52 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Father]]></category>

		<category><![CDATA[Utterances]]></category>

		<guid isPermaLink="false">http://brettveenstra.com/?p=74</guid>
		<description><![CDATA[Mom: That&#8217;s a nice looking Pumpkin you colored Noah.

Noah: Yeah, he looks nice.

Mom: He?

Noah: Yeah, you see his nose ring?  It&#8217;s Uncle Bob.
]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm1.static.flickr.com/108/296898667_74990f1d40_t.jpg" align="left" height="75" width="100" title="296898667 74990f1d40 t photo" alt="296898667_74990f1d40_t Utterances: Noah" /><strong>Mom:</strong> That&#8217;s a nice looking Pumpkin you colored Noah.</p>

<p><strong>Noah:</strong> Yeah, he looks nice.</p>

<p><strong>Mom:</strong> He?</p>

<p><strong>Noah:</strong> Yeah, you see his nose ring?  It&#8217;s Uncle Bob.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=AtGU2K"><img src="http://feeds.feedburner.com/~f/Bpoint?i=AtGU2K" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=HJsEak"><img src="http://feeds.feedburner.com/~f/Bpoint?i=HJsEak" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=PuhKDk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=PuhKDk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/265731906" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2007/11/05/utterances-noah-5/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2007/11/05/utterances-noah-5/</feedburner:origLink></item>
		<item>
		<title>Unit Testing in SQL Server - Overview</title>
		<link>http://feeds.feedburner.com/~r/Bpoint/~3/345457855/</link>
		<comments>http://brettveenstra.com/2007/10/31/unit-testing-in-sql-server-overview/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 22:47:10 +0000</pubDate>
		<dc:creator>Brett Veenstra</dc:creator>
		
		<category><![CDATA[Programmer]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://journeymantomaster.wordpress.com/2007/10/31/unit-testing-in-sql-server-overview/</guid>
		<description><![CDATA[Ok, so here&#8217;s the first in a series of a home grown implementation of Unit Testing SQL server code.

I&#8217;m not talking about using Visual Studio Team Edition for Professionals, like Jeff recommends&#8230; but I&#8217;ll try to provide a general approach to testing your SQL code, particularly stored procedures (sprocs).

In SQL processing, we have our classic [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so here&#8217;s the first in a series of a home grown implementation of Unit Testing SQL server code.</p>

<p>I&#8217;m not talking about using <a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718807.aspx">Visual Studio Team Edition for Professionals</a>, like <a href="http://www.codinghorror.com/blog/archives/000743.html">Jeff recommends</a>&#8230; but I&#8217;ll try to provide a general approach to testing your SQL code, particularly stored procedures (sprocs).<span id="more-169"></span></p>

<p>In SQL processing, we have our classic <a href="http://en.wikipedia.org/wiki/Create,_read,_update_and_delete">CRUD operations</a>, and those operations are impacted by combinations of <strong>existing data</strong> elsewhere in other columns, tables, databases, or servers.  This is the single biggest challenge in the test as I see it.</p>

<p>Admittedly, I&#8217;m making the most of my current database architecture in this solution, and yet, I am having trouble imaging this not being a universal approach.</p>

<p>In my application to test, we are essentially a high-calculation, low-user interface SQL business engine.  The calculations are all done in sprocs and they have been broken down into &#8220;blocks&#8221; of results.  That is, Calculation B, will possibly take data results of Calculation A.</p>

<p>So here&#8217;s a basic diagram of this setup:</p>

<p style="text-align:center;"><a title="Photo Sharing" href="http://www.flickr.com/photos/brettveenstra/1814789859/">
<img src="http://farm3.static.flickr.com/2232/1814789859_8026282ac0.jpg" alt="Testing SQL DBs" width="500" height="257" title="1814789859 8026282ac0 photo" /></a>

This approach allows a myriad of unit testing possibilities, but here&#8217;s my general approach.

Using <a href="http://nunit.org/">NUnit</a>, each Calculation would have it&#8217;s own <code>TestFixture </code> and the <code>TestFixtureSetup</code> would execute the sproc.  The <code>TestFixtureSetup</code> would also retrieve any external data that the calculation would need into member variables for the fixture.

Then, each of the Test&#8217;s would look into any external data, WIP table(s) and final Calc table(s) to determine if it passed or not.

This is my first toe in the TDD pond for SQL applications.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Bpoint?a=Kzm47K"><img src="http://feeds.feedburner.com/~f/Bpoint?i=Kzm47K" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=nRs7Bk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=nRs7Bk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Bpoint?a=BBzalk"><img src="http://feeds.feedburner.com/~f/Bpoint?i=BBzalk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Bpoint/~4/345457855" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brettveenstra.com/2007/10/31/unit-testing-in-sql-server-overview/feed/</wfw:commentRss>
		<feedburner:origLink>http://brettveenstra.com/2007/10/31/unit-testing-in-sql-server-overview/</feedburner:origLink></item>
	</channel>
</rss>
