In reply to: https://thebrainbin.org/m/fediverse@piefed.social/t/1543613
Is nodeBB a generic old school PHP forum like phpBB ?
Is nodeBB a generic old school PHP forum like phpBB ?
Added that one for now.
Nostalgia, they feel a bit more inherently organized, and slow Auster has an easier time dealing with linear boards.
Lemmy, Mastodon, PieFed, Lobsters, HN, Tilders, trackers, IRC..?
Lemmy and YouTube
Incest?
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?
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”.
Good point.
FedRAMP first raised questions about GCC High’s security in 2020 and asked Microsoft to provide detailed diagrams explaining its encryption practices. But when the company produced what FedRAMP considered to be only partial information in fits and starts, program officials did not reject Microsoft’s application. Instead, they repeatedly pulled punches and allowed the review to drag out for the better part of five years. And because federal agencies were allowed to deploy the product during the review, GCC High spread across the government as well as the defense industry. By late 2024, FedRAMP reviewers concluded that they had little choice but to authorize the technology - not because their questions had been answered or their review was complete, but largely on the grounds that Microsoft’s product was already being used across Washington.
Lol
By early 2020, Melinda Rogers, Justice’s deputy chief information officer, made the decision official and soon deployed GCC High across the department. Rogers, who was hired by Microsoft in 2025
Deputy Attorney General Lisa Monaco said the department would use the False Claims Act to pursue government contractors “when they fail to follow required cybersecurity standards—because we know that puts all of us at risk.” There is no public indication that such a case has been brought against Microsoft or anyone involved in the GCC High authorization. The Justice Department declined to comment. Monaco, … did not respond to requests for comment. She left her government position in January 2025. Microsoft hired her to become its president of global affairs.
This shouldn’t be fucking legal.
fixed my ios app, now I'm not sure if location should be attached onto a note object or account actor or both
#ActivityPub
Account actor, IMO.
@rimu did both, thought just in case some seller has different warehouse locations
I’ll be totally honest and say that I don’t trust Evan (for reasons I’m not getting into), and I’m not sure why we need “hashtags with extra steps,” but I’d like to get opinions from people who are smarter than I am about this stuff.
Hashtags-as-a-service isnt new thinking, but tags.pub solves a real gap Mastodon has always had — native group support was promised forever and still hasnt landed. The problem is hashtags fragment across instances. Tags.pub centralizes tag resolution so a post tagged #fediverse gets discovered the same way on lemmy.world or a small microblog. Its a pragmatic middle ground between full federation and centralization. Im skeptical itll become the standard, but its the best workaround until Mastodon actually ships groups or activitypub gains native hashtag support.
I don’t know. Last I saw was a PR languishing for years.
Announcing Mitra Mini v0.1.0
Mitra Mini is an ActivityPub client that implements nomadic identity. It has become stable enough that I decided to cut the first release.
The basic features have been implemented: posts, reposts, likes. For more information, check the project's readme:
https://codeberg.org/silverpill/minimitra
It all started nearly four years ago with a vague idea that linking cryptographic keys to #ActivityPub actors could unlock decentralized identity in Fediverse. Eventually, the solution was discovered, and implemented by several projects, but these implementations were servers, not clients. Now there is finally a client, and the design has been proven to work well.
Congrats!
Thank you @rimu !
I briefly posted about this in this thread yesterday. I think it deserves more notice because of the problems it can cause, and it will scale negatively.
Currently, instance bans and community bans are treated as two separate things. When a user is banned from an instance, you’ll often see in the logs a bunch of community bans alongside it at once. These are communities that user has posted on. An instance ban automatically applies hard-bans to communities they have interacted in from that instance. But the problem here is its only communities they’ve interacted in.
The instance ban itself is simply a rejection of federation. It doesn’t block users from posting in communities on that instance - only the community bans do that. It just means their posts won’t federate out. This means that an instance banned user can continue to be a nuisance in most communities (or all, if they are pre-emptively banned) on an instance locally - and the moderators of that community and instance won’t even know because they don’t view their community from there. With larger numbers of users would also mean larger amounts of trolls and incompatible users, which could greatly increase the chance of people simply vandalising communities and no-one even noticing.
Lemmy 1.0 promises to fix this apparently from their end, but I think at least for as Piefed is concerned we could get in on this first. We also need a way before that for Piefed based communities to automatically throw out all comments made even locally by instance banned accounts.
Oh sorry :)
I mean I agree with your description of the problem and the changes you propose.
I’m coding it now, should be deployed today.
That’s great!
What about Lemmy users? I know if a banned lemmy.world user was to post on a piefed.social instance that it would be federation rejected, but what I propose here would go further and simply have it automatically purged at source too.
You can use the dropdown menu in the top left to switch it over to PieFed: https://lemmyverse.net/piefed/communities
But really, if you’re on a mature instance like feddit.online pretty much every community will already be known so you can just go to https://feddit.online/communities and use the search tool. Try the advanced search.
Yes, Lemmyverse doesn’t detect and sort by active users for Piefed - but you don’t need Lemmyverse if you’re on Piefed now. It’s essentially built in.
The tension here is real: you want community members to self-moderate through votes, but voting only works if enough people see a post. Low-effort posts can gain traction through novelty before the quality-conscious members even notice.
The “subjective” part is honest, at least. That beats pretending there’s an objective standard. Good moderation is: here’s what we’re optimizing for (substantive technical discussion), here’s when we’ll step in (when the voting isn’t working), here’s how we’ll explain decisions.
One thing that helps: if mods explain why a post is being removed, it teaches the community what you’re optimizing for. Just removing things silently trains people to be resentful, not better-behaved.
This is a good point. The design of these platforms really shapes how we interact and express ourselves. I think about this a lot with what I’m building at thezeitgeistexperiment.com where we’re trying to use my butt to understand public opinion from text, rather than just rely on engagement metrics. It’s an interesting challenge.
This is a tough one. “Low effort” is where engagement metrics start dictating what kind of discourse we get. I think the real metric should be whether someone read what came before and actually responded to it.
We built a project trying to measure public opinion through thoughtful email replies instead of hot takes and quick reactions. The pattern I see is that most “engagement” is people pasting headlines, quoting selectively, or dropping one-liners. The good stuff happens when people actually wrestle with an idea.
Moderation works best when it focuses on whether a contribution adds new information or perspective. A short comment can be high effort if it synthesizes well. A long ramble is low effort if it adds nothing.