Sayonara, Dreamhost!

Meet the new blog… same as the old blog.

Well, not quite the same. I’ve been a DreamHost customer for nearly a decade. I wanted something stupid cheap; I got something both cheap and stupid. To be fair, I’d been warned. The people behind DreamHost are friendly and responsive, so even though my MX records sometimes disappeared for a few hours, or my blog crumbled under even moderate load, or somehow an extra $7.5 million unexpectedly left customers’ pockets… well, I stuck with it.

No more. Even for my modest business homepage I need a setup that is:

  1. Reliable. My sites don’t go down and they handle loads.
  2. Repeatable. I can easily move between providers without complex setup or import/export processes.
  3. Easy To Maintain. I have full source control over my sites and they use the simplest formats and tools possible.

As a result, I’ve moved my entire web presence into the “cloud.” Specifically, I’m hosting all of my sites via git repositories; I’m hosting most of them via GitHub Pages.

For the majority of my sites, the move to GitHub Pages was painless. The exception, not surprisingly, was this blog: it is now built with Jekyll. Jekyll is a great tool and I highly recommend it. What hurt was exporting from WordPress. I ended up writing several custom python tools; Jekyll’s built-in exporter was next-to-worthless. In the interest of time, I dropped the old comments (there weren’t many.) Now that I’ve made the leap, I’m extremely excited to author my blog from emacs, in markdown. It’s far easier for me than fighting the WordPress text entry area.

My remaining sites, like Go and WhereBeUs, are hosted via Google App Engine. (Of course, the code is managed in git, too.) Only my large MP3 files have escaped source control; they’re hosted on Amazon S3. (Alas, git’s performance with large binaries is not too hot.)

Finally, I’ve moved to Zerigo Managed DNS to handle the growing complexity of my domain name needs. In addition to having a great control panel for hand-editing DNS entries, Zerigo offers a killer REST API that is well-supported by both Python and Ruby. I couldn’t be happier.

As for mail, I’m in the process of moving to hosted gmail — if over the weekend you get a bounce, you’ll know what’s up.