Projects

Sierra Wireless USB Modem Backport

I backported the Sierra Wireless USB modem driver from kernel 2.6 to 2.4(.26) while employed at ZetaDisplay AB. This driver was later submitted to LKML but was never included since 2.4 was in a phase where only stability and security patches were being accepted.

AdaOpenGL

AdaOpenGL is a thin Ada binding to OpenGL that I wrote as part of a school project. I have not had time to update it lately but the latest version should still be useful as it is based on OpenGL 1.4. The project is hosted at Sourceforge and can be found at http://adaopengl.sourceforge.net/.

AdaTerrainEngine

This was an old school project of mine which sadly I never finished. It was intended to be a terrain rendering engine which would allow you to visualize very large masses of terrain with an accuracy of +/- 1 metric meter based on accurate geographical data. As I cannot recall the actual name of the engine I decided to call the tar ball “AdaTerrainEngine“. I think my original intent was to release this code under the LGPL so that is the license I went with now.

During the development of this project I quickly realized there were no good OpenGL implementation available for Ada at the time and that is why I created the AdaOpenGL project.

CrabOS

This is a microkernel/operating system I developed for the Pegasos platform back in 2004/2005. It was intended to provide a lightning fast TCP/IP stack for a networking product I was working on at the time. The project was eventually cancelled and the need for CrabOS disappeared.

CrabOS consists of the following components:

badger, a bootloader which is responsible for loading the kernel image from SmartFirmware

crab, the microkernel

init, which is the process that takes over when the kernel is done and is responsible for bringing up the rest of the operating system

Loader

Loader is just a modified version of badger from CrabOS which demonstrates how to write applications that can be loaded from SmartFirmware.

Xenox

Xenox is an advanced version control system (VCS) that I wrote together with some friends at the university as an assignment in a database course. The system is implemented in Java 1.3.1 and has a PostgreSQL backend (although you can easily replace the backend by writing a driver for another system). Sadly we never quite completed this project as it lacks support for creating a diff between three files. It should be fairly simple to finish it but it died due to a lack of interest.