Conveying important information

In 2015 I had to spend a number of weeks visiting one of our local hospital’s intensive care units. On one of my visits I got to thinking about the interfaces of the various monitoring machines. There were machines from a range of manufacturers and of varying ages but the display of information was universally simple and minimal.

For the main monitoring system, despite the variety of data collected, it only showed the 2, 3, or maybe 4, variables which were most appropriate for each patient. For those who have seen or developed a organisation or system dashboard it might be surprising that they haven’t aimed for the fancy, flashy, information-dense type of display which are common in software.

The reason for this Continue reading

Temptation to Misuse Class Inheritance

It’s good advice for all OO programmers that inheritance between classes should only be used when the subclass has an is-a relationship to the superclass. It can be tempting to inherit from a class just because it has properties or behaviours that you want and inheritance is a convenient way to get them easily. The following is a fun story from a game developer dealing with some problems caused by them ignoring this advice.

Camera obscura

This is an older one, but Force 21 was an early 3D RTS which used a follow cam to observe your current platoon. Toward the end of the project we had a strange bug where Continue reading

Book: Effective Java (Second Edition)

For a number of reasons I currently have a bit of time on my hands but without access to my usual time-consuming activities (Netflix, fast internet, Playstation, and even housework). Consequently, I’ve been reading a few programming books (both old and new) and I’ve just been thinking about Effective Java (second edition). It was written by Joshua Bloch who you might know as the author of Continue reading