I've initiated, contributed to, maintained, and discontinued a
number of free software projects. Many of these URLs for older
projects unfortunately no longer resolve and are left up for
historical reasons.
- Clojars (Clojure)
- The community repository for Clojure libraries.
- Clojure (Clojure)
- A modern functional lisp language with advanced concurrency features.
- Clojure Mode (ELisp)
- The Emacs mode for the Clojure language. Maintainership has
passed to Bozhidar Batsov.
- GNU Emacs (ELisp)
- The extensible, self-documenting lisp machine and text editor.
- ERT (ELisp)
- A testing tool for Emacs Lisp libraries. Now part of Emacs.
- Fennel (Lua, Fennel)
- A lisp programming language which runs on the Lua runtime.
- Hpricot (Ruby)
- A delicious HTML parser.
- JClouds (Clojure)
- A cross-provider library for working with remote storage and
compute APIs from Java and Clojure.
- JRuby (Ruby)
- An implementation of Ruby on the JVM.
- Logplex (Erlang)
- A distributed log routing system.
- Magit (Elisp)
- A Git frontend for Emacs.
- Microscheme (Scheme, C)
- A compiler for a subset of Scheme targeting AVR microcontrollers.
- Mirah (Ruby, Mirah)
- A low-level programming language targeting the JVM.
- package.el (ELisp)
- The Emacs Lisp Package Archive; a package manager for
Emacs. I maintained this for a time before it was merged into
Emacs 24.
- Pleroma (Elixir)
- A social networking server for the Fediverse.
- Quil (Clojure)
- A graphics library for artistic exploration.
- Rack (Ruby)
- The web server adapter for Ruby frameworks.
- Rackjure (Racket)
- A Racket language which
brings many of Clojure's conveniences to the Racket platform.
- Ruby on Rails (Ruby)
- A web framework for Ruby designed to allow quick application development.
- RDoc (Ruby)
- The documentation tool for Ruby code.
- Ruby (Ruby)
- An object-oriented dynamic language.
- RubyGems (Ruby)
- Ruby's Package Manager.
- Sonic Pi (Ruby)
- Live-coding music synthesizer.
- TIC-80 (C)
- A fantasy computer for making games.
- Vlad
the Deployer (Ruby)
- Pragmatic deployment automation, without mercy.
- Antifennel (Fennel)
- A compiler from Fennel to Lua.
- Atreus (C, Racket, KiCAD)
- An open-source hardware, ergonomic mechanical travel keyboard design and firmware.
- Grenchman (OCaml)
- Fast-launching CLI client for running Clojure code over nREPL.
- Leiningen (Clojure)
- Project automation for Clojure designed to not set your hair on
fire. Installed millions of times.
- fnlfmt (Fennel)
- A code formatter for Fennel.
- Jeejah (Lua)
- An nREPL server for Lua and Fennel.
- Polywell (Fennel, Lua)
- A fully programmable text editor and repl environment for
embedding in games.
- Menelaus (Scheme)
- A meticulously-documented keyboard firmware.
- Slamhound (Clojure)
- A tool for reconstructing namespace declarations in Clojure
files. Maintainership has passed to Sung Pae.
- Smolforth (Lua, Forth)
- An implementation of the Forth programming language designed for embedding in games.
- Miscellaneous Emacs Libraries
- find-file-in-project,
better-defaults,
scpaste, etc.
For a full list, please
see my itch.io profile.
- Bussard (Lua)
- A space flight simulation adventure with a programmable ship and stations.
- Cardinality (Lua)
- A game authoring environment inspired by Hypercard and Scratch.
- EXO_encounter 667 (Fennel)
- A top-down puzzle/adventure game featuring lasers and robots. Winner of
the Lisp Game Jam
Spring 2018.
- This is my Mech, with Emma Bukacek (Fennel)
- A short game about a group of mech pilots working
together. Winner
of the 2019 Lisp Game Jam.
- Energize! (Fennel)
- A game where you play as the transporter room operator.
Winner of the Autumn
Lisp Game Jam 2019.
- Tremendous
Quest IV, with Benaiah
Mischenko (Fennel)
- A short game about working in the QA department of an MMORPG.
- Spilljackers, with Emma Bukacek (Fennel)
- A cyberspace revenge heist in retro 3D.
- Liquid
Runner II (Fennel)
- A retro-styled puzzle platformer.
- Tower
Institute of Linguistics,
with Matthew Lyon (Fennel)
- A game where you build a tower up to heaven and defy god.
- Bus Scheme (Ruby)
- A Scheme interpreter written in Ruby, but implemented on the bus! I
spoke briefly about this at RubyConf 08.
- Conkeror (Javascript)
- A no-compromises, keyboard-driven, extensible web
browser. Incompatible with newer versions of the Mozilla runtime.
- Emacs Starter Kit (ELisp)
- A set of dotfiles that provides better defaults and bundles other useful
libraries for Emacs users. Used by thousands of developers. Deprecated in favour
of better-defaults.
- Swank Clojure (Clojure)
- An adapter allowing SLIME
to be used with Clojure. Deprecated in favour of
Monroe.
- Clojure HTTP Client (Clojure)
- An HTTP client for the Clojure language. Deprecated in favor of
clj-http.
- Concourse (Ruby)
- A web application to help schedule gatherings among participants
with varying schedules. My entry for Railsday
06.
- Erythrina (OCaml)
- A desktop program for choosing among a list of options in a
composable manner. New features in dmenu 4.5 obsolete this
program, but I
recommend rofi
instead.
- Augment (Ruby)
- A framework for gathering metadata from code and displaying
it. Featured in my
talk from RubyConf 07.
- Conspire (Ruby)
- A real-time collaborative editing platform using Git as a
transport layer. Deprecated in favor of Rudel.
- Ebby (ELisp)
- An implementation of the Obby collaborative protocol (version 0.3) for
Emacs. Deprecated in favor of Rudel.
- Gitjour (Ruby)
- A tool for sharing git repositories on a local network over
ZeroConf. I maintained this project but did not create
it. Deprecated in favor of Bananajour.
- Orestes (Forth, C)
- A Forth implementation for microcontrollers. Deprecated in
favor of Menelaus
- ElUnit (ELisp)
- A testing framework for Emacs Lisp. Deprecated in favor
of ERT.
- Pindah (Mirah)
- A tool for building Android applications with
Mirah. Maintainership has passed to Brendan Ribera and Alex Parrott.
- Prometheus (Erlang)
- An XMPP-driven thermostat system. Deprecated when I moved out
of my house which had this heater.
- RAV (Ruby)
- A plugin for visualizing the data model of Rails
applications. Deprecated in favor
of Railroad.
- Rinari (ELisp)
- An Emacs mode for writing Ruby on Rails
applications. Maintainership passed to Eric Schulte and Steve Purcell.
- RPlanet (Ruby)
- A feed aggregator written in Ruby. Deprecated in favor
of Mars.
- Rubinius (Ruby)
- A Smalltalk-inspired Ruby virtual machine and implementation.
- Syme (Clojure)
- Manages disposable EC2 nodes for collaborating on GitHub
projects via ssh and tmux. Maintainership has passed to Chris
Bilson. Lost when Heroku's free tier shut down.