opencansuite(Qt/QML/C++) (2016)

fixed core signal encode, decode. merged/adapted QtAutomotiveClusterDemo as sample.


socketcan (C, nodejs) (2016)

fixed core signal encode/decode


canmatrix (python) (2016)

updated previously incorrect signal bit offset calculations, fixed dbc-kcd conversion


jpegrepair(C) (2016)

Created to fix some corrupted images.


Klaatu (2014)

Kaatu is a minimal Linux which reuses the hardware support provided in an Android release, while removing Dalvik and above. This provides a minimal embedded Linux system supported by Android vendor support, while keeping flexibility of user interfaces (including headless, Kivy, qt/qml, and others) or other customizations.


kivatu (Klaatu + Kivy)


SiGal (2014)

Modifications to SiGal, a simple php gallery, for use on a home photo server * lazy loading of initial thumbnail (generation), to unblock image loading * video thumbnail generation * automatic video conversion for HTML5 browser playback. * support sub-galleries and allow custom album directory functions, like flattening * bug fixes


Apandor (2014)

apandor - experimental player that communicates using a subset of the pandora bluetooth protocol. Reverse engineered from automotive and mobile communication.


NodeJS/JS development example (2013)

nodejs example

Wavelet experiments

I had worked on C and Python/Pylab programs to analyze and manipulate sound using Continuous Wavelet Transforms.

(If interested, I can find and post the source).

Client-side Javascript .chopro parser

See chordpro.js and examples at, to see how JavaScript (in the client browser) can be used to convert .chopro text files into pretty guitar music. Use “View Source” to see the original .chopro text.

CSound experiments

CSound is an audio programming language released in 1986, yet can perform quite advance sound creation and manipulation. Here are two potentially interesting uses of Csound:

Singing with CSound

See “Singing with Csound” to learn how I used CSound to create music with a modeled synthesized Singing voice that replaces a MIDI instrument.

Atari Pokey simulation using CSound

See “Atari Pokey to Csound Conversion” to learn how I used CSound to simulate Atari Pokey sound synthesis either in real time with a modified atari800 emulator or offline using previously captured SAP files.

DVD backup X

dvdbackupx is a version of dvdbackup that uses libdvdnav to find and skip unused blocks to avoid potentially bad sectors.

Linux Kernel based (iptables/netfilter) based UDP relay

ipt_relay is a netfilter kernel module and IP tables modification that allow a high volume of UDP packages to be relayed through the kernel.


WebKNotes is a somewhat obsolete web/perl based knowledge database. I am in the process of rewriting a replacement system, which is entirely client-side Javascript. All markup parsing will be performed on the client side (for .wiki, .chopro, …). The only requirement from the server is HTTP PUT, and HTTP DELETE (other HTTP/Webdav verbs may also be used). I have a somewhat working prototype.


Perl/Linux is a Linux distribution where all user space programs are written in Perl. While this was potentially useful for an embedded platform, it was mostly just a fun project.


MinCrossLinux was an embedded, package based Linux distribution build system. It was used on NSLU2 and WDTV devices, but is not maintained. I would instead suggest the openwrt or openembedded depending on your requirements.


NFTE is a modification of the FTE to create a minimal yet intuitive editor (think DOS edit). I also created the NCurses frontend.

Other projects (very old)

I have made contributions to several other open source projects including NMEAP, Konsole, BOA, Intermezzo, XPilot, FVWM.