this post was submitted on 30 Jan 2026
195 points (77.2% liked)
Memes
54121 readers
1060 users here now
Rules:
- Be civil and nice.
- Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you have to.
founded 6 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
There are all kinds of fun stuff in the Piefed code. Allow me to dredge up a comment I made recently:
@edie@lemmy.encryptionin.space was looking at PieFed code the other week, and I ended up taking a look at it too. Its great fun to sneak a peak at.
For example, you cannot cast a vote on PieFed if you've made 0 replies, 0 posts, AND your username is 8 characters long:
If a reply is created, from anywhere, that only contains the word "this", the comment is dropped (CW: ableism in the function name):
Every user (remote or local) has an "attitude" which is calculated as follows:
(upvotes cast - downvotes cast) / (upvotes + downvotes). If your "attitude" is < 0.0 you can't downvote.Every account has a Social Credit Score, aka your Reputation. If your account has less than 100 reputation and is newly created, you are not considered "trustworthy" and there are limitations placed on what your account can do. Your reputation is calculated as
upvotes earned - downvotes earnedaka Reddit Karma. If your reputation is at -10 you also cannot downvote, and you can't create new DMs. It also flags your account automatically if your reputation is to low:PieFed boasts that it has "4chan image detection". Let's see how that works in practice:
Yup. If your image contains the word
Anonymous, and contains the textNo.orN0it will reject the image with a fake error message. Not only does it give you a fake error, but it also will dock your Social Credit Score. Take note of thecurrent_user.reputation -= 1PieFed also boasts that it has AI generated text detection. Let's see how that also works in practice:
This is the default detection, apparently you can use an API endpoint for that detection as well apparently, but it's not documented anywhere but within the code.
Do you want to leave a comment that is just a funny gif? No you don't. Not on PieFed, that will get your comment dropped and lower your Social Credit Score!
How does it know its just a gif though?
I'm not even sure someone would actually drop a link like this directly into a comment. It's not even taking into consideration whether those URLs are part of a markdown image tag.
As Edie mentioned, if someone has a user blocked, and that user replies to someone, their comment is dropped:
For Example:
(see Edies original comment here)
More from Edie:
Also add if the poster has blocked you! It is exactly as nonsense as you think.
Example:
I made a post in testing@piefed.social from my account testingpiefed@piefed.social, replied to it from my other testingpiefed@piefed.zip account. Since the .social account has blocked the .zip, it doesn't show up on .social, nor on e.g. piefed.europe.pub.
I then made a comment from my lemmy.ml account, and replied to it from my piefed.zip account, and neither .social, nor europe.pub can see my .zip reply, but can see my lemmy.ml comment!
[ Let me add more clarity here: what this feature does is two things. On a local instance, if you block someone who is on your instance, they cannot reply to you. However, this condition is not federated (yet, it would seem), and so, to get around this "issue", the system will drop comments from being stored in the PieFed database IF the blocked user is remote. This means you end up with "ghost comment chains" on remote instances. There is NEW code as of a few weeks ago, that will send an AUTOMATED mod action against blocked remote users to remove the comment. So long as the community is a local PieFed community, it will federate that mod action to the remote server, removing the comment automatically. For PieFed servers, eventually, they would rather federate the users block list (that's fair), but it would seem this code to send automated mod actions to remove comments due to user blocks is going to stay just for the Lemmy Piefed interaction. I don't really understand why the system simply doesn't prevent the rendering of the comment, instead of stopping it from being stored. It knows the user is blocked, it already checks it, it should then just stop rendering the chain of comments for the given user, prevent notifications from those users, etc. ]
But wait! There's More!
All this to say. Piefed is a silly place, and no one should bother using its software.
What the fuck? I already knew that Piefed defederates Hexbear and Lemmygrad by default, but other than that bruh moment I assumed it was a respectable Lemmy alternative. That's some incredibly cringe behavior right there.
I think the anti-fascist filtering is a good thing, though. Hot take, but I think that anything that gets people away from Reddit and Shitter and the like, should help.
The gif parts are just so impressively poorly done. Both from even making it part of a persons reputation to how the check is done
The math here is hilarious.
Goddamn, I'm glad I didn't bother creating an account there when people were singing it's praises.
Can you tell me why you keep claiming this when I've specifically said this is not the case here?
"And no, it does not defederate from lemmy.ml out of the box. You are completely misunderstanding that code. I have already addressed this here.
"Alright, it doesn’t do any defederation, this function just controls what the api reports. It will list which of those four instances the instance is defederated from but that doesn’t look like it is actually used anywhere to do something…let me grab you links here is where piefed digests this api endpoint to populate the instance_chooser table, and the defed_list field isn’t actually used at all"
In the admin back end video produced to show the features of the software, these sites were said to be "defaults" by the software creator, and they are prefilled in. You can change them after the fact, this is true, but if you simply spin up the instance and never touch those settings they are defederated. I know this is true, because I am in contact with an admin who manages a PieFed instance that is federated with Hexbear, they had to remove the Hexbear defederation after initial setup.
Dude, I specifically spoke to wjs (one of the main contributors to this project) about this claim - and he examined the code. It doesn't do what you claim it does. That quote is directly from him. Hexbear and Lemmygrad are automatically defederated but if you remove them and them remove all the defederations entirely, it won't just repopulate them with those instances and automatically add lemmy.ml.
Lemmy.ml was never a default in the first place when it comes to defederation. Piefed.social doesn't even defederate lemmy.ml.
I'm telling you that Hexbear.net is on by default, and so is lemmygrad.ml. They both need to be removed from your settings before you can federate with them. There shouldn't be any default instances period.
You should probably re-read what Skavau said. They're talking specifically about lemmy.ml
Ah yeah I see that. It still doesn't change my position on if the system should have defaults.
Hexbear and Lemmygrad aren't Lemmy.ml. I never claimed that hexbear and lemmygrad aren't defederated by default.
The claim you're linking to though also alleges that lemmy.ml is automatically defederated, and that if you wipe all defederations entirely it will repopulate them back.
Ok, you have this completely off base about it "not doing anything". While I might be wrong about it defederating, what this code ACTUALLY does is rate other instances defederation lists based on this hard coded list. Let me explain:
The
site_instance_chooser_view()function in/app/api/alpha/views.pyprovides a JSON representation of the current site's metadata for the instance chooser feature. This feature allows users to browse and compare different Fediverse instances before choosing one to join.Within
site_instance_chooser_view(), thedefed_listvariable is defined as follows (lines 1148‑1151):This query retrieves only four specific domains from the
BannedInstancestable:hexbear.netlemmygrad.mlhilariouschaos.comlemmy.mlThe resulting list is used to populate the
defederationfield in the returned JSON (line 1187):The
defederationfield is part of the site metadata returned by the API endpoint/api/alpha/site/instance_chooser. This endpoint is called by the instance‑chooser UI (/auth/instance_chooser) when a user clicks “More” on an instance card.The template
app/templates/auth/instance_chooser.htmluses thedefederationlist to compute a defederation quality rating. The rating is based on how many of the four watched domains are blocked:This rating is displayed in the instance details modal under the “Defederation” label (line 114 of the template).
The UI also contains commented‑out code (lines 124‑130) that would show individual status indicators for each of the four domains, but this is currently disabled.
This is problematic for a number of reasons, most of all is that this rating that it generates is NOT transparent to the user. This page is used on PieFeds main page when you go to register, it's part of the instance picker. The defederation rating under More is where this shows up. For instance, this means that instances like anarchist.nexus have a "OK" rating but instances like multiverse.soulism.net have a "GOOD" rating.
Anarchist.nexus has an "OK" raiding because they block Lemmygrad.ml (socialist) and hilariouschaos.com (MAGA instance)
multiverse.soulism.net has a "GOOD" rating because they block Lemmygrad.ml (socialist), Hexbear.net (socialist), lemmy.ml (operated by open communists).
So the Defederation rating has an OBVIOUS BIAS that isn't explained to the users at all. Not only is the bias not explained it doesn't even contain all of the FASCIST INSTANCES IN ITS CALCULATION.
https://piefed.social/auth/instance_chooser
The only measurements here seem to be stability.
"These servers are ordered by speed so it may vary depending on time of day, etc"
Click the "more" button and scroll down.
Okay, fair enough. I'd actually argue that the field doesn't really make much sense to new users in the first place without context. "Good" is obviously loaded with bias preference in this context, but "Minimal" doesnt' necessarily convey an negative opinion just based on the word itself. I could ask him to add more instances here (although the fascist instances that I know of here are so minor and obscure that they likely didn't enter his mind - except hilariouschaos) and/or change the wording and add a description so its meaningful.
Also to detach the code so other join.piefed pages can rip it out or isolate their own instances they suggest disfavour towards.
How about not hard code this in the first place. If they are hell bent on this logic then let each instance admin list the instances they want to use?