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 1.1.5.1 |
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!