Tag Archives: Remind

iCal 2 todo class properties

Just in case you’d like to play around with the to do creation itself, iCal has a few properties for the todo class that can be added in a similar fashion to what you see in the PARTB string from totodo.sh:

  • completion date (date) : The todo completion date.
  • due date (date) : The todo due date.
  • priority (no priority/low priority/medium priority/high priority) : The todo priority.
  • sequence (integer, r/o) : The todo version.
  • stamp date (date, r/o) : The todo modification date.
  • summary (Unicode text) : This is the todo summary.
  • description (Unicode text) : The todo notes.
  • uid (Unicode text, r/o) : A unique todo key.
  • url (Unicode text) : The URL associated to the todo.

Remind Like Water: totodo.sh

(Part of the Remind Like Water series)

The idea is to separate out the repeating/recurring tasks from the regular projects and actions (contained in a GTD program like iGTD or OmniFocus), and hook it up with a calendar system of some sort. Using remind and iCal, we can make that happen with a smidgen of sealing wax and bailing wire.

This shell script takes the output of the standard rem -q command and creates individual to do items in iCal from it. Pretty simple and barebones at the moment, but works. It will need to be in your path in the terminal and made executable. If you scoff at my mad script skills, feel free to offer alternative approaches — I’d love to hear them.

Like anything nowadays, the script may cause blindness or extreme rashes, so make backups before testing.

#!/bin/sh
# by Robert Daeley
# version 0.1 2007-06-07
# assumes existence of iCal calendar called "remind"
# run in your terminal with ./totodo.sh

REMINPUT=$(rem -q | sed '/^Reminders /d;/^$/d' | 
 tr "n" "," | sed 's/,$/ /')

PARTA='make new todo at the end of todos of calendar 
 remcal with properties {summary:"'
PARTB='", due date:thisday}'
IFS=","
for TODONAME in $REMINPUT; do
    osascript -e 'set remcal to "remind"' -e 'set thisday 
     to current date' -e 'tell application "iCal"' 
     -e "$PARTA$TODONAME$PARTB" -e 'activate' -e 'end tell'
done

Remind Like Water, disclaimer

I should add that this “Remind Like Water” project is more of a feasibility analysis than anything else. In other words, don’t try this at home. ;)

I both love and hate when my system gets in flux — love due to finding new ways to organize, hate due to the plate-spinning getting precariously out of control.

With the flux comes the need for a decision, covered in the above links. I just don’t feel comfortable investing the time in iGTD yet, and kGTD is pissing me off. Remind is a great reminding system, but not a great to-do tracking system. I may have to revert to something simpler for now — say, an OmniOutliner-based document of my own, possibly with a scripted interaction with Remind and/or iCal, but way less involved than kGTD.

I say “pissed off” at kGTD, when really I should be thanking it for helping me get back on the path to an organized life again. So much got out of control this past year, I can liken it to a train derailment, with car after car falling to the wayside.