Last updated 2002-06-12.
At SSH I worked on the build system and management software (including the installer) for the IPVia project, which deploys a network of IPsec gateways to create a collection of virtual private networks.
After a reorganization I moved to the QA department, where my main responsibility is security review.
At Wapit I was part of the team that developed Kannel, a free WAP and SMS gateway. I did much of the programming and design (guided by project architect Lars Wirzenius), and became release manager and public speaker for this project.
This job included CGI programming (database interfaces, webmail applications), as well as development of a billing system and other systems for the related company Cistron Telecom. Here I learned to apply my programming skills in a business environment.
The project was to adapt the C compiler 'lcc' to make use of machine instructions that produce two or more results, such as a division operator that returns both quotient and remainder, or an arithmetic operator that sets condition codes as a side effect. I learned a lot about compiler theory, and fell in love with the tree-based approach to code generation.
This consists of maintenance of several components of the Debian Linux distribution, as well as active participation with the design and execution of large modifications, such as the migration to a new C library and a new filesystem standard.
I co-authored the package "lintian", which checks Debian packages against Debian policy (as far as this can be automated), and reports common errors.
From July 1998 to the summer of 2000 I was part of the archive maintenance team. This included responsibility for the correctness and integrity of the main archive of Debian packages, and for handling change requests (most of which are processed automatically).
I was active as Debian Release Manager from March 1999 to the summer of 2000. The Release Manager coordinates the process of making a Debian release, and is responsible for the quality of the final product.
The goal of the Debian Project is to create a high-quality operating system consisting entirely of free software. The Project has about 800 developers.
IgorMUD is a volunteer project of medium size, with about a thousand regular users and a few dozen active programmers.
This work consisted of maintaining and extending the facilities used by the other programmers, while keeping the server running. Here I learned techniques for getting code right the first time.
IgorMUD is written in LPC (an object-oriented language with a syntax similar to C), and it runs on a driver which compiles source files at run-time and interprets the bytecode. I have extended both the driver and the LPC library.
In addition to the usual teaching assistance work, I did two special projects: development of an X interface for a simulations package, and development of a programmable simulator for communicating, sequential, asynchronous processes.
Please send email if you wish to contact me. My address is email@example.com.