Code
Programming is one of my favorite things. It's the ultimate puzzle: you define the objective, you define the solution, and your prize is a beautiful automaton that thinks on its own. My primary interests are with high level interactive languages, as these are the key to unlock the greatest potential of machines as tools to bring true freedom of creative expression to the people.
Here are some (but not all) of my projects and projects I contribute to:
Common Lisp
- cl-patterns - Lisp library of fuctionality for live coding algorithmic and generative music.
- bdef - Lisp system to simplify and improve handling of audio buffers in supported synthesis engines.
- cl-collider - Lisp library for interaction with the SuperCollider sound synthesis server. Not my project, but one I contribute to frequently.
- thundersnow - Digital audio workstation and live coding labratory built on cl-patterns.
- "worm" - Working title for my action sandbox adventure game in Lisp, inspired by early Sonic and Zelda. Not yet released; currently in very early stages of development.
- cl-alsa-midi - A Common Lisp library for MIDI in Linux via ALSA. Based on cl-alsaseq originally written by Richard Venn.
- datamuse - Common Lisp library for accessing the Datamuse word-finding API.
Emacs
- tracker-mode - Tracker-inspired sequencer for Emacs.
- piano-mode - Emacs mode to use your keyboard to send MIDI notes, similar to the feature common in digital audio workstations.
- tag-edit-mode - Emacs mode for editing file tags such as ID3 and similar.
- weechat.el - Chat via WeeChat's relay protocol in Emacs. Originally written by the-kenny, but the repo was archived, so I have taken it upon myself to update and maintain it.
- fluxus-mode - An Emacs mode for interacting with the Fluxus live coding environment. Forked from fluxus-framework.
- weechat-log-mode - A simple Emacs mode for viewing WeeChat log files.
Factor
- factor-supercollider - SuperCollider vocabulary for Factor.
- factor-osc - Open Sound Control (OSC) vocabulary for Factor.
- factor-sexp - S-expression parser for Factor.
- search-by-example - An attempt at "search by example" functionality for Factor.
Pure Data
- xr-abstractions - Set of Pure Data abstractions including various kinds of sequencers, GUIs, and other utilities. Kind of a mess, but slowly being cleaned up and reworked.
- pd-ladspa-abstractions - Pure Data abstractions for various LADSPA plugins.
Python
- gosd.py - Simple OSD script in Python to show the currently-playing track in MPD, as well as the date, time, and other information.
- taptempo.py - Simple Python script to get the BPM of a tempo by tapping a key from the terminal.
Miscellaneous
- scripts - A curated collection of some of the scripts I've created. Written in a few different languages (...but mostly Fish).