Todo.txt Review

Cool Sign at Facebook

These signs hung around the facebook offices around the time of the IPO, I assume they are still up. This post reminds me a bit of that time.

facebook sign

The Problem and Challenges

I am wicked unorganized and frequently scatterbrained. I find that I end up spending an entire day thinking about a problem or some philosophical idea and totally forget commitments, promises, and tasks that need to be done. I just get really lost in my own head. I blame it on being an INTJ.

So, I wanted to find some kind of organizing tool. One of my colleagues showed me his system using OmniFocus and I was super impressed. However, it was Mac-only and I am not exclusively a Mac user (I have a linux machine at home).

The Solution

I found this cool toolset called It is a completely commandline based tool, hooks up to a Dropbox account for syncing, and has mobile apps on both platforms. It is a little simplistic, since it does really have much support for date-based tasks or tasks that have dependencies. The tool itself is pretty simple - put a text file in a dropbox folder and using Terminal run the file. Here's a quick example

tom@santaclaus3 ~/Dropbox/todo $ ./ ls
48 (A) Fix stylesheet disaster @work +uld
25 (B) Make blogpot about organization system @home
37 (B) Reply to Bobs email @home 
21 Schedule daily loads of extracts @work +importantproject
49 send rent check @home
.... (many more not shown ) ...

Note that it uses a A-Z based prioritization system. (A) priorities always show up at the top, non-prioritized tasks at the bottom.

So far for three weeks now, the tool has been working pretty good. I do feel like I am less likely to forget things and it is helpful to have a tasklist always available. Every morning, before I start working, I go through my entire list of @work tasks, figure out what I need to work on that day and prioritize them to an (A) task. If I can get to (B) tasks in a day, I consider it a pleasant bonus.

Command Line Magic

One of the most convenient tricks with this is that I can hook it up to my command line .bashrc file and have quick aliases to see my lists:

# todo list aliases
alias t="/home/tom/Dropbox/todo/"
alias th="/home/tom/Dropbox/todo/ ls @home"
alias tw="/home/tom/Dropbox/todo/ ls @work"

So now, to see all of my "home" tasks, I just type th. Note: the coloring is different here than what shows up on the command line, but I cant copy and paste colored ASCII data.

tom@santaclaus3 ~/projects/ $ th
25 (A) Make blogpot about organization system @home
49 (A) send rent check @home
09 Complete blogpost about amazon redshift @home +blog
45 Do problems from intro + ch1 of proof book @home +math
44 Read Intro and Chapter 1 of Proof book @home +math
04 Zarathusra Prologue +philosophy @home
03 Zarathustra chapters 1-3 @home +philosophy
TODO: 14 of 49 tasks shown

Similarly, I can type tw to see my work to do lists, and so on. Adding a task becomes as easy as just using the letter t:

tom@santaclaus3 ~/projects/ $ t a 'Download NBA data @home +nba'
50 Download NBA data @home +nba
TODO: 50 added.


I encountered a few problems with the tools and process:

comments powered by Disqus