<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Caffeinated Coder &#187; Tools</title>
	<atom:link href="http://www.caffeinatedcoder.com/category/8/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.caffeinatedcoder.com</link>
	<description>A Grande, Triple Shot, Non-Fat Core Dump by Russell Ball</description>
	<lastBuildDate>Tue, 16 Aug 2011 02:08:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>SSIS: The Ninth Circle of Merge Hell</title>
		<link>http://www.caffeinatedcoder.com/ssis-the-ninth-circle-of-merge-hell/</link>
		<comments>http://www.caffeinatedcoder.com/ssis-the-ninth-circle-of-merge-hell/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 02:52:56 +0000</pubDate>
		<dc:creator>Russell Ball</dc:creator>
				<category><![CDATA[Musings, Rants]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Version Control]]></category>

		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=1249</guid>
		<description><![CDATA[If there is such a thing as divine retribution, then I’m pretty sure that most of the people on Microsoft’s SSIS product team will be spending eons merging SSIS packages. I took the following screenshot from an issue I reviewed at my old job. The developer who resolved the issue only made two property changes [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>If there is such a thing as <a href="http://en.wikipedia.org/wiki/Divine_retribution">divine retribution</a>, then I’m pretty sure that most of the people on Microsoft’s <a href="http://msdn.microsoft.com/en-us/library/ms141026.aspx">SSIS</a> product team will be spending eons merging SSIS packages.</p>
<p>I took the following screenshot from an issue I reviewed at my old job. The developer who resolved the issue only made two property changes and realigned the boxes in the visual designer (can you say OCD), so I expected to see a small diff but instead saw this unholy mess.</p>
<p><a href="http://www.caffeinatedcoder.com/wp-content/uploads/2011/06/SSIS_Merge.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SSIS_Merge" border="0" alt="SSIS_Merge" src="http://www.caffeinatedcoder.com/wp-content/uploads/2011/06/SSIS_Merge_thumb.png" width="454" height="231" /></a></p>
<p>For those of you who are not familiar with <a href="http://www.scootersoftware.com/">BeyondCompare</a>, all those red bars on the left represent changes to the file (100’s of lines).</p>
<p>Since only two meaningful changes occurred in the revision, that means that the vast majority of it is noise related to tracking the positions of all the elements rendered by the visual designer.</p>
<p>Is the visual tooling here so essential that it is really worth losing the ability to track and comprehend how the code has changed over time?</p>
<p>What about the ability to collaborate or work in parallel on tasks?</p>
<p>At my last job it was extremely common for devs to work on different features at the same time that touched the same code files. Unless the exact same lines of code were changed, the devs were able to merge these files with little or no effort.</p>
<p>However, when it came to SSIS packages we were forced to ditch the last 10 years of software engineering best practices and instead expend vast amounts of effort in planning and endure ridiculous amounts of inefficiency just to ensure that no devs even thought about touching the same SSIS package at the same time.</p>
<p>If the dreaded merge window did ever appear during the <a href="http://codebetter.com/jeremymiller/2005/07/25/using-continuous-integration-better-do-the-check-in-dance/">check-in dance</a> on an SSIS package, devs habitually ditched the merge tool and instead relied on the extremely tedious and error-prone approach of manually reapplying all the changes through the visual designer. </p>
<p>I realize that there are quite a few developers who work in small shops and don’t have to deal with scenarios involving extensive collaboration and parallel development, but what about the case of a hotfix that happens in the middle of a multi-week project? </p>
<p>With a normal code file you would be to follow a simple mainline-release pattern, make a change to the release branch, then merge back into the mainline branch. </p>
<p>However, with SSIS the only alternatives are to either lose work, try to do some wonky work-around with a data load, or else just throw throw yourself at the mercy of your boss and try to convince them to delay the hotfix until the larger project is done. </p>
<p>Did nobody on the SSIS team consider these issues when designing the product or was SSIS really just meant to be a basic end-user tool like Access? </p>
<p>Perhaps this is one of those situations like with VSS where everyone who actually works at Microsoft uses some other ETL tool that allows them to follow basic modern software development practices. </p>
<p>Then again, maybe the development community as a whole has just become so blinded by the desire and expectation for visual tooling that it trumps all other considerations.</p>
<p>Whatever the reason, there is no way I would ever voluntarily use SSIS again. </p>
<p>Does anyone know of any more source control friendly alternatives?</p>
<img src="http://www.caffeinatedcoder.com/?ak_action=api_record_view&id=1249&type=feed" alt="" />

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinatedcoder.com/ssis-the-ninth-circle-of-merge-hell/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Slinging windows with WinSplit Revolution</title>
		<link>http://www.caffeinatedcoder.com/slinging-windows-with-winsplit-revolution/</link>
		<comments>http://www.caffeinatedcoder.com/slinging-windows-with-winsplit-revolution/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 03:13:40 +0000</pubDate>
		<dc:creator>Russell Ball</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.caffeinatedcoder.com/slinging-windows-with-winsplit-revolution/</guid>
		<description><![CDATA[Thanks to my new employer, I’m now happily a member of the three monitor club (better late than never). Three monitors are good, but three monitors plus WinSplit Revolution is freakin’ awesome. Snapping windows from monitor to monitor and resizing them from quadrant to quadrant with a quick keystroke actually makes me feel like this [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Thanks to my <a href="http://strenuus.com/">new employer</a>, I’m now happily a member of <a href="http://www.codinghorror.com/blog/2006/12/joining-the-prestigious-three-monitor-club.html">the three monitor club</a> (better late than never).</p>
<p>Three monitors are good, but three monitors plus <a href="http://www.winsplit-revolution.com/">WinSplit Revolution</a> is freakin’ awesome. </p>
<p>Snapping windows from monitor to monitor and resizing them from quadrant to quadrant with a quick keystroke actually makes me feel like this guy on a daily basis (minus…or at least with fewer…of the crazies). </p>
<p><a href="http://www.caffeinatedcoder.com/wp-content/uploads/2011/06/minority-report1.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="minority-report" border="0" alt="minority-report" src="http://www.caffeinatedcoder.com/wp-content/uploads/2011/06/minority-report_thumb1.jpg" width="405" height="230" /></a></p>
<p>Even the cheapest monitors are 22 inches these days, which means a lot of wasted space for most apps. With WinSplit you can quickly Ctl+Alt+ NumberPad your way any number of really efficient and hence more productive configurations.</p>
<p><a href="http://www.caffeinatedcoder.com/wp-content/uploads/2011/06/winRevolution_diagram1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="winRevolution_diagram" border="0" alt="winRevolution_diagram" src="http://www.caffeinatedcoder.com/wp-content/uploads/2011/06/winRevolution_diagram_thumb1.png" width="404" height="312" /></a></p>
<p>I find myself moving windows pretty fluidly around based on my activities and the types of apps that I have open (some demand more real-estate than others), but here’s an example of what one of my monitors often looks like.</p>
<p><a href="http://www.caffeinatedcoder.com/wp-content/uploads/2011/06/winRevolution_screenshot2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="winRevolution_screenshot" border="0" alt="winRevolution_screenshot" src="http://www.caffeinatedcoder.com/wp-content/uploads/2011/06/winRevolution_screenshot_thumb2.png" width="407" height="220" /></a></p>
<p>By the way, for those of you that are still monitor-challenged, I was able to do it for less than $250 (22” monitor plus USB powered video card since one of my monitors is a 17” laptop screen). </p>
<p>My former employer stubbornly resisted my best nagging efforts, but now I kick myself for not having just spent my own money to make myself more productive (and happier) at work.</p>
<img src="http://www.caffeinatedcoder.com/?ak_action=api_record_view&id=1174&type=feed" alt="" />

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinatedcoder.com/slinging-windows-with-winsplit-revolution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Essential Tool List Reloaded</title>
		<link>http://www.caffeinatedcoder.com/essential-tool-list-reloaded/</link>
		<comments>http://www.caffeinatedcoder.com/essential-tool-list-reloaded/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 19:09:01 +0000</pubDate>
		<dc:creator>Russell Ball</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=593</guid>
		<description><![CDATA[Here&#8217;s an update to my Essential Tool list that I published last year. I highlighted all of the additions and changes in red. I&#8217;m in JP&#8216;s Nothin&#8217; But NET course this week, so I&#8217;m guessing that I&#8217;ll have many new ones to add shortly. However, I&#8217;ll probably also be so worn out from the class [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an update to my Essential Tool list that I published last year. I highlighted all of the additions and changes in red.</p>
<p>I&#8217;m in <a href="http://blog.jpboodhoo.com/">JP</a>&#8216;s <a href="http://www.jpboodhoo.com/training.oo">Nothin&#8217; But NET course</a> this week, so I&#8217;m guessing that I&#8217;ll have many new ones to add shortly. However, I&#8217;ll probably also be so worn out from the class that I won&#8217;t be able to publish it for a while. The <a href="http://www.jpboodhoo.com/content/training/nothin_but_dot_net/public_course_training_preparation.doc">prep work</a> alone almost did me in&#8230;:-)</p>
<p>As always, any new suggestions are welcome.</p>
<p><strong>Development</strong></p>
<ul>
<li><strong>Day Job Programming Language &amp; RDBMS:</strong> C# &amp; SQL Server 2005</li>
<li><strong>Current Night Time Programming Environment:</strong> <a href="http://rubyonrails.org/">Ruby on Rails</a> &amp; <a href="http://www.mysql.com/">MySQL</a></li>
<li><strong>Unit Testing Framework:</strong> <a href="http://www.mbunit.com/">MbUnit</a></li>
<li><strong>Mock Framework</strong>: <a href="http://ayende.com/projects/rhino-mocks.aspx">Rhino.Mocks </a></li>
<li><strong>Unit Test Runner:</strong> <a href="http://www.testdriven.net/">TestDriven.NET</a></li>
<li><strong>Automated Web Testing:</strong> <a href="http://watin.sourceforge.net/">WatiN</a></li>
<li><strong>Web Framework:</strong> <a href="http://www.asp.net/mvc/">ASP.NET MVC</a></li>
<li><span style="color: #ff0000;"><strong>ORM:</strong> <a href="https://www.hibernate.org/343.html">NHibernate,</a> <a href="http://fluentnhibernate.org/">Fluent NHibernate</a> (mapping), and <a href="http://ayende.com/Blog/archive/2009/07/26/nhibernate-linq-1.0-released.aspx">LINQ to NHibernate</a> (querying)</span></li>
<li><strong>IoC Container:</strong> <a href="http://www.castleproject.org/container/gettingstarted/index.html">Castle&#8217;s Windsor</a></li>
<li><span style="color: #ff0000;"><strong>Refactoring Tool:</strong> <a href="http://www.jetbrains.com/resharper/">ReSharper</a></span></li>
<li><strong>Visual Studio Plugin: </strong><a href="http://www.roland-weigelt.de/ghostdoc/">GhostDoc</a></li>
<li><span style="color: #ff0000;"><strong>Powershell Editor:</strong> <a href="http://www.powergui.org/index.jspa">PowerGUI</a></span></li>
<li><strong>Light-Weight Editor</strong>: <a href="http://www.notepad2.com/">Notepad2</a>, <a href="http://www.scintilla.org/SciTE.html">SCiTE</a></li>
<li><span style="color: #ff0000;"><strong>Light-Weight Query Analyzer:</strong> <a href="http://www.albahari.com/queryexpress.aspx">Query Express</a></span></li>
<li><strong>Regex:</strong> <a href="http://www.ultrapico.com/Expresso.htm">Espresso</a></li>
</ul>
<p><strong>Code Analysis</strong></p>
<ul>
<li><strong>Code Coverage:</strong> <a href="http://www.ncover.com/">NCover</a></li>
<li><strong>Standards Compliance:</strong> <a href="http://www.ncover.com/">FxCop</a></li>
<li><strong>Structural Analysis:</strong> <a href="http://www.ndepend.com/">NDepend</a></li>
</ul>
<p><strong>Development Lifecycle</strong></p>
<ul>
<li><strong>Source Control:</strong> <a href="http://www.visualsvn.com/">VisualSVN Server </a>&amp; <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a></li>
<li><span style="color: #ff0000;"><strong>Source Control Search</strong>: <a href="http://www.atlassian.com/software/fisheye/">Fisheye</a></span></li>
<li><strong>Build:</strong> <a href="http://nant.sourceforge.net/">Nant</a>, <a href="http://www.kinook.com/VisBuildPro/">Visual Build</a></li>
<li><span style="color: #ff0000;"><strong>Continuous Integration:</strong> <a href="http://www.jetbrains.com/teamcity/">Team City</a></span></li>
<li><strong>Issue Tracking:</strong> <a href="http://www.atlassian.com/software/jira/">JIRA</a></li>
<li><strong>Document Management:</strong> <a href="http://www.atlassian.com/software/confluence/">Confluence</a></li>
<li><strong>Visual Mockups: </strong><a href="http://balsamiq.com/">Balsamiq</a></li>
</ul>
<p><strong>Debugging</strong></p>
<ul>
<li><strong>Dissasembly:</strong> <a href="http://www.red-gate.com/products/reflector/">Reflector</a></li>
<li><span style="color: #ff0000;"><strong>Javascript:</strong> <a href="http://getfirebug.com/">Firebug</a></span></li>
<li><strong>Web Performance:</strong> <a href="http://developer.yahoo.com/yslow/">YSlow</a></li>
<li><strong>Locked Files:</strong> <a href="http://ccollomb.free.fr/unlocker/">Unlocker</a></li>
<li><span style="color: #ff0000;"><strong>HTTP Request</strong>: <a href="http://getfirebug.com/">Firebug</a></span></li>
<li><span style="color: #ff0000;"><strong>Registry and File Access:</strong> <a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx">ProcessMonitor</a></span></li>
<li><strong>Open Ports:</strong> <a href="http://www.nirsoft.net/utils/cports.html">CPorts</a></li>
<li><strong>Slow Windows Start-Up Time</strong>: <a href="http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx">AutoRuns</a></li>
<li><span style="color: #ff0000;"><strong>Assembly Binding</strong>: <a href="http://msdn.microsoft.com/en-us/library/e74a18c4(VS.71).aspx">Fusion Log Viewer</a></span></li>
</ul>
<p><strong>Utility</strong></p>
<ul>
<li><span style="color: #ff0000;"><strong>Application Launcher</strong>: <a href="http://www.launchy.net/">Launchy</a></span></li>
<li><span style="color: #ff0000;"><strong>Custom Hotkeys</strong>: <a href="http://www.autohotkey.com/">AutoHotkey</a></span></li>
<li><strong>Compression:</strong> <a href="http://www.7-zip.org/">7Zip</a></li>
<li><strong>PDF:</strong> <a href="http://www.foxitsoftware.com/pdf/reader/">Foxit Reader</a></li>
<li><strong>FTP:</strong> <a href="http://filezilla-project.org/">FileZilla</a></li>
<li><span style="color: #ff0000;"><strong>Desktop Search:</strong> <a href="http://www.voidtools.com/">Everything</a></span></li>
<li><strong>Password Management: </strong><a href="http://keepass.info/">KeePass</a></li>
<li><strong>Terminal Sessions:</strong> <a href="http://www.code4ward.net/main/">RoyalTS</a></li>
<li><span style="color: #ff0000;"><strong>Merge &amp; Diff:</strong> <a href="http://www.scootersoftware.com/">Beyond Compare</a></span></li>
<li><strong>Screen Capture:</strong> <a href="http://www.techsmith.com/screen-capture.asp">Snag-It</a></li>
<li><strong>Disk Space Analysis:</strong> <a href="http://windirstat.info/">WinDirStat</a></li>
<li><span style="color: #ff0000;"><strong>Monitor Management:</strong> <a href="http://www.realtimesoft.com/ultramon/">UltraMon</a></span></li>
<li><span style="color: #ff0000;"><strong>Password Recovery:</strong> <a href="http://www.gtopala.com/">SIW</a></span></li>
<li><span style="color: #ff0000;"><strong>Mounting ISO Images:</strong> <a href="http://www.slysoft.com/en/virtual-clonedrive.html">Virtual Clone Drive</a></span></li>
<li><span style="color: #ff0000;"><strong>Bulk File Copy:</strong> <a href="http://www.microsoft.com/Downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&amp;displaylang=en">RoboCopy</a></span></li>
</ul>
<p><strong>MISC</strong></p>
<ul>
<li><strong>Command Shell:</strong> <a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx">PowerShell</a></li>
<li><strong>Graphics:</strong> <a href="http://www.getpaint.net/">Paint.NET</a></li>
<li><span style="color: #ff0000;"><strong>Virtualization:</strong> <a href="http://www.microsoft.com/windows/virtual-pc/">Virtual PC</a></span></li>
<li><strong>Browser:</strong> <a href="http://www.mozilla.com/en-US/firefox/upgrade.html">Firefox</a></li>
<li><strong>Favorite FireFox Plugin: </strong><a href="https://addons.mozilla.org/en-US/firefox/addon/39">Gestures</a></li>
<li><strong>Blogging Client:</strong> <a href="http://windowslivewriter.spaces.live.com/blog/cns!D85741BB5E0BE8AA!1650.entry">LiveWriter</a></li>
<li><strong>Blogging Engine:</strong> <a href="http://wordpress.org/">WordPress</a></li>
<li><strong>Notes:</strong> <a href="http://office.microsoft.com/en-us/onenote/default.aspx">OneNote</a></li>
</ul>
<p><strong>Essential WebSites</strong></p>
<ul>
<li><strong>RSS Reader:</strong> <a href="http://www.google.com/reader/view/">Google Reader</a></li>
<li><strong>Task Management: </strong><a href="http://rememberthemilk.com">RememberTheMilk</a></li>
<li><strong>Bookmarking:</strong> <a href="http://delicious.com/">Del.ic.ious</a></li>
</ul>
<img src="http://www.caffeinatedcoder.com/?ak_action=api_record_view&id=593&type=feed" alt="" />

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinatedcoder.com/essential-tool-list-reloaded/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The 10 Second Visual Studio Makeover</title>
		<link>http://www.caffeinatedcoder.com/the-10-second-visual-studio-makeover/</link>
		<comments>http://www.caffeinatedcoder.com/the-10-second-visual-studio-makeover/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 18:20:30 +0000</pubDate>
		<dc:creator>Russell Ball</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=494</guid>
		<description><![CDATA[I blame it on being forced to sit through one too many episodes of my wife’s favorite TV show, What Not To Wear, but I finally became inspired to retire my old, tired-looking default Visual Studio color scheme in favor of one of the hipper ones with a black background. It turned out to be [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I blame it on being forced to sit through one too many episodes of my wife’s  favorite TV show, <a href="http://tlc.discovery.com/fansites/whatnottowear/whatnottowear.html">What  Not To Wear</a>, but I finally became inspired to retire my old, tired-looking  default Visual Studio color scheme in favor of one of the hipper ones with a  black background.</p>
<p>It turned out to be much easier than I thought since several bloggers already  went to the trouble of <a href="http://www.hanselman.com/blog/VisualStudioProgrammerThemesGallery.aspx">exporting  and publishing their favorite Visual Studio settings files</a>, which you can  import by simply selecting the ‘Import and Export Settings’ menu option under  the Tools menu.</p>
<p>My favorites are the ones that try to mimic the Vibrant Ink theme from <a href="http://macromates.com/"> TextMate</a>, the popular Rails IDE for the Mac. Rob Connery posted a <a href="http://blog.wekeroad.com/2007/10/17/textmate-theme-for-visual-studio-take-2/">nice  version</a>, but I finally settled on the one published by John Lam <a href="http://www.iunknown.com/2007/06/vibrant_ink_vis.html">here</a>.</p>
<p>Here’s a screen shot of me perusing <a href="http://code.google.com/p/codecampserver/">CodeCampServer</a>, the most  excellent sample app for the upcoming <a href="http://www.manning.com/palermo/">ASP.NET MVC in Action</a> book from  Manning and that’s being written by <a href="http://codebetter.com/blogs/jeffrey.palermo/">Jeffrey Palermo</a>, <a href="http://flux88.com/">Ben Scheirman</a>, and <a href="http://www.lostechies.com/blogs/jimmy_bogard/">Jimmy Bogard</a>.</p>
<p><img class="aligncenter size-full wp-image-495" title="vs-theme-screenshot" src="http://www.caffeinatedcoder.com/wp-content/uploads/2009/01/vs-theme-screenshot.png" alt="vs-theme-screenshot" width="450" height="248" /></p>
<p>Mostly I’m happy I made the switch because I think the new color schema is  easier on my eye, but I also can’t help but notice that I feel slightly more  positive towards my otherwise homely and rather bloated IDE.</p>
<p>I guess the moral of the story is that you should never underestimate the power of lipstick when confronted with a pig.</p>
<img src="http://www.caffeinatedcoder.com/?ak_action=api_record_view&id=494&type=feed" alt="" />

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinatedcoder.com/the-10-second-visual-studio-makeover/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Don’t Be a Cotton-Headed-Ninny-Muggins When Copying Files</title>
		<link>http://www.caffeinatedcoder.com/don%e2%80%99t-be-a-cotton-headed-ninny-muggins-when-copying-files/</link>
		<comments>http://www.caffeinatedcoder.com/don%e2%80%99t-be-a-cotton-headed-ninny-muggins-when-copying-files/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 07:19:28 +0000</pubDate>
		<dc:creator>Russell Ball</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=470</guid>
		<description><![CDATA[I just submitted a feature request to Microsoft. I thought that the perhaps the Windows Explorer file copy dialog could be a bit more truthful and instead of displaying something like this whenever a user is trying to copy something over 100 MB in size through Windows Explorer… …it should instead show something like this&#8230; [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I just submitted a feature request to Microsoft.</p>
<p>I thought that the perhaps the Windows Explorer file copy dialog could be a bit more truthful and instead of displaying something like this whenever a user is trying to copy something over 100 MB in size through Windows Explorer…</p>
<p><a href="$WindowsCopyDialog[2].png"><img class="aligncenter size-full wp-image-471" title="windowscopydialog" src="http://www.caffeinatedcoder.com/wp-content/uploads/2009/01/windowscopydialog.png" alt="windowscopydialog" width="450" height="212" /><br />
</a></p>
<p>…it should instead show something like this&#8230;</p>
<p><a href="$WindowsCopyDialog_2[2].png"><img class="aligncenter size-full wp-image-472" title="windowscopydialog_2" src="http://www.caffeinatedcoder.com/wp-content/uploads/2009/01/windowscopydialog_2.png" alt="windowscopydialog_2" width="450" height="212" /><br />
</a></p>
<p>Just to be safe,  I sent the above mockup directly to Bill Gates. I know he doesn’t run things in Redmond anymore but I figured he probably still eats a half dozen alpha-geeks raw for breakfast every morning and could surely make this happen.</p>
<p>In the meantime, I highly recommend that you find some other utility to hold you over whenever you have to perform a large copy job.</p>
<p>I used <a href="http://en.wikipedia.org/wiki/Robocopy">RoboCopy</a> this weekend when I was forced to do an enormous one over a slow and unreliable VPN and was pleasantly surprised by how fast and robust it was.</p>
<p>Not only did it magically pick up where it left off every time I reconnected after a network failure, but it was even smart enough to only copy over missing files when I reran it this morning after discovering a few files were missing when I did a BeyondCompare sanity check (I didn’t know about the /R switch). I was prepared for several more hours of copying but I was greeted with this after only about 30 seconds.</p>
<p><a href="$robocopy[2].png"><img class="aligncenter size-full wp-image-473" title="robocopy" src="http://www.caffeinatedcoder.com/wp-content/uploads/2009/01/robocopy.png" alt="robocopy" width="450" height="270" /></a></p>
<p><a href="$robocopy[2].png"><br />
</a>Not too shabby.</p>
<p>Moreover, there are a ton of other switches that allow fine grained control over how file attributes and ACL’s are copied over.</p>
<p>Despite it being an unassuming command line utility that ships with the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&amp;displaylang=en">Windows Server 2003 Resource Kit Tools</a>, RoboCopy would clearly make Windows Explorer its bitch if they ever had it out in a File Copy Death Match.</p>
<p>Of course this is but one of a million good file copy options. The <a href="http://www.hanselman.com/blog/">ToolMeister</a> himself wrote about his favorites <a href="http://www.hanselman.com/blog/XCopyConsideredHarmfulRobocopyOrXXCopyOrSyncBack.aspx">here</a> and his HanselFollowers provided dozens of other good options in the comment section.</p>
<p>Whatever you decide to use for your future large copy jobs, just don’t be a <a href="http://www.urbandictionary.com/define.php?term=cotton-headed-ninny-muggins">cotton-headed-ninny-muggins</a> and rely on Windows Explorer.</p>
<img src="http://www.caffeinatedcoder.com/?ak_action=api_record_view&id=470&type=feed" alt="" />

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinatedcoder.com/don%e2%80%99t-be-a-cotton-headed-ninny-muggins-when-copying-files/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Finding a Good Cheap Home for Side Projects with Unfuddle</title>
		<link>http://www.caffeinatedcoder.com/finding-a-good-cheap-home-for-side-projects/</link>
		<comments>http://www.caffeinatedcoder.com/finding-a-good-cheap-home-for-side-projects/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 19:17:15 +0000</pubDate>
		<dc:creator>Russell Ball</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=376</guid>
		<description><![CDATA[If you&#8217;re looking for an external, non-open source home for your code or a light-weight, web-based project management tool, I highly recommend using Unfuddle. Actually, up until recently I wasn&#8217;t all that crazy about this site. We had been using it at work for the last year as a project management tool for external clients [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re looking for an external, non-open source home for your code or a light-weight, web-based project management tool, I highly recommend using <a href="http://www.unfuddle.com">Unfuddle</a>. </p>
<p>Actually, up until recently I wasn&#8217;t all that crazy about this site. We had been using it at work for the last year as a project management tool for external clients who wanted to integrate with our web services and it seemed rather limited and clunky when compared to <a href="http://www.atlassian.com/software/jira/">JIRA</a>, the most excellent issue tracking tool we use internally (there were various internal constraints that prevented us from using JIRA externally).</p>
<p>It wasn&#8217;t really until I started searching for an external location for my <a href="http://www.dospecescreations.com">DosPecesCreation</a> repository, the project I&#8217;ve been <a href="http://www.caffeinatedcoder.com/dospecescreations-some-initial-thoughts-on-building-my-first-rails-app/">working on in my spare time recently</a>, that I gained a new appreciation for Unfuddle. </p>
<p>Most of the free options for externally hosted repositories out there seem to be limited to open source projects, but Unfuddle offers a private plan for free that provides an unlimited number of Subversion or Git repositories along with 1 associated project for issue tracking and access for 2 people. </p>
<p>By moving my code from a local repository to unfuddle, I was not only able to work from multiple computers without the headaches involved in using a tool like <a href="https://sync.live.com">Live Sync</a> (formerly FolderShare) in conjunction with SVN, but I was also able to offload much of the CSS and HTML work to my wife. Before she had been sending me email approximations of the changes she wanted, but with a quick 5 minute tutorial on <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a> along with some automated scripts and shortcuts to set up her Rails environment, she was able to make the changes directly herself.</p>
<p>Of course from my lovely stakeholder&#8217;s perspective, that that mostly just meant that I now had more time to work on the now rather large list of programming-related feature requests that she had thought up for version 2.0 of the site.</p>
<p>Luckily, Unfuddle has helped with this too. It dramatically increased my ability to organize and group tasks while adding only a minimal amount of overhead. The last thing I want when I am working on a project in my free time is anything remotely heavy weight in terms of process.</p>
<p>While this minimalist approach might not work as well in heavily regulated corporate environments, it fits beautifully for small, agile teams and especially for small 1-2 developer projects.</p>
<p>Here&#8217;s a screenshot of the current tickets broken down by milestones (which we decided to base upon 2 week release cycles). As you&#8217;ll notice, I&#8217;ll be spending some nights in the near future working on caching and implementing all of <a href="http://developer.yahoo.com/yslow/">YSlow&#8217;s</a> suggestions in order to speed up the site a bit. </p>
<p><a href="http://www.caffeinatedcoder.com/img/ManagingSmallProjectsontheCheapwithUnfud_99C4/DPC_Unfuddle.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="311" alt="DPC_Unfuddle" src="http://www.caffeinatedcoder.com/img/ManagingSmallProjectsontheCheapwithUnfud_99C4/DPC_Unfuddle_thumb.png" width="454" border="0"></a></p>
<p>I had a sneaking suspicion that my nights would be busy for quite some time, but now thanks to Unfuddle I have a much clearer picture of the extent of my servitude. </p>
<p>Looks like I&#8217;ll have free time again sometime in the fall of 2014&#8230;Thanks unfuddle!</p>
<img src="http://www.caffeinatedcoder.com/?ak_action=api_record_view&id=376&type=feed" alt="" />

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinatedcoder.com/finding-a-good-cheap-home-for-side-projects/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>My Essential Tool List</title>
		<link>http://www.caffeinatedcoder.com/my-essential-tool-list/</link>
		<comments>http://www.caffeinatedcoder.com/my-essential-tool-list/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 07:34:23 +0000</pubDate>
		<dc:creator>Russell Ball</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.caffeinatedcoder.com/my-essential-tool-list/</guid>
		<description><![CDATA[My heart skipped a few beats the other day due to that awful hard drive clicking sound that usually precedes a hard disk failure. So, in honor of the impending machine rebuild that I will likely face soon, I thought I would create my own essential tool list to document my current thoughts on the [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>My heart skipped a few beats the other day due to that awful hard drive clicking sound that usually precedes a hard disk failure.</p>
<p>So, in honor of the impending machine rebuild that I will likely face soon, I thought I would create my own essential tool list to document my current thoughts on the matter.</p>
<p>I am not so ambitious as to try to follow in the footsteps of <a href="http://www.hanselman.com/blog/">Scott Hanselman</a> with his <a href="http://www.hanselman.com/blog/ScottHanselmans2007UltimateDeveloperAndPowerUsersToolListForWindows.aspx">famous ultimate tool list</a> (which I still consult on a regular basis) and create an exhaustive survey of almost every good tool out there. Instead, I opted to only list my current tool of choice for a particular category and task.</p>
<p>I really like experimenting with new tools and am usually content to use any number of tools for a given task. However, I also try to simplify my life as much as possible by only keeping what I think is the best tool for a particular category of tasks installed on my computer at one time.</p>
<p>For example, I used to be a big fan of SlickRun and WinKey to launch my programs. But as soon as I discovered Launchy and AutoHotKey and came to the conclusion that they were better, I uninstalled SlickRun and WinKey lickety split. I still think they are both good tools, but who needs all the clutter&#8230;</p>
<p>I definitely welcome any suggestions for improvements to my current lineup.</p>
<p><strong>Development</strong></p>
<ul>
<li><strong>Day Job Programming Language &amp; RDBMS:</strong> C# &amp; SQL Server 2005</li>
<li><strong>Current Night Time Programming Environment:</strong> <a href="http://rubyonrails.org/">Ruby on Rails</a> &amp; <a href="http://www.mysql.com/">MySQL</a></li>
<li><strong>Unit Testing Framework:</strong> <a href="http://www.mbunit.com/">MbUnit</a></li>
<li><strong>Mock Framework</strong>: <a href="http://ayende.com/projects/rhino-mocks.aspx">Rhino.Mocks </a></li>
<li><strong>Unit Test Runner:</strong> <a href="http://www.testdriven.net/">TestDriven.NET</a></li>
<li><strong>Automated Web Testing:</strong> <a href="http://watin.sourceforge.net/">WatiN</a></li>
<li><strong>Web Framework:</strong> <a href="http://www.asp.net/mvc/">ASP.NET MVC</a></li>
<li><strong>ORM:</strong> <a href="https://www.hibernate.org/343.html">NHibernate,</a> <a href="http://fluentnhibernate.org/">Fluent NHibernate</a> (mapping), and <a href="http://ayende.com/Blog/archive/2009/07/26/nhibernate-linq-1.0-released.aspx">LINQ to NHibernate</a> (querying)</li>
<li><strong>IoC Container:</strong> <a href="http://www.castleproject.org/container/gettingstarted/index.html">Castle&#8217;s Windsor</a></li>
<li><strong>Refactoring Tool:</strong> <a href="http://www.jetbrains.com/resharper/">ReSharper</a></li>
<li><strong>Visual Studio Plugin: </strong><a href="http://www.roland-weigelt.de/ghostdoc/">GhostDoc</a></li>
<li><strong>Powershell Editor:</strong> <a href="http://www.powergui.org/index.jspa">PowerGUI</a></li>
<li><strong>Light-Weight Editor</strong>: <a href="http://www.notepad2.com/">Notepad2</a>, <a href="http://www.scintilla.org/SciTE.html">SCiTE</a></li>
<li><strong>Light-Weight Query Analyzer:</strong> <a href="http://www.albahari.com/queryexpress.aspx">Query Express</a></li>
<li><strong>Regex:</strong> <a href="http://www.ultrapico.com/Expresso.htm">Espresso</a></li>
</ul>
<p><strong>Code Analysis</strong></p>
<ul>
<li><strong>Code Coverage:</strong> <a href="http://www.ncover.com/">NCover</a></li>
<li><strong>Standards Compliance:</strong> <a href="http://www.ncover.com/">FxCop</a></li>
<li><strong>Structural Analysis:</strong> <a href="http://www.ndepend.com/">NDepend</a></li>
</ul>
<p><strong>Development Lifecycle</strong></p>
<ul>
<li><strong>Source Control:</strong> <a href="http://www.visualsvn.com/">VisualSVN Server </a>&amp; <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a></li>
<li><strong>Source Control Search</strong>: <a href="http://www.atlassian.com/software/fisheye/">Fisheye</a></li>
<li><strong>Build:</strong> <a href="http://nant.sourceforge.net/">Nant</a>, <a href="http://www.kinook.com/VisBuildPro/">Visual Build</a></li>
<li><strong>Continuous Integration:</strong> <a href="http://www.jetbrains.com/teamcity/">Team City</a></li>
<li><strong>Issue Tracking:</strong> <a href="http://www.atlassian.com/software/jira/">JIRA</a></li>
<li><strong>Document Management:</strong> <a href="http://www.atlassian.com/software/confluence/">Confluence</a></li>
<li><strong>Visual Mockups: </strong><a href="http://balsamiq.com/">Balsamiq</a></li>
</ul>
<p><strong>Debugging</strong></p>
<ul>
<li><strong>Dissasembly:</strong> <a href="http://www.red-gate.com/products/reflector/">Reflector</a></li>
<li><strong>Javascript:</strong> <a href="http://getfirebug.com/">Firebug</a></li>
<li><strong>Web Performance:</strong> <a href="http://developer.yahoo.com/yslow/">YSlow</a></li>
<li><strong>Locked Files:</strong> <a href="http://ccollomb.free.fr/unlocker/">Unlocker</a></li>
<li><strong>HTTP Request</strong>: <a href="http://getfirebug.com/">Firebug</a></li>
<li><strong>RegistryFileProcess:</strong> <a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx">ProcessMonitor</a></li>
<li><strong>Open Ports:</strong> <a href="http://www.nirsoft.net/utils/cports.html">CPorts</a></li>
<li><strong>Slow Windows Start-Up Time</strong>: <a href="http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx">AutoRuns</a></li>
<li><strong>Assembly Binding</strong>: <a href="http://msdn.microsoft.com/en-us/library/e74a18c4(VS.71).aspx">Fusion Log Viewer</a></li>
</ul>
<p><strong>Utility</strong></p>
<ul>
<li><strong>Application Launcher</strong>: <a href="http://www.launchy.net/">Launchy</a></li>
<li><strong>Custom Hotkeys</strong>: <a href="http://www.autohotkey.com/">AutoHotkey</a></li>
<li><strong>Compression:</strong> <a href="http://www.7-zip.org/">7Zip</a></li>
<li><strong>PDF:</strong> <a href="http://www.foxitsoftware.com/pdf/reader/">Foxit Reader</a></li>
<li><strong>FTP:</strong> <a href="http://filezilla-project.org/">FileZilla</a></li>
<li><strong>Desktop Search:</strong> <a href="http://www.voidtools.com/">Everything</a></li>
<li><strong>Password Management: </strong><a href="http://keepass.info/">KeePass</a></li>
<li><strong>Terminal Sessions:</strong> <a href="http://www.code4ward.net/main/">RoyalTS</a></li>
<li><strong>Merge &amp; Diff:</strong> <a href="http://www.scootersoftware.com/">Beyond Compare</a></li>
<li><strong>Screen Capture:</strong> <a href="http://www.techsmith.com/screen-capture.asp">Snag-It</a></li>
<li><strong>Disk Space Analysis:</strong> <a href="http://windirstat.info/">WinDirStat</a></li>
<li><strong>Monitor Management:</strong> <a href="http://www.realtimesoft.com/ultramon/">UltraMon</a></li>
<li><strong>Password Recovery:</strong> <a href="http://www.gtopala.com/">SIW</a></li>
<li><strong>Mounting ISO Images:</strong> <a href="http://www.slysoft.com/en/virtual-clonedrive.html">Virtual Clone Drive</a></li>
<li><strong>Bulk File Copy:</strong> <a href="http://www.microsoft.com/Downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&amp;displaylang=en">RoboCopy</a></li>
</ul>
<p><strong>MISC</strong></p>
<ul>
<li><strong>Command Shell:</strong> <a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx">PowerShell</a></li>
<li><strong>Graphics:</strong> <a href="http://www.getpaint.net/">Paint.NET</a></li>
<li><strong>Virtualization:</strong> <a href="http://www.microsoft.com/windows/virtual-pc/">Virtual PC</a></li>
<li><strong>Browser:</strong> <a href="http://www.mozilla.com/en-US/firefox/upgrade.html">Firefox</a></li>
<li><strong>Favorite FireFox Plugin: </strong><a href="https://addons.mozilla.org/en-US/firefox/addon/39">Gestures</a></li>
<li><strong>Blogging Client:</strong> <a href="http://windowslivewriter.spaces.live.com/blog/cns!D85741BB5E0BE8AA!1650.entry">LiveWriter</a></li>
<li><strong>Blogging Engine:</strong> <a href="http://wordpress.org/">WordPress</a></li>
<li><strong>Notes:</strong> <a href="http://office.microsoft.com/en-us/onenote/default.aspx">OneNote</a></li>
</ul>
<p><strong>Essential WebSites</strong></p>
<ul>
<li><strong>RSS Reader:</strong> <a href="http://www.google.com/reader/view/">Google Reader</a></li>
<li><strong>Task Management: </strong><a href="http://rememberthemilk.com">RememberTheMilk</a></li>
<li><strong>Bookmarking:</strong> <a href="http://delicious.com/">Del.ic.ious</a></li>
</ul>
<img src="http://www.caffeinatedcoder.com/?ak_action=api_record_view&id=340&type=feed" alt="" />

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinatedcoder.com/my-essential-tool-list/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>On Proper Role of Mockup Tools and My New Tool Crush</title>
		<link>http://www.caffeinatedcoder.com/on-proper-role-of-mockup-tools-and-my-new-tool-crush/</link>
		<comments>http://www.caffeinatedcoder.com/on-proper-role-of-mockup-tools-and-my-new-tool-crush/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 03:17:36 +0000</pubDate>
		<dc:creator>Russell Ball</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.caffeinatedcoder.com/?p=321</guid>
		<description><![CDATA[In the spirit of LEAN and attempting to trim waste from existing processes, I&#8217;ve been pondering the optimal amount of effort to spend doing mockups lately. By mockups, I just mean a quick and dirty approximation of what the GUI will look like once development is complete. Mockups are usually considered disposable artifacts that are [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>In the spirit of <a href="http://en.wikipedia.org/wiki/Lean_manufacturing">LEAN</a> and attempting to <a href="http://codebetter.com/blogs/raymond.lewallen/archive/2008/09/04/identifing-waste-the-lean-way.aspx">trim waste from existing processes</a>, I&#8217;ve been pondering the optimal amount of effort to spend doing mockups lately.</p>
<p>By mockups, I just mean a quick and dirty approximation of what the GUI will look like once development is complete. Mockups are usually considered disposable artifacts that are done to validate requirements and draw out those inevitable changes earlier rather than later in order to minimize the impact to the project timeline and budget.</p>
<p>The amount of time and effort developers devote to doing mockups can vary greatly. </p>
<p>Some developers prefer quick and dirty drawings that can be done on the spur of the moment using napkins and whiteboards. Others use expensive graphic design tools or even code with simple events that use hard coded data to simulate dynamic functionality.</p>
<p>The trick is to waste the least amount of time working on non-production code while still giving customers an inexpensive way to play around with design, usability, and workflow. </p>
<p>Sometimes that is not so easy to do.</p>
<p>Generally, I favor the more Agile approach to developer artifacts and opt for the more lighter weight approaches whenever possible. If you use short iteration cycles (2-3 weeks) that end in user acceptance testing, communicate frequently with user, and use Test Driven Development, then making rapid changes to code shouldn&#8217;t be nearly as expensive to do as it used to be in the old Waterfall days. Under these circumstances, it just doesn&#8217;t make as much sense to spend much time on mockups.</p>
<p>I only have 2 problems:</p>
<ol>
<li>I&#8217;m no longer really working in an agile environment. </li>
<li>I really suck at drawing on napkins and whiteboards.</li>
</ol>
<p>Fortunately, my team just started using <a href="http://balsamiq.com/">Balsamiq</a>, an amazing light-weight, yet still professional looking, mockup tool built on <a href="http://www.adobe.com/products/air/">Adobe Air</a>. </p>
<p>It&#8217;s has a slick, web 2.0 style interface and within minutes I was able to build mockups that looked like these without even having to sludge through a tutorial first.</p>
<p>Sample mockup of Desktop App.</p>
<p><a href="http://www.caffeinatedcoder.com/img/TheProperRoleofMockupTools_AD66/balsamiq_website.gif"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="450" alt="balsamiq_website" src="http://www.caffeinatedcoder.com/img/TheProperRoleofMockupTools_AD66/balsamiq_website_thumb.gif" width="504" border="0"></a></p>
<p>Sample mockup of website taken</p>
<p><a href="http://www.caffeinatedcoder.com/img/TheProperRoleofMockupTools_AD66/balsamiq_deskop.gif"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="438" alt="balsamiq_deskop" src="http://www.caffeinatedcoder.com/img/TheProperRoleofMockupTools_AD66/balsamiq_deskop_thumb.gif" width="504" border="0"></a></p>
<p>See more samples <a href="http://balsamiq.com/products/mockups/examples">here</a>.</p>
<p>I especially like how the mockups purposefully look like sketches, which helps avoid the old &#8216;this-looks-so-real-that-you-must-almost-be-done&#8217; syndrome that sometimes bites developers in the butt when they do too good of job on mockups.</p>
<p>This tool works especially well if you have <a href="http://www.atlassian.com/software/confluence/">Confluence</a> or <a href="http://www.atlassian.com/software/jira/">JIRA</a> because it integrates seemlessly via a plugin.</p>
<p>Unfortunately, this is not an open source tool, but in my opinion the cost was well worth it. It was under $500 for a site Confluence license for our whole team, but it looks like you can also get a stand-alone desktop version for $80 a piece.</p>
<p>I highly recommend taking a few minutes to play with the online demo <a href="http://balsamiq.com/demos/mockups/Mockups.html">here</a>.</p>
<img src="http://www.caffeinatedcoder.com/?ak_action=api_record_view&id=321&type=feed" alt="" />

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinatedcoder.com/on-proper-role-of-mockup-tools-and-my-new-tool-crush/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Battling Password Chaos</title>
		<link>http://www.caffeinatedcoder.com/battling-password-chaos/</link>
		<comments>http://www.caffeinatedcoder.com/battling-password-chaos/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 06:52:20 +0000</pubDate>
		<dc:creator>Russell Ball</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.caffeinatedcoder.com/battling-password-chaos/</guid>
		<description><![CDATA[Keeping track of my passwords has been a nagging problem for me for a long time, but I only recently got around to doing something about it. I&#8217;m ashamed to admit it, but up until now I&#8217;ve relied on a few popular but extremely insecure strategies to manage my various online identities. Reusing passwords &#8211; [...]


Related posts:<ol><li><a href='http://www.caffeinatedcoder.com/security-through-reverse-psychology/' rel='bookmark' title='Permanent Link: Security through Reverse Psychology'>Security through Reverse Psychology</a> <small>Let’s face it. We’re all losing the password length arms...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Keeping track of my passwords has been a nagging problem for me for a long time, but I only recently got around to doing something about it.</p>
<p>I&#8217;m ashamed to admit it, but up until now I&#8217;ve relied on a <strong>few popular but extremely insecure strategies to manage my various online identities</strong>.</p>
<ol>
<li><strong>Reusing passwords</strong> &#8211; The obvious danger here is that some script kiddie compromises a very insecure &#8216;mom and pop&#8217; site that stores my password as plain text and then goes around to all the popular sites trying it out until he finds one that works. Even though I was foolish enough to take this risk for years, most sites have different password complexity rules. That meant that I still had to rely on several different userNames and passwords combinations, which made revisiting sites that I hadn&#8217;t been to in a while painful since I invariably had to try several times before hitting upon the right one.</li>
<li><strong>Forgot Password Email Feature</strong> &#8211;  I don&#8217;t know about you, but I don&#8217;t normally access my yahoo email over SSL and many sites simply resend the password in plain text. This means that my password is visible to anyone with a strategically placed packet sniffer, like <a href="http://www.wireshark.org/download.html">WireShark</a>. It&#8217;s also annoying to have to wait for the email to be sent each time.</li>
<li><strong>Firefox Password Manager</strong> &#8211; I let Firefox remember passwords for me all the time and I recently discovered that this is hugely insecure. If you&#8217;ve never used the <a href="http://www.gtopala.com/siw-download.html">SIW (System Information for Windows)</a> tool from gtopala.com, take 30 seconds to download it and then click on the secrets node under software. You will be greeted with all of your passwords in plain text from any site that you&#8217;ve allowed Firefox to remember for you. That means if anyone ever gets even momentary access to your computer, all of your online identities will be compromised. Not cool.</li>
<li><strong>Password protected Excel worksheet &#8211; </strong>Let&#8217;s face it. Microsoft Office security is a joke. I&#8217;ve tried <a href="http://www.passwordrecoverytools.com/">this tool</a> with file based dictionaries from <a href="http://www.outpost9.com/files/WordLists.html">this site</a> on Excel 2003 documents and it has cracked the passwords almost instantly. I&#8217;ve tried <a href="http://www.lostpassword.com/excel.htm">this other tool</a> with Office 2007 documents, which uses stronger encryption. It was pretty slow, but it eventually figured out the password as well.</li>
</ol>
<p>Whether I&#8217;ve legitimately scared you or else you&#8217;re just sick of jumping through the &#8220;Forgot Password&#8221; hoops, I highly recommend trying <a href="http://keepass.info/">KeePass</a>. It is a open source password management tool that lets you store passwords securely and safely copy credentials into web forms.</p>
<p>KeePass lets you logon using a password/file combination for extra security and has several clipboard security measures built-in to prevent clipboard monitoring hacker tools from stealing the password while you&#8217;re pasting it into a website.</p>
<p>As far as encryption is concerned, the site boasts that <strong>even if you would use all computers in the world to attack one database, decrypting it would take longer than the age of the universe.</strong> That seems pretty secure to me&#8230;</p>
<p><img src="http://farm3.static.flickr.com/2394/2248203002_615dc5b957.jpg?v=0" /></p>
<p>If you&#8217;re still being lazy and insecure like I was, why not do something about it?</p>
<p>It only takes a few minutes to download and you will dramatically decrease your security related browsing frustrations as well as reduce your risk of identity theft.</p>
<img src="http://www.caffeinatedcoder.com/?ak_action=api_record_view&id=288&type=feed" alt="" />

<p>Related posts:<ol><li><a href='http://www.caffeinatedcoder.com/security-through-reverse-psychology/' rel='bookmark' title='Permanent Link: Security through Reverse Psychology'>Security through Reverse Psychology</a> <small>Let’s face it. We’re all losing the password length arms...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinatedcoder.com/battling-password-chaos/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Thinking of Breaking Away from the Blogging Herd?</title>
		<link>http://www.caffeinatedcoder.com/thinking-of-breaking-away-from-the-blogging-herd-2/</link>
		<comments>http://www.caffeinatedcoder.com/thinking-of-breaking-away-from-the-blogging-herd-2/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 06:23:11 +0000</pubDate>
		<dc:creator>Russell Ball</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.caffeinatedcoder.com/thinking-of-breaking-away-from-the-blogging-herd-2/</guid>
		<description><![CDATA[Blogging communities like GeeksWithBlogs offer the advantage of a pre-established readership, free hosting, and no hassles when it comes to setting up and maintaining your blog. Unfortunately, you also give up a lot of control when you become part of a large blogging community and ultimately miss out on the basic joys of tinkering. For [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Blogging communities like <a href="http://geekswithblogs.net">GeeksWithBlogs</a> offer the advantage of a pre-established readership, free hosting, and no hassles when it comes to setting up and maintaining your blog.</p>
<p>Unfortunately, you also give up a lot of control when you become part of a large blogging community and ultimately miss out on the basic joys of tinkering. For the more capitalist minded among you, you also forgo the possibility of ever monetizing your blog.</p>
<p>If you are currently considering migrating your blog to your own domain or getting ready to start your own blog and aren&#8217;t sure which direction to go, here are a few things I would recommend based on my recent experience.</p>
<ol>
<li><strong><img style="margin: 10px" src="http://farm3.static.flickr.com/2050/2230160142_eb2503338b.jpg?v=0" alt="" align="right" /> Consider Using WordPress</strong> &#8211; SubText is a fine blogging engine, but I have been won over by the enormous number of <a href="http://wordpress.org/extend/plugins/">plugins</a> and <a href="http://themes.wordpress.net/">themes</a> available for WordPress. That translates into a lot more functionality as well as a more professional look and feel of your blog. I initially assumed that it would require a lot more technical investment on my part because it runs on PHP and mySQL, but so far I have been able to make a large number of customizations without ever having to refer to a tutorial due to the similarity of PHP and classic ASP as well as the intuitive design and naming conventions used by WordPress.</li>
<li><strong>Choose a Readable Theme</strong> &#8211; With over 1500 free themes to choose from, it&#8217;s easy to get distracted by designs that are flashy but make it difficult to accomplish the primary purpose of a blog, which is to facilitate reading content. Make sure the text is the main focus of your page and that it is in a clear font. Simpler is usually better.</li>
<li><strong>Expect Issues with Importing Old Blog Posts</strong> &#8211; Even though SubText provides a nice xml export feature (BlogML), the import process into WordPress was still a little bumpy. I found <a href="http://www.aaronlerch.com/blog/tools/">a plugin</a> to help with the process, but there were still some issues with formatting and category names after the import process.</li>
<li><strong>Don&#8217;t Underestimate the Damage Done by WYSIWYG Editors (i.e. FckEditor) </strong>- WordPress lets you change themes effortlessly, but if you have pre-existing posts that were created with a WYSIWYG editor, then the chances are good that the HTML in your old posts is so polluted with inline tags that the CSS stylesheets in your fancy new theme won&#8217;t work properly. I&#8217;m still in the process of manually cleaning up the HTML from my old posts and it is a mind-numbingly tedious process that I&#8217;ll probably give up on before I finish.</li>
<li><strong>Get Sophisticated with Subscriber Statistics</strong> &#8211; SubText offers some rudimentary statistics on readers, but I took the opportunity to switch to <a href="http://feedburner.com">Feedburner </a>and install plugins for google analytics and <strong><a title="Visit plugin homepage" href="http://wordpress.org/extend/plugins/stats/">WordPress.com Stats</a></strong>. I have been impressed with the level of reporting detail they offer when it comes to analyzing site traffic.</li>
<li><strong>Widgetize your Blog</strong> &#8211; What&#8217;s the fun of tinkering if you can&#8217;t go crazy with the plugins? Some of my favorites so far are <a href="http://alexking.org/projects/wordpress">Popularity Contest</a>, <a href="http://sharethis.com">ShareThis</a>, <a href="http://katesgasis.com/2005/05/01/kg-archives-plugin/">KG Archives</a>, <a href="http://alexking.org/projects/wordpress">Twitter Tools</a>, <a href="http://mitcho.com/code">Yet Another Related Posts Plugin</a>, and <a href="http://txfx.net/code/wordpress/subscribe-to-comments/">Subscribe To Comments</a>.</li>
<li><strong>Expect a drop in Subscribers</strong> &#8211; This is one of the advantages that a blogging community offers, so you can definitely expect to lose a few readers during the transition. In the case of GeeksWithBlogs, it didn&#8217;t help that I was removed from the main feed as soon as I put my notice up and had no ability to set up 301 redirects.</li>
<li><strong>Learn about SEO (Search Engine Optimizations) -</strong> If you want to make up for your drop in readership, then you&#8217;ll probably want to roll up your sleeves and learn a little about the black art of search engine optimization while setting up your blog. If you use WordPress, start by using these plugins: <a href="http://wp.uberdose.com/2007/03/24/all-in-one-seo-pack/">All in One SEO Pack</a>, <a href="http://vapourtrails.ca/wp-keywords">Jerome&#8217;s Keywords</a>, <a href="http://guff.szub.net/head-meta-description/">Head META Description</a>, <a href="http://txfx.net/code/wordpress/enforce-www-preference/">Enforce <code>www.</code> Preference</a>, <a href="http://www.dailyblogtips.com/resources/wordpress-plugins/">Google Sitemap Generator</a>, and <a href="http://www.semiologic.com/software/marketing/google-analytics/">Google Analytics plugin</a>. If you want to get really serious about it, I hear Max from <a href="http://www.codesqueeze.com">codesqueeze</a> is planning on offering a 2 day advanced course on SEO later this year in <a href="http://valseuses.nerim.net/S5/I15.jpg">exotic Fargo, ND</a>.</li>
<li><strong>Test in multiple browsers/readers &#8211; </strong>I had to abandon my first theme completely after I realized it looked absolutely horrible in Internet Explorer. Unfortunately, I had already wasted a lot of time trying to customize it. I also forgot to retest my comment section functionality after installing the second theme and thus <a href="http://www.caffeinatedcoder.com/comment-section-working-now/">didn&#8217;t find out that it was broken</a> until several days after going live.</li>
<li><strong>Find a Good FTP Client</strong> &#8211; the web interfaces supplied by hosting companies will work in a pinch, but you&#8217;ll really want a good FTP program. I am totally hooked on <a href="http://www.smartftp.com/download/">SmartFTP</a>, which I discovered after consulting <a href="http://www.hanselman.com/blog/ScottHanselmans2007UltimateDeveloperAndPowerUsersToolListForWindows.aspx">Scott Hanselman&#8217;s tool list</a>.</li>
</ol>
<p>Setting up your own blog is definitely not for everybody. If all you want to do is focus on writing good content and not worry about anything else, then I would recommend sticking with the blogging community site.</p>
<p>However, if you want to learn about all the gooey goodness that goes into making a blogging engine purr, then I would highly recommend the experience of setting up a blog on your own domain. So far I&#8217;m glad I did it.</p>
<img src="http://www.caffeinatedcoder.com/?ak_action=api_record_view&id=285&type=feed" alt="" />

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.caffeinatedcoder.com/thinking-of-breaking-away-from-the-blogging-herd-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

