I use the excellent remind tool for keeping my brain in order. Its immense power is a little too much for me at times, so I mate it with the Wyrd ncurses front-end.
I have prepared an include file modelling South Australia public holidays (available here). It correctly handles the nuances of our floating holiday system. Include this into your
~/.reminders file using the
INCLUDE directive. You must also include a clean version of
defs.rem from the remind distribution.
Unfortunately I am cursed to deal with a Microsoft Exchange messaging system at my place of employment. In the UNIX way however, mutt, perl, remind and wyrd can work together so that I don't miss an appointment.
Firstly, setup a binding for mutt to pipe an invitation email to a script which will parse the ical attachment(s) (created by Exchange) and add them to the
~/.reminders file. This binding could be:
macro index ",c" "<pipe-message>~/.mutt/parse_remind.pl<enter>"
This script (available here) uses ical2rem.pl (local mirror) to convert from ical format to remind format. I patched this script to add support for the following when converting from ical to remind format:
DURATIONflag of timed reminders.
DESCRIPTIONtext of reminders.
LOCATIONfield of reminders.
This patch (against
ical2rem.pl version 0.5.2) is available here.
ical2rem.pl in turn uses the
iCal::Parser perl module. I patched this module to properly support the timezone attribute in an ical file, so that remind and thus wyrd can handle invitations from multiple timezones. This patch (against iCal::Parser v1.16) is available here.
Now, our Outlook-using brethen need be none the wiser.