<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
    <channel>
        <title>Fervent Coder</title>
        <link>http://ferventcoder.com/Default.aspx</link>
        <description>.NET Coding Towards Utopia...by Rob Reynolds</description>
        <language>en-US</language>
        <copyright>Robz / Fervent Coder</copyright>
        <managingEditor>robz@realdimensions.net</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image><link>http://creativecommons.org/licenses/by-sa/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image>
        <geo:lat>39.015374</geo:lat><geo:long>-95.760575</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/robz" type="application/rss+xml" /><feedburner:emailServiceId>robz</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
            <title>Turning a New Leaf</title>
            <category>Personal</category>
            <link>http://feedproxy.google.com/~r/robz/~3/KMYIH2HlCBA/turning-a-new-leaf.aspx</link>
            <description>&lt;pre class="c#" name="code"&gt;public class DevliciousBlog
{
    IBlogger _blogger;

    public Devlicious(IBlogger blogger)
    {
        _blogger = blogger;
    }
}

public class Program 
{
    private static void Main(string[] args)
    {
        IBlogger rob = new FerventCoder();
        DevliciousBlog devlicious = new DevliciousBlog(rob);
        //awesome follows
    }
}&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/TurningaNewLeaf_13E42/IMG_0640.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="devlicio.us - Just the Tasty Bits." border="0" alt="devlicio.us - Just the Tasty Bits." align="right" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/TurningaNewLeaf_13E42/IMG_0640_thumb.jpg" width="199" height="244" /&gt;&lt;/a&gt; This is not goodbye by any means. Just another opening in my life. I was recently accepted to &lt;a href="http://devlicio.us/blogs/rob_reynolds" target="_blank"&gt;blog&lt;/a&gt; at &lt;a href="http://devlicio.us/" target="_blank"&gt;Devlicio.us&lt;/a&gt;. Devlicio.us is a great community and is full of some top notch folks and I look forward to the opportunity to contribute!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/" target="_blank"&gt;GWB&lt;/a&gt; has been and continues to be a great community and I plan to continue posting here as well. I will be cross-posting most content here and there. For those of you who subscribe, that will continue to point to here at FerventCoder.com.&lt;/p&gt;

&lt;p&gt;Now back to your regularly scheduled programming…&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136458"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136458" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/136458.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iTBdSkK9OcP507AYsx1bUBhtaz8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iTBdSkK9OcP507AYsx1bUBhtaz8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iTBdSkK9OcP507AYsx1bUBhtaz8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iTBdSkK9OcP507AYsx1bUBhtaz8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=KMYIH2HlCBA:-Yus4Hpmvqk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=KMYIH2HlCBA:-Yus4Hpmvqk:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=KMYIH2HlCBA:-Yus4Hpmvqk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=KMYIH2HlCBA:-Yus4Hpmvqk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=KMYIH2HlCBA:-Yus4Hpmvqk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=KMYIH2HlCBA:-Yus4Hpmvqk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=KMYIH2HlCBA:-Yus4Hpmvqk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/KMYIH2HlCBA" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/11/21/turning-a-new-leaf.aspx</guid>
            <pubDate>Sun, 22 Nov 2009 04:57:46 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/136458.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/11/21/turning-a-new-leaf.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/136458.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/136458.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/11/21/turning-a-new-leaf.aspx</feedburner:origLink></item>
        <item><title>Links for 2009-11-20 [del.icio.us]</title><link>http://feedproxy.google.com/~r/robz/~3/EbvS1kH6uBw/trueblue28</link><pubDate>Sat, 21 Nov 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/trueblue28#2009-11-20</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://codebucket.org/archive/2009/11/15/it-doesnrsquot-matter-if-you-know-what-yoursquore-doing.aspx"&gt;It Doesn&amp;rsquo;t Matter If You Know What You&amp;rsquo;re Doing&lt;/a&gt;&lt;br/&gt;
&amp;quot;&amp;#039;It doesn’t matter if you don’t know what you’re doing.&amp;#039; Put your code out in the world as your approach not trying to purport yourself as an expert, and you’ll see that you get a lot of great advice from lots of great people who were once right where you are now. Even if all you do is ask another coder you know or work with to review your code, you’ll reap whirlwinds of benefit.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/EbvS1kH6uBw" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/trueblue28#2009-11-20</feedburner:origLink></item><item><title>Links for 2009-11-18 [del.icio.us]</title><link>http://feedproxy.google.com/~r/robz/~3/GFhS-mGd280/trueblue28</link><pubDate>Thu, 19 Nov 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/trueblue28#2009-11-18</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://geekswithblogs.net/liammclennan/archive/2009/11/18/136385.aspx"&gt;Have Atlassian Lost Their Minds?&lt;/a&gt;&lt;br/&gt;
&amp;quot;Atlassian is the company that I wish was mine. They make cool web products, they have a unique voice and they are successful. But recently they lost their minds, and starting giving their software away (almost). 

If you are a small organisation like me you can buy the main atlassian products (jira, confluence, greenhopper, bamboo, fisheye &amp;amp; crowd) for US $10.00 each. User limits apply.&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://andyjeffries.co.uk/articles/25-tips-for-intermediate-git-users"&gt;25 Tips for Intermediate Git Users : Andy Jeffries : Ruby on Rails, MySQL and jQuery Developer&lt;/a&gt;&lt;br/&gt;
&amp;quot;I’ve been using git for about 18 months now and thought I knew it pretty well. Then we had Scott Chacon from GitHub over to do some training at LVS, a supplier/developer of betting/gaming software (where I’m currently contracting) and I learnt a ton in the first day.

As someone who’s always felt fairly comfortable in Git, I thought sharing some of the nuggets I learnt with the community might help someone to find an answer without needing to do lots of research.&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://gregorybeamer.spaces.live.com/Blog/cns!B036196EAF9B34A8!1300.entry"&gt;Reflector + Plugins&lt;/a&gt;&lt;br/&gt;
&amp;quot;One of the greatest tools for any .NET developer is Reflector. The tool was originally written by Lutz Roeder, but was bought out by Red Gate last year. Red Gate, to date, has left the tool as a free tool. You can download a copy from:
http://reflector.red-gate.com&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/GFhS-mGd280" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/trueblue28#2009-11-18</feedburner:origLink></item><item>
            <title>RoundhousE: Version Your Database</title>
            <category>RoundhousE</category>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/VXQWrXmzUfY/roundhouse-version-your-database.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/RoundhousE_Logo%5B1%5D_2.jpg"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img title="RoundhousE Logo" border="0" alt="RoundhousE Logo" align="right" width="244" height="231" style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/RoundhousE_Logo%5B1%5D_thumb.jpg" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Versioning your database is as important as versioning your code.  How much time do we waste currently before we are even productive when we have to fix or enhance something in a database?&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a target="_blank" href="http://projectroundhouse.org/"&gt;&lt;font size="3" face="Times New Roman"&gt;RoundhousE&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; versions your database how you want. The recommended way is to version based on source control, but that may not be your solution. But for a moment let’s pretend it is. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Why would versioning your database based on source control be a big help? What happens if you get a prod fix (or work order) to fix a view or a stored procedure (sproc)?  How do you know where in source control that is? Do you even know what repository it lives in? How can you even be sure right away that the item you have in source control directly maps to the item in production? Oh right. You can’t. At least not without doing a manual comparison (or with a diff tool).  And if you are not even familiar with the item, how do you get back to it in source control? You ask someone. And then someone else. And so on until you find someone that knows where you can find that view in source control. “Oh….Samsonite! I was WAYYYY off.”&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;How much time are we using up currently before we are even productive? Probably quite a bit more than we realize. Let’s put it in perspective. You are a new hire today. If I was to point you to a database and tell you to fix a view and update the view in source control, how soon do you think you could be productive? What questions are you going to ask me?&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Where is the view in source control? When is this needed by? etc etc&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;If your company instead used RoundhousE (RH) you could empower the new hire or any developer that suffers from can’t remember stuff (CRS)! Just point them to the database. Let’s take a moment to see what happens as we run the migration.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;RoundhousE Versions During Migration&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Remember our look at the runner? I want to concentrate in just one area.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_2.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img title="Versioning database with version 0.0.0.67 based on http://roundhouse.googlecode.com/svn" border="0" alt="Versioning database with version 0.0.0.67 based on http://roundhouse.googlecode.com/svn" width="644" height="295" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_thumb.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="2" face="Lucida Console"&gt;Attempting to &lt;strong&gt;resolve version&lt;/strong&gt; from C:\code\roundhouse\code_drop\deployment\&lt;strong&gt;_BuildInfo.xml&lt;/strong&gt; using &lt;strong&gt;//buildInfo/version&lt;/strong&gt;. &lt;br /&gt;
