[i'm coming down for movie night this friday. is there a movie night this friday?]
due to, err, popular demand--here is a description of the set of scripts i put together over the weekend. these scripts are wrappers around a program called
devtodo. they adapt the program to work with the getting things done methodology (hereafter gtd), which is current the
atkins diet of the productivity world.
i haven't finished reading the gtd book, so i'll profess to barely understandingthe system. the basic idea is that you should have a big list of everything you need to do, but organizing in such a way that you know exactly what you *can* do right now.
any basic todo list manager will store a list of tasks for you, but the essense of using it effectively is to view the list in different contexts. at some point a huge list becomes daunting, where if you look only at the list of items you can accomplish in ten minutes between other things, you know right then what you can do.
devtodo comes with 5 programs, tda (todo add), tdd (todo done), tde (todo edit), tdr (todo remove), and todo (todo list/manage). the first four programs (tda, tdd, tde, tdr) are wrappers around the fifth (todo).
my first step was to create 5 scripts for every project i'm working on. these are of the form "todo.project1", "todo.project2", etc. this allows to to keep separate todo files for each project, so i can look at and manage just a single projects' list of tasks. i've linked together all of these projects into a high level todo list, which is accessed by not specifying a todo command with a project name (e.g. just "todo").
my project list includes typical projects (write more programs), to keeping lists of things (urls to visit, groceries to buy, things to pack for my next trip, stuff i'm waiting on from other people).
as i mentioned, there are different contexts in which i can do any particular thing. i ride a van for a couple hours a day in which i have a laptop, but no internet access (which i call "@dark", as in no net access). some things require i be at my home office ("@office"), others in can do anytime i can get on the interweb ("@net").
every time i add a new item, i append the context which i can work on it to the end of the description. i have another set of scripts of the form "todo@context" that i can use to search the todo list for these tags. when i hop on my van, i can type "todo@dark" to get a list of those things that i can work on without internets.
and because you don't always remember to add the context, i have a command "todo@none" that shows me which items i forgot to add context to.
this system isn't complete yet, as i don't have a great way of looking at an abbreviated next actions list. i might do that with the task priority field. i also owe it to myself to review what i've read about the gtd system to see if i left anything out. regardless, it is working better than not having it.