Index

Unix-style note taking via email

Note: I don't use this anymore so instructions and programs used in this are probably out of date.

Unix-style tools are powerful. I use email a lot and often inbox is also my todo list. I tend to send emails to my own inbox when I need to remember something important. Except that email isn't a very good tool for that. However email is universal, it's available.

Recently I've been developing note taking application , Memo[1] , for GNU/Linux and other POSIX compatible operating systems. It integrates very well with my workflow and makes it easy to use email to update my todo list.

I collect my emails using Fetchmail[2] utility and process them using Procmail[3]. The problem with using inbox as a todo list is that I don't want to open my email client every time I want to check what's next in my todo queue. Using Procmail, Formail[4] and Memo together solves this problem for me. I wrote a simple Procmail recipe which pipes subject line to Memo. Simple version of the recipe could something like following:

 	SUBJECT = "`formail -zxSubject:`"

	:0
	*^Subject:.*(\[memo])
	|echo "$SUBJECT" | /usr/local/bin/memo -i

This recipe checks that if the subject contains "[memo]", the subject line will be delivered to Memo (using pipes) and rest of the email (headers, body) will not be delivered at all. Of course it might be a good idea to add additional checks for the recipe in order to prevent loss of an important email. For example, you could check the From: field to make sure it's you sending the email and not someone else.

I'm not saying this is a perfect solution for everybody. I'm saying it's pretty good for me. The point is that Unix-style tools are very powerful and flexible. Using four different, well designed, software I was able to come up with a solution to my problem.

You might be wondering why not just use a smartphone or a tablet to write down the todo list. It might be a good solution for someone, but not for me. If I had to check my smartphone when I'm working on something, it would break my workflow. I hate that.


Copyright © Niko Rosvall 2014-2023