Home | Contact | Projects | Post Mortem | Publications | Pictures | Private | Blog

Projects I am currently working on

      Name: borg-webgui
Short:Web GUI for borg backup

A web-based GUI for restoring data from borg backups. There are a number of UIs for borg available, but all of them only manage the backup side of things, not the restore side. Since backing up is typically done by administrators, restoring data is a more common (i.e. the only) end user action, thus a graphical user interface is required. README is on the GitHub page.

      Name: Space Billiards
Short:LD #42 Game Jam Entry

My Jam Entry for the 42th Ludum Dare game competition. The Entry page can be found over here. This game is my attempt at n-Body physics, and humor. Includes a post mortem with a Timelapse.

      Name: Hanoi - City of Scooters
Short:LD #41 Game Jam Entry

My Jam Entry for the 41th Ludum Dare game competition. The Entry page can be found over here. This game is the first Massively Singleplayer Online game ever to my knowledge. Unfortunately, no post mortem this time.

      Name: Keep It Simple Stupid Bang Bang
Short:LD #40 Game Jam Entry

Our Jam Entry for the 40th Ludum Dare game competition. The Entry page can be found over here. This game has been created by 3 (partially former) students of mine and me. Unfortunately, no post mortem this time.

      Name: Birds of Borg
Short:LD #34 Game Compo Entry

My Compo Entry for the 34th Ludum Dare game competition. The Entry page can be found over here. You can find quite a number of comments, and a Post Mortem with a Timelapse.

      Name: NetworkImageInstaller
Short:Linux Network Image Installer

Image for CD or USB sticks for installing kiwi images or arbitrary openSUSE / Fedora / Ubuntu versions via network.

      Name: RAnsrID
Short:Redundant Array of Non-Striped Really Independent Disks

User-space block device for storing large amounts of data that needs to be accessed sparsly and with low speed only in a highly redundant way, minimizing disk uptime.

      Name: X.org
System:Linux, BSD, ...
Short:The X11 Window System

I'm working on X.org for my employer, mainly on the Xserver, the RandR subsystem, the mousedriver, and on caching systems. I'm also on the board of directors.

      Name: freq_meter
System:Atmel AVR tiny
Short:Reciprocal Frequency Counter with LCD

Software-only implementation of a reciprocal frequency counter, with sub-Hz resolution, 0Hz-10MHz range, and 2.5ppm relative accuracy.

      Name: uint64_ops
System:Atmel AVR tiny
Short:Low footprint 64bit routines

Routines for 64 bit arithmetics with much lower footprint than the generic libgcc routines.

      Name: usbtiny-ir-lcd-switch
System:Atmel AVR tiny
Short:igorplug-usb compatible IR receiver with power switch support

Improvment of Dick Streefland's software based USB protocol implementation usbtiny. It enhances the code to add detection for a single IR command, and the AVR will then tie an output pin to ground, e.g. for creating a power button event.

      Name: r600_demo
Short:Bringup tool for ATI's r6xx, r7xx, and future chips

While writing radeonhd we had to find out that the chips are programmed radically different from older chips. For understanding their 3D cores a bringup (testing) tool was necessary. I wrote most of the code for this together with Alex Deucher from AMD. We are able to understand most of the chip's behavior now.

      Name: radeonhd
System:Linux, BSD, ...
Short:The open source driver for ATI's r5xx, r6xx, and future chips

At SuSE we're part of the core team writing the radeonhd driver for ATI's newest graphics chips as a community effort. ATI is also providing free documentation for those chips.

      Name: compiz and Xgl
System:Linux, ...
Short:The most advanced OpenGL accelerated desktop

Xgl and compiz have mainly been created by David Reveman, I'm working a bit on it and package it for openSUSE when time permits. I've mostly done work for XVideo acceleration in Xgl.

      Name: pointcloud
System:Linux, IRIX, Windows
Short:Visualization system for uncorrelated data

pointcloud accelerates rendering of scattered point data by a hierarchical data structure based on a PCA clustering procedure. By traversing this structure for each frame we can trade-off rendering speed vs. image quality. The scheme also reduces memory consumption by using quantized relative coordinates and it allows for fast sorting of semi-transparent clusters.

      Name: xine / IRIX port, OpenGL plugin
System:Linux, IRIX, BSD, ...

I developed the original OpenGL output plugin, now actively maintained by the xine developer comunity. I also started the IRIX port, including irixal sound.

      Name: transcode / TomsMoComp plugin port

Tom's MoComp is one of the best available deinterlacer, I ported it to transcode.

      Name: transcode / fieldAnalysis plugin

fieldanalysis detects progressive / interlaced / telecined video automatically. This is mainly for use in scripts.

      Name: runsuid
System:Linux, IRIX, Solaris (+ other Un*x systems)
Short:Poor man's set-uid/set-gid script invocation

runsuid runs a script with another user-id/group-id, when the user has the right to do so according to the configuration file. If used in the right combination with access restrictions this can ease the life of system administrators. Additionally, it can be used for running CGI-scripts as different fixed users.

      Name: view
System:Linux, IRIX, Solaris
Short:>CGI binary for file type recognizing file viewing and archive browsing

view is a CGI binary that uses external programms to view and extract archive contents. One can browse through archives just like they were ordinary directories. Additionally, for several data types converters to html exist, which e.g. transform Amiga Guide files on the fly to readable html code. view superseeds lhad.

      Name: lsearch
System:Linux, IRIX, Solaris
Short:Large database full text search engine

lsearch is a full text search engine that is used on www.ftp.uni-erlangen.de. It is capable of finding >30000 hits in a 150MB database in less than 0.1 seconds on a Sun Ultra-2 (once, parts of the database have been paged in). Sorting, however, needs some more time ;-) . The database itself is built in less than one hour.