Posts Tagged ‘Zambia’

Debugging in the real world

Friday, July 30th, 2010

As part of my preparations for living in Zambia, I’ve had to have some vaccinations. One of the recommended vaccinations was Hepatitis B. Luckily, the UK National Health Service provides Hep B vaccinations for free. Unluckily, they also provide Hepatitis A vaccinations for free, and the two are delivered as a combined vaccine. I’ve already been vaccinated for Hep A, so I can’t have the combined shot. This means I have to have the single Hep B vaccine, which isn’t free.

It seems odd that having immunity to a disease should drive up my costs for getting vaccinated for another disease. It seems downright bizarre that my making it easier (or at least, no harder) for the government to deliver the free service should mean I have to pay. It would be fashionable at this point to rail against the fundamental inefficiency of government-provided healthcare.

But I don’t think that’s what’s happening here. The mistake the NHS seem to be making here looks like the same sort of mistake that is made every day by thousands of software developers. The set of rules for Hepatitis has a bug in it (no pun intended).

It seems to me that in this case the bug is a leaky abstraction. The obvious goal is to provide immunity to both diseases, and a policy of providing a combined vaccine looks from a high level as if it fulfils that goal. When the details of the policy are implemented, an obvious refinement is not to provide a combined vaccine to someone who’s already had one shot (whether this is a matter of health or cost-saving I don’t know, but it doesn’t affect the argument).

Obviously this is an over-simplification; looking at the world through the eyes of a programmer, things naturally form into shapes and idioms that are common currency to the techie. But I think this there’s something to be gained from seeing the world this way. When people try and build rule sets, they get things wrong. Not because they are stupid, or unwilling, or corrupted, or bureaucratic, but simply because creating perfect rule sets isn’t something that humans are naturally capable of.

A departure

Tuesday, July 27th, 2010

I’ve never been that keen on blogging about personal matters, since it seems like the wrong medium to me: my friends will find out what’s going on in my life when I talk to them, and people who don’t know me have no reason to care. Never the less, I’m undergoing a change in personal circumstances that will partially alter the goal and scope of this blog, so it seems appropriate to report it here.

As of a month from now, I’ll be moving to Zambia where I will be living and working for at least three months. I’ll be working in a technical role for a local ISP. On the surface my job description may not be all that different, but I expect the culture and business environment to be a radical departure from the UK.

The main difference to this blog is that I intend to post more about the experiences of preparing for and living abroad, in the hope that some of this will be of interest to others. People who were expecting a blog on technical topics (something I never stuck to particularly well) may be inconvenienced by this. I had thought about starting a separate blog, but for such a short-term period it hardly seems worth it.