I made something that I worked really hard on, despite knowing few people besides myself would ever find a use for it. However, if you:

  • Are command line savvy
  • Have ever forgotten what you were doing before you answered the phone
  • Have ever wondered what you did manage to accomplish during a hectic day filled with distractions and interruptions
  • Have ever stayed up late at night in a caffeine haze and had the morning sun blank your mind…

…This tool might actually be useful for you. Here’s the story.

I tend to get into somewhat obsessive work phases. I lose track of time, I lose track of eating, and, most annoyingly, I lose track of what I’ve been doing as I switch between projects. I’ve learned to set various reminders to snap me out of the haze and force me to be more conscious of my activities and the passing of time. I’m using Day One as part of that, as I’ve mentioned before.

I let the Day One quick entry popup show every hour, and I make myself take the time to list out everything I can remember working on for the last hour. The first line is the title, everything after it is additional metadata. I hit return twice, type “#wwid” and hit Command-Return. The entry goes into my Day One Journal and is tagged “wwid.” Then my favorite part happens.

Hazel watches for new Journal entries and runs them through a script that checks their tags and content. If it’s a “wwid” entry, it gets added to my “What Was I Doing” file in nvALT as a TaskPaper-style task line, complete with indented notes. I started this “What Was I Doing” system back in 2011 and have been using the same scripts for a long time. This post is actually about an update to that, but I just have to tell you about the rest of this Day One to nvALT system first.

The Hazel script also recognizes Slogger posts and compiles them into rotating Markdown files in my notes folder that I can view in nvALT and Marked (I really do drink my own Kool Aid™). If it’s a regular journal entry, it gets saved to its own Markdown file (with weather, time, and other data as MultiMarkdown metadata) and a reference to it is added to a Marked index file. I can pull the index file up in Marked and read my entire journal, sans the social Slogger stuff and persistent WWID entries.

I’m polishing up this Day One/nvALT/Markdown script and trying to generalize it to a point where it could work in other people’s environments. I’ll keep you posted. In the meantime, the original doing script was getting old and feeling limited. I needed a library of tools for managing the WWID file from the Hazel script, so a new version of doing began its life.

What was originally a 20-line bash script is now a full CLI. You can read more about it on its project page. All of the installation details, explanations and usage instructions are there.

“What Was I Doing” is not intended to be a journal or a task management tool. It’s simply a way for me to keep my sanity when I start working on too many things at once. Being able to see what I did in the last 3 hours is a very good way to stay focused and calm for me. Being able to see all the things I started and finished over the previous 5 days is very heartening at the end of the week. Mostly, I just want to maintain a train of thought long enough to finish things.

The new doing utility adds more robust reporting and display tools (with templating and external configuration). You can add entries to both the “current actions” section and the “later” section with doing now and doing later commands. You can even archive old entries from the command line and clean up clutter.

You can run doing last to see the very last note you made, and doing recent will show you the last 10. You can even see everything from the current day with doing today. Combined with grep (or, my preference, The Silver Searcher), it’s a full-on tool for sane tracking of personal projects.

Combined with colout for some color, I think it looks pretty great.

I bundled it as a gem that you can install with gem install doing. No downloads, and updates are easy to perform. Fancy, I know. It’s amazing how much effort I’ll put into something that I’m fully aware maybe three or four people will ever use. I get some kind of satisfaction out of the process, I guess.

Check it out on the doing project page. The source is on GitHub as well.