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.
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.
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.
I suppose any file name would do, but I like "plan.txt".
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.
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.
If we have time instead of importance then it is an event or appointment.
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.
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.
chores.sh [[-]n|date]newchore.sh [date] [A|B|C|time] blatherdidchore.sh blatherarchiveplan.sh [-n|date]chores.sh leave undone chores in plan.txt.
plan2ics.sh <plan.txt >plan.icsthisweek.sh lists chores done or scheduled for the current week.birdseye.sh Gina's Birdseyebirdseye.py
to create the snapshot done by Gina.
Of course, todo.txt could also be fed into her todo script,
but there is no way to get modifications back into plan.txt.
Gina's birdseye.py requires Python
which may need to be installed separately if you don't already have it.
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.
chores.sh automatically use plan.txt just as the other scripts do?
chores.sh could automatically move old stuff from plan.txt to past.txt?
This is what archiveplan.sh does now.
So maybe chores.sh is no longer needed.
The past could be further split by year like so:
grep "^2005-" past.txt >past.2005.txt && grep -v "^2005-" past.txt >past.temp.txt && mv past.temp.txt past.txt
ics2plan to get stuff from Korganizer or iCal.chores.sh would make the two params be start and end.snapshot like Gina's birdseye.py.undo command would also be convenient.getopts command in Cygwin. Dang!