Calendars and other reminder systems

Some things in life have to happen at particular times. For these, the calendar is the perfect tool. Any kind of calendar will work, as long as you use it diligently for this kind of thing: paper or digital, pocket or wall, or even just a text file with dates.

Calendar software has some features that make them particularly useful for many people: group calendars, ease of separation between personal and work calendars, etc.

You already know how to use a calendar for its basic tasks, so we won't go into that.

You can use calendars as an inbox as well. For example, if you need to start working on a project in September, but don't need to worry about it before that, then adding a reminder about the project on September 1 will work fine, but only if you treat the calendar as an inbox. If you use a digital calendar, you can have one for these inbox items in particular.

Automatic nagging systems

Another kind of thing is stuff that needs to happen regularly. For some of these, digital calendars are still the tool of choice: you could add a bi-monthly reminder to get a haircut to your calendar, for example. If you get the timing right, your calendar will remind you just before your partner does, and you'll both be saved an unnecessary discussion.

Calendar reminders may also be replaced or augmented by cron jobs, which run, for example, on the Monday before the second Thursday of each month, and tell you to send out an invitation to the monthly meeting, which happens on the second Thursday each month. Whether you use an actual calendar, or a cron job, is your choice, of course: use the tools that suit you best.

Cron jobs have the advantage over calendars that they can be conditional: a cron job could, for example, see if you've already sent out the invitation, and not remind you if you have.

Some stuff does not fit so easily with calendars. For example, suppose you want to cut your nails when they get too long, but you keep getting distracted by your computer so that it may take you a month to notice that it's time to cut them. And when you do, it's because you break a nail, which is a bit painful. After some experimentation you decide that twelve days after the previous time is a good time to cut your nails. Having your computer remind you about it makes it much more likely that you'll do it when it's time. However, having your calendar remind you every twelve days may not work so well, because you might be travelling on that 12th day, and the annoying flight security theater made it impossible to take your nail cutter with you. (This is not a hypothetical example.)

A better solution would remind you twelve days after the previous time you actually cut the nails, not after the previous reminder. I have a program called "nagger" which does exactly that, but it is not suitable for others to use (unless you dig editing procmailrc files, and probably not even then). The nagger remembers when you last did something, and after the specified time, it starts nagging you every day until you tell it you've done it again.