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

Smaller Programs & Code Fragments

Audiotool Plugins

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
Feb - April 2012 / 1436 lines Java

Implemented the Audiotool DSP code for a 1) graphical equalizer, 2) a stereo enhancer, 3) an exciter and a 4) DC-offset removal/limiter combination.
qPCR Analysis Tools

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
July 2007 - December 2010 / 1484 lines C++, PHP

qPCR is a supposedly quantitative method. Over the years I wrote a number of tools to analyze the results from a Roche Lightcycler. Not that this gave me confidence in their apparatus, but it provided for some interesting analysis challenges.
Image Denoising

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
December 2004 - October 2010 / 461 lines IDL, C++

Denoising 2D Gels.
Data Objects

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
July 2006 - November 2009 / 5955 lines C++, Lex, Yacc

To retrieve and store textfiles in a readable textformat or a binary format. This was mainly used as a serialisation interface in BpmDj and a number of other tools. The provided datatypes includes multidimensional arrays of floats, doubles, various sized signed/unsigned integers, UTF8 strings and symbols.
Deep Sequencing Tools

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
March 2008 - March 2009 / 7000 lines C++

A number of tools to help conduct secondary and tertiary analysis of data produced through next generation sequencing.
Wdupes & A Read Only File Store

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
September 2006 - March 2009 / 807 lines C++

Duplicate files take disk space and the more disk space you have the less aparrent it becomes that youi have duplicate files. To solve this I adapted a tool (fdupes) to instead of removing the duplciate files, to hardlink them. After a while I figure out that it might be easier to create a readonly file store that would associate with every type of content a unique number.
A Proteome Effect Calculator

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
December 2006 - Feb 2009 / 7729 lines C++

If one knows the expressed genes, one can try to estimate the effect modifications to these genes might have on the proteome. That can in turn be used together with a protein intereaction map to bracket the areas of the proteome/genome that might be interesting to study further. This approach has been tested on MK5, FKRP & TAF4.

Measuring and Using Intensity Dependent Confidence Intervals

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
2006 -
Notice: Undefined index: in /home/werner/public_html/fragments.html on line 75
2009 / 5701 lines C++

Sometimes the noise found in a measurement is directly proportional to the strength of the measurement. Other times it is not and more often than not: it is something in between. These tools make it possible to measure the probability distribution in function of the intensity of the measurements and use the associated confidence intervals to report up/down regulations.

Movie Probability Analysis

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
July 2007 - August 2008 / 4723 lines C++

Tools created to analyze a transgenic mice experiment. Includes image alignment of frames in a movie, moving objhect detection and probability analysis of tthose moving objects.

SQL Table Viewer

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
2007 -
Notice: Undefined index: in /home/werner/public_html/fragments.html on line 75
2008 / 1550 lines PHP

A table viewer that automatically merges adjacent rows, allows sorting of the columns and seleciton of limiters. Multiple search criteria can be added using regular expressions. This was also used at ETH as a means to track samples in the deep sequencing facility.

Image Correlations

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
Jan 2005 - October 2007 / 14131 lines IDL, C

Aligning 2D Gels using multiple crosscorrelations, unwarping 2D gels, correlating them to external parameters & volume movie rendering using volpack.

Cryosleep

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
August 2003 - September 2007 / 3536 lines C++, Qt

A Brainwave generator that relies on a powerspectrum to shape the sound.
Experiments with an IIDC digital camera

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
July 2006 - August 2007 / 1117 lines C++

A number of experiments with a digitial camera under linux. These experiments includes the assembling of a lens. Average and variance calculation of moving objects. I also experimented with mathematically deblurring images, but that didn't work out too well.
A subimage locator

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61

Notice: Undefined index: in /home/werner/public_html/fragments.html on line 75
2007 / 438 lines C

Finds subimages in larger images.

Envision

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
November 2005 - Jan 2006 / 34105 lines Java, Python

Envision a crap project ran by the University of Tromsø. It is supposed to be a 'next generation genome browser', but the project management was incapable of even defining clear goals. Wasted time and effort. Just the sheer number of irrelevant layers: it was written in jython which is a python interpreter in java, which itself is already a virtual machine to access some form of hardware.

Beats 'n Breaks / BPM Live

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61

Notice: Undefined index: in /home/werner/public_html/fragments.html on line 75
2005 / 11688 lines C++, Qt

Mixing two dj streams live. This project was mainly concerned with the tracking of the tempo.
Tracking Social Networks

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
2004 -
Notice: Undefined index: in /home/werner/public_html/fragments.html on line 75
2005 / 2920 lines C++, Qt

Given that in Norway money seems to always pass the same hand I set out to create a program to actually start tracking those obscure relationships. Needless to say: the lack of information on one hand and the work to keep on tracking everything made this impossible.

Meta level connections across components

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
2003 -
Notice: Undefined index: in /home/werner/public_html/fragments.html on line 75
2004 / 4269 lines C++

This was an attempt to create a connectivity system with as few primitives as necessary. The only good thing from this research is that we developed the idea that connections should be set up at the meta level and if necessary such connections can be routed through other component. This allows for a more efficient meta-level than standard 'investigate-every-message' architectures.

