brainbaking/content/post/2022/11/the-great-mastodon-influx.md

5.7 KiB

title date categories tags
The Great Mastodon Influx 2022-11-18T19:34:00+01:00
software
mastodon

One of the returning themes in my RSS feed lately must have been Elon Musk's embarrassing fuckups at Twitter and the (relatively) huge influx to Mastodon as a consequence. I don't really feel like re-listing things that a selfish narcissist does to sink a company like Twitter, but just in case you haven't been following the news lately, Horst Gutmann provides a nice overview.

I've been running a self-hosted Pleroma instance for about a year now that's compatible with ActivityPub---the protocol that's behind the range of Fediverse applications including Mastodon. In just one week, my amount of followers doubled. The amount of approval requests drove me mad, and the chattiness in the timelines as well. I liked the network because it was small and cozy. I'm afraid that's going to change---it's already happening. Hugh Rundle wrote an interesting piece about that and goes as far as calling it a home invasion.

My aversion to social media-style endless scrolling is making me itchy lately. Don't make the mistake of thinking this isn't applicable for Mastodon because it is. I can't easily find the diamond in the rough anymore---it's hidden somewhere in-between the more and more Twitter-like gibberish of fun but to me useless chats. There's the option to either aggressively mute or block users, start messing with lists (that aren't supported by all Pleroma frontends), or just... well... scroll?

Meanwhile, Sebastiaan fiddles with ActivityPub trying to connect his website with the infrastructure and having some interesting thoughts about the sudden increased server load of most well-known Mastodon instances. I contemplated taking a stab at the W3C recommendation myself but the guide for new implementers doesn't even contain a complete end-to-end example, the test suite site is down for some reason---god knows for how long---and the implementation report list contains way too many rows that scream overengineered!! so no thank you1. That's starting to sound like a bad habit at W3C...

Even more scary is perhaps Aral Balkan's why every toot is also a potential denial of service attack post, where he proposes one solution: everyone should be on an instance-of-one. Except that doesn't help, as Aral is on one, and his host had to upscale quickly because he has 23K followers, having to pay €50/month now. That means that not only it's expensive to "be an influencer", there's also technical knowledge involved, even if you let someone else manage it.

Twitter once ran on Ruby on Rails and used a single MySQL database as a backend. It notoriously had a lot of performance issues. Mastodon is built on Ruby on Rails as well, and guess what: it's struggling to keep up, even with Ruby's "fast job system" called Sidekiq. Pleroma on the other hand runs on Elixir and claims to be using significantly less resources. But you can't go around ActivityPub's required message-passing system that Sebastiaan is also experiencing difficulties with---as soon as a few other servers pick up your endpoint, your server is dragged along in the message maelstrom. The Beam server on my VPS that serves Elixir processes consistently takes up the most CPU load and I'm currently wondering whether or not it's worth it. The Postgres DB is about 800 MB right now.

I'm sure the technology will evolve, as it did with Twitter. Still, it has me wondering, and dare I say it: is decentralization and that much chattiness---both by users and the APIs---really the best, sustainable option? The problem isn't just limited to upscaling, but to the long-term maintenance of these servers. You suddenly find yourself administering a server where people rely on your capabilities to keep the thing in the air. I've witnessed a few with 2K+ users being pulled because these admins are doing this in their free time, and sometimes, it's just too much.

That is the one thing that works with huge centralized systems: their ad system cash flow ensures moderation and maintenance---well, up to a point, as we've witnessed these days. People have become accustomed to using these services for free. Some Mastodon instances require a payment up-front, but most rely on donations---or nothing. It's going to be interesting to see how this system can grow as tens of millions suddenly take over and start using (or bombarding?) it, blatantly ignoring that donation button.


I don't really know what I'm trying to say here except that it's perhaps not worth it to scroll endlessly on yet another social media platform where posts are starting to converge into the emptiness that Twitter had to offer. Furthermore, my VPS is a tiny server that is also the host of more interesting things. There's still ample juice left, but it's scary to see how these things work and how super fast things can go wrong, especially if you take a moment to peek under the hood.


  1. I recognize this might come across as a bit harsh. In a way, ActivityPub is amazing---can you imagine an open protocol making it possible to use your site as your personal Twitter handle? That seamlessly integrates with the system? If you're up for a hefty development phase, that is. ↩︎