the great mastodon influx

This commit is contained in:
Wouter Groeneveld 2022-11-18 20:50:26 +01:00
parent 2e09e57d03
commit ad4f31fe6e
2 changed files with 31 additions and 2 deletions

View File

@ -0,0 +1,29 @@
---
title: The Great Mastodon Influx
date: 2022-11-18T19:34:00+01:00
categories:
- software
tags:
- 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](https://zerokspot.com/weblog/2022/11/12/leaving-twitter/).
I've been running a self-hosted [Pleroma instance](https://pleroma.social/) for about a year now that's compatible with [ActivityPub](https://activitypub.rocks/)---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](https://www.hughrundle.net/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](https://seblog.nl/2022/11/13/1/mastodon-debuggen) his website with the infrastructure and having some [interesting thoughts](https://seblog.nl/2022/11/11/1/slome-mastodon) 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](https://activitypub.rocks/implementation-report/) contains way too many rows that scream _overengineered!!_ so no thank you. 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](https://ar.al/2022/11/09/is-the-fediverse-about-to-get-fryed-or-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 there's technical knowledge involved, even if you let someone else manage it---yet another
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](https://sidekiq.org/). Pleroma on the other hand runs on Elixir and claims to be using [significantly less resources](https://soapbox.pub/2021/10/10/choosing-a-backend-for-soapbox-fediverse-mastodon-pleroma/). 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.
---
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.

View File

@ -104,7 +104,7 @@ If you want subtables: do not use the deprecated `subfigure` package which is i
## Acronyms
Inspired by [pandoc-acro](https://kprussing.github.io/pandoc-acro/), I created a simplified version by replacing `\+([A-Z]\w+)` with `\ac{\1}`. That means you write:
Inspired by [pandoc-acro](https://kprussing.github.io/pandoc-acro/), I created a simplified version by replacing `\s\+([A-Z]\w+)` with ` \ac{\1}`. That means you write:
```
Te +SE world is a peculiar one.
@ -127,7 +127,7 @@ Don't forget to include package `acro` and define each acronym in your preamble
## Layouting
Tufte starts his later books out with a "new thought" in each new chapter and section, where the first three or four words are capitalized and spread out. tufte-book supports this with `newthought{}`, but I don't want to add this manually in the Markdown file, hence another hack. It's too barebones (and dirty!) to share here but it boils down to:
Tufte starts out his later books with a "new thought" in each new chapter and section, where the first three or four words are capitalized and spread out. tufte-book supports this with `newthought{}`, but I don't want to add this manually in the Markdown file, hence another hack. It's too barebones (and dirty!) to share here but it boils down to:
1. Find all `\begin{section` blocks. Take optional `[]`s into account.
2. Scan for the next line that is not empty; a TeX command; or the start of a TeX block---in case of that last one, fast-forward to the first `\end{}`.