lisp-mode
I’m having an unexpectedly parentheses-heavy weekend. As well as experimenting with Acornsoft LISP on my newly-tricked-out Electron (more on that in a future post), I had a minor itch at work, and I decided to turn to Emacs to scratch it.
I wanted a quick tool to track what I’m working on, to get a clearer picture of where my time is going. Specifically, I wanted a list of tasks and time spent each day, in a form that I could collate and generate statistics from.
There are innumerable ways this could be done, and I have plenty of experience in quite a few of them. For something that’s just for personal use, a full application toolkit is almost certainly overkill. The last time I did this exercise I used Excel, which worked pretty well on the statistics side but left the entry of the data more manual than I wanted, so this time I wanted to try something else. I decided to return to an old staple.
Within about half an hour, I’d put together something serviceable — a new editing mode for an simple, ad hoc format that allowed me to quickly enter timestamped entries in a few keystrokes, while retaining all of Emacs’ more general editing facilities. Reading this into a Python notebook to analyse will be similarly easy when I get to it.
As mentioned, I could have done all of this in a more powerful and general application toolkit, but that would have probably taken longer than I could justify. The advantage of Emacs (and Excel, and a few other similar systems) is that they provide a rich structure to tweak to your specific needs. The interesting question is in the details; in this case, Emacs’ system of editable text buffers was a better fit that Excel’s grid of cells, but often the converse is true. It makes me wonder, are there other useful structures with similar properties? It’s a space that seems both fertile and under explored.