My Projects

EVERYONE has a hobby or interest that consumes too much of their spare time. Mine usually revolve around designing and building software and hardware.

Lumos: Light Orchestration System

It all began with a crazy idea: plug my holiday lights into a computer. The computer could then orchestrate the lights to make complex patterns, even synchronized to a musical score. I ended up designing and creating a set of circuit boards to control AC and DC power loads, writing the firmware that runs on those control boards, and the application software that runs the show from a host PC.

It's been a lot of fun and a great learning experience along the way.

The code is currently hosted on SourceForge (although I plan to move it to Github). Project details, schematics, and source code are at www.madscience.zone/lumos.

GMA: Game Master’s Assistant

One of my long-time hobbies is playing table-top role-playing games such as Dungeons & Dragons and Pathfinder. Over the years, I have created a number of automated tools to make the game easier to manage and speed up game play. The current incarnation of this software suite is GMA, which includes a character sheet printing facility (and in the future, the ability to edit the character in real time during game play), encounter generation, interactive battle grid map, and a set of timekeeping and battle tracking tools for the GM. The map is multi-user, so that each player can run their own map client and move their character’s piece around the map. This has been tremendously helpful while COVID-19 has forced us to play over a videoconference session rather than live in the same room.

The code has not yet been released but the intent is to eventually release it as an open source application. A recent copy of the GMA user manual is available for the curious (and as an example of my personal style when writing a manual). (This is a work in progress and still has a little formatting clean-up to be done.)

(Bits of GMA are starting to show up on Github, gradually.)

Athena DBMS

A lightweight database management library. This was started many years ago, before readily available alternatives such as Sqlite and MySql were on the scene, primarily as a personal learning exercise. I recently took it out of cold storage and have been fixing it up again, modernizing it, doing a lot of refactoring and cleanup, and will release it as open source on github when it's ready to use again in its improved form.

A discussion of the experience and rationale behind revisiting the project in the 21st century is here in my blog.

Busylight

A simple LED indicator to show people in the near vicinity of a computer user when the user is busy or free (according to what's on their Google calendars at that moment), or if they're currently in a video conference call (and if their microphone is muted or open). I built it with some spare parts I had lying around and wrote a simple daemon to control it with the help of a little open-source automation software. Details of the hardware and source code of the software are on github.

Github

My personal github is here, but there's not much there at the moment. I plan to move my existing projects there over time and release new open source projects there going forward.

Altair 8800

I am the proud owner of one of the original Altair model 8800 computers from MITS. I'm currently working on refurbishing it from “mostly in working order” to “really working order, with something resembling real disk storage.” As part of that, I'm also building one of Gary Kaufman's redesign of Geoff Graham's VT100-compatible terminal board to get the “real” experience of using the Altair all by itself instead of a thing talking to one window of a more modern PC.

Solid State Storage

A wild thought struck me that led me to design and create a prototype S-100 solid state storage board for the Altair. So far I have the circuit boards fabricated. The next steps will be to assemble the prototype board and write the firmware.

Quiz Show Hardware and Software

I've enjoyed setting up and running quiz shows for friends, family, the occasional church or scout group, etc. We have a lot of fun with them, but I must admit a big part of my personal enjoyment has come from writing the game software to provide as close as possible to a “real game show” experience, and not just looking like someone is running a computer program. To go with the software, I've created several generations of button and scoreboard hardware over the last few decades. I'm currently putting together the latest iteration of what I'm hoping will be the best set of hardware and software yet.

Amateur Radio

I'm a licensed amateur radio operator but lately haven't had an abundance of time to devote to doing very much with this, but I am keeping it warm on a back burner.