8 Oct

The Burden of Features in Software

Category:CodeTag: :

I?ve been removing a couple of dead features this week. You know, those features that senior people in organisations like to tell epic war stories about. Those mighty conversations at dinner parties, where a person involved talks about all the pain and sorrow, about how a particular capability ended up in the software, how (crappy) […]

Read More
18 Jan

Monitoring an MMO

I’ve been working on a free-to-play MMO which has been “officially” live since last April, and things have been going well – a steady growth of players; the game itself has been well-received, and all the important graphs are “up and to the right.”  Part of my job involves detecting problems before they become serious […]

Read More
22 Jun

Why Software Development Will Never be Engineering

I always find it rather interesting when academics try to quantify generalized metrics about software development. Things like: per lines of code, there will be X number of bugs. Statements like: it has been empirically proven that “blah” affects the development of software in some way “blah.” These are all interesting thoughts, but software development […]

Read More
13 Nov

Could sealing a class be a sign of a good design

I recently attended this years Øredev conference and one of the things I had the good fortune of doing was to meet-up with a long time twitter friend, Philip Laureano. One of the days me and Philip started talking about a previous discussion he had with another attendee (whom shall remain nameless since I do […]

Read More
11 Jul

Enforce Correct Usage By Wrapping Types

Have you ever written an API or a method and expected it to be used a certain way, but then found people doing all kinds of bad things with your precious API that you never intended? I was working on building an automated testing framework for a welfare system in which cases could be added […]

Read More
20 Jun

Prefer Additional Methods Over Additional Overloads

If you have ever written code that is going to be used as an API for other programmers, you may start to think about writing code in a different viewpoint from what you normally do. Most of us write code for the purpose of achieving a goal.  If we practice writing elegant code, we are […]

Read More