Remind is a truly lovely little application for doing just as it’s name suggests; reminding somebody as forgetful as me about important things. As with many apps, the power of Remind does in some cases lead to complexity in configuration. To me, and not doubt many others, this makes it challenging to write recipes for it. Here are some of my favourites:-
I get paid on the penultimate working day of each month. This recipe presents me with forewarning of this special day.
REM 01 -2 OMIT Sat Sun +14 MSG Payday %b.%
The date on which Easter falls is not easily calculated. It’s based around the stages of the moon which make it highly irregular. Remind takes care of it nicely.
SET easter EASTERDATE(YEAR(TODAY())) OMIT [TRIGGER(easter-2)] +14 MSG Good Friday %b.% REM [TRIGGER(easter)] +14 MSG Easter Sunday %b.% OMIT [TRIGGER(easter+1)] +14 MSG Easter Monday %b.%
Daylight saving in Europe starts on the last Sunday in March and ends on the last Sunday in October. These couple of little recipes take care of reminding me.
REM Apr 01 Sun --7 +21 AT 01:00 MSG British Summer Time begins %b.% REM Nov 01 Sun --7 +21 AT 01:00 MSG British Summer Time ends %b.%
UK Bank Holidays
These recipes take care of all the UK Public Holidays, except for Easter, (See above).
OMIT Jan 01 +14 MSG New Years Day %b.% REM May 01 Mon +14 MSG May Day Bank Holiday %b.% REM Jun 01 Mon --7 +14 MSG Spring Bank Holiday %b.% REM Sep 01 Mon --7 +14 MSG Summer Bank Holiday %b.% OMIT Dec 25 +28 MSG Christmas Day %b.% REM Dec 26 Mon Tue Wed Thu Fri +14 MSG Boxing Day %b.%
The above recipe is widely employed by Remind users but I think it contains a potential error when Christmas Day falls on a Saturday, (as it will on 2010). When this happens, Christmas Day and Boxing Day Public Holidays fall on the 27th and 28th of December. This is hard to code into a Remind recipe which might explain why I haven’t discovered an example of how to do it!
I use lots of other recipes to remind me of dates for things like car Tax/Insurance/MOT expiring. I get the results emailed to me every day using a combination of Mutt and Cron, like this:
07 02 * * * rem | mutt -s 'Personal Reminders' firstname.lastname@example.org
I use the following Remind script for UK bank holidays:
REM Mon Tue Wed Thu Fri 1 Jan MSG New Year’s Day Bank Holiday
SET easter easterdate(year(today()))
REM [trigger(easter-2)] MSG Good Friday Bank Holiday
REM [trigger(easter+1)] MSG Easter Monday Bank Holiday
REM Mon 1 May MSG May Day Bank Holiday
REM Mon 1 Jun -7 MSG Spring Bank Holiday
REM Mon 1 Sep -7 MSG Summer Bank Holiday
REM Mon Tue Wed Thu Fri 25 Dec MSG Christmas Day Bank Holiday
SET xmas wkdaynum(date(year(today()), 12, 25))
IF xmas == 0 || xmas == 6
REM Tue Wed Thu Fri 26 Dec MSG Boxing Day Bank Holiday
REM Mon Tue Wed Thu Fri 26 Dec MSG Boxing Day Bank Holiday