From d2071b13114900c50aa77c89588f254828103c04 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sun, 19 Jul 2020 12:47:59 -0400 Subject: 2019: add a few more talks/ pages --- 2019/talks/10.md | 191 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 2019/talks/10.md (limited to '2019/talks/10.md') diff --git a/2019/talks/10.md b/2019/talks/10.md new file mode 100644 index 00000000..af1b1b5a --- /dev/null +++ b/2019/talks/10.md @@ -0,0 +1,191 @@ +[[!meta title="notmuch new(s) - David Bremner"]] +[[!meta copyright="Copyright © 2019 David Bremner"]] + +[[!template id=vid +src="https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-10-notmuch-news--bremner.webm" +type="video/webm"]] + +### Download + +- [Video](https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-10-notmuch-news--bremner.webm) (1080p) + +### Notes + +``` +#+TITLE: Notmuch New(s) +#+AUTHOR: David Bremner +#+PROPERTY: header-args:sh :results output :session demo :output session + +* What is notmuch? +** A tool(kit) for indexing and searching mail +#+begin_src dot :file ecosystem.pdf +digraph ecosystem { + size = "4,3" + margin=0 + graph [fontsize=20] + node [fontsize=20] + edge [fontsize=20] + + gmime + xapian + notmuch_cli [shape=record,style=filled, color=yellow,label="notmuch CLI"] + libnotmuch [style=filled,color=gold] + + subgraph cluster_clients { + style=filled; + color=cadetblue3; + label="Mail user agents"; + node [shape=record, style=filled, color=white]; + notmuch_emacs [label="notmuch-emacs",color=yellow] + alot + bower + astroid + notmuch_web [label="notmuch-web"] + noservice + neomutt + notmuch_vim [label="notmuch-vim", color=lightyellow] + notmuch_mutt [label="notmuch-mutt", color=lightyellow] + } + + + subgraph cluster_tools { + style=filled; + color=darkolivegreen2; + label="tools"; + node [shape=record, style=filled, color=white]; + afew + nmbug [color=yellow] + notmuch_report [label="notmuch-report"] [color=yellow] + } + + subgraph cluster_bindings { + label="Bindings" + style=filled; + color=lightyellow; + node [shape=record, style=filled, color=white]; + ruby_notmuch [label="ruby", color=yellow] + python_notmuch [label="python", color=yellow] + notmuch_go [label="go"] + notmuch_rust [label="rust"] + } + + neomutt -> libnotmuch + astroid -> libnotmuch + alot->python_notmuch + notmuch_emacs->notmuch_cli + notmuch_mutt->notmuch_cli + notmuch_vim->ruby_notmuch + bower -> notmuch_cli + + noservice->notmuch_cli + nmbug->notmuch_cli + notmuch_report-> python_notmuch + + python_notmuch->libnotmuch + ruby_notmuch->libnotmuch + notmuch_go ->libnotmuch + notmuch_rust ->libnotmuch + + notmuch_web->notmuch_cli + notmuch_cli->libnotmuch + + afew->python_notmuch + + libnotmuch->xapian + libnotmuch->gmime + { + edge [style="invisible",arrowhead="none"] + notmuch_emacs->astroid + notmuch_emacs->neomutt + notmuch_emacs->notmuch_vim + notmuch_emacs->alot + notmuch_emacs->bower + bower->notmuch_vim + bower->astroid + notmuch_web->noservice + } + +} +#+end_src + +** Emacs interface(s) to notmuch +(notmuch-search "from:floris subject:cffi") +(notmuch-tree "from:floris subject:cffi") + +#+RESULTS: + +* What is new? +** Search Improvements +*** separate message body indexing +(notmuch-search "body:emacsconf and not subject:emacsconf") +*** user defined headers, e.g. =List-Id= +#+begin_src sh +notmuch config set header.List List-Id +notmuch reindex date:1month.. +#+end_src + +(notmuch-search "List:notmuch date:1month..") +** Cryptography Support +- (optional) indexing cleartext of encrypted e-mails +- (optional) caching of session keys +#+begin_example + ┌───────────────┬───────┬──────┬─────────┬──────┐ + │ │ false │ auto │ nostash │ true │ + ├───────────────┼───────┼──────┼─────────┼──────┤ + │Index cleart‐ │ │ X │ X │ X │ + │ext using │ │ │ │ │ + │stashed ses‐ │ │ │ │ │ + │sion keys │ │ │ │ │ + ├───────────────┼───────┼──────┼─────────┼──────┤ + │Index cleart‐ │ │ │ X │ X │ + │ext using se‐ │ │ │ │ │ + │cret keys │ │ │ │ │ + ├───────────────┼───────┼──────┼─────────┼──────┤ + │Stash session │ │ │ │ X │ + │keys │ │ │ │ │ + ├───────────────┼───────┼──────┼─────────┼──────┤ + │Delete stashed │ X │ │ │ │ + │session keys │ │ │ │ │ + │on reindex │ │ │ │ │ + └───────────────┴───────┴──────┴─────────┴──────┘ +#+end_example +- indexing, searching, rendering /protected Subjects/ + - sent by Enigmail and K-9 mail + +** Support for gzipped mail files +(notmuch-show "id:1319286098.13821.57.camel@pc-jirka") +#+begin_src sh +bigfile=$(notmuch search --output=files id:1319286098.13821.57.camel@pc-jirka) +ls -lh ${bigfile} +gzip -9 ${bigfile} +notmuch new +#+end_src + +#+begin_src sh +gunzip ${bigfile} +notmuch new +#+end_src + +* What is next? +** notmuch-emacs improvements +- better docs? +- more asynch things +- convenience features, e.g. jump to parent messages +** Updating python bindings +- based on CFFI +- more /Pythonic/ +- less broken with Python >= 3.6 + +** Protected Headers Support +- authoring protected headers + +* Cleanup this buffer +#+begin_src elisp +(org-babel-remove-result-one-or-many 't) +#+end_src + +* Configuration +# Local Variables: +# org-confirm-babel-evaluate: nil +# End: +``` -- cgit v1.2.3