Failure is inevitable


Top 5 Usability Lows of Mac

Smashing Magazine had a post yesterday called Top 10 Usability Highs of Mac OS. The article makes some great, valid points: Apple has a lot of things right in Mac OS.  They also have gotten a lot of things right with the Mac hardware.  However, they also got a lot really wrong.  As someone who has owned a Mac for about three weeks, I feel perfectly justified in criticizing Mac OS,  so here's my own Top 5 list (it's only 5 because I'm in a hurry and don't feel like writing a lot today): 1. Lack of Intuitiveness. Yeah.  Epic FAIL here.  Despite what Juul Coolen... [More]

Comments FTW!

Can you tell me what this const represents? 1: private const int MINIMUM_WORD_OCCURRENCES_TO_INCLUDE_DEFAULT = 1; What about if I include this helpful comment? 1: /// <summary>The Default Minimum Word Occurrences To Include</summary> 2: private const int MINIMUM_WORD_OCCURRENCES_TO_INCLUDE_DEFAULT = 1; The point, kids, is that comments should provide some insight into the variable (or method, or block of code, whatever).  This comment would have been just as useful had it been replaced with "I LIEK PERPLE!"... [More]

Microsoft .NET Framework 3.5 SP1 released?

Along with the release of SQL Server 2008, it looks like the final version of .NET 3.5 SP1 has shipped.  You can snag the bits here.  This update includes some very cool stuff, including Dynamic Data, the Entity Framework, ADO.NET Data Services, and lots of improvements throughout the framework. 

How to run a software development company (INTO THE GROUND)

I was all set to write an informative post about HashSets today, but I'm not going to.  Instead, I'm going to finally start what will be a new on-going series here on this blog.  The series will cover the things you *shouldn't* do if you hold some sort of managerial stake in a software project.  Sadly these tales will be from my own personal experience working for companies that have drifted into disarray.  These examples will be embellished  somewhat to drive the points home, but by and large, everything you will read in these posts will be true.  ... [More]

Essential Development &quot;Tools&quot;

I've had the unfortunate pleasure of changing out two of my machines in the last week.  First, my trusty Dell Inspiron is being phased out in favor of the lighter, sturdier, sexier VistaMac.  Second, my ancient workstation at my day job is finally being replaced by an HP xw6600 workstation with a quad core Xeon (NICE).  While new toys are great, setting them up and getting them to feel "right" is a challenge.  I've found that to perform at my peak, I need some essential tools, utilities, and other misc. items.  Some of these are not free, but I've... [More]

Unit testing complex ASP.NET MVC controllers with Moq

One of the advantages of the new ASP.NET MVC framework is improved testability.  Testing simple controllers is as simple as testing any other class.  Once you start accessing HttpContext-related things though (such as the request, response, etc), things become much more tricky.  There's a few things in MVC Contrib that can help, but I've found them to be very lacking.  For example, I was trying to test a controller that inspected the HttpMethod property of the request, but MVC Contrib provides no way to alter this value (at least not that I have found). Instead, I found s... [More] problems with Firefox 3 and Vista

I'm not sure who to blame, but after switching to Windows Vista on one of my development workstations, I've been unable to get the Firefox 3 plug-in for to work.  No matter how many times I tried to install it, no plug-in files appeared on my computer.  I even tried running Firefox 3 with elevated privileges, but that didn't help.  So, instead, I manually installed the plug-in by performing these steps: Download the XPI from  You may need to use Internet Explorer since Firefox will probably just try to insta... [More]

I have been Mac-inized!

Well, I finally jumped on the bandwagon and bought a MacBook Pro.  My initial impressions are: Wow, this is really nice hardware.  Wow, this thing is tough.  I think it could stop a bullet. Wow, this thing is very light. Wow, it sure is easy to get Vista up and running! Wow, the OS X disc actually has all the bootcamp drivers and what-not built in to it now. Hmm, so they still haven't added a right mouse button? Hmm, how many ways is OS X going to tell me "Welcome" before I can use my computer? Wtf, why are so many people crazy about OS X?... [More]

WiX Snippet: change enable32BitAppOnWin64

As discussed in the last post, you can run both 32-bit and 64-bit app pools side-by-side on Windows Server 2008.  I decided I didn't want to have to remember to change the settings on one of my app pools every time I install my application on x64, so I added a custom action to the installer to do it for me.  Assuming you have already added the correct elements to create your application pool, all you need to do is add a custom action, like so: 1: <InstallExecuteSequence> 2: <RemoveExistingProducts After="InstallFinalize" /> ... [More]

Useful Info: Running x64 and x86 IIS Worker Processes Side-By-Side

On a (somewhat) related note, there's a nice new feature in IIS 7.0 that allows you to run both x86 and x64 worker processes side-by-side.  This wasn't possible with IIS 6/Windows Server 2003.  For details, check out rakkim's post on the subject.  This will be handy for me since one of the apps I maintain has a single web service that is dependent on a 32-bit COM component.  On IIS 6, that meant everything had to run as 32-bit, but with IIS 7, I can segregate that service into its own 32-bit app pool while leaving everything else in 64-bit goodness.