Found version 0.0.0.67 from C:\code\roundhouse\code_drop\deployment\_BuildInfo.xml. &lt;br /&gt;
Migrating TestRoundhousE from version 0 to 0.0.0.67. &lt;br /&gt;
&lt;strong&gt;Versioning TestRoundhousE database with version 0.0.0.67 based on &lt;/strong&gt;&lt;/font&gt;&lt;a href="http://roundhouse.googlecode.com/svn"&gt;&lt;font size="2" face="Lucida Console"&gt;&lt;strong&gt;http://roundhouse.googlecode.com/svn&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Lucida Console"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What exactly is happening here? We are looking into an xml file that contains a version.  RH also asks for the repository the versioning information comes from.  That all gets recorded in the database. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What does that build file look like?&lt;/font&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1.0"&lt;/span&gt; ?&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;buildInfo&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;projectName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;RoundhousE&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;projectName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;companyName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;FerventCoder Software&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;companyName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;versionMajor&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;versionMajor&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;versionMinor&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;versionMinor&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;buildNumber&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;buildNumber&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;revision&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;25&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;revision&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;1.0.22.25&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;repositoryPath&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://someotherplace/svn/repositoryname/&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;repositoryPath&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;microsoftNetFramework&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;net-3.5&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;microsoftNetFramework&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;msbuildConfiguration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Release&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;msbuildConfiguration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;msbuildPlatform&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Any CPU&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;msbuildPlatform&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;builtWith&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;UppercuT v. 0.9.0.216&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;builtWith&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;buildInfo&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;It is the output of an automated build product called &lt;a target="_blank" href="http://projectuppercut.org"&gt;UppercuT&lt;/a&gt;. Some of you have heard me &lt;a target="_blank" href="http://ferventcoder.com/category/uppercut.aspx"&gt;talk about it before&lt;/a&gt;. It records the version in an xml output file to be used by deployment products etc.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Now I have a way to find the query at an exact point in source control history!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What if I don’t use UppercuT? That’s fine, create something in your automated build to create a simple xml file that contains a version. Then pass the file path and xpath for the version info to RH. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Or another way you can get to version is to point to a DLL you have versioned based on source control. &lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="2" face="Lucida Console"&gt;Attempting to resolve assembly file version from C:\code\roundhouse\code_drop\RoundhousE\NAnt\&lt;strong&gt;roundhouse.dll&lt;/strong&gt;. &lt;br /&gt;
Migrating TestRoundhousE from version 0.0.0.67 to 0.0.0.67. &lt;br /&gt;
Versioning TestRoundhousE database with version 0.0.0.67 based on &lt;a href="http://roundhouse.googlecode.com/svn"&gt;http://roundhouse.googlecode.com/svn&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;RH will automatically pull the file version from the DLL and use it to version the database.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;Back To Your Empowerment&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;So you query the scripts ran table for the view. You notice version_id is 1.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_4.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img title="Version Id 1 for vw_Dude.sql" border="0" alt="Version Id 1 for vw_Dude.sql" width="516" height="163" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_thumb_1.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Now you query the version table.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_6.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img title="Repository and Version stored in a table. Why didn't I think of that?" border="0" alt="Repository and Version stored in a table. Why didn't I think of that?" width="462" height="76" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_thumb_2.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Boom. You have a path to a repository. You also have an exact point in source to find the item.  You can now look revision 67 versus the current revision in source control.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;You now know exactly where to look. Two steps to productivity. You get that production fix done in no time and we are so impressed we give you a raise on the spot.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_10.png"&gt;&lt;img title="Database name is always in source control before the scripts" border="0" alt="Database name is always in source control before the scripts" align="right" width="366" height="343" style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_thumb_4.png" /&gt;&lt;/a&gt;One Repository – Multiple Databases&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;That’s great, but I hit multiple databases when I deploy. Easy as pie. Do you remember &lt;a target="_blank" href="http://ferventcoder.com/archive/2009/11/15/roundhouse-configuration.aspx"&gt;last time how we said&lt;/a&gt; to always include the database name before the scripts (see the picture to the right)? For each database, it is just another call to RH to run telling it the specific information about the next database. Super simple.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;Multiple Repositories – One Database&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What if I have multiple repositories that address the same database? We got you covered. If you have more than one repository versioning a database, they will version the database independently.&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="2" face="Lucida Console"&gt;Found version 1.0.22.25 from C:\code\roundhouse\code_drop\deployment\_BuildInfo.xml. &lt;br /&gt;
Migrating TestRoundhousE from version 0 to 1.0.22.25. &lt;br /&gt;
&lt;strong&gt;Versioning TestRoundhousE database with&lt;/strong&gt; &lt;strong&gt;version 1.0.22.25 based on &lt;/strong&gt;&lt;/font&gt;&lt;a href="http://someotherplace/svn/repositoryname/"&gt;&lt;font size="2" face="Lucida Console"&gt;&lt;strong&gt;http://someotherplace/svn/repositoryname/&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;font size="2" face="Lucida Console"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/font&gt; &lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Notice how RH said the prior version was 0. That’s because versioning is based on repository. That repository had never ran against this database before. Now looking in the version table, we see two different repositories with two different versions.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_8.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img title="Two repositories. Two different versions" border="0" alt="Two repositories. Two different versions" width="487" height="86" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_thumb_3.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;Conclusion&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Versioning your database is as important as versioning your code. &lt;/font&gt;&lt;font size="3" face="Times New Roman"&gt;RoundhousE is a very powerful product for migrating your database (rivaling even some paid alternatives). And it’s free. &lt;/font&gt;&lt;font size="3" face="Times New Roman"&gt;RoundhousE is just going to keep getting better. So why not give it a try? DBAs approve. It makes auditors smile. I heard it once helped a lady walk again.&lt;/font&gt;&lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f19%2froundhouse-version-your-database.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f19%2froundhouse-version-your-database.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt; &lt;a rev="vote-for" href="http://dotnetshoutout.com/RoundhousE-Version-Your-Database"&gt;&lt;img alt="Shout it" src="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fferventcoder.com%2Farchive%2F2009%2F11%2F19%2Froundhouse-version-your-database.aspx" style="border:0px" /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136410"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136410" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/136410.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_owvCzArR3liEzLDshd0hBitpvg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_owvCzArR3liEzLDshd0hBitpvg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_owvCzArR3liEzLDshd0hBitpvg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_owvCzArR3liEzLDshd0hBitpvg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=VXQWrXmzUfY:qZg9pGb46H4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=VXQWrXmzUfY:qZg9pGb46H4:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=VXQWrXmzUfY:qZg9pGb46H4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=VXQWrXmzUfY:qZg9pGb46H4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=VXQWrXmzUfY:qZg9pGb46H4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=VXQWrXmzUfY:qZg9pGb46H4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=VXQWrXmzUfY:qZg9pGb46H4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/VXQWrXmzUfY" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/11/19/roundhouse-version-your-database.aspx</guid>
            <pubDate>Thu, 19 Nov 2009 07:26:05 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/136410.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/11/19/roundhouse-version-your-database.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/136410.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/136410.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/11/19/roundhouse-version-your-database.aspx</feedburner:origLink></item>
        <item>
            <title>NHibernate Event Listener Registration With Fluent NHibernate</title>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/F_V3yU6xVSo/nhibernate-event-listener-registration-with-fluent-nhibernate.aspx</link>
            <description>&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;I’m a huge fan of &lt;/font&gt;&lt;a target="_blank" href="https://www.hibernate.org/343.html"&gt;&lt;font face="Times New Roman" size="3"&gt;NHibernate&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt;. It has excellent &lt;/font&gt;&lt;a target="_blank" href="http://nhforge.org/Default.aspx"&gt;&lt;font face="Times New Roman" size="3"&gt;documentation&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt; and just makes the whole job of getting things into and out of the database much more enjoyable.  There is a whole series of posts on &lt;/font&gt;&lt;a target="_blank" href="http://ayende.com/Blog/category/510.aspx"&gt;&lt;font face="Times New Roman" size="3"&gt;NHibernate&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt; from one of the committers, &lt;/font&gt;&lt;a target="_blank" href="http://ayende.com/Blog/"&gt;&lt;font face="Times New Roman" size="3"&gt;Ayende&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt;.  When &lt;/font&gt;&lt;a target="_blank" href="http://fluentnhibernate.org/"&gt;&lt;font face="Times New Roman" size="3"&gt;Fluent NHibernate&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt; (FNH) came out, it was like butter on sliced bread.  FNH makes it even easier to use NHibernate.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Ayende had a &lt;/font&gt;&lt;a target="_blank" href="http://ayende.com/Blog/archive/2009/04/29/nhibernate-ipreupdateeventlistener-amp-ipreinserteventlistener.aspx"&gt;&lt;font face="Times New Roman" size="3"&gt;post&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt; a while back on how to use Event Listeners.  That helped me to get to event listeners set up.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;u&gt;Event Listeners&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; somethingimportant.we.hope.infrastructure.app.auditing&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;{&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Security.Principal;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; domain;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; NHibernate.Event;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; NHibernate.Persister.Entity;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; AuditEventListener : IPreInsertEventListener, IPreUpdateEventListener&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; get_identity()&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; identity_of_updater = WindowsIdentity.GetCurrent().Name;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        if (HttpContext.Current != &lt;font color="#0000ff"&gt;null&lt;/font&gt;)&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;                &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;                {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;                    identity_of_updater = HttpContext.Current.User.Identity.Name;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;                }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;                &lt;span style="color: #0000ff"&gt;catch&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;                {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;                    &lt;span style="color: #008000"&gt;//move on&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;                }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; identity_of_updater;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;        &lt;span style="color: #008000"&gt;//http://ayende.com/Blog/archive/2009/04/29/nhibernate-ipreupdateeventlistener-amp-ipreinserteventlistener.aspx&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; OnPreInsert(PreInsertEvent eventItem)&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            Auditable audit = eventItem &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; Auditable;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (audit == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;                &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            DateTime? entered_date = DateTime.Now;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            DateTime? modified_date = DateTime.Now;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; identity_of_updater = get_identity();&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            store(eventItem.Persister, eventItem.State, &lt;span style="color: #006080"&gt;"entered_date"&lt;/span&gt;, entered_date);&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            store(eventItem.Persister, eventItem.State, &lt;span style="color: #006080"&gt;"modified_date"&lt;/span&gt;, modified_date);&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            store(eventItem.Persister, eventItem.State, &lt;span style="color: #006080"&gt;"updating_user"&lt;/span&gt;, identity_of_updater);&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            audit.entered_date = entered_date;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            audit.modified_date = modified_date;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            audit.updating_user = identity_of_updater;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; OnPreUpdate(PreUpdateEvent eventItem)&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            Auditable audit = eventItem &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; Auditable;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (audit == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;                &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            DateTime? modified_date = DateTime.Now;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; identity_of_updater = get_identity();&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            store(eventItem.Persister, eventItem.State, &lt;span style="color: #006080"&gt;"modified_date"&lt;/span&gt;, modified_date);&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            store(eventItem.Persister, eventItem.State, &lt;span style="color: #006080"&gt;"updating_user"&lt;/span&gt;, identity_of_updater);&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            audit.modified_date = modified_date;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            audit.updating_user = identity_of_updater;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;            &lt;span style="color: #008000"&gt;//insert auditing object here&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; store(IEntityPersister persister, &lt;span style="color: #0000ff"&gt;object&lt;/span&gt;[] state, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; property_name, &lt;span style="color: #0000ff"&gt;object&lt;/span&gt; &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;)&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; index = Array.IndexOf(persister.PropertyNames, property_name);&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (index == -1)&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;                &lt;span style="color: #0000ff"&gt;return&lt;/span&gt;;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            state[index] = &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;}&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font face="Times New Roman" size="3"&gt;Great! But now I need to register my event listeners.So I go searching some on the interwebs. And I come across &lt;a target="_blank" href="http://ayende.com/Blog/archive/2009/06/11/nhibernate-ndash-automatic-change-tracking-for-aggregate-roots-in-ddd.aspx"&gt;this&lt;/a&gt;. &lt;/font&gt;&lt;font face="Times New Roman" size="3"&gt;Ayende talks about how to registration in the configuration file in a later &lt;a target="_blank" href="http://ayende.com/Blog/archive/2009/06/11/nhibernate-ndash-automatic-change-tracking-for-aggregate-roots-in-ddd.aspx"&gt;post&lt;/a&gt;, but with FNH, I register in code.  Hmmm… back to the interwebs…&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Times New Roman" size="3"&gt;Then I came across Adam Aldrich’s &lt;a target="_blank" href="http://guildsocial.web703.discountasp.net/dasblogce/2009/06/02/IPreUpdateEventListenerRegistration.aspx"&gt;post&lt;/a&gt; on how to register the listeners in code. This is from his post on &lt;a target="_blank" href="http://guildsocial.web703.discountasp.net/dasblogce/2009/06/02/IPreUpdateEventListenerRegistration.aspx"&gt;registration&lt;/a&gt;:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;
NHibernate.Cfg.Configuration cfg = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; NHibernate.Cfg.Configuration();
cfg.EventListeners.PreUpdateEventListeners = &lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;
    &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; IPreUpdateEventListener[] {&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; AuditEventListener()};&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;
cfg.EventListeners.PreInsertEventListeners =&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;
    &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; IPreInsertEventListener[] { &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; AuditEventListener() };&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;
_sessionFactory = cfg.BuildSessionFactory();&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font face="Times New Roman" size="3"&gt;Just what I was looking for! Code registration. But how do I use FNH to set that up?  That’s where some nice detective work and a fluent interface come in.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;u&gt;Fluent NHibernate Registration of Event Listeners&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; build_factory()&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;{&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (nhibernate_session_factory == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    {&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;        nhibernate_session_factory = Fluently.Configure()&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            .Database(MsSqlConfiguration.MsSql2005&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;                .ConnectionString(c =&amp;gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;                    c.FromConnectionStringWithKey(&lt;span style="color: #006080"&gt;"db"&lt;/span&gt;)))&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            .Mappings(m =&amp;gt; &lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;                m.FluentMappings.AddFromAssemblyOf&amp;lt;VideoMapping&amp;gt;())&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;          &lt;strong&gt;  .ExposeConfiguration(cfg =&amp;gt; {&lt;/strong&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;                        cfg.EventListeners.PreInsertEventListeners = &lt;/strong&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;                            &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; IPreInsertEventListener[] {&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; AuditEventListener()};&lt;/strong&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;                        cfg.EventListeners.PreUpdateEventListeners = &lt;/strong&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;                            &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; IPreUpdateEventListener[] {&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; AuditEventListener()};&lt;/strong&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;                        })&lt;/strong&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;            .BuildSessionFactory();&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;    }&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;font face="Times New Roman" size="3"&gt;}&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;This same thing can be accomplished with VB.NET by making a call to a method (I’ve done that as well). With it’s discoverability, FNH makes it so easy to figure things out sometimes. :D&lt;/font&gt;&lt;/p&gt;
&lt;div&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f18%2fnhibernate-event-listener-registration-with-fluent-nhibernate.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f18%2fnhibernate-event-listener-registration-with-fluent-nhibernate.aspx" /&gt;&lt;/a&gt; &lt;a rev="vote-for" href="http://dotnetshoutout.com/NHibernate-Event-Listener-Registration-With-Fluent-NHibernate"&gt;&lt;img alt="Shout it" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fferventcoder.com%2Farchive%2F2009%2F11%2F18%2Fnhibernate-event-listener-registration-with-fluent-nhibernate.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136388"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136388" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/136388.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ancr3Q-BC0Uo2u57iJA2hFeKu8E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ancr3Q-BC0Uo2u57iJA2hFeKu8E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ancr3Q-BC0Uo2u57iJA2hFeKu8E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ancr3Q-BC0Uo2u57iJA2hFeKu8E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=F_V3yU6xVSo:7wy2Ec8zz2k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=F_V3yU6xVSo:7wy2Ec8zz2k:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=F_V3yU6xVSo:7wy2Ec8zz2k:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=F_V3yU6xVSo:7wy2Ec8zz2k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=F_V3yU6xVSo:7wy2Ec8zz2k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=F_V3yU6xVSo:7wy2Ec8zz2k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=F_V3yU6xVSo:7wy2Ec8zz2k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/F_V3yU6xVSo" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/11/18/nhibernate-event-listener-registration-with-fluent-nhibernate.aspx</guid>
            <pubDate>Wed, 18 Nov 2009 07:04:51 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/136388.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/11/18/nhibernate-event-listener-registration-with-fluent-nhibernate.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/136388.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/136388.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/11/18/nhibernate-event-listener-registration-with-fluent-nhibernate.aspx</feedburner:origLink></item>
        <item>
            <title>RoundhousE: Configuration</title>
            <category>RoundhousE</category>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/v2cSfWgCPjY/roundhouse-configuration.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;This &lt;/font&gt;&lt;a target="_blank" href="http://ferventcoder.com/archive/2009/11/11/enter-the-dragon-roundhouse-db-migrations.aspx"&gt;&lt;font size="3" face="Times New Roman"&gt;week&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; I &lt;/font&gt;&lt;a target="_blank" href="http://ferventcoder.com/archive/2009/11/13/roundhouse-db-migration-action-shots.aspx"&gt;&lt;font size="3" face="Times New Roman"&gt;introduced&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;a target="_blank" href="http://projectroundhouse.org/"&gt;&lt;font size="3" face="Times New Roman"&gt;RoundhousE&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; and it’s getting quite a stir. Let’s take a look at the configuration. We are going to focus on the MSBuild/NAnt task configuration for now because the console isn’t yet complete. The console will actually have at least this much if not more (we’ve talked about how to use it to create the migration scripts and not just run them).  Because we like to be able to infer things, we have determined that there are only two required items. Thus – the minimal configuration:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;Minimal Configuration&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;&lt;font size="3" face="Times New Roman"&gt;&amp;lt;!-- basic functionality, these are the required items--&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;roundhouse&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;databaseName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="YOURDATABASENAME"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;sqlFilesDirectory&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="..\..\db"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;font size="3" face="Times New Roman"&gt;This is the minimal configuration that you would need to run RoundhousE (RH for the remainder of this post). This will not version your table unless you have a _BuildInfo.xml file sitting next to your deployment.bat files. You can get that if you use &lt;/font&gt;&lt;a target="_blank" href="http://projectuppercut.org"&gt;&lt;font size="3" face="Times New Roman"&gt;UppercuT&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; to do your automated builds.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;  &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_18.png"&gt;&lt;img title="image" border="0" alt="image" width="345" height="349" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_thumb_7.png" /&gt;&lt;/a&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_20.png"&gt;&lt;img title="image" border="0" alt="image" width="603" height="322" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_thumb_8.png" /&gt;&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;When you use the minimal configuration, it is assumed that you are running migration on the default instance of the server/computer you are on at that time. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;strong&gt;databaseName&lt;/strong&gt; is the database you want to create/migrate. Yes, RH will create a database if there is not one already. There is no need to tell it you want it to create or just update. RH infers that you want to do both if there is no database. &lt;br /&gt;
&lt;strong&gt;sqlFilesDirectory&lt;/strong&gt; is where your SQL Scripts are. We will get to this in a later post, but basically, in the folder that has your sql scripts, RH is going to look for these folders (in this order) and run scripts in them: up, runFirstAfterUp, functions, views, sprocs, and permissions. In the up folder you put only the files you want to run one time. These are DDL/DML scripts. Once you run them, don’t change them or RH will shut down execution with an &lt;a target="_blank" href="http://ferventcoder.com/archive/2009/11/13/roundhouse-db-migration-action-shots.aspx"&gt;error (configurable to a warning)&lt;/a&gt;.  The other folders are items that should run every time. Right now these items should be idempotent scripts, in other words, written to be run again and again without issue. The sample that comes with with RH shows this behavior.&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;FUTURE ENHANCEMENT: RH will either drop and recreate these scripts (capturing and restoring permissions) or create the alter script mentality by reading through your script.&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;Full Configuration&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;&lt;font size="3" face="Times New Roman"&gt;&amp;lt;!-- FULL configuration, for changing conventions --&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;roundhouse&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;serverName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="(local)"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;databaseName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="YOURDATABASENAME"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;sqlFilesDirectory&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="..\..\db"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;repositoryPath&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://tellmewherethisis.com/svn/"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;versionFile&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="_BuildInfo.xml"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;versionXPath&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="//buildInfo/version"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;upFolderName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="up"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;downFolderName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="down"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;runFirstAfterUpFolderName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="runFirstAfterUp"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;functionsFolderName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="functions"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;viewsFolderName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="views"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;sprocsFolderName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="sprocs"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;permissionsFolderName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="permissions"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;schemaName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="RoundhousE"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;versionTableName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Version"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;scriptsRunTableName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ScriptsRun"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;environmentName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="LOCAL"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;restore&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;restoreFromPath&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="\\tell\me\where\YOURDATABASENAME.bak"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;outputPath&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="C:\RoundhousE_runs"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;warnOnOneTimeScriptChanges&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;nonInteractive&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #ff0000"&gt;databaseType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="roundhouse.databases.sqlserver2008.SqlServerDatabase, roundhouse.databases.sqlserver2008"&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;This is quite a configuration. It allows for you to do just about everything you would want to do with RH. Let’s get cracking through shall we?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;strong&gt;serverName&lt;/strong&gt; is the server and the instance you would like to go to. &lt;strong&gt;(local)&lt;/strong&gt; and &lt;strong&gt;(local)\MSSQL2000&lt;/strong&gt; are both valid values. &lt;br /&gt;
&lt;strong&gt;databaseName&lt;/strong&gt; we talked about above. &lt;br /&gt;
&lt;strong&gt;sqlFilesDirectory&lt;/strong&gt; we talked about above as well. Next. &lt;br /&gt;
&lt;strong&gt;repositoryPath&lt;/strong&gt; is literally that. It can be any value because it is only recorded in the version table. Once set it is not recommended you change this value. &lt;br /&gt;
&lt;strong&gt;versionFile&lt;/strong&gt; is either an Xml file or a DLL that RH can grab the version from. &lt;br /&gt;
&lt;strong&gt;versionXPath&lt;/strong&gt; is what you supply if you supply an Xml File. RH has to know where to go to get the value. &lt;br /&gt;
&lt;strong&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_16.png"&gt;&lt;img title="image" border="0" alt="image" align="right" width="367" height="344" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_thumb_6.png" /&gt;&lt;/a&gt;upFolderName&lt;/strong&gt; is the name of the folder for update scripts. Call it whatever you want, we don’t care. Just tell us here. &lt;br /&gt;
&lt;strong&gt;downFolderName&lt;/strong&gt; is for downgrading scripts. This is a future enhancement to RH.&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman" style="background-color: #d5d0ca"&gt;FUTURE ENHANCEMENT: RH will be able to downgrade a database to a particular version.&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;runFirstAfterUpFolderName&lt;/strong&gt; is where you put functions, views, sprocs, or permissions that are order dependent. RH has a certain order it runs scripts in based on both folder names and names of scripts. If a view depends on another view and you are not able to get it named appropriately to run before the other view, put it here. If you have a function that depends on a view, you definitely need the view in this folder. &lt;br /&gt;
&lt;strong&gt;functionsFolderName&lt;/strong&gt; is for functions. By the way, all of these folders are recursively walked, so if you want to further separate by folders, that’s great, too! &lt;br /&gt;
&lt;strong&gt;viewsFolderName&lt;/strong&gt; is for views. &lt;br /&gt;
&lt;strong&gt;sprocsFolderName&lt;/strong&gt; is for….ya, you’re figuring it out. &lt;br /&gt;
&lt;strong&gt;permissionsFolderName&lt;/strong&gt;. I’m not sure I need to say anything here if you are still with me at this point. On to the cooler settings… &lt;br /&gt;
&lt;strong&gt;schemaName&lt;/strong&gt; is for when you want to have the RH tables to be in a different schema. If you put in YOURCOMPANY, you will get a different schema. Once set, do not change this. This is definitely running with scissors and very sharp.&lt;/font&gt;&lt;/font&gt; &lt;br /&gt;
  &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_10.png"&gt;&lt;img title="Well, put in your company name, not YOURCOMPANY" border="0" alt="Well, put in your company name, not YOURCOMPANY" width="244" height="68" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_thumb_3.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;  &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_12.png"&gt;&lt;img title="Is there really a company out there called YOURCOMPANY?" border="0" alt="Is there really a company out there called YOURCOMPANY?" width="202" height="99" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_thumb_4.png" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;strong&gt;versionTableName&lt;/strong&gt; allows you to name the version table something else if you don’t like the name of it or it conflicts with something else. Once set, do not change this. &lt;br /&gt;
&lt;strong&gt;scriptsRunTableName&lt;/strong&gt; allows you to change the name of the scripts run table for the same reasons as versionTableName. Once set, do not change this. And when we say once set, it may mean the first time you go to prod and can no longer drop and restore databases on a whim.  These are very sharp to allow you to have flexibility, but because it is a knife you can still get cut if you use it wrong. I’m just saying. You’ve been warned. &lt;br /&gt;
&lt;strong&gt;environmentName&lt;/strong&gt; allows you to have certain scripts that only run in certain environments. This is very useful for say the permissions scripts.&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;FUTURE ENHANCEMENT: Looking at Environments in the script names to determine whether to run or not. &lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;strong&gt;restore&lt;/strong&gt; tells RH whether to restore a database before migrating. This becomes handy when the DDL/DML scripts are in flux and/or once you’ve gone to production and are doing maintenance. There is an example of how you would do this in the sample. &lt;br /&gt;
&lt;strong&gt;restoreFromPath&lt;/strong&gt; tells RH where to get the backed up database. Neat convention: If you use SQLServer and Litespeed, back up your database and put LS at the end of the file name (like TimmyLS.bak) and RH will convert over to do a Litespeed restore. &lt;br /&gt;
&lt;strong&gt;outputPath&lt;/strong&gt; is where you want RH to set everything it ran in the migration. For more information see this enhancement: &lt;a title="http://code.google.com/p/roundhouse/issues/detail?id=4" href="http://code.google.com/p/roundhouse/issues/detail?id=4"&gt;http://code.google.com/p/roundhouse/issues/detail?id=4&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;FUTURE ENHANCEMENT: If the enhancement request is still open, this is not done yet. Did I mention it will also zip the files up? &lt;a title="http://code.google.com/p/roundhouse/issues/detail?id=5" href="http://code.google.com/p/roundhouse/issues/detail?id=5"&gt;http://code.google.com/p/roundhouse/issues/detail?id=5&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;FUTURE ENHANCEMENT: This may be where the backup is located as well: &lt;a title="http://code.google.com/p/roundhouse/issues/detail?id=3" href="http://code.google.com/p/roundhouse/issues/detail?id=3"&gt;http://code.google.com/p/roundhouse/issues/detail?id=3&lt;/a&gt;&lt;/font&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;strong&gt;warnOnOneTimeScriptChanges&lt;/strong&gt; is how you can turn off the error that occurs when RH sees a change to a one time script (DDL/DML). It is recommended that you never change the scripts that should only run once, but if you do, you are going to need to set this to true. &lt;br /&gt;
&lt;strong&gt;nonInteractive&lt;/strong&gt; tells RH not to ask for user input when it runs. This is how you can set up scheduled jobs to run without you needing to be around. &lt;br /&gt;
&lt;strong&gt;databaseType&lt;/strong&gt; is the type of database you are migrating. This is a bit of a misnomer. If you have 2008 installed, you can still deploy to a 2005 database. But it doesn’t work the other way around.  Here are the settings:&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3"&gt;- roundhouse.databases.sqlserver2008.SqlServerDatabase, roundhouse.databases.sqlserver2008&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;- roundhouse.databases.sqlserver2005.SqlServerDatabase, roundhouse.databases.sqlserver2005&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;- roundhouse.databases.oracle.OracleDatabase, roundhouse.databases.oracle (FUTURE ENHANCEMENT)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;- roundhouse.databases.mysql.MySqlDatabase, roundhouse.databases.mysql (FUTURE ENHANCEMENT)&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;NOTE: &lt;strong&gt;databaseType&lt;/strong&gt; is a plug in model, so if you have a type that is not officially supported yet, you can write your own. Just reference roundhouse.dll and implement roundhouse.sql.Database (it’s an interface).  Then just make sure your DLL sits next to roundhouse.dll, edit &lt;strong&gt;databaseType&lt;/strong&gt; to point to your assembly.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;  &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_14.png"&gt;&lt;img title="Implementing Database" border="0" alt="Implementing Database" width="464" height="81" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEConfiguration_AAB2/image_thumb_5.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;This is a lot to take in, so I’ll stop here. Oh wait - that was all of it. I’ll stop here because we’re done.  If this hasn’t intrigued you to at least download RH and take a look at it, perhaps the versioning aspect will when we talk about it. There is nothing better than knowing what revision in source to look at to find a problem with a stored procedure or a view.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Next up: A closer look at the versioning aspect and how you can version your database based on what you have in source control - &lt;a href="http://ferventcoder.com/archive/2009/11/19/roundhouse-version-your-database.aspx"&gt;RoundhousE : Version Your Database&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f15%2froundhouse-configuration.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f15%2froundhouse-configuration.aspx" /&gt;&lt;/a&gt; &lt;a rev="vote-for" href="http://dotnetshoutout.com/RoundhousE-Configuration"&gt;&lt;img alt="Shout it" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fferventcoder.com%2Farchive%2F2009%2F11%2F15%2Froundhouse-configuration.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136310"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136310" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/136310.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/F-kgzdZtaVXbtWeAfMfqI3hB7Rw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/F-kgzdZtaVXbtWeAfMfqI3hB7Rw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/F-kgzdZtaVXbtWeAfMfqI3hB7Rw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/F-kgzdZtaVXbtWeAfMfqI3hB7Rw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=v2cSfWgCPjY:kUiQwUlYpII:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=v2cSfWgCPjY:kUiQwUlYpII:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=v2cSfWgCPjY:kUiQwUlYpII:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=v2cSfWgCPjY:kUiQwUlYpII:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=v2cSfWgCPjY:kUiQwUlYpII:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=v2cSfWgCPjY:kUiQwUlYpII:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=v2cSfWgCPjY:kUiQwUlYpII:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/v2cSfWgCPjY" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/11/15/roundhouse-configuration.aspx</guid>
            <pubDate>Sun, 15 Nov 2009 10:06:34 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/136310.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/11/15/roundhouse-configuration.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/136310.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/136310.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/11/15/roundhouse-configuration.aspx</feedburner:origLink></item>
        <item><title>Links for 2009-11-13 [del.icio.us]</title><link>http://feedproxy.google.com/~r/robz/~3/qJQyjBjFLmI/trueblue28</link><pubDate>Sat, 14 Nov 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/trueblue28#2009-11-13</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://codebetter.com/blogs/david_laribee/archive/2009/11/13/code-coverage-what-is-it-good-for.aspx"&gt;Code Coverage: What Is It Good For? - Dave Laribee - CodeBetter.Com - Stuff you need to Code Better!&lt;/a&gt;&lt;br/&gt;
&amp;quot;Measurements (other than net profit, of course) are merely indicators. They give us insight into what we&amp;#039;re doing, red flags that help us know when to follow up on and drill into with more qualitative and hands on tools.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/qJQyjBjFLmI" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/trueblue28#2009-11-13</feedburner:origLink></item><item>
            <title>RoundhousE DB Migration: Action Shots</title>
            <category>RoundhousE</category>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/8JmYGZBBOKI/roundhouse-db-migration-action-shots.aspx</link>
            <description>&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;I just started the appetites with my last &lt;a target="_blank" href="http://ferventcoder.com/archive/2009/11/11/enter-the-dragon-roundhouse-db-migrations.aspx"&gt;post&lt;/a&gt; on RoundhousE. &lt;a target="_blank" href="http://roundhouse.googlecode.com/"&gt;RoundhousE&lt;/a&gt; itself has a migration sample to help you get familiar with how it works. You can get to that by using a subversion client to download the &lt;a target="_blank" href="http://roundhouse.googlecode.com/svn/trunk"&gt;source&lt;/a&gt;. &lt;/font&gt;&lt;font size="3" face="Times New Roman"&gt;When you download the &lt;/font&gt;&lt;font size="3" face="Times New Roman"&gt;RoundhousE&lt;/font&gt;&lt;font size="3" face="Times New Roman"&gt; source from &lt;/font&gt;&lt;a target="_blank" href="http://roundhouse.googlecode.com/svn/trunk"&gt;&lt;font size="3" face="Times New Roman"&gt;SVN&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; and run build.bat, you get a code_drop folder. Go in there and look at the deployment folder for a sample run.&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Prerequisites: Locally installed (and running) SQL Server 2008&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;Run That Bad Boy&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;When you get into the code_drop folder, take a look below at the screenshot. Run LOCAL.DBDeployment.bat. It will run the through a NAnt deploy of RoundhousE and create a database called TestRoundhousE.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_2.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img title="Deploy DEPLOY!" border="0" alt="Deploy DEPLOY!" width="350" height="216" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_thumb.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;When you run LOCAL.DBDeployment.bat, this is the output (provided you have SQL Server 2008 installed):&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_16.png"&gt;&lt;img title="All kinds of total sweetness" border="0" alt="All kinds of total sweetness" width="644" height="265" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_thumb_7.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Running RoundhousE on (local) (TestRoundhousE). Looking in C:\code\roundhouse\code_drop\deployment\scripts\..\..\db\TestRoundhousE for sql scripts. &lt;br /&gt;
Executing RoundhousE against contents of C:\code\roundhouse\code_drop\deployment\scripts\..\..\db\TestRoundhousE. &lt;br /&gt;
Creating TestRoundhousE database on (local) server if it doesn't exist. &lt;br /&gt;
Creating RoundhousE schema if it doesn't exist. &lt;br /&gt;
Creating [RoundhousE].[Version] table if it doesn't exist. &lt;br /&gt;
Creating [RoundhousE].[ScriptsRun] table if it doesn't exist. &lt;br /&gt;
Attempting to resolve assembly file version from C:\code\roundhouse\code_drop\RoundhousE\NAnt\RoundhousE.dll. &lt;br /&gt;
Migrating TestRoundhousE from version 0 to 0.0.0.59. &lt;br /&gt;
Versioning TestRoundhousE database with version 0.0.0.59 based on &lt;a href="http://roundhouse.googlecode.com/svn"&gt;http://roundhouse.googlecode.com/svn&lt;/a&gt;. &lt;br /&gt;
Running 0001_CreateTables.sql on (local) - TestRoundhousE. &lt;br /&gt;
Running 0002_ChangeTable.sql on (local) - TestRoundhousE. &lt;br /&gt;
Running vw_Dude.sql on (local) - TestRoundhousE.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Take a look here. It gives you feedback about where it is running and where it is looking for sql scripts.  Then it attempts to resolve the version based on a Dll’s version (can also do it through an xml file from the build containing a version).  It will create the database if it doesn’t exist (does not require action create, it’s smart about that).  Then RoundhousE will create it’s tables (one for tracking versions, and one for tracking what scripts have run).  Then it’s going to look through folders recursively and find sql files to run.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What happens when I run it a second time?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_18.png"&gt;&lt;img title="For real?!" border="0" alt="For real?!" width="644" height="270" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_thumb_8.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Running RoundhousE on (local) (TestRoundhousE). Looking in C:\code\roundhouse\code_drop\deployment\scripts\..\..\db\TestRoundhousE for sql scripts. &lt;br /&gt;
Executing RoundhousE against contents of C:\code\roundhouse\code_drop\deployment\scripts\..\..\db\TestRoundhousE. &lt;br /&gt;
Creating TestRoundhousE database on (local) server if it doesn't exist. &lt;br /&gt;
Creating RoundhousE schema if it doesn't exist. &lt;br /&gt;
Creating [RoundhousE].[Version] table if it doesn't exist. &lt;br /&gt;
Creating [RoundhousE].[ScriptsRun] table if it doesn't exist. &lt;br /&gt;
Attempting to resolve assembly file version from C:\code\roundhouse\code_drop\RoundhousE\NAnt\RoundhousE.dll. &lt;br /&gt;
Migrating TestRoundhousE from version 0.0.0.59 to 0.0.0.59. &lt;br /&gt;
Versioning TestRoundhousE database with version 0.0.0.59 based on &lt;a href="http://roundhouse.googlecode.com/svn"&gt;http://roundhouse.googlecode.com/svn&lt;/a&gt;. &lt;br /&gt;
Skipped 0001_CreateTables.sql either due to being a one time script or finding no changes. &lt;br /&gt;
Skipped 0002_ChangeTable.sql either due to being a one time script or finding no changes. &lt;br /&gt;
Running vw_Dude.sql on (local) - TestRoundhousE.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;The second time it runs it is only going to rerun items that are stateless, items that do not contain data, like functions, views and stored procedures.&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman" style="background-color: #ffffff"&gt;FUTURE ENHANCEMENT: RoundhousE will only rerun stateless items if they have changed.  That will cut your migration time way down for databases that are heavy one the stored procedures side.&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;RoundhousE and SQL Server&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What does that goodness give you? Let’s crack open SSMS (Sql Server Management Studio).&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_8.png"&gt;&lt;img title="I'm sold!" border="0" alt="I'm sold!" width="244" height="129" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_thumb_3.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You get two tables (schemas and tables names are completely configurable): Version and ScriptsRun.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_10.png"&gt;&lt;img title="Versioning a database...how come I never thought of that?" border="0" alt="Versioning a database...how come I never thought of that?" width="642" height="237" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_thumb_4.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Looking a the version table, I have the idea of both a source repository and a version. What does that mean? It means RoundhousE knows that you may have multiple repositories that hit the database and that’s cool.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_12.png"&gt;&lt;img title="I think I just creamed in my drawers!" border="0" alt="I think I just creamed in my drawers!" width="644" height="253" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_thumb_5.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;The ScriptsRun table here captures some really interesting information. There is &lt;strong&gt;script_name&lt;/strong&gt;, the &lt;strong&gt;id&lt;/strong&gt; of the version it is associated with, and then there is the &lt;strong&gt;text_of_script&lt;/strong&gt;. Whoa…the text of the actual script I ran?! That’s awesome! But ….why?! We do this for two reasons. You now have an audit of what actually ran. This makes both DBAs and auditors happy. RoundhousE also has a goal in mind of versioning back down. This becomes extremely simple if we keep track of those things.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What happens if I start running bigger and bigger scripts? It’s a minimal impact. I tested this with a 15MB production level insert script for running an initial load of data and it ran like a champ. My database also only grew about 4MBish larger than the original database without recording the script. So the impact is minimal.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;The next column we’ll focus on is &lt;strong&gt;one_time_script&lt;/strong&gt;. This column is what tells you automatically whether this script is located in a one time run folder (the up folder in this case) or if it is a stateless item that will not cause data loss or error to run again and again.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Okay next column: &lt;strong&gt;text_hash&lt;/strong&gt; – what is that? That is how RoundhousE can very quickly determine if there have been changes to the script. Which is a good transition into the next section.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;RoundhousE is Smarter&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What happens if someone changes a DDL/DML file that is meant to run only once? Add even one extra space in the file and this is what you get:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_20.png"&gt;&lt;img title="OMG WTF dude?!" border="0" alt="OMG WTF dude?!" width="644" height="333" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEDBMigrationActionShots_A80E/image_thumb_9.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;RoundhousE encountered an error: &lt;br /&gt;
System.Exception: 0001_CreateTables.sql has changed since the last time it was run. By default this is not allowed - scripts that run once should never change. To change this behavior to a warning, please set warnOnOneTimeScriptChanges to true and run again. Stopping execution.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;It is configurable to set this to a warning, but the important thing to note is that RoundhousE is going to try to help your developers see that they made changes to something that won’t run. That way they are not making changes to files that should not change.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Go get the &lt;a target="_blank" href="http://roundhouse.googlecode.com/svn/trunk"&gt;source&lt;/a&gt; and give it a whirl.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Next up – &lt;a href="http://ferventcoder.com/archive/2009/11/15/roundhouse-configuration.aspx"&gt;RoundhousE Configuration&lt;/a&gt;. Same bat time. Same bat channel.  And remember, “There is no charge for awesome.”&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f13%2froundhouse-db-migration-action-shots.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f13%2froundhouse-db-migration-action-shots.aspx" /&gt;&lt;/a&gt; &lt;a rev="vote-for" href="http://dotnetshoutout.com/RoundhousE-DB-Migration-Action-Shots"&gt;&lt;img alt="Shout it" style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" src="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fferventcoder.com%2Farchive%2F2009%2F11%2F13%2Froundhouse-db-migration-action-shots.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136262"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136262" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/136262.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wIYJAqoYphAMWOBkbI9KxHrnXVM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wIYJAqoYphAMWOBkbI9KxHrnXVM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wIYJAqoYphAMWOBkbI9KxHrnXVM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wIYJAqoYphAMWOBkbI9KxHrnXVM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=8JmYGZBBOKI:0ARZqJA-eCw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=8JmYGZBBOKI:0ARZqJA-eCw:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=8JmYGZBBOKI:0ARZqJA-eCw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=8JmYGZBBOKI:0ARZqJA-eCw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=8JmYGZBBOKI:0ARZqJA-eCw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=8JmYGZBBOKI:0ARZqJA-eCw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=8JmYGZBBOKI:0ARZqJA-eCw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/8JmYGZBBOKI" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/11/13/roundhouse-db-migration-action-shots.aspx</guid>
            <pubDate>Fri, 13 Nov 2009 07:17:32 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/136262.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/11/13/roundhouse-db-migration-action-shots.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/136262.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/136262.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/11/13/roundhouse-db-migration-action-shots.aspx</feedburner:origLink></item>
        <item>
            <title>Blogging about Blogging: Most popular topic on GWB!</title>
            <category>Personal</category>
            <link>http://feedproxy.google.com/~r/robz/~3/OedITITCsIM/blogging-about-blogging-most-popular-topic-on-gwb.aspx</link>
            <description>&lt;p&gt;Right now my post on &lt;a href="http://ferventcoder.com/archive/2009/11/06/sproc-executing-slow-it-might-be-this.aspx" target="_blank"&gt;Sproc Executing Slow&lt;/a&gt; is the most popular topic on &lt;a href="http://geekswithblogs.net/Default.aspx" target="_blank"&gt;GWB&lt;/a&gt;! &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/BloggingaboutBloggingMostpopulartopiconG_A4B8/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/BloggingaboutBloggingMostpopulartopiconG_A4B8/image_thumb.png" width="644" height="466" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136247"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136247" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/136247.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/X22SZn6YeE0YhZ5Xsr7vERDmzyk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X22SZn6YeE0YhZ5Xsr7vERDmzyk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/X22SZn6YeE0YhZ5Xsr7vERDmzyk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X22SZn6YeE0YhZ5Xsr7vERDmzyk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=OedITITCsIM:66NNdbhHvG4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=OedITITCsIM:66NNdbhHvG4:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=OedITITCsIM:66NNdbhHvG4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=OedITITCsIM:66NNdbhHvG4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=OedITITCsIM:66NNdbhHvG4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=OedITITCsIM:66NNdbhHvG4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=OedITITCsIM:66NNdbhHvG4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/OedITITCsIM" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/11/12/blogging-about-blogging-most-popular-topic-on-gwb.aspx</guid>
            <pubDate>Fri, 13 Nov 2009 05:42:00 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/136247.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/11/12/blogging-about-blogging-most-popular-topic-on-gwb.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/136247.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/136247.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/11/12/blogging-about-blogging-most-popular-topic-on-gwb.aspx</feedburner:origLink></item>
        <item>
            <title>Enter The Dragon: RoundhousE DB Migrations</title>
            <category>RoundhousE</category>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/cgx2OreOgkk/enter-the-dragon-roundhouse-db-migrations.aspx</link>
            <description>&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;a target="_blank" href="http://roundhouse.googlecode.com/"&gt;&lt;/a&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/EnterTheDragonRoundhousEDBMigrations_13764/RoundhousE_Logo_2.jpg"&gt;&lt;img title="RoundhousE_Logo" height="231" alt="RoundhousE_Logo" width="244" align="right" border="0" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/EnterTheDragonRoundhousEDBMigrations_13764/RoundhousE_Logo_thumb.jpg" /&gt;&lt;/a&gt;&lt;/font&gt;One of the &lt;font face="Times New Roman" size="3"&gt;&lt;a target="_blank" href="http://roundhouse.googlecode.com/"&gt;&lt;/a&gt;&lt;/font&gt;coolest projects I have been working on is how to solve issues with database versioning and migration. A project dubbed &lt;a target="_blank" href="http://roundhouse.googlecode.com/"&gt;RoundhousE&lt;/a&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;a target="_blank" href="http://roundhouse.googlecode.com/"&gt;&lt;/a&gt;&lt;/font&gt;RoundhousE is an open source automated database depl&lt;font face="Times New Roman" size="3"&gt;&lt;a target="_blank" href="http://roundhouse.googlecode.com/"&gt;&lt;/a&gt;&lt;/font&gt;oyment (change management) system that allows you to use your current idioms and gain much more. Currently it only supports Microsoft SQL Server, but there are future plans for other databases.&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;It seeks to solve both maintenance concerns and ease of deployment. We follow some of the same idioms as other database management systems (SQL scripts), but we are different in that we think about future maintenance concerns. We want to always apply certain scripts (anything stateless like functions, views, stored procedures, and permissions), so we don’t have to throw everything into our change scripts. This seeks to solves future source control concerns. How sweet is it when you can version the database according to your current source control version?&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;a target="_blank" href="http://roundhouse.googlecode.com/"&gt;RoundhousE&lt;/a&gt; (RH) is a very lean implementation for database migration that uses SQL Scripts to apply changes to a database. It is extremely configurable in that you can override the conventions for everything, including the schema, version table, and scripts run table for RH. RoundhousE is implemented as an MSBuild/NAnt Task, a console application (the console is still in development), and in the future possibly a GUI as well. There is an extensive &lt;a target="_blank" href="http://code.google.com/p/roundhouse/#roadmap"&gt;roadmap&lt;/a&gt; on the product. Over the next few weeks I will be talking about how to set up and use this product and future enhancements.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Until then, enjoy this image of Chuck showing off his intimate knowledge of open source!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/EnterTheDragonRoundhousEDBMigrations_13764/image_2.png"&gt;&lt;font face="Times New Roman" color="#000000" size="3"&gt;&lt;img title="image" height="244" alt="image" width="207" border="0" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/EnterTheDragonRoundhousEDBMigrations_13764/image_thumb.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Next in the spin: &lt;a id="viewpost_ascx_TitleUrl" title="Title of this entry." href="http://ferventcoder.com/archive/2009/11/13/roundhouse-db-migration-action-shots.aspx"&gt;RoundhousE DB Migration: Action Shots&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f11%2fenter-the-dragon-roundhouse-db-migrations.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f11%2fenter-the-dragon-roundhouse-db-migrations.aspx" /&gt;&lt;/a&gt; &lt;a rev="vote-for" href="http://dotnetshoutout.com/Enter-The-Dragon-RoundhousE-DB-Migrations"&gt;&lt;img alt="Shout it" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fferventcoder.com%2Farchive%2F2009%2F11%2F11%2Fenter-the-dragon-roundhouse-db-migrations.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136229"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136229" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/136229.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VowtWk8N-a11ARTyTGFSydEgl9Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VowtWk8N-a11ARTyTGFSydEgl9Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VowtWk8N-a11ARTyTGFSydEgl9Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VowtWk8N-a11ARTyTGFSydEgl9Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=cgx2OreOgkk:QVPLCjpbm3Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=cgx2OreOgkk:QVPLCjpbm3Q:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=cgx2OreOgkk:QVPLCjpbm3Q:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=cgx2OreOgkk:QVPLCjpbm3Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=cgx2OreOgkk:QVPLCjpbm3Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=cgx2OreOgkk:QVPLCjpbm3Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=cgx2OreOgkk:QVPLCjpbm3Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/cgx2OreOgkk" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/11/11/enter-the-dragon-roundhouse-db-migrations.aspx</guid>
            <pubDate>Wed, 11 Nov 2009 22:51:08 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/136229.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/11/11/enter-the-dragon-roundhouse-db-migrations.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/136229.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/136229.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/11/11/enter-the-dragon-roundhouse-db-migrations.aspx</feedburner:origLink></item>
        <item>
            <title>Afterthoughts From Iowa Code Camp and UppercuT Talk</title>
            <category>Personal</category>
            <category>UppercuT</category>
            <link>http://feedproxy.google.com/~r/robz/~3/0hQiFG3_ScU/afterthoughts-from-iowa-code-camp-and-uppercut-talk.aspx</link>
            <description>&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Iowa Code Camp was a great time! I really enjoyed the conference itself. It was probably one of the best conferences I have ever been to. There are a lot of talented people surrounding Iowa and I had the pleasure of hanging out with some very intelligent people that are doing some really awesome things.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;The &lt;/font&gt;&lt;a href="http://ferventcoder.com/archive/2009/11/06/speaking-at-iowacodecamp.aspx" target="_blank"&gt;&lt;font size="3" face="Times New Roman"&gt;talk&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; went well as well. Hopefully there were a few more people that got out there and tried &lt;/font&gt;&lt;a href="http://projectuppercut.org/" target="_blank"&gt;&lt;font size="3" face="Times New Roman"&gt;UppercuT&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt;. Here are the &lt;a href="http://uppercut.googlecode.com/svn/trunk/docs/UppercuTPresentation.pptx" target="_blank"&gt;slides&lt;/a&gt; from my talk.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136188"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136188" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/136188.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZFeBeVUn_p5y6UCW3C2wkegpBZs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZFeBeVUn_p5y6UCW3C2wkegpBZs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZFeBeVUn_p5y6UCW3C2wkegpBZs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZFeBeVUn_p5y6UCW3C2wkegpBZs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=0hQiFG3_ScU:WmLhOntu_AE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=0hQiFG3_ScU:WmLhOntu_AE:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=0hQiFG3_ScU:WmLhOntu_AE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=0hQiFG3_ScU:WmLhOntu_AE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=0hQiFG3_ScU:WmLhOntu_AE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=0hQiFG3_ScU:WmLhOntu_AE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=0hQiFG3_ScU:WmLhOntu_AE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/0hQiFG3_ScU" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/11/10/afterthoughts-from-iowa-code-camp-and-uppercut-talk.aspx</guid>
            <pubDate>Tue, 10 Nov 2009 21:17:49 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/136188.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/11/10/afterthoughts-from-iowa-code-camp-and-uppercut-talk.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/136188.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/136188.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/11/10/afterthoughts-from-iowa-code-camp-and-uppercut-talk.aspx</feedburner:origLink></item>
        <item><title>Links for 2009-11-07 [del.icio.us]</title><link>http://feedproxy.google.com/~r/robz/~3/8CHTnKLaSVI/trueblue28</link><pubDate>Sun, 08 Nov 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/trueblue28#2009-11-07</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.wekeroad.com/tekpub/hello-tekpub/"&gt;Hello Tekpub&lt;/a&gt;&lt;br/&gt;
&amp;quot;James Avery and I have just launched a new site, Tekpub.com, that is focused on helping developers kick ass in their jobs. There have been a lot of questions about this after our “soft” launch yesterday, so I thought I would address them here.&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.squeak.org/"&gt;Squeak Smalltalk&lt;/a&gt;&lt;br/&gt;
Programming w/Kids site&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.withaguide.com/2009/11/new-environment-for-programming-with.html"&gt;New Environment for &amp;quot;Programming with Kids&amp;quot;&lt;/a&gt;&lt;br/&gt;
&amp;quot;I was psyched to see the Etoys 4.0 release last week. It&amp;#039;s been a while since I looked at Squeakland so I took some time to play with it last weekend. I am directing a hands-on exploratory session called &amp;quot;Programming with Kids&amp;quot; this Saturday at Iowa Code Camp 4 and Etoys will definitely be the jumping off spot.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/8CHTnKLaSVI" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/trueblue28#2009-11-07</feedburner:origLink></item><item>
            <title>Sproc Executing Slow? It Might be This</title>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/zBgFEBv3lNY/sproc-executing-slow-it-might-be-this.aspx</link>
            <description>&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;So you have stored procedure and it’s having issues. When you run it, it returns really fast. When .NET runs it, its like a dog.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;The first thing you learn about SQL Server is that it has something called ARITHABORT and it is turned on in SQL Management Studio and OFF in ADO.NET. Yeah you heard that right. OFF. So when you find this out, your first thought is WTF, mate?! Why do we have to make this hard on ourselves? &lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Reference post: &lt;/font&gt;&lt;a href="http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx"&gt;&lt;font size="3" face="Times New Roman"&gt;http://sqladvice.com/blogs/gstark/archive/2008/02/12/Arithabort-Option-Effects-Stored-Procedure-Performance.aspx&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;So you turn it off in SQL Server Management Studio under {&lt;strong&gt;Tools&lt;/strong&gt;}-&amp;gt;{&lt;strong&gt;Options&lt;/strong&gt;} and all is good right?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/SprocExecutingSlowItMightbeThis_F76B/image_2.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="image" border="0" alt="image" width="644" height="374" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/SprocExecutingSlowItMightbeThis_F76B/image_thumb.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Well, you might be coming across another problem and you want to optimize the sproc so you pull the text out and start running query analyzer. First things first, compare the text of the sproc versus executing the actual sproc. You might be surprised to find that the actual execution is not as fast as the text.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/SprocExecutingSlowItMightbeThis_F76B/image_4.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="520" height="622" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/SprocExecutingSlowItMightbeThis_F76B/image_thumb_1.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;WTF? Why is the sproc running slower than the actual text? This is due to a bad query plan being cached by SQL. If you use the parameters that are passed in by the sproc, SQL Server tries to guess what those are and it puts in fake values. Then it caches a bad query plan.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;So if you’re still with me at this point, you’re probably saying, that’s all fine and dandy Rob, but I just want to fix the freaking thing and you are giving me too much context.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;The fix is so easy, it’s crazy. All you have to do is set those parameters to local variables and use the local variables in the sproc.&lt;/font&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;Create&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;PROC&lt;/span&gt; Tim &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    @StartDate DateTime&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;AS&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;span style="COLOR: #0000ff"&gt;BEGIN&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;DECLARE&lt;/span&gt; @LocalStartDate DateTime&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;SET&lt;/span&gt; @LocalStartDate = @StartDate&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    /* your code here */&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;SELECT&lt;/span&gt; @LocalStartDate &lt;span style="COLOR: #0000ff"&gt;AS&lt;/span&gt; StartDate&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    /* instead &lt;span style="COLOR: #0000ff"&gt;of&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;SELECT&lt;/span&gt; @StartDate &lt;span style="COLOR: #0000ff"&gt;AS&lt;/span&gt; StartDate&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;     */&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;span style="COLOR: #0000ff"&gt;END&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;It’s a hack. And only useful when the sproc is being a non-performant nancy boy.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;And here’s another good reason not to use Sprocs. I’m just saying. YMMV. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f06%2fsproc-executing-slow-it-might-be-this.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f06%2fsproc-executing-slow-it-might-be-this.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
&lt;p&gt; &lt;/p&gt;
&lt;font size="3" face="Times New Roman"&gt;&lt;/font&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136072"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136072" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/136072.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YEzZA3UPxBag22sijiCJNir2-2g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YEzZA3UPxBag22sijiCJNir2-2g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YEzZA3UPxBag22sijiCJNir2-2g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YEzZA3UPxBag22sijiCJNir2-2g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=zBgFEBv3lNY:VHiAWUg37gw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=zBgFEBv3lNY:VHiAWUg37gw:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=zBgFEBv3lNY:VHiAWUg37gw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=zBgFEBv3lNY:VHiAWUg37gw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=zBgFEBv3lNY:VHiAWUg37gw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=zBgFEBv3lNY:VHiAWUg37gw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=zBgFEBv3lNY:VHiAWUg37gw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/zBgFEBv3lNY" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/11/06/sproc-executing-slow-it-might-be-this.aspx</guid>
            <pubDate>Fri, 06 Nov 2009 18:02:21 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/136072.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/11/06/sproc-executing-slow-it-might-be-this.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/136072.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/136072.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/11/06/sproc-executing-slow-it-might-be-this.aspx</feedburner:origLink></item>
        <item>
            <title>Speaking At IowaCodeCamp</title>
            <category>UppercuT</category>
            <category>Personal</category>
            <link>http://feedproxy.google.com/~r/robz/~3/qH8opwlTmKg/speaking-at-iowacodecamp.aspx</link>
            <description>&lt;p&gt;If you are in Des Moines, IA, tomorrow for &lt;a href="http://iowacodecamp.com/" target="_blank"&gt;Iowa Code Camp&lt;/a&gt;, I’m speaking on “Automated Builds: How to &lt;a href="http://projectuppercut.org/" target="_blank"&gt;UppercuT&lt;/a&gt; your Code” at &lt;a href="http://iowacodecamp.com/session/schedule" target="_blank"&gt;3:45&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://projectuppercut.org/" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="UppercuTBlack" border="0" alt="UppercuTBlack" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/SpeakingAtIowaCodeCamp_F281/UppercuTBlack_3.jpg" width="244" height="176" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you are going to be there and we’ve only met on Twitter before, I’m looking forward to meeting you!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136071"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136071" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/136071.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iOq79W7fRZhf6-pMS7EZaKlMeYU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iOq79W7fRZhf6-pMS7EZaKlMeYU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iOq79W7fRZhf6-pMS7EZaKlMeYU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iOq79W7fRZhf6-pMS7EZaKlMeYU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=qH8opwlTmKg:jC0_FNhNko4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=qH8opwlTmKg:jC0_FNhNko4:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=qH8opwlTmKg:jC0_FNhNko4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=qH8opwlTmKg:jC0_FNhNko4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=qH8opwlTmKg:jC0_FNhNko4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=qH8opwlTmKg:jC0_FNhNko4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=qH8opwlTmKg:jC0_FNhNko4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/qH8opwlTmKg" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/11/06/speaking-at-iowacodecamp.aspx</guid>
            <pubDate>Fri, 06 Nov 2009 17:25:58 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/136071.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/11/06/speaking-at-iowacodecamp.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/136071.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/136071.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/11/06/speaking-at-iowacodecamp.aspx</feedburner:origLink></item>
        <item><title>Links for 2009-11-05 [del.icio.us]</title><link>http://feedproxy.google.com/~r/robz/~3/6fVL31htS_Y/trueblue28</link><pubDate>Fri, 06 Nov 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/trueblue28#2009-11-05</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm"&gt;How to search all columns of all tables in a database for a keyword?&lt;/a&gt;&lt;br/&gt;
This is helpful when you are trying to search an entire database for a value.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/6fVL31htS_Y" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/trueblue28#2009-11-05</feedburner:origLink></item><item><title>Links for 2009-10-30 [del.icio.us]</title><link>http://feedproxy.google.com/~r/robz/~3/gYt0vbbESOQ/trueblue28</link><pubDate>Sat, 31 Oct 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/trueblue28#2009-10-30</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://randomactsofcoding.blogspot.com/2009/10/reviewing-uppercut-build-framework.html"&gt;Reviewing UppercuT - A Build Framework Based On NAnt&lt;/a&gt;&lt;br/&gt;
UppercuT gets a pretty solid review!&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/gYt0vbbESOQ" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/trueblue28#2009-10-30</feedburner:origLink></item><item>
            <title>UppercuT and Mono Migration Analyzer</title>
            <category>UppercuT</category>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/LvT9DWrMl40/uppercut-and-mono-migration-analyzer.aspx</link>
            <description>&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;If you are using &lt;/font&gt;&lt;a target="_blank" href="http://projectuppercut.org"&gt;&lt;font size="3" face="Times New Roman"&gt;UppercuT&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt;, you will be pleased to know that it now supports &lt;/font&gt;&lt;a target="_blank" href="http://mono-project.com/MoMA"&gt;&lt;font size="3" face="Times New Roman"&gt;Mono Migration Analyzer&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; (MoMA for short).  All you have to do is upgrade. And with the design of UppercuT, we’ve made it super simple to upgrade. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;How hard is it to upgrade UppercuT? Just drop in the files in your build folder, check for changes to the lib folder (especially in the NAnt directory) and new folders, and then check for any changes to the .bat files and UppercuT.config and you’re done.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;Mono Migration Analyzer&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Here is what the report looks like running against UppercuT.  It looks like UppercuT is okay to run on *nix, but a few of it’s dependencies may have some issues.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTandMonoMigrationAnalyzer_7EA5/image_2.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="image" border="0" alt="image" width="604" height="484" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTandMonoMigrationAnalyzer_7EA5/image_thumb.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;If you look closer, you can find whether the method is not implemented, on the TODO list, or the P/Invoke list. The P/Invoke’s will only work if your OS has implemented them.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTandMonoMigrationAnalyzer_7EA5/image_6.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="image" border="0" alt="image" width="644" height="225" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTandMonoMigrationAnalyzer_7EA5/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Yet another reason to use UppercuT. The builds just keep getting better!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f10%2f25%2fuppercut-and-mono-migration-analyzer.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f10%2f25%2fuppercut-and-mono-migration-analyzer.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135704"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135704" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/135704.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/C0PpuY48Z1w09YJ1it3rOdMbGvU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C0PpuY48Z1w09YJ1it3rOdMbGvU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/C0PpuY48Z1w09YJ1it3rOdMbGvU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C0PpuY48Z1w09YJ1it3rOdMbGvU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=LvT9DWrMl40:UCArbvo0duI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=LvT9DWrMl40:UCArbvo0duI:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=LvT9DWrMl40:UCArbvo0duI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=LvT9DWrMl40:UCArbvo0duI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=LvT9DWrMl40:UCArbvo0duI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=LvT9DWrMl40:UCArbvo0duI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=LvT9DWrMl40:UCArbvo0duI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/LvT9DWrMl40" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/10/25/uppercut-and-mono-migration-analyzer.aspx</guid>
            <pubDate>Sun, 25 Oct 2009 07:05:27 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/135704.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/10/25/uppercut-and-mono-migration-analyzer.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/135704.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/135704.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/10/25/uppercut-and-mono-migration-analyzer.aspx</feedburner:origLink></item>
        <item><title>Links for 2009-10-22 [del.icio.us]</title><link>http://feedproxy.google.com/~r/robz/~3/ubrOAgJ8rPU/trueblue28</link><pubDate>Fri, 23 Oct 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/trueblue28#2009-10-22</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://west-wind.com/weblog/posts/32765.aspx"&gt;Application that won&amp;rsquo;t Pin to Taskbar in Windows 7 - Rick Strahl's Web Log&lt;/a&gt;&lt;br/&gt;
Nice.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.jameskovacs.com/blog/TIPHowToRunProgramsAsADomainUserFromANondomainComputer.aspx"&gt;James Kovacs' Weblog - TIP: How to Run Programs as a Domain User from a Non-domain Computer&lt;/a&gt;&lt;br/&gt;
&amp;quot;In most cases, not being joined to a client’s domain doesn’t make one iota of difference. You need to access a network share or printer, browser to it and you will be prompted for domain credentials. The fact that you’re using different domain credentials to access the resource from those that you logged in with doesn’t matter one bit. If you want to expedite the process and not wait for an authentication time-out, you can utilize NET USE from the command line to tell Windows which credentials you want to use when accessing certain computers. You can even make them persistent or roll the whole thing into a batch script that you can execute whenever at a particular client.&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.jameskovacs.com/blog/ReleasingPsakeV100PsakeV200.aspx"&gt;James Kovacs' Weblog - Releasing psake v1.00 &amp;amp; psake v2.00&lt;/a&gt;&lt;br/&gt;
PSake goes 1.0. And 2.0. :D&lt;/li&gt;
&lt;li&gt;&lt;a href="http://geekswithblogs.net/thibbard/archive/2009/09/23/get-notified-via-email-of-twitter-mentions.aspx"&gt;Get notified via email of twitter mentions&lt;/a&gt;&lt;br/&gt;
MentionNotifier FTW!&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stevesmithblog.com/blog/don-rsquo-t-repeat-yourself/"&gt;Don&amp;rsquo;t Repeat Yourself : Steve Smith's Blog&lt;/a&gt;&lt;br/&gt;
&amp;quot;Of all the principles of programming, Don&amp;#039;t Repeat Yourself (DRY) is perhaps one of the most fundamental. The principle was formulated by Andy Hunt and Dave Thomas in The Pragmatic Programmer, and underlies many other well-known software development best practices and design patterns. The developer who learns to recognize duplication, and understands how to eliminate it through appropriate practice and proper abstraction, can produce much cleaner code than one who continuously infects the application with unnecessary repetition.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/ubrOAgJ8rPU" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/trueblue28#2009-10-22</feedburner:origLink></item><item>
            <title>UppercuT &amp;ndash; Elegant Solution to Strong Naming</title>
            <category>UppercuT</category>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/gZeNCmbHVP8/uppercut-ndash-elegant-solution-to-strong-naming.aspx</link>
            <description>&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Here’s how you can sign a set of assemblies in a project with a key using &lt;a target="_blank" href="http://projectuppercut.org/"&gt;UppercuT&lt;/a&gt;:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;1. Open the UppercuT.config file.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTElegantSolutiontoStrongNaming_FC/image_2.png"&gt;&lt;font color="#000000" size="3" face="Times New Roman"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="image" border="0" alt="image" width="458" height="299" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTElegantSolutiontoStrongNaming_FC/image_thumb.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;2. Change the following to “true”:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTElegantSolutiontoStrongNaming_FC/image_4.png"&gt;&lt;font color="#000000" size="3" face="Times New Roman"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="image" border="0" alt="image" width="644" height="47" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTElegantSolutiontoStrongNaming_FC/image_thumb_1.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;3. Done.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Did I mention that creates a private key if it is not there as well?!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;This was from a patch sent in by &lt;a target="_blank" href="http://codebetter.com/blogs/dru.sellers"&gt;Dru Sellers&lt;/a&gt;. Thanks Dru!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;With this knowledge you shall build.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f09%2f26%2fuppercut-ndash-elegant-solution-to-strong-naming.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f09%2f26%2fuppercut-ndash-elegant-solution-to-strong-naming.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135105"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135105" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/135105.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YNB68E4yJR4k8ncHRvm05WDAfTw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YNB68E4yJR4k8ncHRvm05WDAfTw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YNB68E4yJR4k8ncHRvm05WDAfTw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YNB68E4yJR4k8ncHRvm05WDAfTw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=gZeNCmbHVP8:sVfj1a5g_cM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=gZeNCmbHVP8:sVfj1a5g_cM:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=gZeNCmbHVP8:sVfj1a5g_cM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=gZeNCmbHVP8:sVfj1a5g_cM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=gZeNCmbHVP8:sVfj1a5g_cM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=gZeNCmbHVP8:sVfj1a5g_cM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=gZeNCmbHVP8:sVfj1a5g_cM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/gZeNCmbHVP8" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/09/26/uppercut-ndash-elegant-solution-to-strong-naming.aspx</guid>
            <pubDate>Sat, 26 Sep 2009 05:09:12 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/135105.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/09/26/uppercut-ndash-elegant-solution-to-strong-naming.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/135105.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/135105.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/09/26/uppercut-ndash-elegant-solution-to-strong-naming.aspx</feedburner:origLink></item>
        <item>
            <title>UppercuT Presentation Afterthoughts</title>
            <category>DNUG</category>
            <category>Code</category>
            <category>UppercuT</category>
            <link>http://feedproxy.google.com/~r/robz/~3/19bgSdx_9BM/uppercut-presentation-afterthoughts.aspx</link>
            <description>&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;The &lt;/font&gt;&lt;a href="http://ferventcoder.com/archive/2009/08/31/topeka-dot-net-user-group-dnug-meeting-ndash-september-22.aspx" target="_blank"&gt;&lt;font size="3" face="Times New Roman"&gt;presentation for TopDNUG&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; went pretty well. There were some good questions and back and forth. The room really seemed to come alive when in a matter of less than ten minutes I added &lt;/font&gt;&lt;a href="http://projectuppercut.org/" target="_blank"&gt;&lt;font size="3" face="Times New Roman"&gt;UppercuT&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; to two different Open Source projects (&lt;/font&gt;&lt;a href="http://sebastien.lebreton.free.fr/reflexil/" target="_blank"&gt;&lt;font size="3" face="Times New Roman"&gt;Reflexil&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; and &lt;/font&gt;&lt;a href="http://quartznet.sourceforge.net/" target="_blank"&gt;&lt;font size="3" face="Times New Roman"&gt;Quartz.NET&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt;) and had them off of the ground and building. Full builds, too. With versioning, compiling, unit testing, packaging, etc.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;I also unveiled the new logo for UppercuT:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://projectuppercut.org/" target="_blank"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="UppercuTBlackWithLink_Smaller" border="0" alt="UppercuTBlackWithLink_Smaller" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTPresentationAfterthoughts_14A03/UppercuTBlackWithLink_Smaller_3.gif" width="484" height="484" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Here is the slide deck: &lt;/font&gt;&lt;a title="UppercuTPresentation.pptx" href="http://uppercut.googlecode.com/svn/trunk/docs/UppercuTPresentation.pptx" target="_blank"&gt;&lt;font size="3" face="Times New Roman"&gt;UppercuT Presentation&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; (may need to be renamed to .pptx).&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135104"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135104" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/135104.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tKUUMLMQiGpv3ePhJNlOBFL-bdw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tKUUMLMQiGpv3ePhJNlOBFL-bdw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tKUUMLMQiGpv3ePhJNlOBFL-bdw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tKUUMLMQiGpv3ePhJNlOBFL-bdw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=19bgSdx_9BM:IQG3e2-rSoc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=19bgSdx_9BM:IQG3e2-rSoc:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=19bgSdx_9BM:IQG3e2-rSoc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=19bgSdx_9BM:IQG3e2-rSoc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=19bgSdx_9BM:IQG3e2-rSoc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=19bgSdx_9BM:IQG3e2-rSoc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=19bgSdx_9BM:IQG3e2-rSoc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/19bgSdx_9BM" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/09/25/uppercut-presentation-afterthoughts.aspx</guid>
            <pubDate>Sat, 26 Sep 2009 04:57:59 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/135104.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/09/25/uppercut-presentation-afterthoughts.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/135104.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/135104.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/09/25/uppercut-presentation-afterthoughts.aspx</feedburner:origLink></item>
        <item>
            <title>UppercuT &amp;ndash; Automated Builds - Change is Good</title>
            <category>UppercuT</category>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/vk3rrsRZOA0/uppercut-ndash-automated-builds---change-is-good.aspx</link>
            <description>&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Recently I &lt;/font&gt;&lt;a href="http://ferventcoder.com/archive/2009/09/14/uppercut-undergoing-some-major-changes.aspx" target="_blank"&gt;&lt;font size="3" face="Times New Roman"&gt;reported&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; that there were going to be some changes to &lt;a href="http://projectUppercuT.org" target="_blank"&gt;UppercuT&lt;/a&gt;. And there &lt;/font&gt;&lt;a href="http://groups.google.com/group/uppercut-users/browse_thread/thread/d5cd37d923643b91" target="_blank"&gt;&lt;font size="3" face="Times New Roman"&gt;have been&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt;. These are a summary of some of the most significant changes:&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;ul&gt;     &lt;li&gt;&lt;font size="3" face="Times New Roman"&gt;Uppercut now reports it's version. This is helpful to know where you are versus the current version. It&lt;font size="3" face="Times New Roman"&gt; also reports the time when it finishes a build. &lt;/font&gt;&lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font size="3" face="Times New Roman"&gt;Custom Replacement Tasks are now implemented. This is to add a task to the custom folder that completely replaces the normal workings of the build step it is replacing. A pre or post custom step will still run though. &lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font size="3" face="Times New Roman"&gt;Pre, Post and Replacement tasks are implemented for every build step in UppercuT now. &lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font size="3" face="Times New Roman"&gt;Support for &lt;a href="http://www.gallio.org" target="_blank"&gt;Gallio&lt;/a&gt; Testing has been added. &lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font size="3" face="Times New Roman"&gt;EnvironmentBuilder works better than ever now that it is custom code instead of NAnt property expansion which had buffer limitations. &lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font size="3" face="Times New Roman"&gt;All .build files are now .step except for the actual builds (open, zip and default). default.build is what used to be __master.build. &lt;/font&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;a href="http://code.google.com/p/uppercut/downloads/list"&gt;&lt;font size="3" face="Times New Roman"&gt;http://code.google.com/p/uppercut/downloads/list&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Most of this is due to prioritizing the time to get requested features into &lt;a href="http://projectUppercuT.org" target="_blank"&gt;UppercuT&lt;/a&gt; prior to my &lt;a href="http://ferventcoder.com/archive/2009/08/31/topeka-dot-net-user-group-dnug-meeting-ndash-september-22.aspx" target="_blank"&gt;upcoming presentation&lt;/a&gt; for TopDNUG.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;There are some more changes on the way to v1. I will be talking about a road map soon.  If you aren’t yet a member of the &lt;a href="http://groups.google.com/group/uppercut-users" target="_blank"&gt;uppercut users group&lt;/a&gt;, you might consider joining. :-)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;With this knowledge you shall build.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135024"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135024" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/135024.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZEk3h8-W3Q3kIFaOw6E2aPNCXJ4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZEk3h8-W3Q3kIFaOw6E2aPNCXJ4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZEk3h8-W3Q3kIFaOw6E2aPNCXJ4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZEk3h8-W3Q3kIFaOw6E2aPNCXJ4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=vk3rrsRZOA0:fU4mmvD8lAY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=vk3rrsRZOA0:fU4mmvD8lAY:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=vk3rrsRZOA0:fU4mmvD8lAY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=vk3rrsRZOA0:fU4mmvD8lAY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=vk3rrsRZOA0:fU4mmvD8lAY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=vk3rrsRZOA0:fU4mmvD8lAY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=vk3rrsRZOA0:fU4mmvD8lAY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/vk3rrsRZOA0" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/09/23/uppercut-ndash-automated-builds---change-is-good.aspx</guid>
            <pubDate>Wed, 23 Sep 2009 05:31:18 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/135024.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/09/23/uppercut-ndash-automated-builds---change-is-good.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/135024.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/135024.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/09/23/uppercut-ndash-automated-builds---change-is-good.aspx</feedburner:origLink></item>
        <item>
            <title>Universal NAnt Script for Gallio</title>
            <category>Code</category>
            <category>UppercuT</category>
            <link>http://feedproxy.google.com/~r/robz/~3/ayYRs30PMs0/universal-nant-script-for-gallio.aspx</link>
            <description>&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;So &lt;/font&gt;&lt;a target="_blank" href="http://www.gallio.org/"&gt;&lt;font size="3" face="Times New Roman"&gt;Gallio&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; has been out for a little while and I admit that I am a little slow when it comes to looking at new frameworks. I mean there is so much to look at and only so much time in the day allocated to programming. Anyway, there really isn’t much documentation out there yet for using Gallio with &lt;/font&gt;&lt;a target="_blank" href="http://nant.sourceforge.net/"&gt;&lt;font size="3" face="Times New Roman"&gt;NAnt&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt;. I am of the thought that is due to all of the people who are really smart with builds are using Rake and/or PSake now. So I set off to create another universal script. This basically follows the conventions from my &lt;/font&gt;&lt;a target="_blank" href="http://ferventcoder.com/archive/2009/01/27/universal-nant-script-for-mbunit.aspx"&gt;&lt;font size="3" face="Times New Roman"&gt;post with MbUnit’s Universal script&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; and how I added &lt;/font&gt;&lt;a target="_blank" href="http://ferventcoder.com/archive/2009/06/06/uppercut---automated-builds---test-category-filters.aspx"&gt;&lt;font size="3" face="Times New Roman"&gt;MbUnit2 category filters to it’s NAnt task&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; in &lt;/font&gt;&lt;a target="_blank" href="http://ProjectUppercuT.org"&gt;&lt;font size="3" face="Times New Roman"&gt;UppercuT&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;So like I said, Gallio has been out for a little while. This is the first time I have heard that it has underwent &lt;/font&gt;&lt;a target="_blank" href="http://blog.bits-in-motion.com/2009/09/announcing-gallio-and-mbunit-v31.html"&gt;&lt;font size="3" face="Times New Roman"&gt;some optimizations&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt; so now seems a good time to check it out. Until I figure out how to do it another way, t&lt;/font&gt;&lt;font size="3"&gt;his script requires Gallio to be installed on each machine that is going to use it. I am currently trying to figure out how I can get a reduced set of Gallio into source control. The install is 26.4MB right now and that’s bigger than I want my repositories to have to be just for adding a testing framework. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;NAnt Script for Gallio&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xml&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;version&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="1.0"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;encoding&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="utf-8"&lt;/span&gt; ?&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;project&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="GallioTestRunner"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;default&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="go"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #008000"&gt;&amp;lt;!-- Project UppercuT - http://projectuppercut.org --&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #008000"&gt;&amp;lt;!-- DO NOT EDIT THIS FILE - This follows a convention for testing with Integration tests being separated from Unit tests - find out more at http://uppercut.pbwiki.com --&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="build.config.settings"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="__NONE__"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;overwrite&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="false"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;include&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;buildfile&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${build.config.settings}"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;if&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${file::exists(build.config.settings)}"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="dirs.build"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${directory::get-parent-directory(project::get-buildfile-path())}\..\..\build_output"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="dirs.build_artifacts"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build}\build_artifacts"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;overwrite&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="false"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="dirs.test_results"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build_artifacts}\gallio"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;overwrite&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="false"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="file.test_results"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="gallio-results"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;overwrite&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="false"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="time.limit.in.seconds"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="240"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;  &lt;span style="COLOR: #008000"&gt;&amp;lt;!-- 4 minutes --&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="go"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;depends&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="cleanup, run_tests"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;description&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Tests"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="cleanup"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;echo&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;message&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Removing and adding ${dirs.test_results}."&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;delete&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;dir&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.test_results}"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;failonerror&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="false"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;mkdir&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;dir&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.test_results}"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="load_tasks"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;echo&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;message&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Loading Gallio Nant Tasks from Program Files."&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;loadtasks&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;assembly&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="C:\Program Files (x86)\Gallio\bin\Gallio.NAntTasks.dll"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;if&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${file::exists('C:\Program Files (x86)\Gallio\bin\Gallio.NAntTasks.dll')}"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;loadtasks&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;assembly&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="C:\Program Files\Gallio\bin\Gallio.NAntTasks.dll"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;if&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${file::exists('C:\Program Files\Gallio\bin\Gallio.NAntTasks.dll')}"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="run_tests"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;depends&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="cleanup,load_tasks"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;description&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Running Unit Tests"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;echo&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;message&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Running tests using Gallio and putting results in ${dirs.test_results}."&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;gallio&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;working-directory&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;report-types&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Html;Xml;Text"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;report-directory&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.test_results}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;report-name-format&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${file.test_results}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;show-reports&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="false"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;failonerror&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="true"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;verbosity&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Normal"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;echo-results&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="true"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;run-time-limit&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${time.limit.in.seconds}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;filter&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="exclude Category:Database or Category:Integration or Category:Slow or Category:NotWorking or Categroy:Ignore or Category:database or Category:integration or Category:slow or Category:notworking or Categroy:ignore"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;files&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;exclude&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build}\*Database*dll"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;exclude&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build}\*.Integration*dll"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;exclude&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build}\TestFu.dll"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;include&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build}\*Test*dll"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;include&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build}\*.Specs*dll"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;files&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;gallio&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="run_all_tests"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;depends&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="cleanup,load_tasks"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;description&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Running All Unit Tests"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;echo&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;message&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Running all tests (including integration tests) using Gallio and putting results in ${dirs.test_results}."&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;gallio&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;working-directory&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;report-types&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Html;Xml;Text"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;report-directory&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.test_results}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;report-name-format&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${file.test_results}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;show-reports&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="false"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;failonerror&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="true"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;verbosity&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Normal"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;echo-results&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="true"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #ff0000"&gt;run-time-limit&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${time.limit.in.seconds}"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;files&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;exclude&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build}\TestFu.dll"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;include&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build}\*Test*dll"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;include&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.build}\*.Specs*dll"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;files&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;gallio&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="open_results"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;echo&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;message&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Opening results at ${path::get-full-path(dirs.test_results)}\${file.test_results}.html."&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;exec&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;      &lt;span style="COLOR: #ff0000"&gt;spawn&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="true"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;      &lt;span style="COLOR: #ff0000"&gt;program&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('ProgramFiles')}\Internet Explorer\iexplore.exe"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;      &lt;span style="COLOR: #ff0000"&gt;commandline&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${path::get-full-path(dirs.test_results)}\${file.test_results}.html"&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;      &lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;exec&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt; &lt;/pre&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;project&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;UppercuT and Gallio&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;a target="_blank" href="http://ProjectUppercuT.org"&gt;UppercuT&lt;/a&gt; now has support for Gallio baked in. What that means is that you select gallio as your test framework in the &lt;a target="_blank" href="http://ferventcoder.com/archive/2009/05/17/uppercut---automated-builds---uppercut.config.aspx"&gt;config file&lt;/a&gt;. Install Gallio. And you’re done. And when you run &lt;strong&gt;test&lt;/strong&gt; from the command line, you get this in your browser:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UniversalNAntScriptforMBUnit_10873/image_2.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UniversalNAntScriptforGallio_80E6/image_2.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="569" height="376" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UniversalNAntScriptforGallio_80E6/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What pretty reports you get from Gallio!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;With this knowledge, you shall build.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f09%2f20%2funiversal-nant-script-for-gallio.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f09%2f20%2funiversal-nant-script-for-gallio.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134935"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134935" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/134935.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SpWw8MvU6xQJUwuMplsPWjR-dhU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SpWw8MvU6xQJUwuMplsPWjR-dhU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SpWw8MvU6xQJUwuMplsPWjR-dhU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SpWw8MvU6xQJUwuMplsPWjR-dhU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=ayYRs30PMs0:hWW5aEtwPSI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=ayYRs30PMs0:hWW5aEtwPSI:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=ayYRs30PMs0:hWW5aEtwPSI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=ayYRs30PMs0:hWW5aEtwPSI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=ayYRs30PMs0:hWW5aEtwPSI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=ayYRs30PMs0:hWW5aEtwPSI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=ayYRs30PMs0:hWW5aEtwPSI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/ayYRs30PMs0" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/09/20/universal-nant-script-for-gallio.aspx</guid>
            <pubDate>Sun, 20 Sep 2009 15:37:40 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/134935.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/09/20/universal-nant-script-for-gallio.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/134935.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/134935.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/09/20/universal-nant-script-for-gallio.aspx</feedburner:origLink></item>
        <item>
            <title>UppercuT Undergoing Some Major Changes</title>
            <category>UppercuT</category>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/-aXTzfmNBUo/uppercut-undergoing-some-major-changes.aspx</link>
            <description>&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;I’m slimming it down and rethinking some of the idioms it is currently using. Stay tuned…&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134819"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134819" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/134819.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EWQAhWK7nT5N78u3VBd7TF8xlkE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EWQAhWK7nT5N78u3VBd7TF8xlkE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EWQAhWK7nT5N78u3VBd7TF8xlkE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EWQAhWK7nT5N78u3VBd7TF8xlkE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=-aXTzfmNBUo:vMGRQkS9l2w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=-aXTzfmNBUo:vMGRQkS9l2w:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=-aXTzfmNBUo:vMGRQkS9l2w:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=-aXTzfmNBUo:vMGRQkS9l2w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=-aXTzfmNBUo:vMGRQkS9l2w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=-aXTzfmNBUo:vMGRQkS9l2w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=-aXTzfmNBUo:vMGRQkS9l2w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/-aXTzfmNBUo" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/09/14/uppercut-undergoing-some-major-changes.aspx</guid>
            <pubDate>Tue, 15 Sep 2009 03:51:46 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/134819.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/09/14/uppercut-undergoing-some-major-changes.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/134819.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/134819.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/09/14/uppercut-undergoing-some-major-changes.aspx</feedburner:origLink></item>
        <item>
            <title>TopDNUG Meeting Rescheduled &amp;ndash; September 24, 2009</title>
            <category>DNUG</category>
            <link>http://feedproxy.google.com/~r/robz/~3/P7Kc27anzys/topdnug-meeting-rescheduled-ndash-september-24-2009.aspx</link>
            <description>&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Due to scheduling conflicts, the meeting has been moved to Thursday September 24, 2009.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://groups.google.com/group/topekadotnet/browse_thread/thread/f9563f846a50f3d7#" href="http://groups.google.com/group/topekadotnet/browse_thread/thread/f9563f846a50f3d7#" target="_blank"&gt;&lt;font size="3" face="Times New Roman"&gt;http://groups.google.com/group/topekadotnet/browse_thread/thread/f9563f846a50f3d7#&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;I updated the original &lt;/font&gt;&lt;a href="http://ferventcoder.com/archive/2009/08/31/topeka-dot-net-user-group-dnug-meeting-ndash-september-22.aspx"&gt;&lt;font size="3" face="Times New Roman"&gt;post&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; as well.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;This being the second time in two months comes with a little explanation. The business where we hold our meetings graciously lets us use the meeting space for free. As such sometimes they ask that we reschedule to meet their needs.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134813"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134813" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/134813.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tNG6oAzcFSKm_ZTL3czOJ3DE2jA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tNG6oAzcFSKm_ZTL3czOJ3DE2jA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tNG6oAzcFSKm_ZTL3czOJ3DE2jA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tNG6oAzcFSKm_ZTL3czOJ3DE2jA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=P7Kc27anzys:LbdwOKyEQ8U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=P7Kc27anzys:LbdwOKyEQ8U:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=P7Kc27anzys:LbdwOKyEQ8U:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=P7Kc27anzys:LbdwOKyEQ8U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=P7Kc27anzys:LbdwOKyEQ8U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=P7Kc27anzys:LbdwOKyEQ8U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=P7Kc27anzys:LbdwOKyEQ8U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/P7Kc27anzys" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/09/14/topdnug-meeting-rescheduled-ndash-september-24-2009.aspx</guid>
            <pubDate>Tue, 15 Sep 2009 00:18:02 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/134813.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/09/14/topdnug-meeting-rescheduled-ndash-september-24-2009.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/134813.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/134813.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/09/14/topdnug-meeting-rescheduled-ndash-september-24-2009.aspx</feedburner:origLink></item>
        <item>
            <title>Topeka Dot Net User Group (DNUG) Meeting &amp;ndash; September 24, 2009</title>
            <category>DNUG</category>
            <category>UppercuT</category>
            <category>Personal</category>
            <link>http://feedproxy.google.com/~r/robz/~3/5kRIbwSbu54/topeka-dot-net-user-group-dnug-meeting-ndash-september-22.aspx</link>
            <description>&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Topeka DNUG is free for anyone to attend! Mark your calendars now!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/TopekaDotNetUserGroupDNUGMeetingSeptembe_146D8/IMG_0011_2.jpg"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; MARGIN-LEFT: 0px; BORDER-TOP: 0px; MARGIN-RIGHT: 0px; BORDER-RIGHT: 0px" title="Rob Reynolds" border="0" alt="Rob Reynolds" align="left" width="144" height="200" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/TopekaDotNetUserGroupDNUGMeetingSeptembe_146D8/IMG_0011_thumb_2.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3" face="Times New Roman"&gt;SPEAKER: &lt;/font&gt;&lt;/strong&gt;&lt;a target="_blank" href="http://ferventcoder.com"&gt;&lt;font size="3" face="Times New Roman"&gt;Rob Reynolds&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; has been programming in .NET since the early days of 1.0. He is a .NET Developer at FHLBank Topeka, a bank where the doors are always locked and there’s no money inside. He holds a bachelor’s degree in MIS from Kansas State University (don’t hate!) and enjoys spending time with his &lt;a target="_blank" href="http://reynoldsfamilyadventures.blogspot.com/"&gt;wife and kid&lt;/a&gt; when his wife hasn’t locked him in the basement to work on any of the OSS projects he manages.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;TOPIC: &lt;/strong&gt;&lt;strong&gt;Automated Builds: How to &lt;a target="_blank" href="http://projectuppercut.org"&gt;UppercuT&lt;/a&gt; Your Code!&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;“Build – it’s not just for F5 anymore.” &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;How you build your code and verify quality is something that is usually not thought of at the beginning of a project, but is one of the most important things you can add to code! During this session Rob will go over the conventions in building and verifying code quality. You will see a project that is using automated builds and how all of the conventions are applied. We are going to see UppercuT and how well suited it is for automated builds. UppercuT is a build framework (based in NAnt) that allows rapid and powerful use of NAnt without having to understand the intricacies of NAnt. The last thing we will do is apply UppercuT to a project to show you how fast you can go from F5 to automated builds!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;WHERE:&lt;/strong&gt; Federal Home Loan Bank Topeka on the Security Benefit Campus – &lt;/font&gt;&lt;/font&gt;&lt;a target="_blank" href="http://www.fhlbtopeka.com/s/index.cfm?SSID=20#directions"&gt;&lt;font size="3" face="Times New Roman"&gt;Directions&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt;?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;WHEN:&lt;/strong&gt; 11:30 AM - 1:00 PM on September 24, 2009 &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;REGISTER:&lt;/strong&gt; &lt;/font&gt;&lt;/font&gt;&lt;a href="http://topekadotnet.wufoo.com/forms/topeka-dnug-meeting-attendance/"&gt;&lt;font size="3" face="Times New Roman"&gt;http://topekadotnet.wufoo.com/forms/topeka-dnug-meeting-attendance/&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;ADDITIONAL INFO:&lt;/strong&gt; As always, please sign in and out of FHLBank to help them with their accountability. Please park in the visitors section at the front of the building when you arrive. If  there are no spots in visitors you may park in the overflow lot at the far east end of the facility.  Lunch will be provided and we will have some great door prizes!&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134423"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134423" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/134423.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SJO06SNq8XgmY1WkrBhsNR_ndgQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SJO06SNq8XgmY1WkrBhsNR_ndgQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SJO06SNq8XgmY1WkrBhsNR_ndgQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SJO06SNq8XgmY1WkrBhsNR_ndgQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=5kRIbwSbu54:5kK0y5WIyTg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=5kRIbwSbu54:5kK0y5WIyTg:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=5kRIbwSbu54:5kK0y5WIyTg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=5kRIbwSbu54:5kK0y5WIyTg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=5kRIbwSbu54:5kK0y5WIyTg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=5kRIbwSbu54:5kK0y5WIyTg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=5kRIbwSbu54:5kK0y5WIyTg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/5kRIbwSbu54" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/08/31/topeka-dot-net-user-group-dnug-meeting-ndash-september-22.aspx</guid>
            <pubDate>Tue, 01 Sep 2009 04:34:16 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/134423.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/08/31/topeka-dot-net-user-group-dnug-meeting-ndash-september-22.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/134423.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/134423.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/08/31/topeka-dot-net-user-group-dnug-meeting-ndash-september-22.aspx</feedburner:origLink></item>
        <item>
            <title>UppercuT &amp;ndash; Mark an Application Executable to Use More Than 2GB of Memory (Large Address Aware)</title>
            <category>UppercuT</category>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/HQV7_Oj08X8/uppercut-ndash-mark-an-application-executable-to-use-more-than.aspx</link>
            <description>&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;If you’ve ever built a .NET application that runs out of memory constantly, it’s because you are hitting a 2GB limit. You may have known about marking an assembly “/largeaddressaware”. You may have not. The process of doing this is actually somewhat easy once you learn about it. You normally just start a Visual Studio Command Prompt (found in Start Menu under Microsoft Visual Studio &lt;em&gt;version&lt;/em&gt;/Visual Studio Tools). Then you find the compiled application and run the following command: &lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;editbin /largeaddressaware yourassembly.exe&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;That’s really all you need to do get more memory out of your application. There are some great resources on how and why in the two blog posts below.&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;a title="http://bilbroblog.com/wow64/hidden-secrets-of-w0w64-ndash-large-address-space/" target="_blank" href="http://bilbroblog.com/wow64/hidden-secrets-of-w0w64-ndash-large-address-space/"&gt;http://bilbroblog.com/wow64/hidden-secrets-of-w0w64-ndash-large-address-space/&lt;/a&gt;&lt;/font&gt; &lt;/li&gt;
    &lt;li&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;a title="http://stevenharman.net/blog/archive/2008/04/29/hacking-visual-studio-to-use-more-than-2gigabytes-of-memory.aspx" target="_blank" href="http://stevenharman.net/blog/archive/2008/04/29/hacking-visual-studio-to-use-more-than-2gigabytes-of-memory.aspx"&gt;http://stevenharman.net/blog/archive/2008/04/29/hacking-visual-studio-to-use-more-than-2gigabytes-of-memory.aspx&lt;/a&gt;&lt;/font&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;I would instead like to concentrate on automation with &lt;a target="_blank" href="http://uppercut.googlecode.com"&gt;UppercuT&lt;/a&gt;.  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Trebuchet MS" size="3"&gt;&lt;strong&gt;&lt;u&gt;Getting UppercuT to Automatically Mark an Assembly for More Than 2GB of Memory&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;We are going to make a &lt;/font&gt;&lt;a target="_blank" href="http://ferventcoder.com/archive/2009/05/21/uppercut---automated-builds---custom-tasks.aspx"&gt;&lt;font face="Times New Roman" size="3"&gt;custom AFTER task&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt; for the compile step of UppercuT. With that we are going to specify the executable to mark. When the application is built (on the build server), it is marked for address large amounts of freakin memory. *grin*&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;1. If you do not have a &lt;strong&gt;BuildScripts.Custom&lt;/strong&gt; folder, create one.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTMarkanExecutableLargeAddressAwar_B7F/image_22.png"&gt;&lt;img title="image" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="71" alt="image" width="231" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTMarkanExecutableLargeAddressAwar_B7F/image_thumb_10.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;2. In that folder we need to create a file named “_compile.post.build.”&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;  &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTMarkanExecutableLargeAddressAwar_B7F/image_20.png"&gt;&lt;img title="image" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="166" alt="image" width="396" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTMarkanExecutableLargeAddressAwar_B7F/image_thumb_9.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;3. Open the file in a text editor and insert the code below.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Contents of _compile.post.build (this simulates the VS2005 command prompt and calls editbin for you)&lt;/font&gt;&lt;/p&gt;
&lt;div&gt;
&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;xml&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;version&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="1.0"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;encoding&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="utf-8"&lt;/span&gt; ?&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;project&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Compiler"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;default&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="go"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="build.config.settings"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="__NONE__"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;overwrite&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="false"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;include&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;buildfile&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${build.config.settings}"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;if&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${file::exists(build.config.settings)}"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="dirs.current"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${directory::get-parent-directory(project::get-buildfile-path())}"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="dirs.build"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${dirs.current}\..\build_output"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
&lt;font size="2"&gt;  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="exe.name"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="__&lt;strong&gt;INSERT_NAME_HERE__&lt;/strong&gt;"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;overwrite&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="false"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="program.largeaware"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\VC\bin\editbin.exe"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="args.largeaware"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="/LARGEADDRESSAWARE ${dirs.build}\${exe.name}"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;property&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="environment.properties.largeaware"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\VC\vcvarsall.bat x86"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="go"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;depends&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="set_large_aware"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;description&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Compiling project."&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;

  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="set_large_aware"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;depends&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;=""&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;description&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Building Library"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;echo&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;message&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Setting the application ${dirs.build}\${app.name} to large aware."&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;exec&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;program&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${program.largeaware}"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;environment&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;variable&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="VSINSTALLDIR"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;variable&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="VCINSTALLDIR"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\VC"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;variable&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="FrameworkDir"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('System')}\..\Microsoft.NET\Framework"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;variable&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="FrameworkVersion"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="v2.0.50727"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;variable&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="FrameworkSDKDir"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\SDK\v2.0"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;variable&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="DevEnvDir"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\Common7\IDE"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;variable&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="PATH"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;path&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\Common7\IDE;${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\VC\BIN;${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\Common7\Tools;${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\SDK\v2.0\bin;${environment::get-folder-path('System')}\..\Microsoft.NET\Framework\v2.0.50727;${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\VC\VCPackages;%PATH%"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;variable&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="INCLUDE"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;path&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\VC\INCLUDE;${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\SDK\v2.0\include;%INCLUDE%"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;variable&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="LIB"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;path&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\VC\LIB;${environment::get-folder-path('ProgramFiles')}\Microsoft Visual Studio 8\SDK\v2.0\lib;%LIB%"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;variable&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="LIBPATH"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;path&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${environment::get-folder-path('System')}\..\Microsoft.NET\Framework\v2.0.50727"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;environment&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;arg&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;line&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="${args.largeaware}"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;exec&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;target&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;

&lt;span style="COLOR: #008000"&gt;&amp;lt;!--&lt;/span&gt;
&lt;span style="COLOR: #008000"&gt;All of the variables from where they are actually set - C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat&lt;/span&gt;
&lt;span style="COLOR: #008000"&gt;--&amp;gt;&lt;/span&gt;

&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;project&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;4. Change the property &lt;strong&gt;exe.name&lt;/strong&gt; value to insert the name of the executable. UppercuT already knows where the file is going to get built.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTMarkanExecutableLargeAddressAwar_B7F/image_18.png"&gt;&lt;img title="image" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="74" alt="image" width="652" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/UppercuTMarkanExecutableLargeAddressAwar_B7F/image_thumb_8.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;5. Add that file to source control. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;6. Run a local build to be sure everything is good and then check that puppy in!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;7. Crack open a beer &lt;strong&gt;*ahem*&lt;/strong&gt; soda and sip in the sweet taste of success. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;That’s it! Once that stuff is in source control, your automated build will take care of the rest! You can now officially be lazy about this setting from now on.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Check out some of the other UppercuT posts! &lt;a target="_blank" href="http://ferventcoder.com/category/uppercut.aspx"&gt;UppercuT category&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;With this knowledge you shall build.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f08%2f20%2fuppercut-ndash-mark-an-application-executable-to-use-more-than.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f08%2f20%2fuppercut-ndash-mark-an-application-executable-to-use-more-than.aspx" /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134207"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134207" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/134207.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mhsmQovzeJmh2tU8xG8mIrzUJqk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mhsmQovzeJmh2tU8xG8mIrzUJqk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mhsmQovzeJmh2tU8xG8mIrzUJqk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mhsmQovzeJmh2tU8xG8mIrzUJqk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=HQV7_Oj08X8:VUqgOaO3ylk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=HQV7_Oj08X8:VUqgOaO3ylk:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=HQV7_Oj08X8:VUqgOaO3ylk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=HQV7_Oj08X8:VUqgOaO3ylk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=HQV7_Oj08X8:VUqgOaO3ylk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=HQV7_Oj08X8:VUqgOaO3ylk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=HQV7_Oj08X8:VUqgOaO3ylk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/HQV7_Oj08X8" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/08/20/uppercut-ndash-mark-an-application-executable-to-use-more-than.aspx</guid>
            <pubDate>Thu, 20 Aug 2009 06:42:30 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/134207.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/08/20/uppercut-ndash-mark-an-application-executable-to-use-more-than.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/134207.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/134207.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/08/20/uppercut-ndash-mark-an-application-executable-to-use-more-than.aspx</feedburner:origLink></item>
        <item>
            <title>Adding PowerShell to StExBar</title>
            <category>ApplicationsToysOther</category>
            <link>http://feedproxy.google.com/~r/robz/~3/YGoh3NurS3Q/adding-powershell-to-stexbar.aspx</link>
            <description>&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;I’m a huge fan of &lt;/font&gt;&lt;a target="_blank" href="http://ferventcoder.com/archive/2009/05/21/stexbar---a-great-add-on-for-windows-explorer.aspx"&gt;&lt;font face="Times New Roman" size="3"&gt;StExBar&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt;. I &lt;/font&gt;&lt;a target="_blank" href="http://ferventcoder.com/archive/2009/05/21/stexbar---a-great-add-on-for-windows-explorer.aspx"&gt;&lt;font face="Times New Roman" size="3"&gt;posted&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt; about it awhile back and have since found more reasons to think this is a must have tool! It’s got an ability to give you great shortcuts at your keyboard finger tips. How often have you been like “I need a command window here” and then went through a bunch of trouble to get it there? How about {&lt;strong&gt;Control&lt;/strong&gt;} + {&lt;strong&gt;M&lt;/strong&gt;}? BAM! Command Window opened and pointed to that directory.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;I’ve been starting to use &lt;/font&gt;&lt;a target="_blank" href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx"&gt;&lt;font face="Times New Roman" size="3"&gt;PowerShell&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt; more and I thought…hmmm – I could add PowerShell to this and type something like {&lt;strong&gt;Control&lt;/strong&gt;}+{&lt;strong&gt;O&lt;/strong&gt;} and have it pop up in the same way I get a command line.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;u&gt;Add PowerShell Hotkey to StExBar&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;1. Open StExBar Settings and then click {&lt;strong&gt;Add&lt;/strong&gt;}.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;  &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/AddingPowerShelltoStExBar_13C26/clip_image002_2.jpg"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;img title="clip_image002" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="498" alt="clip_image002" width="493" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/AddingPowerShelltoStExBar_13C26/clip_image002_thumb.jpg" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;2. Enter “&lt;strong&gt;Powershell&lt;/strong&gt;” in the [&lt;strong&gt;Name:&lt;/strong&gt;] box. In [&lt;strong&gt;Command line:&lt;/strong&gt;] enter the path to PowerShell. Mine was “&lt;strong&gt;C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe&lt;/strong&gt;”. In [&lt;strong&gt;Hotkey:&lt;/strong&gt;] enter {&lt;strong&gt;Ctrl&lt;/strong&gt;}+{&lt;strong&gt;O&lt;/strong&gt;} or whatever combination you want to use. Click {&lt;strong&gt;OK&lt;/strong&gt;}.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;  &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/AddingPowerShelltoStExBar_13C26/clip_image002%5B5%5D.jpg"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;img title="clip_image002[5]" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="456" alt="clip_image002[5]" width="460" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/AddingPowerShelltoStExBar_13C26/clip_image002%5B5%5D_thumb.jpg" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;3. Now hit {&lt;strong&gt;Ctrl&lt;/strong&gt;}+{&lt;strong&gt;O&lt;/strong&gt;} or whatever hotkey you used. BAM! It opens up pointed to the current directory. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;  &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/AddingPowerShelltoStExBar_13C26/clip_image002%5B9%5D.jpg"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;img title="clip_image002[9]" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="163" alt="clip_image002[9]" width="522" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/AddingPowerShelltoStExBar_13C26/clip_image002%5B9%5D_thumb.jpg" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Check out what it looks like on the command bar.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/AddingPowerShelltoStExBar_13C26/clip_image002%5B7%5D.jpg"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;img title="clip_image002[7]" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="45" alt="clip_image002[7]" width="337" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/AddingPowerShelltoStExBar_13C26/clip_image002%5B7%5D_thumb.jpg" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;That’s awesome!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f08%2f04%2fadding-powershell-to-stexbar.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f08%2f04%2fadding-powershell-to-stexbar.aspx" /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133909"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133909" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/133909.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6sOODpY_2jKVBT8Dxgj7n-PSED0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6sOODpY_2jKVBT8Dxgj7n-PSED0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6sOODpY_2jKVBT8Dxgj7n-PSED0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6sOODpY_2jKVBT8Dxgj7n-PSED0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=YGoh3NurS3Q:94ggXM045iw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=YGoh3NurS3Q:94ggXM045iw:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=YGoh3NurS3Q:94ggXM045iw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=YGoh3NurS3Q:94ggXM045iw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=YGoh3NurS3Q:94ggXM045iw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=YGoh3NurS3Q:94ggXM045iw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=YGoh3NurS3Q:94ggXM045iw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/YGoh3NurS3Q" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/08/04/adding-powershell-to-stexbar.aspx</guid>
            <pubDate>Wed, 05 Aug 2009 03:39:40 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/133909.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/08/04/adding-powershell-to-stexbar.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/133909.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/133909.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/08/04/adding-powershell-to-stexbar.aspx</feedburner:origLink></item>
        <item>
            <title>Response to A Deleted Response to a TFS Blog Post</title>
            <category>Personal</category>
            <link>http://feedproxy.google.com/~r/robz/~3/KZGtmtpbuYQ/response-to-a-deleted-response-to-a-tfs-blog-post.aspx</link>
            <description>&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;lt;rant&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Recently a friend of mine wrote a post about having his comments deleted from a post. It has caused a bit of a controversy because both of them are MVPs. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://flux88.com/blog/a-deleted-response-to-a-tfs-blog-post/" href="http://flux88.com/blog/a-deleted-response-to-a-tfs-blog-post/" target="_blank"&gt;&lt;font face="Times New Roman" size="3"&gt;http://flux88.com/blog/a-deleted-response-to-a-tfs-blog-post/&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Go ahead and read it, I’ll wait here. Seriously.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Some people have said it was a bad thing that he wrote the post. I personally think he did a very good thing. At times it is very important to hold people accountable for something you believe in.  While it’s not always the popular stance, it’s great to see people do the ethical thing no matter what the expense (even though we are only talking losing followers, readers, web presence, etc. in this case – it’s still very commendable).&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&amp;lt;/rant&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133885"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133885" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/133885.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kE5x9ODtQTwwGXHti7JaHSYI4nc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kE5x9ODtQTwwGXHti7JaHSYI4nc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kE5x9ODtQTwwGXHti7JaHSYI4nc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kE5x9ODtQTwwGXHti7JaHSYI4nc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=KZGtmtpbuYQ:rKZR_PSQExE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=KZGtmtpbuYQ:rKZR_PSQExE:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=KZGtmtpbuYQ:rKZR_PSQExE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=KZGtmtpbuYQ:rKZR_PSQExE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=KZGtmtpbuYQ:rKZR_PSQExE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=KZGtmtpbuYQ:rKZR_PSQExE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=KZGtmtpbuYQ:rKZR_PSQExE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/KZGtmtpbuYQ" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/08/03/response-to-a-deleted-response-to-a-tfs-blog-post.aspx</guid>
            <pubDate>Tue, 04 Aug 2009 00:11:01 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/133885.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/08/03/response-to-a-deleted-response-to-a-tfs-blog-post.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/133885.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/133885.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/08/03/response-to-a-deleted-response-to-a-tfs-blog-post.aspx</feedburner:origLink></item>
        <item>
            <title>.NET Binding Redirects &amp;ndash; Updating Referenced Assemblies Without Recompiling Code</title>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/2kejUw3idac/.net-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx</link>
            <description>&lt;p&gt;I wanted to keep link love – but blog wouldn’t let me keep the link with the .NET in it when I edited it. The link is now here: &lt;a href="http://ferventcoder.com/archive/2009/07/19/net-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx" target="_blank"&gt;http://ferventcoder.com/archive/2009/07/19/net-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133864"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133864" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/133864.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PXxkCIV01n59jAXx7d8azucYHJ4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PXxkCIV01n59jAXx7d8azucYHJ4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PXxkCIV01n59jAXx7d8azucYHJ4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PXxkCIV01n59jAXx7d8azucYHJ4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=2kejUw3idac:-NW7RxKL4uk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=2kejUw3idac:-NW7RxKL4uk:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=2kejUw3idac:-NW7RxKL4uk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=2kejUw3idac:-NW7RxKL4uk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=2kejUw3idac:-NW7RxKL4uk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=2kejUw3idac:-NW7RxKL4uk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=2kejUw3idac:-NW7RxKL4uk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/2kejUw3idac" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/07/19/.net-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx</guid>
            <pubDate>Sun, 19 Jul 2009 23:14:00 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/133864.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/07/19/.net-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/133864.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/133864.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/07/19/.net-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx</feedburner:origLink></item>
        <item>
            <title>Topeka .NET User Group Meeting &amp;ndash; Moved to August 20th</title>
            <category>DNUG</category>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/UxtbZuxcfwc/topeka-.net-user-group-meeting-ndash-moved-to-august-20th.aspx</link>
            <description>&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Due to scheduling conflicts, the meeting has been moved to Thursday August 20th.  &lt;/font&gt;&lt;a title="http://groups.google.com/group/topekadotnet/browse_thread/thread/d8ed379f3b94858" href="http://groups.google.com/group/topekadotnet/browse_thread/thread/d8ed379f3b94858"&gt;&lt;font face="Times New Roman" size="3"&gt;http://groups.google.com/group/topekadotnet/browse_thread/thread/d8ed379f3b94858&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133852"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133852" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/133852.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qT8cFu-dSI0FBSh_NFXl2aUPT2M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qT8cFu-dSI0FBSh_NFXl2aUPT2M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qT8cFu-dSI0FBSh_NFXl2aUPT2M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qT8cFu-dSI0FBSh_NFXl2aUPT2M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=UxtbZuxcfwc:tlNP2aiW4LY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=UxtbZuxcfwc:tlNP2aiW4LY:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=UxtbZuxcfwc:tlNP2aiW4LY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=UxtbZuxcfwc:tlNP2aiW4LY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=UxtbZuxcfwc:tlNP2aiW4LY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=UxtbZuxcfwc:tlNP2aiW4LY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=UxtbZuxcfwc:tlNP2aiW4LY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/UxtbZuxcfwc" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/08/01/topeka-.net-user-group-meeting-ndash-moved-to-august-20th.aspx</guid>
            <pubDate>Sat, 01 Aug 2009 11:44:51 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/133852.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/08/01/topeka-.net-user-group-meeting-ndash-moved-to-august-20th.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/133852.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/133852.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/08/01/topeka-.net-user-group-meeting-ndash-moved-to-august-20th.aspx</feedburner:origLink></item>
        <item>
            <title>Topeka Dot Net User Group (DNUG) Meeting - August 20th, 2009</title>
            <category>DNUG</category>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/JKS7Z_qjr8w/topeka-dot-net-user-group-dnug-meeting---august-18th.aspx</link>
            <description>&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Topeka DNUG is free for anyone to attend! Mark your calendars now!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/TopekaDotNetUserGroupDNUGMeetingAugust18_5CB8/dru_2.jpg"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;img title="dru" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 0px 10px 10px 5px; BORDER-RIGHT-WIDTH: 0px" height="111" alt="dru" width="84" align="left" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/TopekaDotNetUserGroupDNUGMeetingAugust18_5CB8/dru_thumb.jpg" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font face="Trebuchet MS" size="4"&gt;Speaker&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;a target="_blank" href="http://codebetter.com/blogs/dru.sellers/"&gt;&lt;font face="Times New Roman" size="3"&gt;Dru Sellers&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt; is the Solution Architect for Federal Home Loan Bank in Topeka, KS. He has been programming professionally for over 8 years and spends most of his time in C# and VB.Net, Castle, and junk punches people who 'touch' his database. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Trebuchet MS" size="4"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Trebuchet MS" size="4"&gt;&lt;strong&gt;Topic&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Object Oriented Databases and other non-relational options &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Are you tired of writing SQL to maintain your databases? Are you using an object relational mapper and sick of the mapping? If you are then Dru would like to introduce you to the world of ‘NO MORE SQL’. It's an amazing world where objects are saved magically and still queryable. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;In this talk Dru will be reviewing 'db4o' a free object database as well as a way to use the open source search engine 'Lucene.Net' as an object store as well. Dru will also discuss how some large corporations are switching away from traditional Relational databases to achieve unheard of performance. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;WHERE:&lt;/strong&gt; Federal Home Loan Bank Topeka on the Security Benefit Campus – &lt;/font&gt;&lt;/font&gt;&lt;a target="_blank" href="http://www.fhlbtopeka.com/s/index.cfm?SSID=20#directions"&gt;&lt;font face="Times New Roman" size="3"&gt;Directions&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman" size="3"&gt;?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;WHEN:&lt;/strong&gt; 11:30 AM - 1:00 PM on August 20th, 2009 &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;REGISTER:&lt;/strong&gt; &lt;/font&gt;&lt;/font&gt;&lt;a href="http://topekadotnet.wufoo.com/forms/topeka-dnug-meeting-attendance/"&gt;&lt;font face="Times New Roman" size="3"&gt;http://topekadotnet.wufoo.com/forms/topeka-dnug-meeting-attendance/&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;ADDITIONAL INFO:&lt;/strong&gt; As always, please sign in and out of FHLBank to help them with their accountability. Please park in the visitors section at the front of the building when you arrive. If  there are no spots in visitors you may park in the overflow lot at the far east end of the facility.  Lunch will be provided and we will have some great door prizes!&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;UPDATE: Due to scheduling conflicts, this was changed from August 18th to August 20th - &lt;font face="Arial"&gt;&lt;a href="http://ferventcoder.com/archive/2009/08/01/topeka-.net-user-group-meeting-ndash-moved-to-august-20th.aspx"&gt;&lt;font face="Times New Roman"&gt;http://ferventcoder.com/archive/2009/08/01/topeka-.net-user-group-meeting-ndash-moved-to-august-20th.aspx&lt;/font&gt;&lt;/a&gt; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133666"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133666" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/133666.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1bRnZU0gUYa_5Gj8jQ5SIa0M0w0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1bRnZU0gUYa_5Gj8jQ5SIa0M0w0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1bRnZU0gUYa_5Gj8jQ5SIa0M0w0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1bRnZU0gUYa_5Gj8jQ5SIa0M0w0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=JKS7Z_qjr8w:4k81kMaatJs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=JKS7Z_qjr8w:4k81kMaatJs:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=JKS7Z_qjr8w:4k81kMaatJs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=JKS7Z_qjr8w:4k81kMaatJs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=JKS7Z_qjr8w:4k81kMaatJs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=JKS7Z_qjr8w:4k81kMaatJs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=JKS7Z_qjr8w:4k81kMaatJs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/JKS7Z_qjr8w" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/07/23/topeka-dot-net-user-group-dnug-meeting---august-18th.aspx</guid>
            <pubDate>Thu, 23 Jul 2009 11:48:36 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/133666.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/07/23/topeka-dot-net-user-group-dnug-meeting---august-18th.aspx#feedback</comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/133666.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/133666.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/07/23/topeka-dot-net-user-group-dnug-meeting---august-18th.aspx</feedburner:origLink></item>
        <item>
            <title>.NET Binding Redirects &amp;ndash; Updating Referenced Assemblies Without Recompiling Code</title>
            <category>Code</category>
            <link>http://feedproxy.google.com/~r/robz/~3/le2CxxMT3Ek/net-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx</link>
            <description>&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Have you ever seen this error?&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="BACKGROUND-COLOR: #ffffff"&gt;System.IO.FileLoadException: Could not load file or assembly ‘&lt;em&gt;nameOfAssembly&lt;/em&gt;’, Version=&lt;em&gt;specificVersion&lt;/em&gt;, Culture=neutral, PublicKeyToken=&lt;em&gt;publicKey&lt;/em&gt;’ or one of it's dependencies. &lt;strong&gt;The located assembly’s manifest definition does not match the assembly reference.&lt;/strong&gt; (Exception from HRESULT: 0x80131040)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/9b3.NETBindingRedirectsUpdatingReference_C80E/image_2.png"&gt;&lt;font face="Times New Roman" color="#000000" size="3"&gt;&lt;img title="image" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="116" alt="image" width="644" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/9b3.NETBindingRedirectsUpdatingReference_C80E/image_thumb.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;This means you’ve replaced the specific version of the third party assembly with either an earlier or an updated version. The assembly that uses it is compiled to point to a specific version of the assembly and now will not load. I’ve seen this the most with applications that use log4net and/or NHibernate and third party assemblies that also use log4net and/or NHibernate.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Sometimes you just can’t recompile code, but you want to update the version the assembly uses. Sometimes it’s troublesome (or even impossible) to go back to all of the third party assemblies and get their source and recompile everything to use the same version. This may be the biggest pain some people see in trying to use and upgrade OSS. But if you know what’s going on, it’s very easy to make everything work happily together without a lot of work.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;I’ve fought for hours trying to figure out and correct this error. I’ve found that there is an easier alternative and I wanted to share so that others could see it is not that hard to deal with. &lt;/font&gt;&lt;font face="Times New Roman" size="3"&gt;It’s possible to make code look for an updated assembly (or an earlier version) by adding some elements to the config file.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;This is done through a &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/7wd6ex19(VS.85).aspx"&gt;binding redirect&lt;/a&gt;.  In the configuration file for the application or DLL that uses the assembly, you include something like this:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;div&gt;
&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;font size="2"&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;runtime&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;assemblyBinding&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="urn:schemas-microsoft-com:asm.v1"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;dependentAssembly&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;assemblyIdentity&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="NHibernate"&lt;/span&gt;
                        &lt;span style="COLOR: #ff0000"&gt;publicKeyToken&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="aa95f207798dfdb4"&lt;/span&gt;
                        &lt;span style="COLOR: #ff0000"&gt;culture&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="neutral"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;bindingRedirect&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;oldVersion&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="0.0.0.0-2.0.0.4000"&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;newVersion&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="2.0.0.4000"&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;dependentAssembly&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;assemblyBinding&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;runtime&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;You are instructing the application or DLL that during runtime, for a particular dependent assembly to use a particular version when an application and/or other assembly is looking for the older version.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;You can see here that I pointed the application from all versions of NHibernate 0.0.0.0-2.0.0.4000 to use 2.0.0.4000, even though the application was only looking for 2.0.0.1001. This helps other assemblies in the same AppDomain (normally all of the assemblies within your application’s executing code) also update whatever versions they are tied to to also use the same version.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;The error in the above picture occurred in Castle.Facilities.NHibernateIntegration.dll, but I didn’t add a Castle.Facilities.NhibernateIntegration.dll.config file. It wasn’t the entry point for my application. I have another asssembly, let’s call it Foo.exe, that references both Castle.Facilities.NHibernateIntegration.dll and NHibernate.dll. Foo.exe itself is actually using an updated reference to NHibernate version 2.0.0.4000. The NHibernateIntegration was compiled against NHibernate version 2.0.0.1001. I need to add a Foo.exe.confg file and add the code above to it. That way when Castle goes looking for any version of NHibernate between 0.0.0.0 and 2.0.0.4000, the AppDomain instructs it to use version 2.0.0.4000. If another assembly was looking for another version of NHibernate, it would also be instructed to use 2.0.0.4000.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Keep in mind this is not recommended for use when there are breaking changes between two versions of a dependent assembly (due to errors or inconsistent behaviors). Hopefully this will help you if you ever run into this issue.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f07%2f19%2fnet-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f07%2f19%2fnet-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133585"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133585" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://ferventcoder.com/aggbug/133585.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JQbnjm49XPocjiiECohxUQ7J6b4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JQbnjm49XPocjiiECohxUQ7J6b4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JQbnjm49XPocjiiECohxUQ7J6b4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JQbnjm49XPocjiiECohxUQ7J6b4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/robz?a=le2CxxMT3Ek:8k6iHcZPMhc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=le2CxxMT3Ek:8k6iHcZPMhc:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=le2CxxMT3Ek:8k6iHcZPMhc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=le2CxxMT3Ek:8k6iHcZPMhc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=le2CxxMT3Ek:8k6iHcZPMhc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/robz?a=le2CxxMT3Ek:8k6iHcZPMhc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/robz?i=le2CxxMT3Ek:8k6iHcZPMhc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/robz/~4/le2CxxMT3Ek" height="1" width="1"/&gt;</description>
            <dc:creator>Robz / Fervent Coder</dc:creator>
            <guid isPermaLink="false">http://ferventcoder.com/archive/2009/07/19/net-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx</guid>
            <pubDate>Sun, 19 Jul 2009 20:15:58 GMT</pubDate>
            <wfw:comment>http://ferventcoder.com/comments/133585.aspx</wfw:comment>
            <comments>http://ferventcoder.com/archive/2009/07/19/net-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://ferventcoder.com/comments/commentRss/133585.aspx</wfw:commentRss>
            <trackback:ping>http://ferventcoder.com/services/trackbacks/133585.aspx</trackback:ping>
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:origLink>http://ferventcoder.com/archive/2009/07/19/net-binding-redirects-ndash-updating-referenced-assemblies-without-recompiling-code.aspx</feedburner:origLink></item>
    </channel>
</rss>
