Command-line Tools

Friday, 27 March 2009

by Silumesii Maboshe

This year, I’ve been on the hunt for simple productivity tools to bootstrap Pencil Case Studios. By being willing to let go of the graphical interface, I have stumbled upon some powerful and elegant programs that are making life at the Studio a little easier.

Emacs, Org-mode, RememberMode and Git

Until now, I have used Emacs as my text editor of choice when no graphical user interface was available. Some people live in Emacs. I am not there yet. I am, however, receiving the full benefit of their passion:


Org-mode is an Emacs mode by Carsten Dominik for managing notes, tasks and outlines. It is a surprisingly intuitive way of organising stuff in a way that is flexible and organic. Getting started is a bit of a challenge but once you are in, it is a satisfying way of working.


RememberMode is another Emacs mode written by John Wiegley. It is meant to capture interruptions. It allows you to switch context from what you are currently doing to capture notes on the issue that has been brought to your attention and then quickly switch back to work when the interruption is complete. It is as slick as QuickSilver but without the pizzaz.


Ledger, also by John Wiegley, is a simple command-line accounting system. To use it, you will need to become comfortable with double-entry accounting. The documentation for Ledger prudently introduces basic accounting principles. This is one manual that is worth a close read.

Ledger generates reports and can do time tracking so may end up becoming my billing and invoicing tool as well.

John is currently working on version 3 of the software. If you are proficient in French, Spanish or German, he could use the help to translate the documentation in to those languages.


So, now that I have the tools, can I use them collaboratively? Well, with Git, yes!

I am currently experimenting with a shared Org-mode repository to share tasks and notes on projects. It is proving to be much more focused than sending emails back and forth.

Since Ledger uses text files as does Org-mode, I am experimenting with Git to collaborate on my financial record keeping.

Taking it Further

The next steps I am looking in to are:

  1. Diving deeper in to the functionality of Emacs, Org-mode, RememberMode and Ledger
  2. Allowing clients to access the Ledger and Org-mode files as appropriate

I’ll keep you posted on the progress!