WAT
As of 2003-11-15, I don't use WAT myself anymore. This isn't because WAT is broken, but because I'm experimenting with other approaches. The code has been stable for a while now, but don't expect any improvements or extensions. Unless of course you write them and send them to me!
I've always used a simple text file to keep a grip on all the things I have to do - which may explain why I fail to do any of them. WAT is a little Perl program that can bi-laterally sync a todo text file with a Palm.I was prompted to write it by the imminent arrival of Vim 6.0, which introduces outliner-style folding. I have to store a wee bit of state in the text file for syncing to work well, and folding lets me hide that data. It also means that I can put the notes that can be attached to Palm todo items into the text file without cluttering up the display.
Here's a couple of screenshots to show you what I mean. Here's how the text file looks:
3 Lunch with Z %12619791 2 Phone Tom Dolan %12619995 2 Fix button/zip on trousers %12619981 2 Finish zoom proqram Maybe have scaling? %12619906 2 Customising Mozilla %12620020 2 Tea with Peterme %12620018 2 Call Trevor Parsons @ linux user %12620017 2 Call Gill %12619961 2 Complete list of owned domains, and consolidate them NTK Domains ntk.net spesh.com kevinwarwick.org.uk everybodyhatesattachments.com One off jokes teonline.co.uk Future Projects spoolfeed.com spoolfeed.org actuallyworks.com oblomovka.com %12619979 2 set up and pln actuallyworks.com
Here's how it looks when folded under Vim 6:

Some of these items (shown in orange) have been unfolded - showing the state
data (those %numbers), and the note attached to them. The rest have been
folded up, including the domain list entry, which has its detailed note
hidden.
Download
WAT is now up to version $m=readlink("./wat/wat.tar.gz") ; $m=str_replace("wat","",$m); $m=str_replace(".tar.gz","",$m); echo $m; ?>. Here's where you can get it:
wat - the Perl executable.wat.vim - the Vim 6.x syntax file
README - how to get it to work
wat.tar.gz - all the above, tarred
You'll need the pilot-link Unix
Palm utility, and the PDA::Pilot Perl module, which should come with
it.