Legacy Operating Systems and Legacy Languages: If it ain’t broke, it still needs fixing

In my travels I’ve encountered systems chugging happily along on outdated, discontinued, unsupported technology stacks. Apps written in VB6, FoxPro, Classic ASP, still running without a hitch because the kinks had been shaken out years ago… Software users delicately avoiding … Continue reading 

Posted in refactoring | Leave a comment

When to use a Mock and When Not To

When I sit down to write a unit test, my first step is to describe for myself, in English instead of code, what I intend to test. The words I choose give clues as to the structure of the test … Continue reading 

Posted in Rhino Mocks, unit testing | Leave a comment

An Object Lesson in Binary Compatibility

A riddle for you, friends: When is changing a method from return void to return Something a breaking change? If you already know the answer, then why hadn’t you told me? Could’ve saved me a fair bit of embarrassment. Ah … Continue reading 

Posted in Open-Source Software, refactoring | 4 Comments

True Confessions, Public Shaming, and Test-Driven Development

Okay, I admit it. Sometimes I write unit tests second instead of first. I also bite my nails and rest my elbows on the dinner table. But when I’ve got a bug to fix, and I’ve already found the offending … Continue reading 

Posted in unit testing | Leave a comment

Using Syntax to Model the Domain

I’m fascinated by the small syntactic decisions that bring code closer to representing the business domain. Never mind the class inheritance examples from text books (“Dog IS-A Pet,” which has nearly never been relevant), I mean using properties, methods, and … Continue reading 

Posted in DDD | 6 Comments

Diffing Files to Avoid Easy Goofs

A good habit learned at my last job has saved me a lot of embarrassment and bugs (same thing): Before committing a set of changes to source control, I look at the diff of each file. Look at the changes, … Continue reading 

Posted in Uncategorized | 8 Comments

Microcontroller Projects and Source Code

Welcome, Ignite/Dorkbot Science Fair Party Goers. Here are details on the two projects I had with me at the Science Fair. I used the open-source Arduino microcontroller. Arduino programs are called “sketches.” I keep my Arduino sketches on the collaborative … Continue reading 

Posted in arduino, electronics | Leave a comment

Hello World in C, Dev Setup

As mentioned, I’m learning C, and I’ve achieved hello-world, plus recursive calculations of factorials and some data structures. Whee. :) For those playing along at home, I’ll describe my dev setup. But first, an unexpected discovery: Counter to my intuition, … Continue reading 

Posted in C | 4 Comments

Dipping into C

I decided on Monday that I should learn C. Cultivate a nodding acquaintance, at any rate. Louis is always prodding me to become a better craftsman, to become more proficient with my tools. So I figured I should understand my … Continue reading 

Posted in books, C | 8 Comments

Three Simple Steps to Improve Your Writing

Technical books are longer than they ought to be. Most software books could be improved by shedding a tenth of their heft. It’s a product of market pressures, of course: Tech books need to get to market fast, which does … Continue reading 

Posted in Uncategorized | 5 Comments