Purpose is but slave to memory,
Of violent birth, but poor validity:
Which now like fruit unripe sticks on the tree;
But fall, unshaken, when they mellow be.

William Shakespeare, Hamlet, Act III, Scene II, line 198


This is my version of the venerable Unix calendar program. It started with the need to periodically audit ACLs at work to be sure that people who had left the university had been removed, something that I tend to forget to do for longer than I should. While I was at it, it was easy enough to add support for other sorts of periodic reminders or upcoming appointments.

Each reminder is stored as a separate file on disk in a simple mail-like format. The dates can be any format that can be parsed by Date::Manip, which was the most comprehensive Perl date parsing library that I could find in terms of sheer numbers of formats supported. This lets me use date specifications like "a week from yesterday" and "a month from tomorrow" as well as more traditional date formats. reminder will canonicalize dates after a new reminder has been created, making sure that relative dates are relative to the day when the reminder was made.

reminder also supports the standard feature of mailing all of one's active reminders, but also has the concept of reminder acknowledgement. An active reminder continues to be included in the report and daily mailing until it is acknowledged with a reminder did command, in case the user didn't get to the task on the first day that it became active.


Perl 5.6.0 or later (5.6.1 fixes a lot of bugs in 5.6.0) and the Date::Manip module are required. The latter is available from CPAN and is often also available as a package in Linux distributions. For the mail function, a local program that acts like sendmail and can be found at /usr/sbin/sendmail or /usr/lib/sendmail is required.


The distribution:

reminder 1.16 2012-03-04 Download


A Debian package is available from my personal repository.


Copyright 2005, 2007, 2009, 2010, 2012 Russ Allbery <>

This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. This means that you may choose between the two licenses that Perl is released under: the GNU GPL and the Artistic License. Please see your Perl distribution for the details and copies of the licenses.

Last modified and spun 2014-08-10