Computers

This section gives a little detail about my experiences with computers over the years.

The Early Years

I started hacking with computers when I was about 10, when we got a Commodore 64 at home. I spent many an hour poring over books and magazines, typing in BASIC and 6502 machine code listings and then making my own modifications. I had lots of fun ;-) I later moved to an IBM PC compatible and learned to program in Pascal and C and did a lot of x86 assembly language hacking while in high school. Ah, the fond memories of my sub-80-byte integer array bubble sort implementation...

Open Source Unix

It was only at university that I discovered multi-user systems, initially OpenVMS and then Unix. At the time I was running OS/2 on my 486DX2/66 (which had a whopping 16MiB RAM and a 500MiB drive) and doing a lot of 16-bit Windows programming (I've found some of my old Usenet posts and it's frightening to think how well I used to know that API!). I managed to crash OS/2 a good few times with some of my assembly language code, but I still have very fond memories of it - definitely an operating system that's never been given its due.

Sometime in early 1994 (I think!) I learned of FreeBSD and GNU/Linux and considered installing them on my home machine (at the time my OS/2 environment even had the ported GNU utilities and compiler suite so it was fairly Unix-like). Due to my disk layout I had to give FreeBSD a miss (it couldn't boot from an extended partition) and in December of 1994 I installed Slackware GNU/Linux on my machine. Coincidentally, I watched my first episode of The X-Files on the same night...

I haven't looked back. I later moved to Redhat and then in the late 90s made Debian my preferred distribution. Of course, I later started using FreeBSD (at around 2.1.5-RELEASE) and OpenBSD (2.1 - back in 1997, not that long after the fork from NetBSD). For a long time my office machine ran FreeBSD-current. Sheesh, I've been through manual aout-to-ELF conversions on two operating systems :-)

In September 1996 Marc Welz, Craig Balfour and I formed the UCT Linux Enthusiasts Group, which is still going strong today (it's apparently the oldest LUG in Africa). It's now an arm of the Cape Linux User Group, which, despite the name, welcomes all open source software.

Anyway, back to the story... After getting my first SPARC machine in 1999, I started using NetBSD extensively (primarily because of its performance on sun4c machines). It's since become my preferred operating system and I run it on almost all of my machines. To quote Jochen Kunz, NetBSD is "the most sane implementation of the UNIX paradigm". It has an elegance of implementation that I've not found elsewhere.

Experience

I've always been somewhat of a generalist. I've have worked a lot of software on a number of platforms over the years. I guess I'm as comfortable hacking up a web server in C as I am configuring a firewall using pf. Just give me a few minutes to polish my possibly rusty skills ;-)

Here's a laundry list of some of the software I've worked with (mostly to remind me!). Skill levels vary from Expert to Poor (it's up to you to guess what's what). Arranged in rough chronological order of first exposure.
Programming languages: Pascal, C, x86 assembly language, C++, Clipper, ObjectPascal (Turbo Pascal for Windows and Delphi), PowerBuilder, Perl, Visual Basic, Java, ABAP, C#, Python.
Internet servers: NCSA httpd, smail, sendmail, wu-ftpd, BIND, Squid, Exim, IIS, ntpd, ISC dhcpd, proftpd, Postfix, Qualcomm popper, Cyrus, dovecot.
Databases: Sybase SQL Anywhere, Informix, Microsoft SQL Server, Oracle, SAPDB/MaxDB, MySQL.
Operating Systems: MS-DOS, OpenVMS 7.2, OS/2 (2.1 and 3.0), Windows 3.1/NT/95/98/2000/XP/2003/Vista/2008, GNU/Linux (Slackware, Redhat, Debian, SuSE, Ubuntu - since 1994 and kernel 1.1.59), FreeBSD (since 2.1.5 - 2.x, 3.x, 4.x, 7.x), OpenBSD (since 2.1 - 2.x, 3.x), NetBSD (since 1.5 - 1.5, 1.6, 2.x, 3.x, 4.x, 5.x, -current), SunOS (4.0.3 and 4.1.4), Solaris (2.5.1, 2.6, 7, 8, 9, 10, OpenSolaris), IRIX (6.5), MacOS (8.6, 10.4, 10.5), HP-UX (10.10).

Interests

As you can imagine, my computer-related interests are varied. A few of the things I'm currently interested in include:

Favourites

Some of my favourite software. Yes, this is very geeky ;-)

Operating System:NetBSD
GNU/Linux Distribution:Debian
Editor:vim
Mail client:mutt
Mail server:postfix
Browser:Mozilla Firefox
Programming Language:Python
Shell:zsh
Window manager:Fluxbox

I favour function over form. Given the choice, you'll typically find me using things like LaTeX instead of OpenOffice and vim instead of Eclipse (although the latter is my choice when doing any Java development). That said, I am rather partial to OS X (it's so pretty!).

Home Network

Geeks like computers, in particular having more than one, or two or five or ten... Take a look at my home network.