Taking responsibility for software failures
For whatever reason, I’ve read more than a couple articles lately that ask essentially the same question – should software manufacturers and their employees take more responsibility for their bugs. The last one was about the process of writing software for the space program. A couple of other ones talk about the need for some kind of software “oath” or other professional sense of responsibility. I’m a professional engineer (licensed in Ontario) and as such, my primary concern is for the safety of the public to which I serve. Since the growth of the software...
Read MoreDefensive Coding
Was reading an article the other day about defensive coding and how that’s a coding smell. That struck me as being a bit odd and maybe even harsh. The argument basically is that defensive coding is often a sign of a system that is not DRY. For example, fetching an object from a database and ensuring that some of it’s parameters are not null is redundant when the database should already have such restrictions in place. I could really go two ways on that. The point seems valid. By ensuring proper integrity in the database, you’re only going to have to specify the...
Read MoreExpressive code
I’ve been fleshing out my game of monopoly a bit more. Put in the concepts of houses and hotels. Still haven’t gotten the chance cards or community chest. I’ll probably get those later on. Thought I’d share the little bit of joy that I usually get when writing code in Ruby. Here I’m basically declaring the data for various properties. Notice that even with some the necessary noise of commas and the different brackets (all issues that could be resolved with a proper DSL clean slate implementation for example), the code is still easy to follow even with...
Read More

I'm a professional engineer working in the software industry based currently out of Toronto, Canada. If I'm not writing code, you might find me on the hockey rink or reading the NY Times over coffee.
I have recently started to plan a trip around the world with my wife, Susana, putting my software development career on hold while I grow and learn in other ways beyond the keyboard.