I've initiated, contributed to, and maintained a number of free software projects.
Contributed
- Clojure (Clojure)
- A modern functional lisp language with advanced concurrency features.
- Conkeror (Javascript)
- A no-compromises, keyboard-driven, extensible web browser.
- Clip (Ruby)
- A no-fuss command-line argument parser.
- Clojure Mode (ELisp)
- The Emacs mode for the Clojure language. I maintain this package.
- GNU Emacs (ELisp)
- The extensible, self-documenting lisp machine and text editor.
- ERT (ELisp)
- A testing tool for Emacs Lisp libraries.
- Gitjour (Ruby)
- A tool for sharing git repositories on a local network over
ZeroConf. I maintain this project.
- Hpricot (Ruby)
- A delicious HTML parser.
- JClouds
- A cross-provider library for working with remote storage and
compute APIs from Java and Clojure.
- Johnson (Ruby)
- A bridge between Javascript and Ruby.
- JRuby (Ruby)
- An implementation of Ruby on the JVM.
- Magit (Elisp)
- A Git frontend for Emacs.
- Mars (Ruby)
- A feed aggregator.
- Mirah (Ruby)
- A low-level programming language targeting the JVM with type
inference and open classes. Formerly known as Duby.
- package.el (ELisp)
- The Emacs Lisp Package Archive; a package manager for Emacs.
- Rack (Ruby)
- A web server adapter for Ruby frameworks.
- Ruby on Rails (Ruby)
- A web framework for Ruby designed to allow quick application development.
- Rudel (Elisp)
- A collaborative editing client for Emacs.
- RDoc (Ruby)
- The documentation tool for Ruby code.
- RFeedParser (Ruby)
- An ultra-liberal feed parser for Ruby based on the Python Universal Feed Parser.
- Rubinius (Ruby)
- A Smalltalk-inspired Ruby virtual machine and implementation.
- Ruby (Ruby)
- An object-oriented dynamic language.
- RubyGems (Ruby)
- Ruby's Package Manager.
- Swank Clojure (Clojure)
- An adapter allowing SLIME
to be used with Clojure. I maintain this project.
- Vlad
the Deployer (Ruby)
- Pragmatic deployment automation, without mercy.
Created
- Augment (Ruby)
- A framework for gathering metadata from code and displaying
it. Featured in my
talk from RubyConf 07.
- Bus Scheme (Ruby)
- A Scheme interpreter written in Ruby, but implemented on the bus! I
spoke briefly about this at RubyConf 08.
-
- Clojure HTTP Client (Clojure)
- An HTTP client for the Clojure language.
- Conspire (Ruby)
- A real-time collaborative editing platform using Git as a
transport layer.
- 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.
- Harker (Ruby)
- A tool to deploy Rails applications using RubyGems.
- Leiningen
(Clojure)
- A build tool for Clojure.
- Mire (Clojure)
- A multiplayer text adventure engine.
- Relax.el (ELisp)
- An Emacs frontend interface to CouchDB.
- Rinari (ELisp)
- An Emacs mode for writing Ruby on Rails
applications. Maintainership has passed to Eric Schulte.
- Watcher in the Water (Ruby)
- A tool to watch for changes on the Web and alert you.
- Miscellaneous Emacs Libraries
- find-file-in-project.el,
idle-highlight.el,
project-local-variables.el,
ri.el,
scpaste.el, and
steersman.el.
Presentations
- Functional
Programming with Clojure – Peepcode
- A screencast teaching functional programming with the Clojure
programming language. The first published commercial
documentation released for the language. I wrote the script, but
Geoffrey Grosenbach did the visuals and recorded the narration.
- Meet Emacs – Peepcode
- An hour-long screencast tutorial introducing the GNU Emacs
editor. Again, I wrote the script only.
- Tightening the Feedback Loop
- A presentation given at RubyConf 2007 on measuring and
improving programming habits.
Deprecated
- Concourse (Ruby)
- A web application to help schedule gatherings among participants
with varying schedules. My entry for Railsday
06.
- Ebby (ELisp)
- An implementation of the Obby collaborative protocol (version 0.3) for
Emacs. Superseded by Rudel.
- ElUnit (ELisp)
- A testing framework for Emacs Lisp. Superseded
by ERT.
- RAV (Ruby)
- A plugin for visualizing the data model of Rails
applications. Superseded
by Railroad.
- RPlanet (Ruby)
- A feed aggregator written in Ruby. Superseded by Mars.