This page and its subpages are about work that I do for fun or pro-bono--hobbies and volunteer gigs, basically.

Current "Just for Fun" Projects

  • Read about the R2-D2 my boys and I are building. There's a world-wide club of R2 builders that publishes plans and details. It's an ambitious (and expensive) project, but a great teaching tool for mechanical design, materials science, electronics, and of course, all kinds of artistic skills.
  • I'm building a working replica of the Apollo Guidance Computer. I've always been intrigued by the guidance computer used on the Apollo missions. What better way to answer that than to build one. The actual software used is now in the public domain, and there is a very good emulator for the CPU written in C, so it's possible to run the original AGC programs on a $30 Raspberry Pi (and yes, the Pi is far faster than the AGC ever was). The majority of what I will be building is the DSKY, the display-keyboard interface. It's not a complex hardware project, but I'm using Eagle for the schematic capture and board design, and Fusion360 for the parts--I'm new to both, so throwing myself into something detailed is, I feel, a great way to learn the tools.

Recent Software Projects

Vera Home Automation

I've written and support several plugins for the Vera home automation gateway/controller. Read about those here.

Open Source

  • lexp.js - A lightweight infix expression parser I wrote for a JavaScript project. While it's possible to evaluate expressions directly in JavaScript, ensuring security can leave one wondering if all the holes are plugged, and perhaps finding out the hard when one is not. The lexp.js project addresses this by creating a limited grammar and contained execution environment. This project can be found on GitHub.
  • luaxp - An outgrowth of lexp.js that was born when I started implementing the SiteSensor plugin for Vera Home Automation, luaxp is an infix expression parser written entirely in Lua. It is found on GitHub.

Older Projects (Archive)

Information about some of my older projects can be found here.