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:
- Design patterns
- Enterprise architecture frameworks
- Service Oriented Architecture and web services
- SAP's NetWeaver business process platform
- Dynamic languages (particularly Python)
- NetBSD kernel hacking
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.