A Lazy Sequence

Ready‑made customization

In the last couple of weeks two projects have made my day to day development work easier. Both are ready-made configurations for existing projects: oh-my-zsh, and the emacs-starter-kit. It is difficult for a beginner to configure complex tools optimally so it is great to be able to drop in configurations created by expert users.


I use my terminal a lot, but I don’t use it very deeply. For years now bash’s default setup has been my shell. After a recent failed attempt to get bash completion going, Matt suggested I look at zsh and oh-my-zsh. This setup has dragged my terminal sessions 15 years into the future with a minimal amount of relearning.


Emacs is the lumbering shoggoth of text editors. Its default configuration is rather unappealing, and spending time configuring it to the point where it is an enjoyable experience is a daunting prospect. Thankfully Phil Hagelberg has taken on the task of providing a better set of defaults aimed at dynamic languages. I dived in with version 2 of his emacs-starter-kit and I have replaced Textmate with emacs for my day to day development work in Django (with Python and Javascript1) and Clojure.


  1. Theres a minor glitch (patched in github but not yet in marmalade) in the javascript mode that causes anonymous functions’ function identifier to not get a fancy ƒ character and instead be replaced with nothing.