keepintouch is a simple program that reminds you to contact people, primarily for the following reasons:
- Pleasure/virtue: friends, family, mentors, etc.
- Utility: Social networking
Developed by dbulysse (Benjamin Pence)
When keepintouch is run on the data file (
keepintouch.data in this example), it will schedule the entries from the data file for you, with the contacts you should contact soon first.
$ keepintouch keepintouch.data Paul Allen Patrick Bateman Huey, Louie, Dewie
When keepintouch is run with the argument
contact and a person's name, it will change the last contacted date for that person to today:
$ keepintouch keepintouch.data contact Paul Allen $ $ keepintouch keepintouch.data Patrick Bateman Huey, Louie, Dewie
Currently, keepintouch expects the user to supply all the people you wish to contact in the following file format:
interval last contacted name1 interval last contacted name1 name2 ...
where each entry has
- interval: generally how often (in days) you want to communicate with this person/these people
- last contacted: the day this person/these people were last contacted in the year-month-day format YYYY/MM/DD
- name(s): the person/people you want to contact, one per line. Multiple names are allowed because often times one regularly contacts a group/family that only requires a single communique or each person in a group at the same time
A sample data file:
30 2014/11/01 Paul Allen 365 2014/11/18 Patrick Bateman 365 2014/12/22 Huey Louie Dewie
For each entry in the data file, keepintouch determines a score to sort the entries by:
today - (last contacted + (interval +/- (0% to 25%)))
+/- (0% to 25%) added or subtracted is randomized each time you run keepintouch. Entries with the greatest score will be listed to you first and will tend to be those people that you have not contacted in a while and you wish to contact more often. You don't have to use the program on a regular basis.
You can use the Weight Scheduler with either of these commands:
$ keepintouch keepintouch.data schedule weight $ keepintouch keepintouch.data schedule weight 0.25
Note that with the second command, you can specify how much of the score is left up to chance (0.0 <= weight <= 1.0).
The Backlog Scheduler is the default scheduler. The Backlog Scheduler will sort the entries by:
today - (last contacted + interval)
Every entry that is due in the future will not be shown. You can use the Backlog Scheduler with these commands:
$ keepintouch keepintouch.data $ keepintouch keepintouch.data schedule $ keepintouch keepintouch.data schedule backlog
The Random scheduler sorts the entries randomly and is not terribly useful. You can use the Random Scheduler with this command:
$ keepintouch keepintouch.data schedule random