Programming Topics + CVu Journal Vol 27, #4 - September2015
Browse in : All > Topics > Programming
All > Journals > CVu > 274
Any of these categories - All of these categories

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: Ode to the BBDB

Author: Martin Moene

Date: 10 September 2015 07:01:13 +01:00 or Thu, 10 September 2015 07:01:13 +01:00

Summary: Silas S. Brown remembers different ways of managing email contacts.

Body: 

Chris Oldwood outlined one way of using mail folders in CVu 26.5 (‘Taming the Inbox’). Generally I always archive rather than delete any email that might one day be needed again (however unlikely), and rely on search to find it on those rare occasions (if I ever find myself dragged before some kind of tribunal because somebody got upset about something I mistyped last year or whatever, then it might be useful to have my own record of the events in question), although I do sometimes delete things altogether especially if I believe they are already being archived elsewhere (list emails etc) and I don’t usually keep large attachments especially if these are easily reproducible. Besides being useful on odd occasions, email archives can also be useful for training Bayesian spam filters such as SpamProbe, which generally need example collections of ‘good’ and ‘bad’ mail (I prefer to train my own filters instead of relying on an institution's, since the keywords in my email tend to be different especially now I have Chinese connections).

But I’d like to talk about something else (but related): the BBDB. BBDB stands for Big Brother DataBase, a reference to the ‘Big Brother’ persona adopted by the surveillance organisation in George Orwell’s novel Nineteen Eighty Four. BBDB is a Lisp program that runs in Emacs and ‘infiltrates’ Emacs-based mail programs like VM, ‘noticing’ the names and addresses of people you correspond with and keeping dated records of these which can then be consulted when new messages arrive. You can add arbitrary notes to your contacts which will then pop up when their messages arrive, which might be useful for people with whom you don’t correspond very often (as in, ‘who WAS this person again?’ infrequency); perhaps it’s particularly useful for small businesses dealing with (potential) customers.

I no longer use BBDB itself, because I no longer use Emacs for email. This is firstly because I discovered that Mutt tends to be much faster at dealing with large mailboxes (especially if using maildir format), and Alpine tends to be better at minimising traffic when connecting over a slow mobile link (although it doesn’t always handle mid-session disconnects very gracefully), and secondly because I wrote ImapFix [1], a script to do my email processing in-place using the university-provided IMAP server, which means I can connect to the fully-processed version from mobile devices without having to run my own server (previously my email processing happened only after the messages were fetched to my own machine, meaning I could not then access the post-processed mailboxes without logging in to that machine, which became impractical after I lost my always-on Internet connection; IMapFix on the other hand can run from just about any shell account without needing additional serving privileges).

Despite no longer using Emacs for email and therefore no longer using BBDB itself, I still support the concept of having personal folders that collect historical ‘probably won’t need this but keeping it just in case’ notes and searching these when necessary, and for the sake of brevity I usually call these BBDB (after all B and D are right next to each other on my Dvorak keyboard). If I write myself a To-Do item that says ‘bbdb the XYZ code’, it means put the XYZ code into a BBDB folder and forget about it (but don’t actually delete it, just in case). Of course if it’s under version control then the version control system should take care of keeping track of the old version anyway and I can just go ahead and delete code. But it’s not just code I’m talking about: it’s also notes and other things. Having a ‘BBDB’ means I don’t have to worry about totally losing something when I ‘almost delete’ it, but I can still clear it out of the way of my ‘working set’. I feel that this, together with my ‘postpone’ system (a set of scripts that lets me dump a load of text into a file which then disappears from my view until a certain date I’ve set on it, at which point it pops up in a Web browser on my desktop, and I know I won’t have to worry about it until then but can still find it via search if necessary), generally improves productivity, especially for a compulsive note-taker like me. I sometimes use ‘dead time’ while travelling etc to go through some old notes and figure out what needs BBDB’ing; this exercise usually also pulls up a few things I should have actioned ages ago but which somehow got lost in the great pile of notes. So yes, I recommend having a BBDB and from time to time going through your notes and other working-set with a view to deciding what to transfer to the BBDB. It might help productivity in the long run.

Reference

[1] ImapFix http://people.ds.cam.ac.uk/setup/imapfix.html

Notes: 

More fields may be available via dynamicdata ..