by adam mathes
archive · subscribe

The Worst Form of Hosting

Many forms of Government have been tried, and will be tried in this world of sin and woe. No one pretends that democracy is perfect or all-wise. Indeed it has been said that democracy is the worst form of Government except for all those other forms that have been tried from time to time.

Winston Churchill

As I break down and rework the tools, personal server, and workflow of how I use the internet today I’ve been thinking about that quote.

Even after clearing out the gunk and stripping down what I do to its core with cleaner, lighter, more efficient tools the sheer insanity of running and maintaining a virutalized Unix machine in a data center just to transmit a few words via HTTP and SMTP seems somewhere between quaint and insane.

Self-Hosting Is The Worst

Self-hosting web sites is the worst form of internet expression, except for all those other forms that have been tried from time to time.

It’s not that I don’t enjoy throwing away inefficient python code talking to a memory hogging Mongodb instance and replacing it with needlessly fast Go code that reads flat files or mysql. Or planning a switch from Ubuntu to Debian. I do. I actually enjoy it. And I’d rather do it than spend one god damned second on Facebook.

And it’s not that I don’t enjoy re-writing configs to cope with nonsensically shifting Linux init systems (who agreed I should use Ubuntu in the first place? I demand to speak to the sysadmin!) but like, seriously, how the fuck is anybody supposed to maintain a Linux machine that has a persistent internet connection in 2017?

Even after abstracting away the physicality of real disk and memory to virtualized io/cpu/magic there’s still the damned operating system software and security updates and firewalls and god knows what in the face of arms races of hostile network entities.

And yet, how can I complain? It’s 100x easier and cheaper than it was 20 years ago.

Deeper and Deeper

I’m getting into the weeds and depth of a problem and solving it for myself in a way that is completely ineffective beyond my own brain and mailing list but you know, tiny victories, fun code.

That’s ok. I have to be ok with that. Sometimes you have to start that way to discover the hard problem and understand it enough.

Do we manage through the spiraling complexity by adding abstractions, virtualizing, containerizing, or just hiding? I’m trying to simplify instead. Saying “no” is somewhat easier when you’re your own and only client.

Internet Of Things Are Tiny Unix Machines Nobody Maintains

But if I can barely do it for something that I care deeply about that includes 15 years of personal expression, how can we expect your refrigerator manufacturer to get the same thing right?

Some of your appliances are probably already this fucked.