Minnie is Now 64-Bit

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!