12th December 2015
I've just moved my web site, minnie.tuhs.org, to a 64-bit virtual machine with 2G of virtual RAM and 48G of SSD disk space. To me this is quite amazing because, when I first set minnie up, she ran on a 10MHz 8088 XT clone with 640K of RAM and a 30M RLL disk drive.
When I was at uni (in the late 80s) I got into the Minix operating system, and I managed to bring Minix 1.2 up on my XT. It was hard work because I started with Minix 1.1 and it didn't have a driver for my Seagate ST-238R hard drive controller. I had to hand-patch 1.1 up to 1.2 from the patches that Andy Tanenbaum sent out on the comp.os.minix Usenet newsgroup.
By the time I'd got Minix working, I was hooked on operating systems and I wanted to contribute back to the community. Australia had just been connected to the Internet and I'd taken a job at a university in Canberra with an Internet connection. My XT had been replaced by an AT clone and was sitting idle, so I set it up with KA9Q NOS, a WD8003E thinwire Ethernet card and turned it into an FTP server to host the important Usenet postings about Minix. Google still has a copy of my announcement of "minnie" (cached version). In April 1994 minnie was running as a webserver, minnie.cs.adfa.edu.au, just 3 years after the worldwide web had started. Then in May 2000 I registered the tuhs.org domain and I switched the web service and the FTP service over to this domain.
Each time I bought a new computer to upgrade my home system, I would pass the old hardware down to become the new minnie. So I've gone through all the major changes in PC hardware in the past 30 years: RLL, ESDI, IDE, ATA, 16-bit AT, 32-bit '386 etc. I used to keep a table of the hardware changes:
|Period Starting||CPU||Disk Capacity||Memory||Net Connection||Operating System|
|Early 1990||10MHz 8088||30M RLL||640K||10Base2||KA9Q NOS|
|Circa 1992||20MHz 286||80M ESDI||2M||10Base2||JNOS|
|March 1993||33MHz 386SX||140M ESDI||4M||10Base2||386BSD 0.1|
|Circa 1994||40MHz 386DX||140M ESDI - 1G IDE||8M||10Base2||FreeBSD 18.104.22.168|
|Circa 1996||100MHz 486||4G - 16G IDE||16 - 32M||10BaseT||FreeBSD 2.2.8, 3.2|
|May 2000||400MHz Celeron||28G - 40G ATA||64M||100BaseTX||FreeBSD 4-STABLE|
|June 2004||500MHz P3||40G - 60G ATA||192M||100BaseTX||FreeBSD 4-STABLE|
|June 2005||2.4GHz P4||320G ATA||768M||1000BaseTX||FreeBSD 5-STABLE|
|June 2009||2.4GHz P4||500G ATA||768M||1000BaseTX||Ubuntu 9.04|
Around 2010 I moved minnie to a virtual machine hosted in America (we say "in the cloud" now); there was no point in trying to work out how to describe the new hardware, given that it's not real ;-)
Minnie's journey also tracks my own journey through operating systems. When I started, Minix didn't have a working network stack, so I had to use KA9Q NOS on top of MS-DOS (urk!). I'd already fallen in love with Unix and Unix-like systems, so when 386BSD 0.1 came out it was obvious that I had to move minnie to a real operating system. When 386BSD fell by the wayside it was over to FreeBSD.
FreeBSD was great fun: lots of source code, everything was configurable the way that you wanted. But at some stage I found that keeping the system patched against security vulnerabilities was difficult, and I had to recompile things from source each time there was a patch. I decided to defect over to Linux, where I could apt-get dist-upgrade to keep things up to date.
So now it's the end of 2015. I still love the command-line, tweaking the configuration of things, and vi is still my editor of choice. But things have come a long way since I hand-patched Minix to get my ST-328R driver to work!