Home Papers Reports Projects Code Fragments Dissertations Presentations Posters Proposals Lectures given Course notes


Heisenberg FMSynth
Jan - April 2012 / 1671 lines Java
This was the first synth that I helped implementing at Audiotool. In this instance I implemented the fast exponential envelopes, the filter module, drafted out the phase modulation kernel and implemented the wavetable bandlimitting.
June - August 2011 / 4745 lines C++, Qt
An implementation of a DJ Application for the Nokia Symbian platform in which we originally planned to mix any mp3 but after a while figured out that the support from Nokia was so bad that we stuck with 'exclusive tracks'. The project was interesting from a technical point of view. How to scratch in discontinuous time ?
December 2001 - March 2011 / 31157 lines C++, Qt
BpmDj is a program to DJ with your Linux machine. It works under Linux and plays Mp3's/Ogg's. It has a fully automatic BPM counter. It can determine the sound color. It has a full fledged QT based interface that will help you manage your songs. The program also allows offline automatic mixing and contains a wavelet based beat graph analyzer to visualize audio tracks.
Active Objects
July 2007 - April 2010 / 2953 lines C++, Pas, Lex, Yacc
This project focuses on Active Message Queues, an abstraction that seperates various tasks through means of a message queue whereby the queue will activate the underlying task whenever a new message comes in. Using this abstraction it becomes possible to have time speration between threads (they will not influence each others execution/not wait for each other), space separation (different tasks will not write into each others data space), scheduling independence (we can run multiple tasks with one, two or more processes), syntactical separation (each task is declared in its own source file) and finally lockfree programming, which thus also leads to a noticable lack of deadlock and race-conditions. This project is a C++ implementation of such an abstraction.
Interactive Image Spreadsheet
July - November 2006 / 30885 lines C++, Qt
IIS is a framework to write interactive image spreadsheets. Such a spreadsheet allows pictures to be inserted in regular cells and provides operators that work on these pictures. It provides the possibility to visualize images, point to objects within images and create domain specific operations on them. The framework has been instantiated 2 times. First for the creation of 2D gel analysis software. Secondly, for the creation of a multi face morpher, called psytrack.
Scheme Evaluators
September 1997 - April 2003 / 4398 lines Java, JavaCC
In order to get an overdesigned IG-tool working, I implemented overnight a scheme evaluator. The evaluator itself is written in Java and has been used to do research in ontologies, webdesign, distributed systems. Currently there are about 11 versions wandering around.
A Mobile Multi Agent System supporting strong mobility
Jan 2001 - November 2002 / 77531 lines C, Borg
Borg is a mobile multi agent platform that contains a- a core interpreter (the borgcore), which interpretes time/space seperated agents/processes; and b- a variety of user interfaces offered for various platforms (windows, kde, text interfacing, web interfacing) and Palm Pilot. Borg offers Location Transparant Routing, Strong mobility, Build in synchronisation primitives, a computational model suitable for wide area networks, garbage collection and transparant Serialisation of almost every possible expression. Borg was started from an existing virtual machine called Pico, an extremely simple language comparable to e.g. Scheme.
A Distributed Component System for Embedded Systems
October 2000 - October 2002 / 23570 lines Java
This project aims to provide an architecture that allows component based interprocess communication across embedded systems. As case, a number of cameras were connected to small arcom motherboards, such that they would negotiate between each other which corners off a room to cover.
A Pascal to Nasi-Schneider diagram convertor
1992 -
Notice: Undefined index: in /home/werner/public_html/projects.html on line 76
1994 / 12081 lines PAS

I wrote this program in order to meta-hack the exercises we got in high-school. We were expected, before writing a pascal program, to draw the Nassi-schenider diagram. Clearly this was useless work because the programs were too simple and because we had to do this in deluxe paint. As a result I spent my vacation (when going from 5th to 6th year) with developping a pascal parser and visualizer. The program itself has been written in pascal using the BGI drivers.
Strategy over a Null modem
Notice: Undefined index: in /home/werner/public_html/projects.html on line 76
/ 2799 lines C++, MFC

A game of strategy between two human playsers connected each to their own computers. The computers were connected using a null odem cable.