I'm one of the generation that grew up just as computers were changing from something remote and very high-tech to part of everyday life: in our school maths lessons, we wrote ALGOL programs that were sent off to a university computer centre to be made into punch cards and run (a week later, the output would come by post - frustrating if it was "syntax error in line 1"). But in the lunch breaks, we could use a TRS80 microcomputer that you could program interactively in BASIC. Much more fun!

Similarly, when I was a postgraduate in the lab and when I started my first real job, computers were around, but you didn't necessarily need one. The computer-on-every-desk style of working arrived a couple of years later - until then we had a terminal in every department. And a microfiche reader - remember those?

As soon as I could afford it, when I was about 17, I bought myself a Commodore 64, then a few years later my first IBM clone - an Amstrad 8086 machine with two 5 1/4" floppies but no hard drive. Followed over the years by a whole succession of machines, many of which I put together myself, running OS/2, Mac OS, various sorts of Linux, and almost every possible flavour of Windows. I've messed around with various scripting and programming languages, and written a few simple utility programs when I needed them, but all strictly amateur stuff. I've never tackled a real programming project, and when I deal with real IT professionals in my job I always realise how little I really know (and how outdated most of it is). But I'm still enough of an engineer not to be satisfied unless I have at least a rough general idea of how things work. But maybe I should go back to the last computer I felt I really did have a chance of understanding properly: