From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 6753 invoked from network); 8 Sep 2020 22:17:31 -0000 Received: from lists1.math.uh.edu (129.7.128.208) by inbox.vuxu.org with ESMTPUTF8; 8 Sep 2020 22:17:31 -0000 Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by lists1.math.uh.edu with smtp (Exim 4.94) (envelope-from ) id 1kFlv8-00CmOX-4h; Tue, 08 Sep 2020 17:16:58 -0500 Received: from mx2.math.uh.edu ([129.7.128.33]) by lists1.math.uh.edu with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1kFShB-00CbTR-U5 for ding@lists.math.uh.edu; Mon, 07 Sep 2020 20:45:17 -0500 Received: from quimby.gnus.org ([95.216.78.240]) by mx2.math.uh.edu with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1kFSh8-007exv-Ga for ding@lists.math.uh.edu; Mon, 07 Sep 2020 20:45:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:Mime-Version:Message-ID:Date:Subject:From:To: Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=c/iQU8xfnB7s7hxABxH3HtqtSaw777qGxkZOSwXNj3Y=; b=kJmW4wH8avlSsMCCS24Xc0TMA5 uanleNXp1Ct7EVsCDBS1P9fVQb3m+rc/D3/Ngz5KWapw+Pq9YbRE5CMHjljhSMblg9ds4nFk3FhIw mXZmxW+D6MTgWzAlcWFBZGgaYKVlamkP13a/g8iIqB4Q4RYv4u5y957trjN2UA7BN70g=; Received: from static.214.254.202.116.clients.your-server.de ([116.202.254.214] helo=ciao.gmane.io) by quimby with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kFSgx-00064K-QA for ding@gnus.org; Tue, 08 Sep 2020 03:45:09 +0200 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1kFSgw-0001s1-H6 for ding@gnus.org; Tue, 08 Sep 2020 03:45:02 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: ding@gnus.org From: Andrew Cohen Subject: useful things with nnselect Date: Tue, 08 Sep 2020 09:41:22 +0800 Message-ID: <87imcp9ha5.fsf@ust.hk> Mime-Version: 1.0 Content-Type: text/plain User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cancel-Lock: sha1:NK0JMJLZopiw6vlabqu2jgT8MzQ= List-ID: Precedence: bulk Now that I've finally found a few moments to push the nnselect backend to master (with some unfortunate formatting and doc errors along the way, and a failure to provide aliases for some obsolete variables and functions :() I thought I would write a longer email to this group about how I am using it and why it might be right for some of you too. I unfortunately have 4 email accounts (3 work and 1 personal) spread out on 3 servers, including outlook and gmail (all imap, fortunately). Together these accounts have about 100k messages. I also use gmane a bit. Handling all of this is not, uh, straightforward. Previously I used gnus to sort things into many groups, and relied heavily on searching to make things manageable. However this still left me with groups that contained tens of thousands of messages, and visiting a whole such group is too slow. It ended up being far too cumbersome. I have now switched to a different paradigm. I keep all of my messages in a small number of groups. I do very little sorting (none, actually) into these groups (for example, all of my gmail is in a single group). But I have a large number of virtual nnselect groups for all sorts of things. Since these are collecting messages from only a small number of sources, they are very, very fast. And its easy to construct new ones on the fly. Thread referral makes it easy to look at message chains as needed. And since the number of messages in these groups is not too large, I can enter the whole group and use limiting and group-searching (not nnir-searching) very effectively, and its practically instantaneous. For example, I have groups which contain all messages from certain people. I have groups for the (small number) of mailing lists I subscribe to (I used to sort these, but I no longer bother). I have a group "Recent" that contains all email from the past 7 days from all 4 accounts (this is the group I use most often; its kind of like having expiration without any actual expiring :)). I have another group of all flagged messages from my work accounts. And so on. And I have a "Todo" group---I can add or remove any message with a keystroke. My normal workflow then is to look at the Recent group, and as messages come in I deal with some, leave some for later, completely ignore some, and add some to the Todo group. As I clear tasks I remove the associated message from the Todo group. And I am constantly consulting my other virtual groups as I go along. I will probably add the Todo thing to gnus sometime soon (nnselect makes it pretty trivial to do). I have been working this way for a couple of years now, and its been a big improvement. It may not work for everyone, but just wanted to share.