Category Archives: Bad habits

How to get things done: don’t open your post

This is the pile of unopened post that’s accumulated inside our front door over the last couple of months:

Usually I feel a sort of low-level nagging guilt about this, but actually I think it’s a good thing.

Continue reading

Today is Document Freedom Day!

Just a quick post let you all know that today is Document Freedom Day.  I know that in this day and age it’s easy for anyone to pronounce that any day is Anything Day, but this one is important.  It’s about encouraging people to use, and maybe more importantly, accept, open document formats.

I can’t tell you how much it pains me that MS-Word format is still the overwhelming majority in most arenas.  People find themselves in the absurd situation where they want to apply for a job in open-source software, and have to send their CV in a proprietary format in order to get it looked at.  Or they want to write to their MP about a freedom-of-information issue and have to send the letter in a proprietary format.

Continue reading

A brief, yet helpful, lesson on elementary resource-locking strategy

Last night, Fiona and I sat down to eat my favourite light meal, spaghetti puttanesca.  I’d grated some cheese to sprinkle on top, but when I’d finished mixing the pasta in with the sauce I found that the cheese had GONE!

Fiona had taken it down to the other end of the table, next to her plate.  I asked if she’d finished with it, and it turned out that she HADN’T EVEN STARTED.  She’d just acquired the lock, then left the resource unavailable while she responded to a completely unrelated event.

Continue reading

Where Dijkstra went wrong: the value of BASIC as a first programming language

No-one disputes that Edsger W. Dijkstra was a genius, and a legend of programming.  (Well, no-one except Rob Nagler.)  It seems incredible to me that his idea of structured programming was once considered a foolish affectation, or even that there was ever any dispute about it at all: but I remember all too well reading arguments about it in the early-eighties issues of Practical Computing and Personal Computer World.  Maybe it was an idea waiting to happen, or at least waiting to be popularised, but it seems we have Dijkstra to thank that the languages we do our work in are largely expressed in block-structured loops and conditionals rather than a maze of twisty little GOTO statements, all alike.

Continue reading