Projects
- My GitHub projects not otherwise listed
below:
- My Emacs initialization files
- The source for this site
- My experimentation with different languages like Elixir, Common Lisp, Clojure, and Crystal
- Project Euler solutions
- The full list
-
KeyMaster, real time MIDI performance software that allows a musician to totally reconfigure a MIDI setup instantaneously and modify the MIDI data while it’s being sent. Written in C and using the cross-platform PortMidi and wxWidgets libraries. Much more performant than PatchMaster, but doesn’t have any way of loading user-written code to modify the MIDI stream.
-
midilib, a pure-Ruby MIDI library useful for reading and writing standard MIDI file and manipulating MIDI event data.
-
pmserver, a program that listens for text commands and can send and receive MIDI data throughPortMidi. It works with one input and one output device at a time. Reads commands from the terminal or stdin. Can read and write MIDI to files.
-
crystal_port_midi, a wrapper around the cross-platform PortMidi library for the Crystal language.
-
Kronut, a Korg Kronos set list slot name and comment editor. In the future, it may grow to be a set list editor as well. Kronut runs as a command-line program.
-
csvlixir, a CSV reader/writer for Elixir that operates on files or strings.
-
PatchMaster, real time MIDI performance software that allows a musician to totally reconfigure a MIDI setup instantaneously and modify the MIDI data while it’s being sent. PatchMaster is written in Ruby and is cross-platform.
-
napper, a JSON REST API client for Elixir.
-
DataVision, a pure-Java database reporting tool similar to Crystal Reports.
-
Bangkok is a Ruby project that reads chess game descriptions and re-play the games. Notice of events (moves, captures, checks, etc.) are sent to a listener. Bangkok comes with a listener that generates a MIDI file. In other words, the chess game is turned into music. Bangkok uses midilib
-
The Montastic Dashboard widget for Mac OS X. Montastic is “the free website monitoring service that doesn’t suck.”
-
Subjective C, an implementation of Objective C that I wrote many years ago — some time around 1993. It uses a hand-written parser to find Objective C code and turn it into ANSII C.
-
Squeak PostgreSQL, a PostgreSQL database interface for Squeak.
-
CheckbooX, a Mac OS X application that mimics the register included with your checkbook.
-
TwICE, a Java implementation of the Information and Content Exchange (ICE) v1.1 specification. The latest version implements the new ICE v2.0 specification. TwICE is now maintained by Jim Armstrong.
-
Rice, a Ruby implementation of the ICE v1.1 specification.
-
A Ruby talk given to the New York City CTO Club on July 10, 2001 (HTML and PDF available). (This talk has moved to my Writings page.)
- RuBoids, a Ruby Boids simulation using Qt and OpenGL.
Miscellaneous
Defunct Projects
-
KeyMaster (see PatchMaster)
-
NQXML, a pure-Ruby XML parser. The project page still exists and the code is still available, but since Ruby now ships with REXML, NQXML has become much less desirable.
-
DelimParser.rb, a Ruby class that parses character-delimited data files such as .CSV and tab-delimited text files. It handles different delimiters and quote marks as well as delimiters, escaped characters, and doubled quotes that appear in the data. Since Ruby now ships with the
csv
module, DelimParser has become irrelevant.