Anecdote: Building on a Bug

I spent much of the past few days fixing a bug in some database access code that I wrote last year. Up until now, that code had caused very few problems, and I was quite proud of it. (I still am, in s...

Software Development Community

At my workplace, zedIT, our development team has been holding a quarterly half-day seminar session for the past few years. It’s an opportunity for us to get together and talk about what we are d...

Code Reviews

Last night I had a dream that I was performing a code review for someone. Keep in mind that browsers like Chrome, Firefox and others use an integer to represent this, but Internet Explorer and a brows...

Optimizing Too Early?

For years I’ve been in the camp that optimization of software should come towards the end of a project. Build the software, profile it, then fix any outlandish problems. And that has largely wor...

When is it OK to Copy Code?

You may have heard the software development principle ‘don’t repeat yourself’, or DRY. I stick to it was well as I can, but I have been trying to think of a list of exceptions. When ...

-1

(Following is a slightly modified version of an article I posted on a previous iteration of this blog.) At a former job, I spent a fair amount of time porting software. Porting is difficult, and in th...

Code That Works The First Time

Scary, isn’t it? How is it that this new block of code that you just wrote is performing perfectly the very first time you ran it? I’ve done it a few times in my career in non-trivial bloc...

Lumia 550 First Impressions

I got my hands on a Microsoft Lumia 550 this week. The phone was released in December of last year, and it’s my first Windows phone of any kind. I bought it in part to replace my annoying Alcate...

Tinier and Tinier Bits

We’ve all heard horror stories about long functions. I’m talking about ones with hundreds of lines of code; massive monolithic custom or one-off algorithms. I’ve seen them in the wil...