Goofed Home

Scaling: ActivityPub over NNTP?

$$21184
https://piefed.social/u/rimu posted on Apr 1, 2026 09:18

Here’s an interesting thought experiment.

Way back in the 1980s and 90s, Usenet was a sorta-federated discussion forum (using the NNTP protocol) that was very popular. It still exists and is distributing 400 million messages each day (mostly spam and trash as far as I can tell). Hard numbers are difficult to come by but it seems like Usenet is capable of significantly higher throughput. Why is that?

The big thing holding ActivityPub back is the fan-out. You know the story - someone with 50,000 followers causes their instance to send up to 50,000 HTTP POSTs every time they click the little spinny star or reply to something.

It’s basically a hub-and-spoke network topology. Except everyone takes turns being the hub, ideally, but not much in practice. And in this topology, the hubs are where the strain and bottlenecks are.

Back in the 1980s they had computers literally 1000 times slower than ours and network links to match. So how did they do this? With a peer to peer network topology! When a new post is made, they don’t send it to everyone they just send it to a handful of other servers. Those servers in turn forward the post on to a handful of other peers, and so on, until the whole network receives the post. No individual server is a single point of failure and none has to bear the full brunt of orchestrating it all.

Let’s do a picture. A creates a post and sends it to B and D.

A ─ B ─ C  
 \      /  
   ─ D ─  

B sends it on to C.

Meanwhile D sends it on the C also but C already has it so does nothing more. IRL this would be a much larger mesh. Who peers with who can be a mixture of manual selection and random spiciness.

Posts can arrive out of order so each server would need to wait until the dependencies between posts are resolved before making them available to clients. That’s a bit tricky.

In the ActivityPub-over-NNTP idea, each NNTP post would be a thin wrapper around a data structure containing the HTTP headers (with signature and digest) and JSON that a normal HTTP POSTed Activity would have. Servers would use NNTP to distribute the activities and upon receiving one they’d POST it to their own /inbox to run the usual ActivityPub processing that their AP instance does.

{  
  "headers": {  
    "Signature": "...",  
    "Digest": "...",  
    "Date": "..."  
  },  
  "activity": { ... normal ActivityPub JSON ... }  
}  

In this way there is no need to rewrite ActivityPub semantics as only the transport layer changes. Our existing inbox logic remains intact.

NNTP comes with a lot of historical baggage so we’d probably need to evolve the protocol a bit. Maybe use HTTP requests (even http2 streams?) instead of the original line-oriented text protocol using raw TCP sockets. But you get the idea.

Thoughts?

https://piefed.social/c/technical-discussion/p/1939768/scaling-activitypub-over-nntp

8 posts in conversation

$$21355
https://piefed.social/u/rimu posted on Apr 1, 2026 20:22
In reply to: https://piefed.zip/comment/4549493

Yes, I think that’s part of NNTP already. Each post has a list of the servers it has traveled through so when considering where to forward the post on to a server can check if it’s already been there. That would help somewhat but still there would be quite a few times when a server discards posts.

I haven’t gotten deep enough into this yet but I’m sure there have been protocol improvements since NNTP that address this. Gossip protocols have been experimented with since the early 2000s. For example, rather than servers saying to others “I have this post, do you want it?” they might say “the most recent post I have in the fediverse@lemmy.world community is #5” and another server which only has posts #1 and #2 would respond “cool, give me posts #3, #4 and #5”.

https://piefed.social/comment/10785115
$$21357
https://piefed.social/u/rimu posted on Apr 1, 2026 20:26
In reply to: https://mitra.social/objects/019d49cb-4435-0420-3d7c-c45d9303451f

Good point.

https://piefed.social/comment/10785159

Before Netflix Deal, Ben Affleck's AI Firm Set Aggressive Production Cost-Cutting Targets

$$21327
https://piefed.social/u/Skavau posted on Apr 1, 2026 19:30
https://piefed.social/c/television/p/1941878/before-netflix-deal-ben-affleck-s-ai-firm-set-aggressive-production-cost-cutting-target

$$21356
https://piefed.blahaj.zone/u/hzl posted on Apr 1, 2026 20:22
In reply to: https://piefed.social/c/television/p/1941878/before-netflix-deal-ben-affleck-s-ai-firm-set-aggressive-production-cost-cutting-target

It took the whole article to get to what he’s actually proposing to do with AI. It’s effects. He wants to eliminate effects made by humans.

https://piefed.blahaj.zone/comment/3968319

After a Long Time, Ubuntu Shows Some Respect to Deb Packages

$$19355
https://europe.pub/u/cm0002 posted on Mar 28, 2026 15:48

For years, many Ubuntu users have felt that traditional .deb packages were being gradually sidelined in favor of the Snap ecosystem.

