Thinking in the shell

[Tweet]

My doing project has been a great tool for me, and it’s evolved into a fairly complete time tracking system of sorts. Using the done, finish, and meanwhile commands, you can include time intervals for your entries and see them with --totals in most view and show variations. I’ll need to do a whole post on that to explain it properly, but I wanted to mention something different today.

Using shell aliases, you can actually expand doing to do a lot more. For example, I have an alias called thinking in my ~/.bash_profile which adds random ideas I come up with to an “Ideas” section of my doing file and tags them automatically:

alias thinking="doing now -s Ideas @thinking"

Then I can use:

$ thinking I should write about these doing aliases

And running doing show @thinking gives me:

2014-04-24 10:30 | @thinking I should write about these doing aliases

You can also set up custom views for these lists in ~/.doingrc, perhaps omitting the date or handling notes differently, and call it with doing view [view name]. You could also add the -e switch to the alias to always open up an editor so you can add notes to any idea. You get the idea.

There’s also a -f flag which allows you to specify a different file for the command, so if you want to separate these contexts completely, you can. I like keeping them in one file, in their own section, and then just using doing show ideas (to view a single section) or doing show @thinking (to view all tagged items).

You can alias things like “playing,” “planning,” “reading,” or even reminders like “buy,” “read,” or “remember.” It allows for fairly natural commands that are intuitive and easy to remember, without bothering with the extra flags and switches that would always be the same.

It’s just a handy trick I figured most people hadn’t considered. If you spend time on the command line and are prone to forgetting what you’ve been up to, check out doing.