September 2013 Blog Posts
King Crimson is in motion

From here:

“So, King Crimson is in motion. This is a very different reformation to what has gone before: seven players, four English and three American, with three drummers.”

That’s a nice greeting to the morning.

posted @ Wednesday, September 25, 2013 9:33 AM | Feedback (0)
Rhetorical question: does Google’s homepage have a bug?

Go to and, without entering any text in the search box, click the “Google Search” button.  Observe what happens.

Is this a bug?

posted @ Monday, September 23, 2013 9:45 AM | Feedback (3)
Yes, Virginia, Code Reuse is Bad

Seems like this still comes up from time to time.

It happens in so many scenarios, but let’s focus this one on SQL code.  “Why are you rewriting that code, my code over here already does that!”

Is it identical code?

“Well, it’s very similar.  If you just use this code, then you don’t have to rewrite it, and we have fewer lines of code to maintain!”

And when you need to change your ‘very similar’ code, will you be prepared to retest every single other calling module to make sure your changes to your ‘very similar’ code don’t then break them?

“But if you just use this code, we won’t have code duplication!  Everyone knows code duplication is bad!”

Is it really duplication?  Are the business processes that drive that code being used absolutely identical, and unlikely to change?

Listen folks, the reason why code reuse is bad is because code ‘reuse’ is very rarely true reuse, and code ‘duplication’ is very rarely true duplication.

For those of you who like acronyms, avoiding SRP violations is (usually but not always) more important than avoiding code reuse.

posted @ Thursday, September 19, 2013 8:20 AM | Feedback (0)
Visual Studio Installer Crashes on Windows 8.1 RTM

The entire story of the Windows 8.1 RTM install on a MacBook Air will come another day, but I was having a really odd problem with not being able to install Visual Studio 2012 or 2013 without it immediately crashing.

Some others online were having issues, and it comes down to, get this, the display adapter driver.  Once I uninstalled it, the installer worked just fine (well, it’s running right now, anyway).  Hopefully, I can reinstall the display adapter after the install.

Update: unfortunately, updating the display adapter causes Visual Studio itself to crash on launch.  Maybe it will be resolved when it goes RTM, but for now, Microsoft Basic Display Adapter it is.

posted @ Thursday, September 12, 2013 8:44 PM | Feedback (0)
My very first impression of Windows 8.1 RTM

I don’t think the new start button is going to be of interest to anyone.

posted @ Tuesday, September 10, 2013 9:04 AM | Feedback (0)
The risk of hiring a software craftsman

Rob Ashton has a good post talking about the last year or so of his development life (with some other interesting personal info thrown in).  It’s a good story, and there’s a lot of things to ponder.

Now, I suppose it might be read into this that I’m taking a shot at Rob, but that’s not the case.  I respect and admire him, and am (not without reason) a little jealous at the opportunity he had to take a year to do the ‘walkabout’ thing (look it up if you don’t get the reference).

And, I should point out that I don’t really know if he has identified himself in anyway with the software craftsmanship movement, but don’t really care.  It’s my blog and I can choose to pontificate if and when I want to.

Rob talks about how he, well, basically got sick of ‘enterprise consulting’ and how it lead to his chosen path, and there’s a lot in there worth thinking about (I think the fact that he’s single is pretty crucial to a lot of it, but whatever).

But then he says the following:

I know what I want now, and I know when I know what I want and I'm not afraid to say it. In a way, I'm now a dangerous person to hire because unless your environment is one I enjoy I'm not going to stick around for longer than a few months, no matter what the reward is.

And therein lies the rub.

Flash back to one of Uncle Bob’s presentations at a Chicago Alt.NET meeting a few years ago (way too lazy to link to it right now, google it if you care), wherein it was suggested that the software development industry would be best off if the vast majority of developers were ‘fired’ so that the ‘serious’ craftsmen could get down to business.

The idiocy of this is self-apparent, so I won’t belabor that point.  At least not now.

But the fact of the matter is that over 90% (I would say it is about 99.9%, but whatever) of the jobs that are required as part of software development in particular, and IT in general, are jobs that the average self-assessed software craftsman wouldn’t want to do in the first place.  They’d be whining that they weren’t allowed to re-write the installed software base every three months (I exaggerate, but only slightly.  I’ve worked with these people who hate enterprise consulting).

The software craftsmanship movement would, in fact, kill the software development industry.

posted @ Monday, September 09, 2013 11:44 PM | Feedback (0)
TF203015: the item blah has an incompatible pending change

Ran into this recently, so leaving myself a note.

The posts I saw all had to do with shelve sets, but it appears to happen with regular branches as well.  Sometimes, when you delete a file in two branches, and merge one of them in, when you later try to merge the other one in, TFS appears to get ‘confused’ and won’t let you check in, giving you this message.  At least I think that is what it is.

The fix is to undo the changes in that 2nd branch, and then you can check in.

posted @ Monday, September 09, 2013 10:46 AM | Feedback (0)