Self-Reliance (2026 edition)
Friends and neighbors, let us begin our sermon today with a reading from the book of XKCD, chapter 2347, verse 1:

To call anything on the internet "independent" is kind of an exercise in silliness; nothing here works without everything else, nor ever has.
(You could, of course, strike "on the internet" from that sentence and it would still be true. All of us are caught in an inescapable network of mutuality and tied in a single garment of destiny, even if Dr. King wasn't talking about technology when he said that. But, it's specifically the internet that I'm talking about today.)
I just tried to make a list in my head of all the pieces of software that are being used right now to deliver this blog post from my hard disk to your screen, and my brain tripped out after about three dozen. Your browser, my web server, several different databases, a content management system, scads of crypto libraries, compression libraries, image display libraries, logging libraries, parsers, DNS servers, routers, network stacks, operating systems, the compilers and interpreters for the languages used to write it all... the closer you look, the more there is to see. And that's without even considering the hardware it's all running on, or the supply chains for the raw materials to build that hardware, or the shipping, the electrical grid, the software those all depend on, the hardware running that software, and so on and so on.
And yeah, that XKCD strip was right about our over-dependency on certain underfunded links in the chain. We've paid for it a few times in high-profile bugs, too... but today, that's not my point.
What I'm focusing on now is that the Rube-Goldberg/Jenga-Tower internet works. It works absolutely great, almost all the time. It's cheap, too - most of the software it's built with is literally free, and organizations routinely peer with each other to provide backbone service without metering it. The whole thing's amazing.
(It's popular these days to think that Human Nature is nasty, brutal and vicious, that we're terrible at sharing and getting along and we can't meaningfully cooperate to build a better world for each other. Mostly, it's popular to think that because of pessimistic stories we tell each other all the time via a social internet that proves by its very existence the exact opposite to be true. Wouldn't it be nice if the internet told more stories that are as good as the internet is?)
That said, though... even as I sing the praises of cooperation and interdependence, I do have some limits. There are entities I don't want to depend on. Not even because I don't trust them, necessarily (though I don't, because I can't; it's capitalism), but because they're Very Large. Too many people depending on too few organizations for services feels like at least as big a problem as that little Jenga-brick project.
The internet works because all its parts follow standards, behaving in carefully-engineered and agreed-upon ways. If we've got five companies handling 98% of the email, what's their incentive to keep following internet standards, just so a sixth competitor can come along and join them? Much less some random yutz with a server, like me. Life is ever so much simpler if you only have to deal with your four major competitors, two of whom you're buying next week.
This is why I think it's good for the world if there are more random yutzes with servers. Small fry like us keep the huge monopolistic sharks honest, just by existing as a factor in their plans. The more of us there are, the easier it is to be "independent" on the net (insofar as that word makes any kind of sense).
I have been part of this problem. A long time ago I decided that I was okay hosting my own DNS and web servers, but email and spam filtering were really complicated and annoying, and I'd rather let the ops people at Google handle that for me. With that decision, I made a small contribution to bringing today's world into existence, where almost a third of all email is Gmail. Whoopsie.
Delightful news, though! Even though email has gotten more complicated and annoying in the last couple of decades, there are some very cool new tools for dealing with complexity and annoyance, and it's really not difficult to set up anymore.
Anyway, that's why the self-hosting kick I've been on lately feels like a worthwhile thing for me to be doing.[1] I'm planning to post more about it here, and document how I've set my home network up, both for my own future reference and for the benefit of others who may want to try it themselves.
Also, if it wasn't for this, I'd probably have to take up model trains or something. shudder ↩︎