[PATCH v2 3/3] emacs: Test for thread-outlining
[notmuch-archives.git] / 94 / 677cd6d4cfba14641c82bb7e7641fa50547381
1 Return-Path: <cworth@cworth.org>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id D754F431FBF;\r
6         Wed, 18 Nov 2009 03:15:46 -0800 (PST)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 Received: from olra.theworths.org ([127.0.0.1])\r
9         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
10         with ESMTP id ylkT+u1j2Xno; Wed, 18 Nov 2009 03:15:45 -0800 (PST)\r
11 Received: from cworth.org (localhost [127.0.0.1])\r
12         by olra.theworths.org (Postfix) with ESMTP id 66155431FAE;\r
13         Wed, 18 Nov 2009 03:15:45 -0800 (PST)\r
14 From: Carl Worth <cworth@cworth.org>\r
15 To: Adrian Perez de Castro <aperez@igalia.com>, notmuch@notmuchmail.org\r
16 In-Reply-To: <20091118002059.067214ed@hikari>\r
17 References: <20091118002059.067214ed@hikari>\r
18 Date: Wed, 18 Nov 2009 03:15:31 -0800\r
19 Message-ID: <87aaykqe24.fsf@yoom.home.cworth.org>\r
20 MIME-Version: 1.0\r
21 Content-Type: text/plain; charset=us-ascii\r
22 Subject: Re: [notmuch] Introducing myself\r
23 X-BeenThere: notmuch@notmuchmail.org\r
24 X-Mailman-Version: 2.1.12\r
25 Precedence: list\r
26 List-Id: "Use and development of the notmuch mail system."\r
27         <notmuch.notmuchmail.org>\r
28 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
29         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
30 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
31 List-Post: <mailto:notmuch@notmuchmail.org>\r
32 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
33 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
34         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
35 X-List-Received-Date: Wed, 18 Nov 2009 11:15:47 -0000\r
36 \r
37 On Wed, 18 Nov 2009 00:20:59 +0100, Adrian Perez de Castro <aperez@igalia.com> wrote:\r
38 > I have just heard about Not Much today in some random Linux-related news\r
39 > site (LWN?), my name is Adrian Perez and I work as systems administrator\r
40 \r
41 Welcome to notmuch, Adrian! We're glad to have you here.\r
42 \r
43 > by default on most distribution. I got to have some mailboxes indexed and\r
44 > basic searching working a couple of months ago. Lately I have been very\r
45 > busy and had no time for coding, and them... boom! Not Much appears -- and\r
46 > it is almost exactly what I was trying to do, but faster. I have been\r
47 > playing a bit with Not Much today, and I think it has potential.\r
48 \r
49 It's funny, because I had the exact same experience with sup a couple of\r
50 months ago. I had been frustrated for years with email programs, and had\r
51 been thinking about how I'd like things to work n the back of my mind\r
52 for a long time, (but never *quite* getting to the point where I would\r
53 commit to writing an email system myself).\r
54 \r
55 And then... boom! I found sup and was instantly hooked. It had so much\r
56 of what I had imagined, (and much of what I hadn't yet imagined) that I\r
57 was quite delighted.\r
58 \r
59 It was really quite by accident that I ended up inventing a different\r
60 system. I had started out just trying to speedup index creation for sup.\r
61 If I hadn't run into the problem that it was very difficult[*] to create a\r
62 sup-compatible index from C code, I might have stopped there.\r
63 \r
64 So I'd written a bunch of functional code, only to find myself stuck at\r
65 the very last step, (hooking it up to the existing sup interface). Then\r
66 Keith suggested emacs and it all seemed pretty easy since I'd already\r
67 done all the Xapian work. So it's funny, I was only willing to commit to\r
68 this project because I wasn't consciously aware I was working on it.\r
69 Otherwise it would have seemed to overwhelming to start. :-)\r
70 \r
71 Anyway, that's a lot of off-topic rambling off of your introduction. But\r
72 I'm glad that notmuch can now give that same "boom!" to others, and I'm\r
73 glad you see potential in it.\r
74 \r
75 > Also, I would like to share one idea I had in mind, that you might find\r
76 > interesting: One thing I have found very annoying is having to re-tag my\r
77 > mail when the indexes get b0rked (it happened a couple of times to me while\r
78 > using Sup), so I was planning to mails as read/unread and adding the tags\r
79 > not just to the index, but to the mail text itself, e.g. by adding a\r
80 > "X-Tags" header field or by reusing the "Keywords" one. This way, the index\r
81 > could be totally recreated by re-reading the mail directories, and this\r
82 > would also allow to a tools like OfflineIMAP [1] to get the mails into a\r
83 > local maildir, tagging and indexing the mails with the e-mail reader and\r
84 > then syncing back the messages with the "X-Tags" header to the IMAP server.\r
85 > This would allow to use the mail reader from a different computer and still\r
86 > have everything tagged finely.\r
87 \r
88 It is an interesting idea. But there's also something really comforting\r
89 about the email indexed never modifying the mail files. If you're\r
90 reading the notmuch commit logs closely you'll see that I'm not actually\r
91 careful enough to be trusted with your mail (but I try). So I like that\r
92 I don't even have to trust myself---the worst that happens is that I\r
93 have to recreate my index.\r
94 \r
95 And as Keith mentioned, we've got the "notmuch dump; notmuch restore"\r
96 idea working exactly as it did in sup. (Though I am thinking of also\r
97 adding thread IDs to that now---more on that later.)\r
98 \r
99 The big annoyance I had with sup index creation, (I ended up having to\r
100 do it more than once too), was that it takes *forever*. Right now,\r
101 notmuch is a little bit faster, but not a lot faster. And I've got some\r
102 ideas to fix that. It would be really nice if index creation were pain\r
103 free. (And maybe it is for some user with small amounts of mail---oh, to\r
104 have only 40000 messages to have to index!).\r
105 \r
106 -Carl\r
107 \r
108 [*] The problem here is that sup puts serialized ruby data structures\r
109 into the data field of its Xapian documents. So being compatible with\r
110 sup means being able to recreate serialized data structures for a\r
111 particular version of ruby.\r