Daily Notes for 2023-04-25

ยท 1250 words ยท 6 minute read

Mail restlessness alights on MailMate ๐Ÿ”—

I was scrolling through /r/emacs today and came across someone asking for help configuring GNUS and IMAP. It has been a very long time since I did that, so I had nothing useful to contribute – that config predated me using version control – but I did notice a link to https://useplaintext.email, which intrigued me.

The last time I allowed myself to have a strong opinion about email I was writing a “how we work” for Puppet’s engineering department. The boss and I believed that this was our big shot at putting a lot of email evil to rest – the scourge of top-posting, the blight of replies too widely scoped to too many groups, the simple, everyday harm done by needless reply-alls that add nothing.

It turns out the top-posters won and we just have to live with that.

But there was https://useplaintext.email reminding me of a more innocent time, using the word “harmful” in conjunction with HTML mail, taking one more swing at putting paid to top-posting once and for all.

It also had a list of plaintext email clients that I gave a quick scan, and one jumped out because I’d heard of it but never really gave it a spin: MailMate. It’s a Mac email client, it defaults to plain text but will read and send HTML email (via Markdown formatting on the sending side). It’s also super keyboard-centric. And it has a “bundles” feature that lets you write your own plugins. It comes with a bunch, including one that saves a link to a message in an org-mode file.

I’ve been fiddling around with it today and like it a lot. Besides its plaintext-centricity, keyboard-centricity, and extensibility, I love that you can open up a font picker, select a piece of the interface, and define a font for it. I went through and set everything to Fira Code Retina.

MailMate (in Scrambled Mode) with a fixed typeface for its UI

MailMate in Scrambled Mode

So, what about mu4e? Or mutt? Still on the docket.

mu4e has been bugging me a little because it has a very strange and possessive set of keymappings that collide with Doom Emacs. It hijacks the space key, so my muscle memory around the spacebar as the leader key is all messed up.

mutt remains mutt. I have a lot of affection for it, but its main advantage over anything at all is its customizable keyboard-centric nature, and MailMate has that, too, with less fussing.

And there is something a little weird about running isync on two machines in the house. I mean, theoretically it is no weirder than running two IMAP clients of any kind on two machines in the house. It’s just an IMAP client. But it’s a busy one.

Atomic Chrome/GhostText ๐Ÿ”—

There have been a few “use your favorite editor for text areas in your browser” things over the years. Atomic Chrome seems to work very well with GhostText, an extension that works with any of Firefox, Safari, or Chrome. You just install the package in Emacs, and invoke the listener with (atomic-chrome-start-server) somewhere in your init. It listens for the browser extension, which can be invoked with CMD SHIFT k, and opens a buffer for editing.

As I said, this kind of thing has been around for years. The Atomic Chrome/GhostText combination just seems to be reliable in a way I haven’t come across in the past.

org-recur ๐Ÿ”—

Scheduling recurrence in org isn’t that bad, but org-recur makes it really simple. It just extends org-mode’s syntax and allows you to add recurrence rules in a heading using notation like |+1|, |Wkdy|, or |1,15|, for “every day,” “every weekday,” and “1st and 15th of every month,” respectively.

Captee ๐Ÿ”—

org-capture, like assorted “use your favorite editor everywhere” plugins, is one of those things I know people have had working for a while. I remember having it set up and working a very long time ago, then I lost that config and just forgot how to do it. Captee is a little macOS app that worked pretty much out of the box once I had an emacsclient app set up.

It sits in your Mac share menu and grabs URLs from browsers and browser-adjacent apps then does … stuff … to them. If you want a simple Markdown link, it’ll do that. If you want an org-mode link, it’ll do that, copying both to the clipboard for you. It’ll also work with your org-capture template of choice and send a link + title + selected text to org-mode.

The thing I really like about it is that it works well with my RSS reader, Reeder. I’ve just bound it to C in the share actions list and it saves links/titles to my org-mode inbox.

More on my org PRM ๐Ÿ”—

I guess the thing I’ve been calling a plaintext CRM belongs to the “PRM” category (for “personal,” not “customers.”) So, it’s my org PRM now. I’ve been getting real use out of it.

Building it has followed a familiar pattern of feeling a gap, thinking surely someone has filled it, realizing that is not true, then going through the same loop of “maybe this general purpose tool?” and a halting attempt to use it, then a realization that it doesn’t matter how many rounded corners and AJAX transition effects the roach motel has – it’s still a roach motel.

It’s just a bad category I can only assume is as bad as it is because nobody wants to pay for it at the consumer level, and I think nobody wants to pay for it because social media has ushered in an era where we’re all sort of performing the family holiday letter on Facebook every day of the year. And also our “contacts” are all over the place. Every attempt to consolidate them and de-dup them is a minor catastrophe, with your sister-in-law manifesting nine times in the same address book and Siri forgetting where “home” is because something has pulled in your address-free doppelganger.

Anyhow, the thing I built a few weeks ago? I am using it daily:

  • Agenda reports that tell me who I haven’t been in touch with, but want to.
  • Reminders to schedule time with people or follow up on plans.
  • Easy,fast access to past messages from contacts.
  • Quick notes about conversations.
  • Reminders to ping recruiters.

There are a lot of contact management apps. There are a few apps that will issue general-purpose “AI-driven” reminders to contact people. There’s nothing that feels as easy to use. I tried one that featured a lot of nice automation, but it was iOS only and there was no way to mass-select and tag contacts. Even with my relatively modest list I would have been an hour pecking in tags. With a contacts.org file, it was very fast and simple. There’s not even a smirky “only free if your time is worth nothing” rejoinder, because most of these products are harder to use and take more time to deliver less, or cost astronomical amounts for what they do.

Being plaintext and org-mode/elisp driven, it’s also super easy to extend and modify. If I don’t like a decision I made about how something works, it’s an easy change. With org-mode capture templates, the input is all uniform and structured, so I don’t worry about backing out or moving the content elsewhere. Basically, it’s as calming for me as text ever has been.

Anyhow, I use it daily, I like it a lot, and it feels good to use.