Sunday, February 18

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


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.

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.

Saturday, February 10

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.)