These are a few of my current projects. They are very much works-in-progress: they are incomplete, and I haven't worked out all the bugs yet. On the other hand, they show the state of my knowledge and what I can do right now, rather than what I was doing several years ago. If you want to see polished but outdated, see my work samples section. If you want to see rough but current, read on...



These are the Java projects that I'm currently working on (in my "copious
free time").


code browser

These CGI scripts let you browse source code in a variety of formats, using a CodeWarrior-style interface. The browser can even open and display CodeWarrior project files (XML format). In fact, all of the code samples below are just links to the code-browser: I simply upload my CodeWarrior project folders to the web server, and these CGI scripts do the rest.



This java package defines a set of utility wrappers for getting the MacOS "look and feel" using AWT. Due to the idiosyncracies of the Macintosh's standard UI, many of the default behaviours of the java.awt classes don't make sense under Mac OS. The classes in com.strangelight.salsa extend the standard AWT classes -- in ways that are mostly transparent -- so as to make their default behaviours more Mac-appropriate.


Virtual Control Surface


A while back, I bought a Native Instruments 4Control MIDI control surface for my Macintosh-based home music studio. Unfortunately, the driver software that came with the 4Control is Windows-only. There is freeware Macintosh driver software available on the 'net, but it has serious latency problems, and lacks certain necessary configuration options, all of which make it unusable for my purposes.

So, like any competent computer geek, I decided to write my own.

This is a hybrid application: all of the time-critical code is being written as a native shared library (DLL) in C++, while the user interface code is being written in Java.


technical writing
coding style

A few thoughts on the art of writing code.


finding work