From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Karl Fogel Newsgroups: gmane.emacs.tangents Subject: Re: [ANNOUNCE] mailaprop: modern popup-style autofill for email addresses Date: Mon, 15 Jan 2018 17:31:25 -0600 Message-ID: <87vag28zsi.fsf@red-bean.com> References: <87r2qr9cq1.fsf@red-bean.com> Reply-To: Karl Fogel NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1516058990 9411 195.159.176.226 (15 Jan 2018 23:29:50 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 15 Jan 2018 23:29:50 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: Emacs Tangents Original-X-From: emacs-tangents-bounces+get-emacs-tangents=m.gmane.org@gnu.org Tue Jan 16 00:29:46 2018 Return-path: Envelope-to: get-emacs-tangents@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ebECF-0001vT-8w for get-emacs-tangents@m.gmane.org; Tue, 16 Jan 2018 00:29:43 +0100 Original-Received: from localhost ([::1]:43889 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebEED-0000S7-V6 for get-emacs-tangents@m.gmane.org; Mon, 15 Jan 2018 18:31:45 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44859) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebEDx-0000Rw-23 for emacs-tangents@gnu.org; Mon, 15 Jan 2018 18:31:30 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ebEDv-0008Mi-UM for emacs-tangents@gnu.org; Mon, 15 Jan 2018 18:31:29 -0500 Original-Received: from mail-io0-x234.google.com ([2607:f8b0:4001:c06::234]:38214) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ebEDv-0008MK-R2 for emacs-tangents@gnu.org; Mon, 15 Jan 2018 18:31:27 -0500 Original-Received: by mail-io0-x234.google.com with SMTP id d11so14810042iog.5 for ; Mon, 15 Jan 2018 15:31:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:references:reply-to:date:in-reply-to :message-id:user-agent:mime-version; bh=WVRrITgIUY65ucJUyj7LKBBa07FBMiCNcHqsp5XYMbk=; b=Yc4pHjWT7uMvqBSvJ0BRdVuJxH2OE1BXsfif8z2hbjpeYC9QQqLTvdINrBisV2dMM1 1FDuAapNDCySiJ1oVG3gSlv/exf/NQ6d97EOv5PB7pnGCa+mPjWqDPy4Qpt+ZZSZTsKU DOnkeWjivrfwea4CxWl4KIPyrXBW4fPo8WW2sW0R6ULJOsSJpXyHa4YO6hHYgfo4op+d r0AqxBQ0M8KsJHvcsiWGrqkiSozvOxKEGOCEySAsdP+pWCW2+JjIl00znaZHIP7BdzOo 132qC03zxIJXnx5GCpikhJm5SVsd7rtexrWwITfyvCxYvT/Dh80OMtRcvw/hJDDwbyj8 bPzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:references:reply-to:date :in-reply-to:message-id:user-agent:mime-version; bh=WVRrITgIUY65ucJUyj7LKBBa07FBMiCNcHqsp5XYMbk=; b=ubUxPBFKKe0K+yt2Y1OmUbtjOhE3L9Ra4DpxGGbqHFoJ4N/A92HP+yFYoWMDCubABe E3VyngoLdtWn9a+HiVVaxiTOcRK0aGMq4RypnQRIBpLfC+hBbPbsDn+yTlh3LLKicLG2 JCCBOGXqABzIMHdzUpLtP/ygD8vDLwezhr1XqGPaXsDGFuR+oB8Gdll8lPLdFbVnsRX5 XJ7NLIMISde0qvlMzx+nKzblHxTRePQNOpMwTU+Akfm9tYJBpETeELbVZc+nFfBk3uCS HKRCA2BMGl+EFrq7D59JG9jTAt5+uCmsyfWzA5oApT/yz0nGpjFst3HvgJrkzLIzliDR 55FA== X-Gm-Message-State: AKwxyteDr0rYmhhyRSKPB8uTb/p73l3T4E+YyuKS9srcwPylLG2SNzJY 1dUQmGDC34ZO0mp/+3qatRNzOg== X-Google-Smtp-Source: ACJfBotRFySFk0FlQTyHGuCJtnZeSHC+zxywBEEEtJXpc+C2yUI7ncWhQcE/mXKMzRMplt4yuwL3Qg== X-Received: by 10.107.151.131 with SMTP id z125mr31690796iod.224.1516059086772; Mon, 15 Jan 2018 15:31:26 -0800 (PST) Original-Received: from floss ([2602:306:3707:da30:e48d:7372:fbb6:7b7e]) by smtp.gmail.com with ESMTPSA id k73sm359792ioe.24.2018.01.15.15.31.25 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 15 Jan 2018 15:31:26 -0800 (PST) In-Reply-To: (John Wiegley's message of "Mon, 15 Jan 2018 11:48:56 -0800") X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4001:c06::234 X-BeenThere: emacs-tangents@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-tangents-bounces+get-emacs-tangents=m.gmane.org@gnu.org Original-Sender: "Emacs-tangents" Xref: news.gmane.org gmane.emacs.tangents:225 Archived-At: "John Wiegley" writes: >KF> Hi. I wrote a new package, 'mailaprop', that provides popup-style autofill >KF> for email addresses in recipient headers of message composition buffers. > >If you want a nice source of candidates, I wrote this unpublished package: > >https://github.com/jwiegley/dot-emacs/blob/master/lisp/gnus-harvest/gnus-harvest.el > >It watches who you write to, and who you read e-mail from (if you hook it into >Gnus), and stores them all in an SQLite database with timestamps. It then lets >you query for a candidate list. I use it via message-x. Thanks, John. That looks handy. To be useable by mailaprop, it would need to remember the datestamp of the message the address was harvested from (or at least remember the date of the most recent message that address was harvested from), and keep separate counts for how often the address had been sent to and how often it had been received from. This is because the order in which addresses are offered in autofill matters. The most likely candidate should be at the top, the next-most-likely underneath it, and so on. Right now, the inputs to the likelihood-calculating algorithm are the last-seen date, the total sent-to count, and total received-from count. I could make things fancier later, but for now those are the inputs. Would those pieces of information be useful for message-x and other integratees of gnus-harvest too? Obviously, that information would be pretty easy to harvest. If mailaprop and message-x could share inputs, that'd be nice. By the way, mailaprop's current solution to the problem of gathering input data is a standalone Python script. It crawls all your mbox files (other formats to be supported in the future, I hope) and builds the autofill database from that. I've just added a paragraph to the README.md explaining that it could take input from other sources too, and linking to this discussion. Best regards, -Karl