<?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.stevenharman.net/~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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
    <channel>
        <title>StevenHarman.net</title>
        <link>http://stevenharman.net/blog/Default.aspx</link>
        <description>living. learning. improving.</description>
        <language>en-US</language>
        <copyright>Steven Harman</copyright>
        <generator>Subtext Version 2.1.2.2</generator>
        <image><link>http://creativecommons.org/licenses/by/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image>
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.stevenharman.net/stevenharman" /><feedburner:info uri="stevenharman" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /><feedburner:emailServiceId>stevenharman</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.stevenharman.net%2Fstevenharman" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.stevenharman.net%2Fstevenharman" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.stevenharman.net%2Fstevenharman" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.stevenharman.net/stevenharman" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.stevenharman.net%2Fstevenharman" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.stevenharman.net%2Fstevenharman" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.stevenharman.net%2Fstevenharman" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.stevenharman.net%2Fstevenharman" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.stevenharman.net%2Fstevenharman" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><item>
            <title>A Handful of Git Workflows for the Agilist</title>
            <category>Code &amp;amp; Stuff...</category>
            <link>http://stevenharman.net/blog/archive/2010/08/12/a-handful-of-git-workflows-for-the-agilist.aspx</link>
            <description>&lt;p&gt;A few months back I gave &lt;a title="the path to agility conference" href="http://www.thepathtoagility.org/"&gt;little talk&lt;/a&gt; on the darling &lt;acronym title="Source Control Management"&gt;SCM&lt;/acronym&gt; tool of the Open Source world, &lt;a title="Git: the fast version control system" href="http://git-scm.com/"&gt;Git&lt;/a&gt;. After the conference, the organizers asked for a copy of the presentation materials I’d used – something I usually find little value in as the content of a discussion is far more than just the collateral used.&lt;/p&gt;  &lt;p&gt;At any rate, I obliged and sent off a PDF… and in the spirit of Open Source, I’ve also &lt;a title="a handful of Git workflows for the agilist" href="http://github.com/stevenharman/git-workflows"&gt;opened the talk up&lt;/a&gt; for others to use and improve! You can find the source (Keynote presentation, images, etc.) on GitHub – where you can fork and modify the talk to your heart’s content!&lt;/p&gt;  &lt;p&gt;Oh, and the &lt;a title="download the PDF version" href="http://github.com/stevenharman/git-workflows/downloads"&gt;PDF is there&lt;/a&gt; too.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:823da7df-0003-4457-8f93-32f648136967" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/git" rel="tag"&gt;git&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Open+Source" rel="tag"&gt;Open Source&lt;/a&gt;,&lt;a href="http://technorati.com/tags/presentation" rel="tag"&gt;presentation&lt;/a&gt;&lt;/div&gt;&lt;img src="http://stevenharman.net/blog/aggbug/12860.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=w9HXcOwOZsk:ezV2BXHUOHM:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=w9HXcOwOZsk:ezV2BXHUOHM:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=w9HXcOwOZsk:ezV2BXHUOHM:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=w9HXcOwOZsk:ezV2BXHUOHM:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=w9HXcOwOZsk:ezV2BXHUOHM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=w9HXcOwOZsk:ezV2BXHUOHM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=w9HXcOwOZsk:ezV2BXHUOHM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=w9HXcOwOZsk:ezV2BXHUOHM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/stevenharman/~4/w9HXcOwOZsk" height="1" width="1"/&gt;</description>
            <dc:creator>Steven Harman</dc:creator>
            <guid isPermaLink="false">http://stevenharman.net/blog/archive/2010/08/12/a-handful-of-git-workflows-for-the-agilist.aspx</guid>
            <pubDate>Thu, 12 Aug 2010 15:49:27 GMT</pubDate>
            <wfw:comment>http://stevenharman.net/blog/comments/12860.aspx</wfw:comment>
            <comments>http://stevenharman.net/blog/archive/2010/08/12/a-handful-of-git-workflows-for-the-agilist.aspx#feedback</comments>
            <wfw:commentRss>http://stevenharman.net/blog/comments/commentRss/12860.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A Handful of Great jQuery Articles&amp;hellip;</title>
            <category>Tips &amp;amp; Tricks.</category>
            <link>http://stevenharman.net/blog/archive/2010/06/22/a-handful-of-great-jquery-articles-you-should-read.aspx</link>
            <description>&lt;p&gt;… that have helped me improve both my understanding of JavaScript, and my jQuery-Fu.&lt;/p&gt;  &lt;h3&gt;General Goodness&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="Custom events in jQuery open doors to complex behaviors" href="http://www.reynoldsftw.com/2009/04/custom-events-in-jquery-open-doors-to-complex-behaviors/"&gt;Custom events in jQuery open doors to complex behaviors&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="Six Things Every jQuery Developer Should Know" href="http://msdn.microsoft.com/en-us/scriptjunkie/ee730275.aspx"&gt;Six Things Every jQuery Developer Should Know&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="How to Create Your Own jQuery Plugin" href="http://msdn.microsoft.com/en-us/scriptjunkie/ff608209.aspx"&gt;How to Create Your Own jQuery Plugin&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="Introduction to Stateful Plugins and the Widget Factory" href="http://msdn.microsoft.com/en-us/scriptjunkie/ff706600.aspx"&gt;Introduction to Stateful Plugins and the Widget Factory&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Some Tools&lt;/h3&gt;  &lt;p&gt;I’ve also come across of few kick-ass &lt;a title="Firebug: web development evolved" href="http://getfirebug.com/"&gt;Firebug&lt;/a&gt; plugins you won’t be able to live without.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="FireQuery: a Firebug extension for jQuery development" href="http://firequery.binaryage.com/"&gt;FireQuery&lt;/a&gt;: a Firebug extension for jQuery development &lt;/li&gt;    &lt;li&gt;&lt;a title="FireFinder: Finds HTML elements matching chosen CSS selector(s)" href="https://addons.mozilla.org/en-US/firefox/addon/11905/"&gt;FireFinder&lt;/a&gt;: Finds HTML elements matching chosen CSS selector(s) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can also check out &lt;a title="Steven Harman's jQuery hotness" href="http://delicious.com/stevenharman/jquery"&gt;my del.icio.us feed&lt;/a&gt; for my favorite jQuery resources. If you have some favorite article or resources, please link them in the comments!&lt;/p&gt;  &lt;p&gt;Remember, learning is a primary input to improving!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:256397b5-67d6-4b96-b375-b201eb4acc42" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/jQuery" rel="tag"&gt;jQuery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/javascript" rel="tag"&gt;javascript&lt;/a&gt;,&lt;a href="http://technorati.com/tags/learning" rel="tag"&gt;learning&lt;/a&gt;,&lt;a href="http://technorati.com/tags/improvement" rel="tag"&gt;improvement&lt;/a&gt;&lt;/div&gt;&lt;img src="http://stevenharman.net/blog/aggbug/12859.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=36qMCOQjHto:NqvPSkg9Uww:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=36qMCOQjHto:NqvPSkg9Uww:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=36qMCOQjHto:NqvPSkg9Uww:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=36qMCOQjHto:NqvPSkg9Uww:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=36qMCOQjHto:NqvPSkg9Uww:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=36qMCOQjHto:NqvPSkg9Uww:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=36qMCOQjHto:NqvPSkg9Uww:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=36qMCOQjHto:NqvPSkg9Uww:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/stevenharman/~4/36qMCOQjHto" height="1" width="1"/&gt;</description>
            <dc:creator>Steven Harman</dc:creator>
            <guid isPermaLink="false">http://stevenharman.net/blog/archive/2010/06/22/a-handful-of-great-jquery-articles-you-should-read.aspx</guid>
            <pubDate>Tue, 22 Jun 2010 18:05:33 GMT</pubDate>
            <wfw:comment>http://stevenharman.net/blog/comments/12859.aspx</wfw:comment>
            <comments>http://stevenharman.net/blog/archive/2010/06/22/a-handful-of-great-jquery-articles-you-should-read.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://stevenharman.net/blog/comments/commentRss/12859.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Want To Make Money? Make Getting Paid the Easy Part!</title>
            <category>Rants &amp;amp; the Lighter Side.</category>
            <link>http://stevenharman.net/blog/archive/2010/04/07/make-money-by-making-getting-paid-easy.aspx</link>
            <description>&lt;p&gt;At least half a dozen times in the past three days I’ve been so annoyed by the payment process for various goods and/or services that I either didn’t purchase the thing, or had a minor meltdown after the whole ordeal was over.&lt;/p&gt;  &lt;p&gt;Why do merchants insist on making it so damned difficult for their customers to get the goods?&lt;/p&gt;  &lt;h3&gt;A few frustrating examples&lt;/h3&gt;  &lt;p&gt;Ever been to a sporting event where the beer vendor only accept cash, has no cash-register, and yet insists on charging a partial dollar amount per unit of booze? $6.65 for a beer… really? Just call it $7 and make the math easy for everyone. Or have a cash register at each kiosk. Or, here’s a novel idea, start accepting plastic!&lt;/p&gt;  &lt;p&gt;Need to renew your vehicle registration? Just do it online! But be prepared to spend an extra $5 for the &lt;em&gt;convenience&lt;/em&gt; of, you know… actually giving them the money now rather than sending a check and them having to pay someone to physically handle the thing.&lt;/p&gt;  &lt;h3&gt;Two simple rules for making money&lt;/h3&gt;  &lt;p&gt;If you’re selling something someone wants: &lt;strong&gt;make it easy for them to give you their money!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you’re selling something someone does not want: &lt;strong&gt;make them want it!&lt;/strong&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f8ffa440-ea9b-453f-b8fe-ec6fea46d114" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/business" rel="tag"&gt;business&lt;/a&gt;,&lt;a href="http://technorati.com/tags/customers" rel="tag"&gt;customers&lt;/a&gt;,&lt;a href="http://technorati.com/tags/don't+be+dumb" rel="tag"&gt;don't be dumb&lt;/a&gt;&lt;/div&gt;&lt;img src="http://stevenharman.net/blog/aggbug/12854.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=Dcqk8mOO6jY:6zUY6YspKQ4:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=Dcqk8mOO6jY:6zUY6YspKQ4:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=Dcqk8mOO6jY:6zUY6YspKQ4:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=Dcqk8mOO6jY:6zUY6YspKQ4:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=Dcqk8mOO6jY:6zUY6YspKQ4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=Dcqk8mOO6jY:6zUY6YspKQ4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=Dcqk8mOO6jY:6zUY6YspKQ4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=Dcqk8mOO6jY:6zUY6YspKQ4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/stevenharman/~4/Dcqk8mOO6jY" height="1" width="1"/&gt;</description>
            <dc:creator>Steven Harman</dc:creator>
            <guid isPermaLink="false">http://stevenharman.net/blog/archive/2010/04/07/make-money-by-making-getting-paid-easy.aspx</guid>
            <pubDate>Wed, 07 Apr 2010 16:20:10 GMT</pubDate>
            <comments>http://stevenharman.net/blog/archive/2010/04/07/make-money-by-making-getting-paid-easy.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://stevenharman.net/blog/comments/commentRss/12854.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Gain New Insights by Visualizing What You&amp;rsquo;ve Already Got</title>
            <category>Code &amp;amp; Stuff...</category>
            <link>http://stevenharman.net/blog/archive/2010/02/24/gain-new-insights-by-visualizing-what-youve-already-got.aspx</link>
            <description>&lt;p&gt;I don’t know about you, but I like pretty things. Things that engage me. Shiny things. I enjoy seeing &lt;em&gt;the same old thing&lt;/em&gt; in new and interesting ways. I suppose I’m just a visual kinda’ guy.&lt;/p&gt;  &lt;p&gt;Unfortunately, the desire for visual representation is at odds with the high bandwidth flood of information we’re subjected to these days. Even if we manage to trim the overwhelming flood of information down to a laser-focused stream, it still takes an immense amount of effort to make sense of it.&lt;/p&gt;  &lt;h3&gt;For example&lt;/h3&gt;  &lt;p&gt;For years the primary way we’ve looked at the activity or interaction within various source control management systems is via log files. Yep… plain, text-laden, indecipherable logs chock full of entries each a similitude of it’s predecessors.&lt;/p&gt;  &lt;div style="display: inline; margin-left: 1em" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d1aa545b-b5f2-4ade-80f4-d0e8a02f7878" class="right"&gt;&lt;embed src="http://www.youtube.com/v/S_mMKXFaLaE&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999&amp;amp;hd=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355" /&gt;&lt;/div&gt;  &lt;p&gt;However, thanks to projects like &lt;a title="Processing" href="http://processing.org/" rel="external"&gt;Processing&lt;/a&gt; there may be a change on the horizon. Using tools of their ilk we can build exciting new ways to &lt;em&gt;see&lt;/em&gt; and consume the vast seas of data we’re drowning in. By visualizing the data we are able to discover new and interesting patterns, behaviors, and insights.&lt;/p&gt;  &lt;h3&gt;An example&lt;/h3&gt;  &lt;p&gt;The video to the right is an example of one such visualization I produced using &lt;a title="Gource - software version control visualization" href="http://code.google.com/p/gource/" rel="external"&gt;Gource&lt;/a&gt; to analyze the Git repository of one of the product’s we’ve build at &lt;a title="VersionOne: Simplifying Software Delivery" href="http://versionone.com/" rel="external"&gt;VersionOne&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;For reference, each branch (line) is a different directory containing files. Each leaf (dot) is a file, and different file types (Ruby, JavaScript, C#, etc.) have different colors. Each contributor is represented by their name and Gravatar.  The colored lines that occasionally connect a contributor to a file are color coded to represent adds (green), changes (orange) and deletes (red).&lt;/p&gt;  &lt;p&gt;A few interesting things this visualization leads me to think about are &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;how much churn happens in various parts of the code base? &lt;/li&gt;    &lt;li&gt;where are we spending time? &lt;/li&gt;    &lt;li&gt;is new-feature work well isolated? (perhaps an indicator of composition) &lt;/li&gt;    &lt;li&gt;are there &lt;em&gt;specialists&lt;/em&gt; within the team? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Do any interesting things pop to mind when you watch the video? Let me know by leaving a comment.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c1ab8f24-aa59-4e71-8c07-fd37e9392446" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/gource" rel="tag"&gt;gource&lt;/a&gt;,&lt;a href="http://technorati.com/tags/git" rel="tag"&gt;git&lt;/a&gt;,&lt;a href="http://technorati.com/tags/design" rel="tag"&gt;design&lt;/a&gt;,&lt;a href="http://technorati.com/tags/visualization" rel="tag"&gt;visualization&lt;/a&gt;&lt;/div&gt;&lt;img src="http://stevenharman.net/blog/aggbug/12836.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=4buF5w_jPvQ:UW_XnSad7Ts:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=4buF5w_jPvQ:UW_XnSad7Ts:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=4buF5w_jPvQ:UW_XnSad7Ts:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=4buF5w_jPvQ:UW_XnSad7Ts:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=4buF5w_jPvQ:UW_XnSad7Ts:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=4buF5w_jPvQ:UW_XnSad7Ts:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=4buF5w_jPvQ:UW_XnSad7Ts:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=4buF5w_jPvQ:UW_XnSad7Ts:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/stevenharman/~4/4buF5w_jPvQ" height="1" width="1"/&gt;</description>
            <dc:creator>Steven Harman</dc:creator>
            <guid isPermaLink="false">http://stevenharman.net/blog/archive/2010/02/24/gain-new-insights-by-visualizing-what-youve-already-got.aspx</guid>
            <pubDate>Wed, 24 Feb 2010 21:11:21 GMT</pubDate>
            <comments>http://stevenharman.net/blog/archive/2010/02/24/gain-new-insights-by-visualizing-what-youve-already-got.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://stevenharman.net/blog/comments/commentRss/12836.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Has Visual Studio caused the end of The World yet?</title>
            <category>Rants &amp;amp; the Lighter Side.</category>
            <link>http://stevenharman.net/blog/archive/2010/02/18/visual-studio-catastrophic-failure.aspx</link>
            <description>&lt;p&gt;&lt;a title="catastrophic-failure" href="http://stevenharman.net/images/stevenharman_net/blog/WindowsLiveWriter/HasVisualStudiocausedtheendofTheWorldyet_DEB6/catastrophic-failure.png" rel="lightbox"&gt;&lt;img class="right" title="catastrophic-failure" alt="catastrophic-failure" src="http://stevenharman.net/images/stevenharman_net/blog/WindowsLiveWriter/HasVisualStudiocausedtheendofTheWorldyet_DEB6/catastrophic-failure_thumb.png" width="240" height="131" /&gt;&lt;/a&gt;If this error dialog is any indication… the end may be imminent!&lt;/p&gt;  &lt;h3&gt;#FAIL&lt;/h3&gt;  &lt;p&gt;Let’s just hope this error dialog never makes an appearance in a nuclear energy plant, missile silo, etc…&lt;/p&gt;  &lt;p /&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:dbc3d880-8154-42fe-921f-c789619094b8" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/visualstudio" rel="tag"&gt;visualstudio&lt;/a&gt;,&lt;a href="http://technorati.com/tags/funny" rel="tag"&gt;funny&lt;/a&gt;&lt;/div&gt;  &lt;p /&gt;  &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fstevenharman.net%2fblog%2farchive%2f2010%2f02%2f18%2fvisual-studio-catastrophic-failure.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%2fstevenharman.net%2fblog%2farchive%2f2010%2f02%2f18%2fvisual-studio-catastrophic-failure.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://stevenharman.net/blog/aggbug/12834.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=jrhfrt8byqo:j3PNm54Yd3Y:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=jrhfrt8byqo:j3PNm54Yd3Y:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=jrhfrt8byqo:j3PNm54Yd3Y:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=jrhfrt8byqo:j3PNm54Yd3Y:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=jrhfrt8byqo:j3PNm54Yd3Y:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=jrhfrt8byqo:j3PNm54Yd3Y:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=jrhfrt8byqo:j3PNm54Yd3Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=jrhfrt8byqo:j3PNm54Yd3Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/stevenharman/~4/jrhfrt8byqo" height="1" width="1"/&gt;</description>
            <dc:creator>Steven Harman</dc:creator>
            <guid isPermaLink="false">http://stevenharman.net/blog/archive/2010/02/18/visual-studio-catastrophic-failure.aspx</guid>
            <pubDate>Thu, 18 Feb 2010 20:53:54 GMT</pubDate>
            <comments>http://stevenharman.net/blog/archive/2010/02/18/visual-studio-catastrophic-failure.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://stevenharman.net/blog/comments/commentRss/12834.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Why don&amp;rsquo;t we ask &amp;ldquo;Why?&amp;rdquo;</title>
            <category>Me, On Software.</category>
            <link>http://stevenharman.net/blog/archive/2010/02/18/why-dont-we-ask-why.aspx</link>
            <description>&lt;p&gt;Have you ever thought about just how much time we software folk spend focused on the technologies we’re using, on implementation minutia, and on all of the shiny new &lt;em&gt;solutions&lt;/em&gt; we &lt;em&gt;should&lt;/em&gt; be using?&lt;/p&gt;  &lt;p&gt;&lt;a title="photo via: http://www.flickr.com/photos/marcobellucci/3534516458/" href="http://stevenharman.net/images/stevenharman_net/blog/WindowsLiveWriter/WhyDontWeAskWhy_96E6/question_mark_2.jpg" rel="lightbox"&gt;&lt;img class="right" title="photo via: http://www.flickr.com/photos/marcobellucci/3534516458/" alt="why?" src="http://stevenharman.net/images/stevenharman_net/blog/WindowsLiveWriter/WhyDontWeAskWhy_96E6/question_mark_thumb.jpg" /&gt;&lt;/a&gt; Now contrast that with how often we stop to think about the &lt;strong&gt;whys&lt;/strong&gt;? &lt;/p&gt;  &lt;p&gt;Why are we being asked to solve &lt;em&gt;fizz-buzz-thing&lt;/em&gt;; do we understand the motivation and context behind the problem, or are we fixated on how we’ll build the solution? Are we asking why a problem occurred, or are we merely focused on how we fixed it, this time?&lt;/p&gt;  &lt;h3&gt;Why don’t we ask “Why?”&lt;/h3&gt;  &lt;p&gt;Frankly, because we’d rather spend our time in the comfortable arena of &lt;strong&gt;how&lt;/strong&gt; than venture into the sometimes uneasy realm of &lt;strong&gt;why&lt;/strong&gt;.&lt;/p&gt;  &lt;blockquote cite="http://en.wikiquote.org/wiki/Fahrenheit_451"&gt;   &lt;p&gt;She didn't want to know how a thing was done, but why. That can be embarrassing. You ask &lt;em&gt;Why&lt;/em&gt; to a lot of things and you wind up very unhappy indeed, if you keep at it.&lt;/p&gt;    &lt;p&gt;- Captain Beatty, from &lt;a title="Fahrenheit 451 - by Ray Bradbury" href="http://www.amazon.com/dp/0345342968/?tag=stevenharman-20" rel="external"&gt;Fahrenheit 451&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Asking why often forces us to face the truth, and that truth can be uncomfortable. We need to have the courage to face those truths and continue to ask why; we must have the &lt;a title="XP Values - Courage" href="http://en.wikipedia.org/wiki/Extreme_Programming#Values" rel="external"&gt;courage&lt;/a&gt; to pop the why stack.&lt;/p&gt;  &lt;p&gt;It’s only by asking why that we’ll gain the understanding, insight, and context necessary to effectively solve the problems we’re faced with, to grow, and to improve.&lt;/p&gt;  &lt;p&gt;So, &lt;em&gt;why&lt;/em&gt; are you reading this post…? :)&lt;/p&gt;  &lt;p class="footnote"&gt;photo credits: &lt;a href="http://www.flickr.com/photos/marcobellucci/" rel="cc:attributionURL"&gt;http://www.flickr.com/photos/marcobellucci/&lt;/a&gt; / &lt;a href="http://creativecommons.org/licenses/by/2.0/" rel="license"&gt;CC BY 2.0&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2fd7881a-b5f9-4007-922f-1eb563a7a60e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/courage" rel="tag"&gt;courage&lt;/a&gt;,&lt;a href="http://technorati.com/tags/agile" rel="tag"&gt;agile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XP" rel="tag"&gt;XP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/lean" rel="tag"&gt;lean&lt;/a&gt;&lt;/div&gt;&lt;img src="http://stevenharman.net/blog/aggbug/12833.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=0HVB7KLtD84:kjWu8vVgqwA:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=0HVB7KLtD84:kjWu8vVgqwA:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=0HVB7KLtD84:kjWu8vVgqwA:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=0HVB7KLtD84:kjWu8vVgqwA:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=0HVB7KLtD84:kjWu8vVgqwA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=0HVB7KLtD84:kjWu8vVgqwA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=0HVB7KLtD84:kjWu8vVgqwA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=0HVB7KLtD84:kjWu8vVgqwA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/stevenharman/~4/0HVB7KLtD84" height="1" width="1"/&gt;</description>
            <dc:creator>Steven Harman</dc:creator>
            <guid isPermaLink="false">http://stevenharman.net/blog/archive/2010/02/18/why-dont-we-ask-why.aspx</guid>
            <pubDate>Thu, 18 Feb 2010 17:48:39 GMT</pubDate>
            <comments>http://stevenharman.net/blog/archive/2010/02/18/why-dont-we-ask-why.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://stevenharman.net/blog/comments/commentRss/12833.aspx</wfw:commentRss>
        </item>
        <item>
            <title>YAGNI ain&amp;rsquo;t what you think it is</title>
            <category>Me, On Software.</category>
            <link>http://stevenharman.net/blog/archive/2010/01/07/yagni-ainrsquot-what-you-think-it-is.aspx</link>
            <description>&lt;p&gt;In the software development vernacular the term &lt;acronym title="You aren't gonna need it"&gt;YAGNI&lt;/acronym&gt; is often used as a device to put down attempts at prematurely adding functionality – things which are only speculatively required. This makes sense given that is basically the &lt;a title="You're NOT gonna need it" href="http://www.xprogramming.com/Practices/PracNotNeed.html" rel="external"&gt;definition&lt;/a&gt; that &lt;a title="XProgramming : an Agile Software Development Resource" href="http://www.xprogramming.com/" rel="external"&gt;Ron Jeffries&lt;/a&gt; and our &lt;acronym title="eXtreme Programming"&gt;XP&lt;/acronym&gt; forefathers came up with so long ago.&lt;/p&gt;  &lt;h3&gt;Is that the whole story?&lt;/h3&gt;  &lt;p&gt;&lt;a title="photo via: http://www.flickr.com/photos/z6p6tist6/501709581/" href="http://stevenharman.net/images/stevenharman_net/blog/WindowsLiveWriter/339b90d16e7e_BAC4/stopsign_2.jpg" rel="lightbox"&gt;&lt;img class="right" title="photo via: http://www.flickr.com/photos/z6p6tist6/501709581/" alt="stop... YAGNI!" src="http://stevenharman.net/images/stevenharman_net/blog/WindowsLiveWriter/339b90d16e7e_BAC4/stopsign_thumb.jpg" /&gt;&lt;/a&gt;In short, I don’t think so.&lt;/p&gt;  &lt;p&gt;I’ve long believed there was more to YAGNI than what had been canonically defined and was commonly understood. However, until recently I was never able to put my finger on what was missing.&lt;/p&gt;  &lt;p&gt;While listening to an episode of &lt;/p&gt; &lt;a title="Industry Misinterpretations 164: Going for the Longball" href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;amp;printTitle=Industry_Misinterpretations_164:_Going_for_the_Longball&amp;amp;entry=3436948975" rel="external"&gt;Industry Misinterpretations&lt;/a&gt; I heard &lt;a title="Kent Beck @ Three Rivers Institute" href="http://www.threeriversinstitute.org/Kent%20Beck.htm" rel="external"&gt;Kent Beck&lt;/a&gt; make a subtle point about the need to make progress being more important than the completeness of the thing you’re building at the point you’re building it.  &lt;p /&gt;  &lt;p&gt;Lending from this Kent’s insight and mixing in much of my own experience, I realized YAGNI is not about delaying building things until you need them; it’s that gaining real experience in the problem domain, while making concrete progress, is more important than trying to achieve a complete solution &lt;em&gt;right now&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;Do you think it’s too early to update the &lt;a title="You ain't gonna need it" href="http://en.wikipedia.org/wiki/You_ain't_gonna_need_it" rel="external"&gt;Wikipedia article&lt;/a&gt;…? hehe!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e9c8068b-f128-4ab4-8811-9981d61bd585" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/design" rel="tag"&gt;design&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XP" rel="tag"&gt;XP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/agile" rel="tag"&gt;agile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/programming" rel="tag"&gt;programming&lt;/a&gt;&lt;/div&gt;&lt;img src="http://stevenharman.net/blog/aggbug/12832.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=-CU9xWMzrcE:oCJjYWgh4Ms:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=-CU9xWMzrcE:oCJjYWgh4Ms:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=-CU9xWMzrcE:oCJjYWgh4Ms:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=-CU9xWMzrcE:oCJjYWgh4Ms:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=-CU9xWMzrcE:oCJjYWgh4Ms:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=-CU9xWMzrcE:oCJjYWgh4Ms:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=-CU9xWMzrcE:oCJjYWgh4Ms:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=-CU9xWMzrcE:oCJjYWgh4Ms:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/stevenharman/~4/-CU9xWMzrcE" height="1" width="1"/&gt;</description>
            <dc:creator>Steven Harman</dc:creator>
            <guid isPermaLink="false">http://stevenharman.net/blog/archive/2010/01/07/yagni-ainrsquot-what-you-think-it-is.aspx</guid>
            <pubDate>Thu, 07 Jan 2010 19:44:29 GMT</pubDate>
            <comments>http://stevenharman.net/blog/archive/2010/01/07/yagni-ainrsquot-what-you-think-it-is.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://stevenharman.net/blog/comments/commentRss/12832.aspx</wfw:commentRss>
        </item>
        <item>
            <title>OMG, Better Rake (for .net)!</title>
            <category>Code &amp;amp; Stuff...</category>
            <link>http://stevenharman.net/blog/archive/2009/11/23/omg-better-rake-for-.net.aspx</link>
            <description>&lt;p&gt;If you ask me, when it comes tools for writing automated build scripts nothing packs more bang for the buck than &lt;a href="http://rake.rubyforge.org/" title="Rake - Ruby Make"&gt;Rake&lt;/a&gt;. Until recently, using Rake to build .net solutions required a magic concoction of hacked together scripts which rarely exhibited Ruby’s appreciation for beauty nor Rake’s spirit of simplicity.&lt;/p&gt;
