PIM Scripts

This is a collection of scripts for "personal information management", in other words, various tools for getting yourself organized. This is a tricky concept to be sure, and these tools are in no way pretensious. They are just simple scripts that mainly help you write/read text from convenient places.

Since the scripts work with plain text files, it is easy to manually edit the pim date with a text editor. They are crude simple and boring efficient by design, so feel free to read the source code and adjust or expand them to suit your own workflow. And as always, read the manpage before using the program!



pass is a trivial password manager. You first write down all your passwords in a plain text file (read the manual to find out where you're supposed to put it). You can format this however you want. Then run pass -e to encrypt the text file. The passwords are now "safe" (see BUGS section in the manual) from prying eyes. You can then run pass keyword to search for keyword in the encrypted database.


que is a basic queue tracker. It takes a plain text file as argument, and iterates over it one line at a time (for each time you execute que on that file). So for example, if your watching a TV show or reading a book, you can write down a list of all the episodes/chapters, and use que to automatically watch the right episode or read the correct chapter. The script is stupefyingly simple, but I have found it to be amazingly useful!


2do is a very basic 2do list manager. A 2do list is just a text file, with one task per line. The script will let you add tasks to the list (one at a time - if you need to add more just use a text editor), remove tasks from it, or just list the tasks. If you need something more complex, coupling 2do with grep/awk, and a few well chosen conventions can go a long way...


ckbox is a checkbox filter, which can be used much in the same way as 2do. But there are some notable differences. First of all tasks are not just lines, but lines containing a checkbox, '( )' if unchecked, '(X)' if checked. The script will ignore other lines, witch enables you to mix checkbox tasks into a freeform document (the boxes may appear anywhere on a line). The boxes are also either checked or unchecked, the lines are not simply removed as in 2do. Finally this script does not look for files in a fixed directory, as 2do does, instead it is meant to be used as a filter.


calendar is a classic UNIX reminder service. You write your appointments to ~/calendar, one appointment per line, and run the program to list events happending today or tomorrow. This script is a simple reimplementation of the UNIX program, it does not include all the functionality of the original version, in particular its understanding of dates is more limited


Source Code