From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id svcvG4BpeF8OVwAA0tVLHw (envelope-from ) for ; Sat, 03 Oct 2020 12:07:28 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id 8FqKFoBpeF8mHAAA1q6Kng (envelope-from ) for ; Sat, 03 Oct 2020 12:07:28 +0000 Received: from mail.notmuchmail.org (nmbug.tethera.net [144.217.243.247]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (2048 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id C99A69403C9 for ; Sat, 3 Oct 2020 12:07:26 +0000 (UTC) Received: from nmbug.tethera.net (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id 8E6CC1FFDA; Sat, 3 Oct 2020 08:07:16 -0400 (EDT) Received: from lahtoruutu.iki.fi (lahtoruutu.iki.fi [185.185.170.37]) by mail.notmuchmail.org (Postfix) with ESMTPS id 6D3CA1FFA4 for ; Sat, 3 Oct 2020 08:07:14 -0400 (EDT) Received: from guru.guru-group.fi (unknown [IPv6:2a02:2380:1:9:5054:ff:feb7:a4bc]) (using TLSv1.2 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: too) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 29BF41B00322 for ; Sat, 3 Oct 2020 15:07:08 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1601726828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=W2JyEW2qtBaHuVXt1/sSzPZAOOc00BCR3HdVFavELZs=; b=sc3bg0t7T2Wk2o95mE3goGJmmbquvqTKfcBSggrYD0ronPMm856w8dPYMSh9+8taLQTtNS PUq+4t3rk+qJDQzgeLOP7OHP/CiqvzqowCys/Hm49NVVTx3mFFvuKv7CHgwlnSiOFQ1O6K f1nhAvTWJ+oRTmgcoWEagYXC2T7CAlU7/PfDJKIkdc9Gw9yF62zHNmX98FG+XT7pj5bAfH JuODkEnKwiMxAdWxSlPuSMZPNUXlo9S6c3U0Di/+b3DQerGOCL5CBjPHzswqdCuMv2LKbB a3ct6JOJISUnMXw37J7yz6krP3h1kEf+TM8BOhaMRsvb5LFpahmnY7v0xSnv8g== From: Tomi Ollila To: notmuch@notmuchmail.org Subject: ANNOUNCE: nottoomuch-addresses.sh 2.5 In-Reply-To: References: User-Agent: Notmuch/0.31+4~gea158b8 (https://notmuchmail.org) Emacs/27.1 X-Face: HhBM'cA~ MIME-Version: 1.0 ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1601726828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=W2JyEW2qtBaHuVXt1/sSzPZAOOc00BCR3HdVFavELZs=; b=ImcZfDgh4sNwfUIJAFdQ6zaxEe7oakC0nBnxwrvLHSbtUFYbfDam8MMgJ//gkgzcc7a8oL IFguolRjKzugfS/qJiHHPc6o5jQariJbwTAhYqBs1QFhLEZwPSwIX5JJbL1DjBFv4NWBbI QBFOL+ZSgSvy2R7S2hJjSDpi9PD1YNoKqs0vWowNVTYwoHOQ/7j9XySrE6iTwNAW4AOj0e CgDbY/CzsP4Q5FpTe5y9sB4GdD73AItqsDGx3JJUpfaLb2UNRNwA5I8xZ9bKYn3yyxrodX D+d/8MgyfGivh2zIVkOQvatTU2VviZT1mkg1dO3l+vozxEneW+tBWRxsYyJZbQ== ARC-Seal: i=1; s=lahtoruutu; d=iki.fi; t=1601726828; a=rsa-sha256; cv=none; b=wA/nd0lVDTSLzYy4Bv36ix/ZpejZWKbITvfz8/C9nNXRFZnzh7GDCPnJ+603LhMuiFB8IZ DmEvuR2ee1v65hF2aBSIiQ/e3/jigW76HCZnzsOusTotMGPHMJhG1Yu3vG+pxgOmyBsCfn zxmaPvh67vymOpuz4H2iOKpj75e8FLH/JNl9Z9pmZOrdnZbi1M45eW1ZeS0fArrZOR1WzT yWIOh3+5/DmJ78SHrzqEeUvuIaEUFeSG83Yq6lv02JM2MpKxuDxLFeKzthIwFeXZ907NHN PPh2gFkrALSY9Xr1pFWGq+siAZ9HZ23tkvRgeG8bE4jxz2hBQwaCPWXEC5bm7w== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=too smtp.mailfrom=tomi.ollila@iki.fi Message-ID-Hash: KE3IKCK6SMSFTGOUFSAZEXAUHRLY4OF2 X-Message-ID-Hash: KE3IKCK6SMSFTGOUFSAZEXAUHRLY4OF2 X-MailFrom: tomi.ollila@iki.fi X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-notmuch.notmuchmail.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.1 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (body hash did not verify) header.d=iki.fi header.s=lahtoruutu header.b=sc3bg0t7; dmarc=none; spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 144.217.243.247 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Spam-Score: 2.03 X-TUID: MFoDfzHCA32P 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