&lt;p&gt;Luckily our buddy &lt;a rel="met friend" href="http://www.lostechies.com/blogs/derickbailey/" title="Derick Bailey's blog"&gt;Derick Bailey&lt;/a&gt; decided it was time to bite the bullet and start building some &lt;em&gt;&lt;a href="http://www.lostechies.com/blogs/derickbailey/archive/2009/09/17/how-a-net-developer-hacked-out-a-rake-task.aspx" title="How A .NET Developer Hacked Out a Rake Task"&gt;real Rake tasks&lt;/a&gt;&lt;/em&gt; that were special suited for building .net code. The result is &lt;a href="http://github.com/derickbailey/Albacore" title="Albacore: A Suite Of Rake Build Tasks For .NET Solutions"&gt;Albacore&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Using Rake for .net &lt;acronym title="In Real Life"&gt;IRL&lt;/acronym&gt;&lt;/h3&gt;
&lt;p&gt;I’ve been using Rake to &lt;a href="http://stevenharman.net/blog/archive/2009/05/29/being-lazy-with-rake.aspx" title="Being Lazy with Rake"&gt;be lazy&lt;/a&gt; for a while. And we, the &lt;a href="http://versionone.com/" title="VersionOne: Simplifying Software Delivery"&gt;VersionOne&lt;/a&gt; dudes &amp;amp; dudettes, have been using it to help automate our &lt;acronym title="Continuous Integration"&gt;CI&lt;/acronym&gt; builds for over a year now. And just last week we started ditching much of our hacky-Rake-script inventory in favor of more concise, tested, and readable Rake tasks via Albacore. &lt;/p&gt;
&lt;p&gt;During the migration I’ve run into a few small hitches here and there, but nothing that I couldn’t track down, write a test for, and fix within a couple of &lt;a href="http://www.infoq.com/news/2009/09/Pomodoro" title="Pomodoro - An Agile Approach to Time Management"&gt;tomatoes&lt;/a&gt;. In one case I discovered an issue, called Derick to confirm, suggested a fix, and had a new Albacore Gem published within a couple of hours. &lt;em&gt;Hawt!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Albacore already has a decent number of tasks baked in, and the list is growing all the time!&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://wiki.github.com/derickbailey/Albacore/assemblyinfotask"&gt;AssemblyInfoTask&lt;/a&gt; – Generate an AssemblyInfo.cs file. Currently only supports C# &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://wiki.github.com/derickbailey/Albacore/expandtemplatestask"&gt;ExpandTemplatesTask&lt;/a&gt; – expand template files with #{setting} markers, using YAML configuration files as the data &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://wiki.github.com/derickbailey/Albacore/ncoverconsoletask"&gt;NCoverConsoleTask&lt;/a&gt; – Run code coverage analysis through NCover 3’s NCover.Console &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://wiki.github.com/derickbailey/Albacore/ncoverreporttask"&gt;NCoverReportTask&lt;/a&gt; – Check code coverage and get detailed reports through NCover 3’s NCover.Reporting &lt;/li&gt;
    &lt;li&gt;NUnitTask – run NUnit test suites &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://wiki.github.com/derickbailey/Albacore/msbuildtask"&gt;MSBuildTask&lt;/a&gt; – Build a Visual Studio solution (.sln) or MSBuild file &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://wiki.github.com/derickbailey/Albacore/renametask"&gt;Rename Task&lt;/a&gt; – Rename a file &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://wiki.github.com/derickbailey/Albacore/sftptask"&gt;SftpTask&lt;/a&gt; – Upload a file to a remote server via secure FTP connection &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://wiki.github.com/derickbailey/Albacore/sqlcmdtask"&gt;SQLCmdTask&lt;/a&gt; – Run scripts and other commands through SQL Server’s “sqlcmd.exe” &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://wiki.github.com/derickbailey/Albacore/sshtask"&gt;SshTask&lt;/a&gt; – Run a command on a remote system via a secure shell connection &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://wiki.github.com/derickbailey/Albacore/ziptask"&gt;ZipTask&lt;/a&gt; – Package your build artifacts into a .zip for easier distribution       &lt;br /&gt;
    source data &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Contribute!&lt;/h3&gt;
&lt;p&gt;As we move more and more of our custom stuff over I’ll continue to add features to Albacore, enhancing the great work the core team is doing. In fact, I’m already planning a &lt;a href="http://github.com/derickbailey/Albacore/issues/#issue/27" title="Albacore::NAntTask - for migrating to Rake"&gt;NAnt task&lt;/a&gt; to help those folks in the process of migrating from an existing NAnt-based build script to Rake. Look for it soon!&lt;/p&gt;
&lt;h3&gt;Resources&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://github.com/derickbailey/Albacore" title="Albacore: A Suite of Rake Build Tasks For .Net Solutions"&gt;Albacore on GitHub&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://wiki.github.com/derickbailey/Albacore" title="Albacore Wiki"&gt;Albacore Wiki&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://codebetter.com/blogs/david_laribee/archive/2008/08/25/omg-rake.aspx" title="OMG Rake!"&gt;OMG Rake!&lt;/a&gt; – The original post which first inspired many to use Rake with .net &lt;/li&gt;
&lt;/ul&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:94fe6462-42ab-4f0b-85c1-56f57aeaa00f" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/rake"&gt;rake&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/ruby"&gt;ruby&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/.net"&gt;.net&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/open+source"&gt;open source&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/albacore"&gt;albacore&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fstevenharman.net%2fblog%2farchive%2f2009%2f11%2f23%2fomg-better-rake-for-.net.aspx"&gt;&lt;img border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fstevenharman.net%2fblog%2farchive%2f2009%2f11%2f23%2fomg-better-rake-for-.net.aspx" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://stevenharman.net/blog/aggbug/12831.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=GU1mac6-8_E:lzBMknuvLB8:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=GU1mac6-8_E:lzBMknuvLB8:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=GU1mac6-8_E:lzBMknuvLB8:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=GU1mac6-8_E:lzBMknuvLB8:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=GU1mac6-8_E:lzBMknuvLB8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=GU1mac6-8_E:lzBMknuvLB8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=GU1mac6-8_E:lzBMknuvLB8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=GU1mac6-8_E:lzBMknuvLB8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/stevenharman/~4/GU1mac6-8_E" height="1" width="1"/&gt;</description>
            <dc:creator>Steven Harman</dc:creator>
            <guid isPermaLink="false">http://stevenharman.net/blog/archive/2009/11/23/omg-better-rake-for-.net.aspx</guid>
            <pubDate>Mon, 23 Nov 2009 23:29:55 GMT</pubDate>
            <comments>http://stevenharman.net/blog/archive/2009/11/23/omg-better-rake-for-.net.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://stevenharman.net/blog/comments/commentRss/12831.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Reading Code is Key to Writing Good Code</title>
            <category>Me, On Software.</category>
            <link>http://stevenharman.net/blog/archive/2009/11/18/reading-code-is-key-to-writing-good-code.aspx</link>
            <description>&lt;p&gt;As humans we seem to have an innate desire for structure in our lives. Structure permeates through our societies; it’s found within our families, education systems, governments, etc. I suppose it’s no surprise then that we also seek to &lt;em&gt;force&lt;/em&gt; structure upon the work that we, as software developers, do.&lt;/p&gt;  &lt;p&gt;The problem is the work we do isn’t structured. It is not deterministic. There is no grand blue print, process, nor methodology that we can follow to pay dirt.&lt;/p&gt;  &lt;p&gt;We live in a chaotic and complex world that is itself continuously changing and adapting. &lt;/p&gt;  &lt;p&gt;Software product development is a creative activity taking place in the midst of that complex and adaptive world. So doesn’t it make sense that we, as software developers, might benefit from admitting that we are indeed doing creative, unstructured, adaptive work? &lt;em&gt;I sure think so!&lt;/em&gt;&lt;/p&gt;  &lt;h3&gt;Looking outward for inspiration&lt;/h3&gt;  &lt;p&gt;I’ve recently been looking outward to other creative professions and trades for inspiration and insights into how they work. One thing I’ve realized is that those folks spend an immense amount of time studying and seeking inspiration from the work of others both within and outside their own field.&lt;/p&gt;  &lt;p&gt;For example, a musician doesn’t just sit in his garage all day, banging out albums. He listens to and is influenced by the music of many other musicians. An author doesn’t simply site down and write manuscript after manuscript. She spends countless hours reading the classics, studying the words, flow, and style of other authors. The same thing goes for painters, actors, architects, etc. And all of these people are constantly immersing them selves in works outside their area; musicians reading Hemingway, singer/song writers studying Salvador Dali, painters listening to Mozart, cats and dogs living together…&lt;/p&gt;  &lt;p&gt;How arrogant of we programmers then to think that we won’t, or don’t, benefit from reading code written by – &lt;em&gt;gasp&lt;/em&gt; – someone else!&lt;/p&gt;  &lt;h3&gt;Read, learn, and be inspired&lt;/h3&gt;  &lt;p&gt;&lt;a title="read!" href="http://stevenharman.net/images/stevenharman_net/blog/WindowsLiveWriter/ReadingOthersCodeisKeytoWritingGoodCode_D4E4/text_2.jpg" rel="lightbox"&gt;&lt;img class="right" title="read!" alt="read!" src="http://stevenharman.net/images/stevenharman_net/blog/WindowsLiveWriter/ReadingOthersCodeisKeytoWritingGoodCode_D4E4/text_thumb.jpg" /&gt;&lt;/a&gt;In my experience we spend a great deal more time reading code than actually &lt;em&gt;writing&lt;/em&gt; it. Whether it be the code you wrote just a few minutes ago or something you’ve inherited and are now maintaining, you’re reading it. Of course, that’s only considering the motive of reading code because you’re currently working with.&lt;/p&gt;  &lt;p&gt;The greatest motivator for reading code is the opportunity it provides for learning and serving as a source of inspiration. Reading code exposes you to techniques, view points, styles, idioms, and algorithms that you may not have otherwise come across.&lt;/p&gt;  &lt;p&gt;In my own career it was by reading code written in Ruby that I first started to develop an appreciation for beauty and aesthetics in code. It also opened me to new ways of thinking about problems and exposed many pains and frictions with the techniques I had been using to that point.&lt;/p&gt;  &lt;h3&gt;Where to start?&lt;/h3&gt;  &lt;p&gt;I realize it’s probably obvious, but I’m going to say it anyhow – a great way to start reading other’s code is to pull down an Open Source project and dive in. Of course, that’s not to say that all Open Source code bases are necessarily examples of great code… so you might also want to leverage your network to find examples. Or, use your Google-fu to see what others are reading. Or maybe check out:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="Software Craftsmanship - Katas" href="http://katas.softwarecraftsmanship.org/"&gt;Katacasts&lt;/a&gt; by &lt;a title="Corey Haines" href="http://www.coreyhaines.com/" rel="friend met"&gt;Corey Haines&lt;/a&gt; and Chris Parsons &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.hanselman.com/blog/CategoryView.aspx?category=Source+Code"&gt;The Weekly Source Code&lt;/a&gt; series by &lt;a title="Scott Hanselman's Computer Zen" href="http://www.hanselman.com" rel="colleague met"&gt;Scott Hanselman&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;em&gt;other suggestions… leave a comment and I’ll update this list!&lt;/em&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:314ecfd1-ab6c-494c-8c28-c4ef1294ca02" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/programming" rel="tag"&gt;programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/improvement" rel="tag"&gt;improvement&lt;/a&gt;,&lt;a href="http://technorati.com/tags/open+source" rel="tag"&gt;open source&lt;/a&gt;,&lt;a href="http://technorati.com/tags/code" rel="tag"&gt;code&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fstevenharman.net%2fblog%2farchive%2f2009%2f11%2f18%2freading-code-is-key-to-writing-good-code.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%2fstevenharman.net%2fblog%2farchive%2f2009%2f11%2f18%2freading-code-is-key-to-writing-good-code.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://stevenharman.net/blog/aggbug/12830.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=5cOt1gXdlXY:y7rp3EaL3DM:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=5cOt1gXdlXY:y7rp3EaL3DM:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=5cOt1gXdlXY:y7rp3EaL3DM:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=5cOt1gXdlXY:y7rp3EaL3DM:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=5cOt1gXdlXY:y7rp3EaL3DM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=5cOt1gXdlXY:y7rp3EaL3DM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=5cOt1gXdlXY:y7rp3EaL3DM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=5cOt1gXdlXY:y7rp3EaL3DM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/stevenharman/~4/5cOt1gXdlXY" height="1" width="1"/&gt;</description>
            <dc:creator>Steven Harman</dc:creator>
            <guid isPermaLink="false">http://stevenharman.net/blog/archive/2009/11/18/reading-code-is-key-to-writing-good-code.aspx</guid>
            <pubDate>Wed, 18 Nov 2009 22:32:57 GMT</pubDate>
            <comments>http://stevenharman.net/blog/archive/2009/11/18/reading-code-is-key-to-writing-good-code.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://stevenharman.net/blog/comments/commentRss/12830.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Signing 3rd Party Assemblies without Recompiling</title>
            <category>Tips &amp;amp; Tricks.</category>
            <category>How-To-[Tech].</category>
            <link>http://stevenharman.net/blog/archive/2009/10/01/signing-3rd-party-assemblies-without-recompiling.aspx</link>
            <description>&lt;p&gt;We recently ran into an issue where upon pulling some new 3rd party dependencies into our product our &lt;abbr title="Continuous Integration"&gt;CI&lt;/abbr&gt; pipeline broke! I when I say broke, I mean it came to a screeching halt!&lt;/p&gt;  &lt;p&gt;We were totally unable to compile in &lt;code&gt;Release&lt;/code&gt; mode due to the new dependencies not being &lt;a title="Strong-Named Assemblies" href="http://msdn.microsoft.com/en-us/library/wd40t7ad.aspx"&gt;strongly named and signed&lt;/a&gt;. The error message in the build log was&lt;/p&gt;  &lt;blockquote class="stop"&gt;&lt;p&gt;&lt;code&gt;     CSC : error CS1577: Assembly generation failed -- Referenced assembly 'MvcContrib.FluentHtml' does not have a strong name   &lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;h3&gt;Sign it yourself!&lt;/h3&gt;  &lt;p&gt;&lt;a title="Eric Hexter" href="http://www.lostechies.com/blogs/hex/" rel="colleague met"&gt;Eric Hexter&lt;/a&gt;, of the MvcContrib team, pointed me to a &lt;a title="mvccontrib and mvccontrib.fluenthtml strong named?" href="http://groups.google.com/group/mvccontrib-discuss/browse_thread/thread/0f6549298b7a2b9d"&gt;thread explaining&lt;/a&gt; how to strongly-name and sign the assembly without having to recompile it. After a few failed attempts, I ended up using the &lt;abbr title="Intermediate Language"&gt;IL&lt;/abbr&gt; Disassembler and Assembler to get the job done. The template for a single &lt;abbr title="Dynamic-link library"&gt;DLL&lt;/abbr&gt; follows.&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&amp;gt; ildasm {path\to\assembly}.dll /out:{path\to\assembly}.il&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&amp;gt; move {path\to\assembly}.dll {path\to\assembly}.dll.orig&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;gt; ilasm {path\to\assembly}.il /dll /key={path\to\SigningKey}.snk&lt;/pre&gt;
&lt;/div&gt;

&lt;p /&gt;

&lt;p&gt;The second line could really just be a delete, but whatever. The point is, the third line is going to output a new DLL of the same name as the original, so get rid of the original first.&lt;/p&gt;

&lt;p&gt;After that, I committed the new assembly into our source tree, the CI build pipeline kicked off, and we were back to green!&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cf3914b3-51c1-4a6a-947a-f36114ab5591" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/.net" rel="tag"&gt;.net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/trick" rel="tag"&gt;trick&lt;/a&gt;,&lt;a href="http://technorati.com/tags/security" rel="tag"&gt;security&lt;/a&gt;&lt;/div&gt;&lt;img src="http://stevenharman.net/blog/aggbug/12822.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=HqePwwnoe0A:a05p0AXn1xs:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=HqePwwnoe0A:a05p0AXn1xs:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=HqePwwnoe0A:a05p0AXn1xs:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=HqePwwnoe0A:a05p0AXn1xs:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=HqePwwnoe0A:a05p0AXn1xs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=HqePwwnoe0A:a05p0AXn1xs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.stevenharman.net/~ff/stevenharman?a=HqePwwnoe0A:a05p0AXn1xs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/stevenharman?i=HqePwwnoe0A:a05p0AXn1xs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/stevenharman/~4/HqePwwnoe0A" height="1" width="1"/&gt;</description>
            <dc:creator>Steven Harman</dc:creator>
            <guid isPermaLink="false">http://stevenharman.net/blog/archive/2009/10/01/signing-3rd-party-assemblies-without-recompiling.aspx</guid>
            <pubDate>Thu, 01 Oct 2009 17:54:15 GMT</pubDate>
            <comments>http://stevenharman.net/blog/archive/2009/10/01/signing-3rd-party-assemblies-without-recompiling.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://stevenharman.net/blog/comments/commentRss/12822.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>
