HNHacker News
TopNewBestAskShowJobs

seifferth

2 karma · joined November 13, 2020

submissionscomments
seifferth··on The Spartan Protocol Homepage
It looks like the scorpion protocol is described at https://github.com/zzo38/scorpion/. To retrieve the file mentioned above (without TLS), use:

    nc zzo38computer.org 1517 <<<'R scorpion://zzo38computer.org/smallweb.txt'
seifferth··on Ask HN: Is There an IMAP2Git?
While I don't know of any imap to git sync tool specifically, there are tons of tools for storing email locally in plain text and for keeping these local email stores in sync with imap servers. The most common local email store formats seem to be mbox[1] and maildir[2]. Mbox stores one "folder" of emails per file, while maildir stores one email per file, which does seem to be the more modern approach (exceeding your file quota does not seem to be a particularly urgent problem anymore).

I personally use mbsync[3] to pull my email into a local maildir. I also use notmuch[4] and a nice tui[5] to search, read and write it. Note that filenames in maildir are unique, but provide little value beyond that. Some emails are also encoded in ways that will hide content from grep and friends (base64 being among the most popular ones). This makes notmuch especially valuable, as it abstracts all those encoding issues away and provides an amazing search interface.

I do not use a git repository for email myself, yet since a maildir is just a directory tree of plain text files, storing it in a repo is a no-brainer:

    mbsync -a      # Configured via dotfiles
    cd my_local_maildir
    git add .
    git commit
[1]: https://en.wikipedia.org/wiki/Mbox

[2]: https://en.wikipedia.org/wiki/Maildir

[3]: https://isync.sourceforge.io/

[4]: https://notmuchmail.org/

[5]: https://github.com/wangp/bower

seifferth··on I Still Use Vim
If you're looking for multi-cursor support, you might want to take a look at https://github.com/martanne/vis. It doesn't support ctrl + click, but I find ctrl + n and ctrl + j go a very long way. For anything more complex, vis supports structural regular expressions.[^1] Those work for both replacement (as is customary) and for multi-caret text selection.

[^1]: These structural regular expressions took me a bit to get used to, but by now I really like the concept.