This page is mostly unmaintained.

Tools I use heavily and heartily recommend


I release all my projects into the Public Domain with this.
The Unlicense is the most liberal open-source "license" and you should use it if you want to maximize the potential applicability, and thus relevance and impact, of your projects.

Avoid the GPL at all costs! You'd just silently lose users left and right for no reason!

If you feel you can't use the Unlicense for some obscure reason, then the MIT license is a good second choice. It's very liberal and, most importantly, very short.

Personally, I consider any license longer than 2 pages to be suspect and a liability. Maybe that's because I'm a programmer and not a lawyer.


I touchtype Dvorak at around 80wpm.

Dvorak is a MASSIVELY superior alternative to clunky old Qwerty, in every respect except popularity.
Significant Dvorak efficiency and ergonomy gains compared to Qwerty:

  • 70% of strokes on home row. With Dvorak, you can type tons of common words just with the home row. Not so with Qwerty.
  • Optimizes for hand alternation, which increases rhythm and reduces errors and pain.
  • Optimizes for using stronger fingers such as index more than weaker fingers such as pinky.
  • Optimizes for natural and speedy "finger rolls" from "exterior" to "interior".
  • Optimizes for common digraphs.
  • Optimizes for minimizing "jumps" from the top row to the bottom row and vice-versa.
  • Optimizes for using the right hand a bit more as it's typically the stronger hand.
  • "AOEUI" is in a nice line on the home row on the left, which is logical and makes the layout easier to learn.
    "Y" is just on top of "I", which is also logical. Qwerty scatters vowels pretty much randomly.

In short, Dvorak was designed scientifically to optimize many important things, there's some thought to the design.
In contrast, Qwerty is a basically random arrangement of letters.
Fun fact: the letters in the top row spell out "TYPEWRITER". Talk about some marketing bullshit!

I should expand on this in one or more articles...


"A tiling, keyboard driven X11 Window Manager written entirely in Common Lisp."

Basically, this extends Emacs to the whole GUI. Needless to say, this is freaking AWESOME!
StumpWM also draws inspiration from the "screen" terminal multiplexer, another awesome program I use daily, albeit in basic ways.
I've been using this exclusively since 2008 and I can't imagine living without it (or a superior replacement) ever again!

My raw and undocumented .stumpwmrc init file is released into the Public Domain.


Required to use open-source Common Lisp implementations properly. No excuses!

By the way, M-x slime-cheat-sheet is still as under-advertised as ever!


By far the most popular Common Lisp implementation.

It's open-source (mostly Public Domain), reliable, very fast, and well-supported by its maintainers and library authors.


The One True Way to download and install Common Lisp libraries. Period!

Debian Mate

Debian Mate is like Ubuntu, except without the incessant ballbusting.
It's a really nice and productive Gnome 2 style environment, the pinnacle of usability!

Great references I use

Common Lisp HyperSpec

The last word on all the syntax and semantics of Common Lisp.

You'll need to invest untold hours studying this if you're ever to truly master Common Lisp.

Note however that it's not a tutorial.

You can download the CLHS to your computer from Quicklisp with (ql:quickload "clhs"),
for a more snappy browsing experience. This uses my thin ASDF wrapper.

CSS 2.1 Specification

My pages validate as CSS 3, but really CSS 2.1 lets me do pretty much everything I want to do.

Distinguished articles

My heartfelt recommendations

Practical Common Lisp

The most popular Common Lisp tutorial. Also the best, if you have some programming experience.

cl-test-grid reports

Got a library in Quicklisp?
Definitely check these reports for success/failure across multiple Common Lisp implementations and platforms.


Tons of great programming quotes. Extremely high-quality twitter feed!

Urban Dictionary

Your one-stop shop for all matters of random slang terms!

Particularly useful for more or less obscure IRC abbreviations, IMHO!

Good stuff

Slime Tips

A healthy source of Slime tips, by Stas Boukarev (stassats), another proficient and prominent lisper.

Lisp in Small Parts

A good and recent Common Lisp learning resource for newbies without prior programming experience.

Common Lisp Type Hierarchy

A pretty nice diagram of all the types in Common Lisp, with their relationships.

A bit overwhelming, but highly informative!

Fair warnings

Let over Lambda

Common Lisp newbies: STAY AWAY from this book, at least until you've acquired proper Common Lisp taste, lest it teach you bad habits and warp your mind.

I've seen my share of impressionable newbies pick up questionable tactics from this book without realizing how unconventional (and often unnecessary) they are.
There's usually no good reason to use closures to make your own ad-hoc object system, for instance. Just use CLOS.

Paul Graham

Common Lisp newbies: Beware of Paul Graham's Common Lisp coding style, it's not considered "idiomatic" by many (myself included). For example, he prefers DO over LOOP.

He's got some pretty nice essays on Lisp, though! The most well-known is "Beating the Averages", which introduced masses of programmers to Lisp, myself included!