Wednesday, July 2, 2008

Archaeology

When was the last time you used (or even saw) a floppy disk, in these days of the ubiquitous... err, what are they called? (You know: pen drives, usb keys, memory sticks --- I've heard all these terms but I want one sufficiently metonymic, i.e., as "hoover" is to the class of "vacuum cleaners".)

Anyway for me the answer to the first question is "last week". Although I have several machines at home, of various ages, only one (the oldest natch) is still capable of reading floppies and managed to read the disk in question successfully, to my great surprise as it was in a box which I hadn't opened since I returned from London, exactly 10 years ago today.

The disk contained a program written by three of us, I, J and K, to some version of Borland's C++ IDE and ran on Windows (versions 3.1 and 95). The original customer, which to our great surprise had been happily using the program for the last 10 years, wanted some new features added and could we help?

The last time I touched this program was to compile it on Windows 95 on a machine with a 133MHz Intel processor and 32MB of memory, a laptop which I'd bought second-hand for £800 (somewhere in Swiss Cottage as it happens).

God, I thought, I'll never get it to run now, where do I even start? The original compiler CD is lost, I don't even have Windows 95 any more...

Snapping suddenly out of my 1995-era malaise, I googled for "Borland C++" and found this wikipedia article. Someone actually had bothered to write down all of the releases of this product in a place where I could find it! An hour or so later, thanks to a bittorrent index, I had downloaded a version of the compiler which had managed to compile the code.

Now this program runs in a Windows XP virtual machine which is itself running on Linux on a 1.8GHz dual-core Intel processor laptop with 3GB of memory which I'd bought new for €500 (over the Internet as it happens).

We haven't found out what the new features they want are yet but it seems Windows XP is already out of date.