ANNOUNCE: nottoomuch-addresses.sh 2.5

Subject: ANNOUNCE: nottoomuch-addresses.sh 2.5

Date: Sat, 03 Oct 2020 15:07:05 +0300

To: notmuch@notmuchmail.org

Cc:

From: Tomi Ollila


ANNOUNCE: nottoomuch-addresses.sh 2.5

What is New in Version 2.5 (Sat 2020-10-03):

  Added reading of user-controlled file 'addresses.top'
  -- addresses to be matched first when searches done.

Get it from

https://github.com/domo141/nottoomuch/blob/master/nottoomuch-addresses.rst
https://github.com/domo141/nottoomuch/blob/master/nottoomuch-addresses.sh


Nottoomuch-addresses is an external address completion solution for notmuch.


Notmuch has good internal address completion solution, which is
automatically up to date all the time.
If you're happy with it, there is no need to look elsewhere.

(nottoomuch-addresses.sh --update has to be done to update address cache)

But for some of us that is not suitable enough.

The two reasons that come up to my mind are 1) it is slow, and 2) the
matches found are not suitably ordered.

Notmuch emacs mua "harvests" more addresses to its internal cache which 
mitigates the slowness aspect to some users (and bloats memory use; disk
cache ftw!?) -- for me that does not help as I tend to use lot of short
time "ephemeral" emacs processes and the caches would get lost all the
time.

For comparison (1), nottoomuch-address.sh does the address search using the
following command line (line 4 of nottoomuch-address.sh copied verbatim):

grep -aiF "$*" "${XDG_CONFIG_HOME:-$HOME/.config}/nottoomuch/addresses.active"

so that is as fast as the disk IO in user's computer (when cached, cpu (and
its caching) could be the bottleneck).


For (2) ordering (and content) of the addresses.active cache file, the perl5
program following the 'grep' line in nottoomuch-address.sh does:

First, opens and reads the actual email files in order of newest first
(up to latest sync), gathering both sender and receiver addresses -- so
newest and most complete list of addresses are made available first in
the addresses.active file.

Then, there are 2 user-controllable files that affect what gets written in
the addresses.active file:

1) addresses.ignore: addresses not to be included in addresses.active file,
   and thus will not be presented in search matches. See --help for more
   information

2) addresses.top (new in 2.5 -- this release): lines of addresses that are
   just added to the top of the addresses.active file. These addresses are
   first to be matched with the 'fgrep' command line when searches are done.


The "downside" (ymmv?) is that one has to have their own address cache for
the completions. In case of nottoomuch-addresses.sh maintaining that cache
has been made easy (run nottoomuch-addresses.sh --update). I usually don't
bother that much; if I try completions and don't seem to get right results,
then I run that --update and try again. That usually works. There is slight
change -- however -- that I get matches that I don't notice obsolete, which
--update could fix. The chance for that happen to me is somewhat smaller
than for someone(tm) who is more computer illiterate that I am.

Initially, nottoomuch-addresses.sh --rebuild 
(IIRC nottoomuch-addresses.sh --update does that by default if there is 
no 'addresses' file) takes some time (depending the number of one's email
files (but there is always nighttime one can leave computer to do things)).

7. Enjoy!

./nottoomuch-addresses.sh --help  provides more detailed usage information.

Tomi

PS: my latest nottoomuch-addresses --update executions -- my frequency of
    updating the addresses cache files, for reference

20140916-211708.2130: sh -x ./nottoomuch-addresses.sh --since=2014-06-20 --rebuild --exclude-path-re=foo::bar --update
20140917-185331.7091: ./nottoomuch-addresses.sh --update
20150505-162640.31139: nottoomuch-addresses.sh --update
20150511-220640.24045: nottoomuch-addresses.sh --update
20150826-203142.16496: nottoomuch-addresses.sh --update
20160513-fr-085215.964: nottoomuch-addresses.sh --update
20161110-th-214824.4256: nottoomuch-addresses.sh --update
20170106-fr-133011.601: nottoomuch-addresses.sh --update
20170430-su-151115.18628: nottoomuch-addresses.sh --update
20170502-tu-223519.8590: nottoomuch-addresses.sh --update
20180503-th-102438.16030: nottoomuch-addresses.sh --update
20180709-mo-105240.29097: nottoomuch-addresses.sh --update
20200423-th-205157.30151: nottoomuch-addresses.sh --update
20201003-sa-115101.1635: gh 3230 -H nottoomuch-addresses.*--update > llll
20201003-sa-115101.1635: emacs llll





_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org

Thread: