Simple Planning With Plain Text

Gina Trapani wrote a series of articles at Lifehacker.com where she keeps a "to do list" in a plain text file. A couple scripts help folks use it. My daddy always told me to put dates on everything. So I changed her format around just a bit.

Portability

Why use "plain text" files? "Plain text" really means ASCII. The main reason is portability. Such files can be read by some program on pretty much any computer. One can haul the plan (and supporting scripts) around on a USB stick.

Readability

This is a red herring. If one means readable by machine, then you're really talking about portability. If one means readable by humans, then you need a program to display the file. Sophisticated programs can make a file more readable, at the expense of portability.

Plan Format

I suppose any file name would do, but I like "plan.txt".

The Basics

date {time|importance} blather

Dates should be of the sortable form yyyy-mm-dd. Times should be hh:mm, where hh goes from 00 to 23. Importance is A, B, C, or D.

  1. Urgent
  2. Important
  3. Whimsical
  4. Done

To Do

We now have the makings of a to do list where we can list chores. The date is the date we intend to do them. When a chore is done or removed the original date and importance should remain for audit.

Gina Trapani recommends noting projects and contexts in chores. Projects are encoded as p:project. Contexts are encoded as @context.

Calendar

If we have time instead of importance then it is an event or appointment.

Display

Note that this format makes it pretty easy to sort and to grep for a date, month, or item. e.g. grep "^2006-05" plan.txt | sort.

Commands (Scripts)

Custom commands should not be necessary. However some convenience might be appreciated. We try to keep the number of programs needed to a minimum for maximum portability. These programs should already be installed on Linux, Cygwin, and Mac OS X: awk, date, expr, grep, sed, sort, and test.

Try this to update your finger .plan Unix file from your plan.txt file: chores.sh | grep -v " @home " >~/.plan.

For that "full screen" effect, newchore.sh and didchore.sh has commands at the end to clear; chores.sh <plan.txt.

Someday Baby


Valid XHTML 1.0! Valid CSS! http://www.BlossomAssociates.net/Plan/index.html 2006-05-23