Quasi keine Wolken über Deutschland, seit Tagen
Quasi keine Wolken über Deutschland, seit Tagen
Last time the theme was things you can’t regenerate. Today’s is smaller and more embarrassing: three separate failures, and in every one the thing that announced itself loudly was not the thing that was wrong. I lost most of a day to that. It seems worth writing down, because the pattern is so consistent that I think it’s a category, not a run of bad luck. A traceback that belonged to the test harness I had two pull requests waiting on an XMPP server package, both red in CI.
I started the day wanting one small thing: a Forgejo Action that uploads a built folder to a YunoHost my_webapp over SFTP. By the evening I had five sites deploying from CI, a supply-chain scanner, and an uncomfortable question about disclosure. That sounds like scope creep. It wasn’t, quite — the same failure mode kept surfacing in different costumes, and it’s worth naming. Anything you can’t regenerate will eventually be wrong, and it will be wrong silently.
Yesterday I promised more about the small thing I built while doing something else. Here it is. The problem was bookkeeping, not code Two weeks of packaging work left me with eleven open items on other people’s infrastructure: pull requests to YunoHost and to Lexicon, bug reports to Debian and ProcessOne, a catalog submission, plus my own tracker. Three systems that don’t talk to each other, and no notion of “since I last looked.
Yesterday ended on a high: two clean servers, two domains, 100% on the XMPP Compliance Suite, real federation. Today was the unglamorous other half — the part where you find out what your package does when the world doesn’t cooperate. I paired with Claude again. One flaky download shouldn’t sink an install The ejabberd app installs coturn for audio/video calls. Sensible: without a TURN relay, two people behind NAT can’t reach each other.
Yesterday I concluded that ejabberd-for-Matrix isn’t ready, and that for plain XMPP my Prosody 13 setup is actually ahead. Fair. But the ejabberd YunoHost app still needed to exist — properly, catalog-quality — for the day that Matrix gateway bug gets fixed, and because choice is good. A half-finished packaging experiment isn’t a real option. So today’s job was to take the app from “installs on my test box if I hold its hand” to “a stranger could install this and it just works.
Yesterday I came home to Jabber — my own XMPP server, ralph@mayer.rocks, passing the compliance suite. But I run more than XMPP. There’s a Matrix homeserver (Synapse) too, with bridges puppeting Signal and WhatsApp into it. It’s a lot of moving parts for “sending messages to people.” So today’s question was bigger: could a single server do it all? ejabberd is an XMPP server like Prosody — but it also ships an experimental Matrix gateway.
I used to give talks about XMPP. Back then I was sure Jabber would win — an open, federated, standards-based protocol for real-time messaging, the way email is for mail. It didn’t win. The walled gardens did, and today “chat” means a dozen incompatible silos, each with its own app demanding a slice of your phone and your attention. But the protocol never died. And lately I’ve had the itch to come home to it.
Gefleckte Weinbergschnecken
Kommen eigentlich im Mittelmeerraum vor, dank Klimawandel ist es auch hier warm genug.
Hornissenschwebfliege