It started quietly. Double-clicking a downloaded .deb file would open it in Archive Manager instead of the installer. Then came controversial changes. Apps like Chromium, Thunderbolt and Firefox began defaulting to Snap packages, even when users tried installing them via the apt command in the terminal.

It continued further as Ubuntu introduced its new Snap Store. In Ubuntu 24.04, it ignored .deb packages completely. Double-clicking a .deb file would open the App Center, but wouldn’t actually install the package and just hang there. That behavior was later reverted after I highlighted it through It’s FOSS.

https://europe.pub/post/10823035

27 posts in conversation

$$21225
https://sh.itjust.works/u/Eggymatrix posted on Apr 1, 2026 12:53
In reply to: https://lemmy.ca/comment/22501460

Agreed, but how many requests do you see for support for people understanding mesh networking enough to set a server up in docker? Those are the people that use it and need it, and surprise they use docker, not flatpack or snap.

I am talking about non powerusers, non it personnel that are installing steam or gimp via snap or flatpack and then flood support threads with their problems. In those cases sandboxing is fucking stupid.

https://sh.itjust.works/comment/24609413
$$21334
https://piefed.social/u/Janx posted on Apr 1, 2026 19:49
In reply to: https://retrolemmy.com/comment/18681198

It’s also really easy to avoid the company that made the slow, propietary, corporate-owned Snaps default as a slap-in-face to the open-source community they depend on.

https://piefed.social/comment/10784696

Hasbro says it was hacked, and may take ‘several weeks’ to recover

$$21284
https://piefed.social/u/misk posted on Apr 1, 2026 16:43
https://piefed.social/c/technology/p/1941232/hasbro-says-it-was-hacked-and-may-take-several-weeks-to-recover

$$21329
https://programming.dev/u/riskable posted on Apr 1, 2026 19:32
In reply to: https://piefed.social/c/technology/p/1941232/hasbro-says-it-was-hacked-and-may-take-several-weeks-to-recover

Maybe they should implement something beyond toy security.

https://programming.dev/comment/23058797

Twenty Twenty Six | Official Trailer - BBC

$$21328
https://piefed.social/u/Skavau posted on Apr 1, 2026 19:30
https://piefed.social/c/television/p/1941884/twenty-twenty-six-official-trailer-bbc

KaOS Linux 2026.03 Is Out with Linux 6.19, More systemd Components Removed

$$19728
https://europe.pub/u/cm0002 posted on Mar 29, 2026 02:39

KaOS Linux 2026.03 has been released today as the ISO snapshot for March 2026 of this independent Linux distro using Arch Linux’s pacman package manager.

Last month, when KaOS Linux 2026.02 was released, we reported that the distribution had dropped its KDE/Plasma desktop environment, after more than 12 years using it as the default, in favor of a Niri/Noctalia setup to avoid any use the systemd init system and move to Dinit instead.

Now, the KaOS Linux 2026.03 release is here to strip more systemd-related components from the distribution in an attempt to become a systemd-free distro. As such, the devs removed the systemd-boot bootloader component, along with mkinitcpio, which was replaced with Dracut for initramfs creation.

https://europe.pub/post/10837976

Word Count Linux: 1

$$19758
https://lemmy.today/u/msokiovt posted on Mar 29, 2026 04:06
In reply to: https://europe.pub/post/10837976

Huh, they’re not doing digital ID ‘round those parts either.

Good.

https://lemmy.today/comment/23198590
$$21324
https://sopuli.xyz/u/hornedfiend posted on Apr 1, 2026 19:20
In reply to: https://europe.pub/post/10837976

kaOS linux? Sounds made up by some LLM.

https://sopuli.xyz/comment/22761271

United States Men's National Team Announce They Will End Portugal Game After 0-2 Victory

$$23052
https://feddit.online/u/CombatWombat posted on Apr 1, 2026 18:51

The United States Men’s National Team (USMT) announced today that they will end the Portugal game that was started on the 31st of March 2026 with a 0-2 Victory as they stated, “we’ve gotten everything out of this encounter that we came for.”

Sources say that the USMNT views the exercise as a completely victory despite the end result and that insiders are claiming a complete achievement of their goals.

https://feddit.online/c/theonion/p/1575966/united-states-men-s-national-team-announce-they-will-end-portugal-game-after-0-2-victor

The Linux Kernel's Minimum Rust Version Supported Prepares For Rust 1.85 Baseline

$$21304
https://toast.ooo/u/cm0002 posted on Apr 1, 2026 17:40
https://toast.ooo/post/13124036

Wayland Protocols 1.48 Released With XDG Session Management

$$21299
https://toast.ooo/u/cm0002 posted on Apr 1, 2026 17:29
https://toast.ooo/post/13123618

Summary of Claude Code source leak

$$21301
https://toast.ooo/u/cm0002 posted on Apr 1, 2026 17:28
https://toast.ooo/post/13123613

Create New Post