Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm a command-line person, and I've tried a couple of different options for online contact managements since 1993.

Existing software stacks (commercial and open source) have shown poor support for file formats, and there is usually some level of loss when exporting/importing as a consequence.

Ultimately, UTF8 plain text is hard to beat as the most durable format.

I've also written scripts to extract contact details from MBOX-format e-mail repositories automatically, to support my manually-curated contacts file. Anything not found in the primary file may be in the (messier) secondary file.

I like the ppl idea, but the realization lacks generality: many people I interact with have multiple roles, so it's not uncommon to have 2 phones and 3 email addresses, and several postal addresses (I think I just saw ppl's Ruby class can just manage two emails, hardwired). Also, I think ergonomically it's not a good choice to edit one field at a time over the command line. Even I as a die-hard command liner want to be able to edit a person's full entry at once in Sublime or Emacs. I also need to see a person's record completely togehter on the screen, not just one line at a time. Finally, a free-text field (to remind oneself where I met anyone, and to store hash tags for topics) and a great search (supporting approx. string matching) is a must-have feature that I rely on heavily.

I concur with others that a static binary is preferred for such a function to avoid dependency issues.

(Thanks to the Ppl authors for getting the conversation started about effective contacts management, I'm keen to learn more about how everyone else is doing it.)



Seeing you mention MBOX parsing/extraction reminds me that back in the day I used lbdb, integrated with mutt.

The little-brother database allowed looking up contacts from LDAP, and similar, and pulling from local files.


What about something like recutils? Or maybe I mean “a recutils type thing.”




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: