I've been really impressed with the recent explosion of visual programming systems to teach kids to code like Scratch, Blockly, and MakeCode. The kids and I have especially enjoyed working with LadyAda's MakeCode for Circuit Playground Express.

At any rate, I've been meaning to update my skills in Javascript, and wanted to get a feel for OpenCV, so I just started working on a new project called CVBlocks.

The goal is to make basic image processing systems programmable via Blockly, both for learning machine vision and for quickly testing out ideas. It's in about the proof-of-concept stage right now. The repository for it is here.


I've tinkered quite a bit with Arduinos and compatible boards ( Teensy and Feather being two of my favorites) and assorted hardware, doing things like the BlinkenBall and light tables - but I don't have a lot of production-ready code that's ready to put up with full designs at the moment.
The BlinkenBall code is pretty simplistic...

GuitarPort, GearBox, and POD Farm

I spent quite a while working with Line 6, mostly focused on GuitarPort. It's sadly been long since discontinued, but you can still download the app for curiousity from here: GearBox 3.72.
GuitarPort was renamed to GearBox when new hardware devices were added that it supported.

When Line 6 decided to do a modern revamp of GuitarPort focused more on Digital Audio Workstations (DAWs) than online content, I jumped at the chance and rejoined them to help their team create POD Farm, which you can download the latest version of here: POD Farm 2.59.

Both of these apps have standalone modes and DAW plugin modes (VST/RTAS/AU) and require Line 6 hardware (and a guitar/microphone/etc.) to really use, but you can play with the interface even without the hardware. They should run on most surviving versions of 32-bit and 64-bit Windows and Mac OSX.

Code Demos

On occasion I've written code demos for interviews and such. One of the more recent demos written in 2011 used the final evolution of my personal skinned application framework for Windows. I've updated a bit of the text and the links, but otherwise it's pretty much as it was then. It runs in Windows, in 32-bit or 64-bit modes.

When I interviewed at RGM Advisors I wrote a response to their somewhat infamous Order Book problem. I asked their HR representative and received permission to share my solution. At this point I don't think the problem will be used again, so here's my solution.

A few notes:

Archaic Applications


The following apps have links to and buttons to mail - the domain I owned at the time. I have not owned that domain for many years. Please ignore the links, and don't pester them about my software. I am not responsible for or associated with the past, current, or future owners of except for the short period around 2003 that I owned it.

These are also just plain old. I've tested them on Windows 10 and they still come up, but they were designed for Windows 98/2000. I've updated a few items in the help and their installers, but no longer support or update them.

Click here for the Wayback Machine archive of my old website.

Sometime around 2001 or 2002, I started building a scriptable application and GUI framework that I used for a lot of my personal tinkering. Sadly, a Graphic Designer I am not, and I never got around to finding an artist to make the applications pretty - so most of these applications look pretty horrid. They do work though and a few are even still useful.


CodeBlind was an application I wrote using early versions of the GUI framework to simulate color blindness to check interfaces after I had received a complaint regarding a dialog in the first version of GuitarPort. It's written as a screen magnifier with a number of filters. It's still useful sometimes for me to check or show a problem with user interfaces in a pinch.

MIDI Driver

While maintaining GuitarPort, I had an idea that Line 6 was completely disinterested in but seemed fun to me. GuitarPort included some pedal models like Wah that required a foot pedal to play naturally, but didn't come with a pedal. Guitarport would take MIDI input to control any of the knobs though, so I wrote an app that would use any of the gaming pedals for driving/flying games and map them to MIDI messages.

Again, wasn't working with an artist and it's a fully graphical interface, but it worked and several people used it at the time.

Download CodeBlind and MIDIDriver Setup