Rather than leaving interested parties to spelunk through my GitHub page to get a sense of what I do and have done (have at it if you like), I thought I’d provide a quick rundown of the software projects I’m working on now or have worked on in the recent past.
Current foci
Commercial / closed source
- PDFTextStream — PDF text and metadata extraction for Java & .NET
- Clojure Atlas — an experimental interactive visualization of Clojure and its standard library
- Clojure Programming, a Clojure book from O’Reilly
- Docuharvest (gestating) — messy documents => data.
Open source
Listed mostly in order of my own sense of my level of participation / “ownership” / “impact” at the time I updated this last…
- nREPL,a tool-agnostic Clojure network REPL; in addition, some nREPL middleware:
- Piggieback, adding support for ClojureScript REPLs to nREPL
- Drawbridge, an HTTP/HTTPS nREPL transport, implemented as a Ring handler
- Leiningen, the Clojure project management tool
- Friend, an extensible authentication and authorization library for Ring web applications and services
- Pomegranate, a sane Clojure API for Sonatype Aether + dynamic runtime modification of the classpath
- clutch — A Clojure library for Apache CouchDB.
- Clojure
- Counterclockwise — Eclipse Clojure plugin
Previous open source contributions
Stuff that I’ve contributed to in the past (and generally still use), but I’m not actively contributing anymore for whatever reason…
- pallet — Automates controlling and provisioning cloud server instances, Clojure-style.
- jclouds — a portable abstraction over top dozens of different cloud APIs
- jsdifflib — A javascript library for diffing text and generating corresponding HTML views
- rummage — A Clojure client library for Amazon’s SimpleDB (SDB)
- bandalore — A Clojure client library for Amazon’s Simple Queue Service (SQS)
- arbor — a graph visualization library using web workers and jQuery
- clojure-maven-plugin — Maven plugin for Clojure builds
Of course, this is far from comprehensive. But, if you care, maybe it’s enough to get a sense of what I do most of the time.


