Robbert Haarman



We all use software. We all depend on software. Software has a profound impact on our daily lives. This page provides links related to software that I use, organized by category.

Debian GNU/Linux

Debian is one of the classic GNU/Linux distributions. It's distinguishing features are a focus on solidity, an excellent package management system, and a strict adherence to the Debian Social Contract. After having used various other Linux distributions (see for a reasonably complete overview), I finally stuck with Debian, because it Just Works.


Konqueror is the web browser of the KDE project. As graphical web browsers come, it is relatively lightweight &emdash; it runs fast and uses little memory &emdash; while still providing good compatibility with both standards-compliant and legacy websites. It also offers a number of nice features out of the box, such as web shortcuts (enter w openid in the address bar to search Wikipedia for openid), access keys (press Ctrl followed by a letter or digit to follow links), and find-as-you-type (press /, then the text you want to search for, and the page is searched as you type), and many others.

Mozilla Firefox

Mozilla Firefox is a web browser that has undergone several name changes. Initially known as Phoenix, it was then renamed to Firebird, and later to Firefox. I have used it under all three names, and it works just fine, delivering the state of the art Gecko rendering engine from Mozilla, without much of the bloat.

Parallel BZIP2

Parallel BZIP2 is a parallel implementation of the bzip2 data compressor. bzip2 achieves very high compression rations. Parallel bzip2 allows the compression to be performed in parallel, achieving near-linear speedup on machines capable of parallel execution (such as multi-CPU or multi-core systems).


Chatting online may be poor substitute for Real social contacts, but it is a great way for staying in touch with distant friends and arranging appointments. Gaim is an excellent piece of software, supporting all the major protocols and then some.


Mutt is an email client that can be used from the command line, which is a great boon for me, as I use the command line a lot. Mutt is small and fast, and understands virtually every standard mailbox format (mbox, MH, maildir, POP3, IMAP4).

Window Maker

I have tried various window managers over time, and eventually settled with Window Maker. It's lightweight, and provides some features that increase productivity compared to other window managers. One is the dock, providing icons for applications that can be used to quickly bring the windows of an application to the foreground. A keyboard shortcut (did I mention everything can be controlled with the keyboard?) hides all the windows belonging to an application so they won't bother you; this has eliminated the need for virtual desktops for me (although Window Maker does provide them). Try Window Maker if you haven't yet. Sadly, some applications misbehave, causing them to put icons in the icon bar that shouldn't be there, and Window Maker is based on a widget set that misses some functionality. My major gripe, though, is that you have to double-click on icons, which I consider an abonimable misfeature. Hopefully, this will be configurable at some point.


GKrellM is a system monitor. It sits in a corner of my desktop and shows me the date and time, CPU usage, disk utilization, network activity, memory usage, and new mail notification. All this, and much much more, comes in a handy little GTK+ program, and there are many plugins that provide additional monitors, or basically anything you could imagine.


screen is the ultimate tool for command line junkies like me. It multiplexes your terminal, so that you can have an arbitrary number of virtual terminals in one display or window. Each of these terminals provides a backlog from which text can be copied and pasted. It's just fantastic. The only problem is that the escape code to send commands to screen (for switching windows etc.) defaults to ^A, which is commonly used for moving the cursor to the beginning of the line. This can be easily remedied by means of a configuration file or a command line option. I use -e^zz.


My interest in low-level programming has lead me to take an interest in system emulators, so I can experiment with various architectures without actually owning all the hardware. On this page, I collect links to emulators and, where possible, boot firmware for these emulators. I also have the idea to set up a speed contest for system emulators, but this is not done yet.


Occasionally, all of us like some diversion. This page links to some games I have enjoyed playing. Most of them will run on any UNIX-like system, such as GNU/Linux.