Tuesday, February 20

It’s snowing, finally. Single digits outside, according to the search engines, which I have no reason to doubt too much. The little indicator in my taskbar says 3°F for Denver International Airport. It was in the 50s yesterday, if not warmer. Tonight we came out of a show and brushed 3 or 4 inches of fresh dry powder off the Jeep before we drove home on mostly-empty roads.

Sunday, February 18

self hosting: as off of gmail as i'm going to get

Previously:

I sent out one of those “I have a new e-mail address” e-mails today. It felt strange because the whole idea that I might have a personal mail provider other than Google, let alone that I’d be changing from Gmail to something else, so clearly belongs to the past. The last time I can remember doing this was during George W. Bush’s second term in office.

Moving off of Gmail is an ongoing project, and probably will be for months or years, but I’m mentally filing it as kinda done. From here it’s just a matter of unsubscribing from mailing lists and commercial spam, and changing login credentials for several hundred accounts as it comes up.

An outline of my approach:

Archive most of my Gmail account to a local Maildir with OfflineIMAP. In my case this came to 6.4 gigs of mail on drive, and around 250000 messages. This took hours and failed a few times along the way to completion. The vast majority of this mail should probably be discarded, but this way I can do it at my leisure.

Set up notmuch for searching local archive Maildirs. This allows for a fulltext search of messages from the commandline. I’m not totally sold on it, but it’s better than nothing.

Delete all mail stored in Gmail. This took a couple of hours, because the process is to select everything in All Mail, delete, get locked out of the account for 5-10 minutes, and repeat until everything is gone. It’s glitchy, but it seems like on average you can delete about 10000 conversations at a time. “Delete” actually moves stuff to the trash, and you can then empty the trash with a little dialog counting down how many messages are left to be actually deleted. I’m pretty sure this all could have been scripted by way of some API, but life is short and in this case some repetitive clicking was easier than reading API docs for something I wish didn’t exist anyway.

Delete all labels and all filters in Gmail. Filters can be exported as an XML file in some kind of Atom-derived format, which I went ahead and did because I figured having a master list of the labels would be useful later on for search purposes. There’s a way to select all filters and hit a button to delete. Deleting the labels could probably be scripted somehow or another, but through the web interface it’s a matter of a bunch of horrible clicking.

Configure Evolution as a primary client, pointed both at the old Gmail account and the new Fastmail one. Evolution can be clunky, but it’s easy enough to use and has features for stuff like calendaring and contact lists, so I can use it to slowly pry that stuff out of Google’s clutches. (Thanks, people who make Evolution. I may not be in your target “person who needs to replace Outlook” demographic, but I truly appreciate your hard work all the same.)

I thought about just forwarding the Gmail address to the new one, but it seems better to keep a clean separation between the two. This way, incoming Gmail can double as a to-do list for places I still need to update the address.

Addendum: The build of Evolution I have installed (probably ancient, because I’m on Debian stable) was displaying some weird behavior — marking stuff as Junk / moving to Spam folders and then making it impossible to mark non-Junk or permanently move back to the Inbox. It took me a while to realize that there’s a built-in spam filter (Preferences → Mail Preferences → Junk → Check incoming messages for junk) that’s turned on by default and gets a ton of false positives, at least without training. Even when turned off, I couldn’t seem to get those messages permanently out of the Spam folder, so I decided to give Thunderbird a shot.

Thunderbird also has a builtin spam filter that has to be disabled on a per-account basis (right click on an account → Settings → Junk Settings → Enable adaptive junk mail controls for this account). It otherwise feels less flaky than Evolution, and glitches less over IMAP for me, though it will occasionally hang for a while on large folders.

In general, I feel like the state of desktop GUI e-mail clients is less than great. My next move is probably to give Mutt another shot.

I should fill out the above with specific configuration details for some stuff, but I wanted to get some notes down while I was thinking about it.

Sunday, February 11

Saturday, February 10

App::WRT v4.2.2

This is a minor release of wrt, the site generator I use for p1k3 and finally got around to publishing on CPAN back in November.

This version tweaks configuration defaults for root URL, removes links to years from the top navigation bar, and fixes a bug with the --config option to wrt render-all and wrt display. It should now work to specify a separate configuration file.

(I worked on this today because I wanted to be able to generate a preview version of the site that I could navigate in Lynx, and in order to do that it was easiest to write a separate configuration file.)