On Jun 24, 2018, at 5:43 PM, Bakul Shah
<bakul(a)bitblocks.com> wrote:
\vague-idea{
Seems to me that we have taken the unix (& plan9) model for
granted and not really explored it at this level much. That
is, can we map structured objects into trees/graphs in an
efficient way such that standard tools can be used on them?
Can we extend standard tools to explore substructures in a
more generic way?
}
One of the main reasons I bailed out of nmh development was the disinterest in trying new
and offside ways of addressing the mail store model. I have been an MH user since the
mid-80s, and I still think it is more functional than any other MUA in use today
(including Alpine). Header voyeurs will note I'm sending this from Mail.app. As was
mentioned earlier in this conversation, there is no one MUA, just as there is no one text
editing tool. I used a half dozen MUAs on a daily basis, depending on my needs.
But email, as a structured subset of text, deserves its own set of dedicated tools.
formail and procmail are immediate examples. As MIME intruded on the traditional
ASCII-only UNIX mbox format, grep and friends became less helpful. HTML just made it
worse.
Plan9's upas/fs abstraction of the underlying mailbox helps a lot. By undoing all
the MIME encoding, and translating the character sets to UTF8, grep and friends work
again. That filesystem abstraction has so much more potential, too. E.g. pushing a pgpfs
layer in there to transparently decode PGP content.
I really wish there was a way to bind Plan9-style file servers into the UNIX filename
space. Matt Blaze's CFS is the closest example of this I have seen. Yet even it
needs superuser privs. (Yes, there's FUSE, but it just re-invents the NFS interface
with no added benefit.)
Meanwhile, I have been hacking on a version of nmh that uses a native UTF8 message store.
I.e. it undoes all the MIME encoding, and undoes non-UTF8 charsets. So grep and friends
work, once again.
--lyndon