Talk is cheap, trust the source. Most of the code I've written is proprietary, but some is online on GitHub, SourceForge and Tigris:


We opensourced all our code when the Frameworx company was shut down in 2004. I wrote most/all of the model engineering code in Louis, the model-driven ORM (Object-Relational Mapping) component. This is also where Buckminster was born, a build automation tool that matured and migrated to become part of the Eclipse eco system.


This is/was an open source project where we aimed to extend the Logitech Squeezebox server with social interaction capabilties. I co-designed the data model and wrote the Eclipse-based rich client, Yggdrasil. Unfortunately, Logitech terminated the Squeezebox product line before we were able to launch anything really useful (we had an alpha version running as a plugin for the server).


A command line tool for automatically generating MP3 playlists from ID3 tags. I wrote this to overcome a restriction in my first media streamer, the Turtle Beach Audiotron, which didn't read ID3 v2 tags with multiple genres. I still use it, but haven't maintained it for quite some time. It just runs.


Intended to detect and log WAN outages to help end users troubleshoot problems and discuss availability with ISPs. Currently just an embryo, plan to evolve it to make it work at least for my personal use.


A simple command-line tool for automatically exporting Firefox and Chrome bookmarks to HTML.

Writings and Presentations


Development is not only about code. Again, most of my sketches and writings are proprietary, but some are online:


Akenine et al, ISBN 9789175579535


(US Patent: application #20140173219)


(US Patent application #20140200938)


(US Patent application #20140200939)








I maintain my bookmarks online. These links cover a wide range of topics, professional and leisure alike. Some are probably of personal interest only, while others may be more useful.


The starting point is

Those who say it cannot be done should not interrupt those who are doing it.

-- George Bernard Shaw