Library Member/Book Management

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
June 1996 - October 1997 / 11606 lines C, NCurses, Java, Scheme, Html

A collection of tools to deal with member registration and book lending for a small library.
Affine Texture Mapping of Pentagons

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
Jan - June 1996 / 884 lines C, PAS, ASM

Texture mapping based on bresenhams algorithm, writen in assembler.
Nano: A compiler from Pico to Java, in C++

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
November 1995 - May 1996 / 4013 lines C

This project was an attempt to write a compiler in C to compile Pico code into Java. Both Pico and Java were fast moving targets at the time resulting in more problems than I would have liked.
12 Uren Loop Lap Counter

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
March - March 1996 / 623 lines C

To count the time per round and the number of rounds ran by each team. This program was quickly developed to keep track of the laptimes of multiple runners at the same time. Intersting about this program was its matrix-like approach to 'letters'. Internally the program kept track of a 'currently-is' matrix and a 'should-be' matrix. With every clock tick passing it would slide the letters slowly more towards the should-be matrix. This resulted in a standard 'clock-ticking' feel and gave a surprising result when switching screens.
Letting a Robot track a White Light

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
Feb - March 1996 / 1654 lines C

This was a student project conducted at the AI lab at the VUB. The goal was to let a robot track a white light (that could be moving). The main challenge in this project was to learn how to let the various state machines interact and how to avoid oscillations.
A Rotating Torus

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
August - November 1995 / 1817 lines C, C++, ASM

This was one of the artefacts of my 'demo' period. It is not as flashy as one might expect, however it contains a number of interesting features. Namely, the sound track was compiled to machine code, there are about 20000 dots flying around, it made use of a finescrolling in text modus and certain parts of this app were written in assembler.
EtiXeT

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
July - August 1995 / 1429 lines C++, TeX

Etiket printing for a laboratory, based on Latex to do the type layout. Includes R & S sentencens.

Collisiondetection for Simulated Robot Movements

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
November 1994 - Feb 1995 / 2060 lines SCM

This project attempted to predict what robot movements would come into collision if we executed them. We of course tried to do this analytically and this is probably the first time I started to realize the limits of mathematics. A nice thing I solved in this project was the boundary conditions when interesecting lines with polygons.
A Graphical Metacircular Scheme Evaluator

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
Jan - May 1994 / 2215 lines SCM

This was my first 'big project' (1st year) at the university. It concerns a graphical meta-circular schema evaluator that might be used to teach the course 'Structure of Computer Programs' with. Afterward I ported this program to MacScheme as an actual teaching aid.
An Extended Memory Stream

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
1993 -
Notice: Undefined index: in /home/werner/public_html/fragments.html on line 75
1994 / 617 lines PAS

A library to provide an extended memory interface to ordinary pascal programs. The extended memory is offered as if it were a stream from which can be read and written.

Time Registration

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
June 1992 - August 1993 / 691 lines C++,PAS,ASM

When I was young we were not allowed to use the computer more than 2 hours a day and of course there was always competition with my brother to use the computer. As a result I wrote a small program to keep track of who used the computer when.

KrokoBase

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
April - July 1993 / 18078 lines PAS

Inspired by Dos2.5 and Dos 3.0 on the Atari 800Xl, I wanted to create a similar interface to manage files and access to the operating system. Especially interesting on this project was the extreme dark and opaque nature of all dialog boxes.

Don Bosco Halle Exhibition 1993

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61

Notice: Undefined index: in /home/werner/public_html/fragments.html on line 75
1993 / 4042 lines PAS

This is the program used at the Don Bosco attract-students exhibition from 1993 (which remained used for a number of years afterwards). The concept is simple: people visiting the exhibition could test their knowledge of mathematics. They got 30 questions, the one with the highest score got a prize (or something like that). The program itself is as simple as the concept. Every question is represented as a picture. The program will show these pictures and ask which answer is correct.
A Balanced Binary Tree

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
1995
Notice: Undefined index: in /home/werner/public_html/fragments.html on line 75
/ 2253 lines C, C++

A library that I have regularly been using since its inception in 1995. It provide insertion and deletion opartions into a binary tree. The librry can be deplioyed as a collection of macros, as templates or as straight forward classes.
A Multi-page Fine Scroller

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
1995
Notice: Undefined index: in /home/werner/public_html/fragments.html on line 75
/ 1098 lines C

In the 'good 'old 'days it was difficult to perform fine scrolling. As a trick a graphical card was used and the startaddress of that card modified so that it would display the buffer content a bit lower. That was quite useful since it allowed an immediate reposition of the entire screen without redrawing anything. This project showed a PCX file accross multiple screens.

A Monopoly Rule Interpreter

Notice: Undefined index: year in /home/werner/public_html/fragments.html on line 60

Notice: Undefined variable: writing_id in /home/werner/public_html/fragments.html on line 61
1995
Notice: Undefined index: in /home/werner/public_html/fragments.html on line 75
/ 1276 lines C

An attempt to create a multiplayer monopoly game. It sets out with the creation of a rule based langauge that will be able to process te various mponopoly rules.


http://werner.yellowcouch.org/
werner@yellowcouch.org