Piefed admin settings that allow to enable or disable content filters (they are disabled by default, see body for details)
-
Every single instance admin will know about it too. The reputation/attitude system did not just get quietly added a week ago.
Is there any indication to users interacting with those instances that their content is being limited by metrics that may or may not be visible to them, and by rules that may or may not be documented anywhere but the piefed codebase?
These are wildly hostile features to anyone not using piefed, and it's feeling a bit like that's the point.
-
Is there any indication to users interacting with those instances that their content is being limited by metrics that may or may not be visible to them, and by rules that may or may not be documented anywhere but the piefed codebase?
These are wildly hostile features to anyone not using piefed, and it's feeling a bit like that's the point.
The reputation system doesn't shadowban content. You don't get comments silently autoremoved for having a low reputation. You don't get throttled either.
-
Honestly I don't mind if it would be visible to the users. Like how long would this be secret if it wasn't for the code audit.
I mean, I disagree, but that's my own preference.
Ranking/sorting/filtering systems should always be up-front and user-configurable, and their implementation should be instance-agnostic. Hiding it in the code is definitely the worst part of this, but far from the only problem.
-
Previous threads about these filters were people complaining about them being hardcoded, completely ignoring that they are completely optional and off by default. It would go something like this:
Look at this awful thing PieFed does!
def do_the_thing(): # relatively simple code that does the thing
It completely ignored the context that the
do_the_thingfunction is only called if the admin wants to do the thing.Most of the issues people have brought up have been about why the snippets are even in the code not trying to obscure what the code does.
It completely ignored the context that the do_the_thing function is only called if the admin wants to do the thing
Again it's why is this a thing
-
Simple != few lines of code, nothing incompatible about those two statements
Saying the simple code needs lots of context outside of the code block says it's either not simple or not easy to understand
-
The reputation system doesn't shadowban content. You don't get comments silently autoremoved for having a low reputation. You don't get throttled either.
That's admin and community dependent - an admin or community can take that reputation metric and use it to automate moderation. There is/was an entire community whose whole gimmick was auto-banning users from every instance for activity across the entire federated network. But beyond that, piefed already drops content instance-wide for as little as a single user blocking another.
if parent_comment.author.has_blocked_user(user.id) or parent_comment.author.has_blocked_instance(user.instance_id): log_incoming_ap(id, APLOG_CREATE, APLOG_FAILURE, saved_json, 'Parent comment author blocked replier') return NoneThe codebase is riddled with shit like this.
-
That's admin and community dependent - an admin or community can take that reputation metric and use it to automate moderation. There is/was an entire community whose whole gimmick was auto-banning users from every instance for activity across the entire federated network. But beyond that, piefed already drops content instance-wide for as little as a single user blocking another.
if parent_comment.author.has_blocked_user(user.id) or parent_comment.author.has_blocked_instance(user.instance_id): log_incoming_ap(id, APLOG_CREATE, APLOG_FAILURE, saved_json, 'Parent comment author blocked replier') return NoneThe codebase is riddled with shit like this.
There's no inbuilt system to automation moderating out low reputation accounts to my knowledge. Any instance that would do this would have to be using a third-party tool.
The Piefed system of blocking is more aligned with how most other sites do blocking. Lemmy doesn't prevent blocked users from replying, but Piefed does. So from Piefed, if it's working properly, you shouldn't be able to reply to users who have blocked you. Lemmy doesn't operate like that, so it just throws out replies. It's due to different blocking philosophies.
-
Have you or anyone attempted to ask rimu about this? I don't ever recall any piefed instance owner asking this.
He has already altered or rolled back a ton of functions due to scrutiny.
I'm not collaborating with a developer who has it out for the platform I'm working to improve. If he wants to fix the shit he broke, he can.
-
I'm not collaborating with a developer who has it out for the platform I'm working to improve. If he wants to fix the shit he broke, he can.
Then I don't know what you expect. He does respond to criticism.
-
There's no inbuilt system to automation moderating out low reputation accounts to my knowledge. Any instance that would do this would have to be using a third-party tool.
The Piefed system of blocking is more aligned with how most other sites do blocking. Lemmy doesn't prevent blocked users from replying, but Piefed does. So from Piefed, if it's working properly, you shouldn't be able to reply to users who have blocked you. Lemmy doesn't operate like that, so it just throws out replies. It's due to different blocking philosophies.
The Piefed system of blocking is more aligned with how most other sites do blocking
I don't know any other site that allows blocked users to reply to the blocking user but deletes the reply on the backend server for everyone on it.
But regardless - that decision was made unilaterally by piefed and corrupts the federation of the rest of the network. Huge holes of mis-matched comment threads are being created everywhere because piefed chose to implement a destructive blocking system rather than a front-end filter, or by working with the other implementations on a solution that doesn't misalign data across the network.
I understand that you agree with how piefed restricts certain content - my point is that the way piefed has implemented those features corrupts the integrity of the entire network. They've made it clear that they have no interest in collaborating with the other developers, even if it means creating incompatibilities between the integrations to the point of functional defederation.
"Move fast and break stuff" isn't something anyone should be aspiring to.
-
Is there anyway for users to know which piefed instances have this and the other censorship settings enabled? I was trying to upload an image the other day and kept getting an error and now i realize it was because of the code itself?!
Like why the fuck wouldn't it tell me that image isn't allowed instead of giving me an error
Edit: to be clear, your point is a good one, I am talking below about the discussion going on in the link.
lolz, so much disinformation there though. Like:
What’s sad is that since lemmy.ml is blocked by default, most PieFed users won’t see it.
I think there might be one major instance that chose to do this, and I cannot even recall offhand which one, so obviously it's not THAT major. This is some LLM-level of analysis right there (Lemmygrad.ml and hexbear.net are blocked from many instances, and people often lump lemmy.ml together into a triad, hence lemmy.ml must be automatically blocked as well!).
Funny enough, Lemmy.ml disallows what they consider cuss words, which were even hard-coded, and when asked they told the community to take a hike ("create a fork and stop bothering us about it"), until after a huge outcry they did eventually relent.
Lemmy users be like "why can't we all get along...", yet feel absolutely free to criticize every tiny aspect (including - in fact especially - fictional ones) of PieFed, while ignoring how e.g. lemmy.ml kicks people out of communities they've never even so much as heard of for not praising Russia, China, or North Korea hard enough.
My side always does good and never bad, other side always does bad and never good. Much tribal, so cringe.
-
The Piefed system of blocking is more aligned with how most other sites do blocking
I don't know any other site that allows blocked users to reply to the blocking user but deletes the reply on the backend server for everyone on it.
But regardless - that decision was made unilaterally by piefed and corrupts the federation of the rest of the network. Huge holes of mis-matched comment threads are being created everywhere because piefed chose to implement a destructive blocking system rather than a front-end filter, or by working with the other implementations on a solution that doesn't misalign data across the network.
I understand that you agree with how piefed restricts certain content - my point is that the way piefed has implemented those features corrupts the integrity of the entire network. They've made it clear that they have no interest in collaborating with the other developers, even if it means creating incompatibilities between the integrations to the point of functional defederation.
"Move fast and break stuff" isn't something anyone should be aspiring to.
It doesn't. On Piefed if you are blocked, you should be unable to reply. It is whited out. But Lemmy obviously doesn't work like that so incoming replies from users who are blocked, coming from Lemmy, just have it automatically thrown out.
Did Lemmy take a democratic vote about how they wanted blocking to be handled? Some users prefer someone they block being unable to reply to them. I have even seem this expressed on Hexbear.
What do you mean "made clear"? Has Piefed refused help or support from other developers?
-
Saying the simple code needs lots of context outside of the code block says it's either not simple or not easy to understand
« The problem with grabbing small snippets of code is a lot of context is lost.» does not mean that a lot of additional code is required to understand the context, additionally, simple code may require you to read a bit of code to understand it.
Simplicity does not mean small scale, nor that it must be understood at a glance.
Rich Hickey got a great presentation where he discuss simplicity vs complexity. It's worth a watch if you want to better understand the concepts.
-
It's as if someone saw a federated social media codebase that enabled the free movement of users and expression online and though, "someone should fix that".
It isnt that the codebase 'forces' moderation decisions - it's that it's undoing the work done in the lemmy codebase to flatten moderation across instances and make them transparent, and introducing arbitrary metrics that can be used to limit the visibility of expression not just on the local instance but across many
You're free to use whatever software on your server you like, but IMO these 'filters' are petty, low-effort workarounds to features in the lemmy codebase that are what make it truely democraticand decentralized, and they degrade the health of the entire federated network by extension.
Okay so you have some good points, especially towards the beginning, but just so we are on the same page: are you aware that moderation reports do not federate? Or rather, that they do in PieFed but not in Lemmy. Things are rarely so black and white, good and evil, healthy or not. (I forget, will Lemmy 1.0 add this capability? Anyway PieFed already has it.)
introducing arbitrary metrics that can be used to limit the visibility of expression
Investigate just a tiny bit into the moderation practices going on at lemmy.ml.
not just on the local instance but across many
That one is harder to investigate but there too - Lemmy devs (who also are the same ones moderating lemmy.ml, and yes monetary funds donated towards "Lemmy development" absolutely go to that, rather than code changes, with no way to opt out of that, unless you donate to Nutomic directly, which brings up... shall we say other issues relating to limitations on free expressions, particularly for trans people) in the last year added a hard-coded instance name that can provide a list of which communities it wanted to suggest to new instances as being popular, essentially giving that instance veto power. ONE instance, controlling all new instances, unless the admin does additional work to discover those shadow-banned rejections and add them manually.
Take one guess which instance was chosen to have that veto power? Yeah, lemmy.ml, surprise. Tbf, this has since been walked back, and while the instance names are still hard-coded, the new instance admin now has multiple options that they can select from (so the selection of any particular one of those is not, anymore). I am not sure how transparently this is presented to them.
Things get better with time and even more with attention. The PieFed devs are extremely receptive to feedback. The Lemmy devs... well, they are at least somewhat receptive - tbf Rust is a difficult language and that seems to constrain how much they are willing to do in any given timeframe (unless there is some other reason that requests go for years and years and years without being done?). Lemmy is just older, and also it receives funding (except again, it is exceedingly difficult to ensure that such funding actually goes towards code development), so then in that light, PieFed's development is SUPREMELY impressive. Yes more work will need to be done with it still.
Let's get busy and make the Threadiverse healthier - all of us, together!?:-)
-
Okay so you have some good points, especially towards the beginning, but just so we are on the same page: are you aware that moderation reports do not federate? Or rather, that they do in PieFed but not in Lemmy. Things are rarely so black and white, good and evil, healthy or not. (I forget, will Lemmy 1.0 add this capability? Anyway PieFed already has it.)
introducing arbitrary metrics that can be used to limit the visibility of expression
Investigate just a tiny bit into the moderation practices going on at lemmy.ml.
not just on the local instance but across many
That one is harder to investigate but there too - Lemmy devs (who also are the same ones moderating lemmy.ml, and yes monetary funds donated towards "Lemmy development" absolutely go to that, rather than code changes, with no way to opt out of that, unless you donate to Nutomic directly, which brings up... shall we say other issues relating to limitations on free expressions, particularly for trans people) in the last year added a hard-coded instance name that can provide a list of which communities it wanted to suggest to new instances as being popular, essentially giving that instance veto power. ONE instance, controlling all new instances, unless the admin does additional work to discover those shadow-banned rejections and add them manually.
Take one guess which instance was chosen to have that veto power? Yeah, lemmy.ml, surprise. Tbf, this has since been walked back, and while the instance names are still hard-coded, the new instance admin now has multiple options that they can select from (so the selection of any particular one of those is not, anymore). I am not sure how transparently this is presented to them.
Things get better with time and even more with attention. The PieFed devs are extremely receptive to feedback. The Lemmy devs... well, they are at least somewhat receptive - tbf Rust is a difficult language and that seems to constrain how much they are willing to do in any given timeframe (unless there is some other reason that requests go for years and years and years without being done?). Lemmy is just older, and also it receives funding (except again, it is exceedingly difficult to ensure that such funding actually goes towards code development), so then in that light, PieFed's development is SUPREMELY impressive. Yes more work will need to be done with it still.
Let's get busy and make the Threadiverse healthier - all of us, together!?:-)
Yea, see this is what I mean by 'petty vindictive development'.
None of this speaks well of the project and risks undermining the entire federated network.
-
It doesn't. On Piefed if you are blocked, you should be unable to reply. It is whited out. But Lemmy obviously doesn't work like that so incoming replies from users who are blocked, coming from Lemmy, just have it automatically thrown out.
Did Lemmy take a democratic vote about how they wanted blocking to be handled? Some users prefer someone they block being unable to reply to them. I have even seem this expressed on Hexbear.
What do you mean "made clear"? Has Piefed refused help or support from other developers?
It doesn’t. On Piefed [...] But Lemmy obviously doesn’t work like that.
Yes, that's exactly what i'm pointing to. Rather than implementing this in a way that's non-destructive and transparent, they've created an asymmetry by dropping comments entirely. They could render comments based on block-checks and not create this problem, but instead they chose to say 'fuck the lemmy instances' and create hundreds of holes in the federated activity out of seemingly nothing but spite.
What do you mean “made clear”? Has Piefed refused help or support from other developers?
Not "other developers" generally, "the other developers". I'm speaking specifically of the already existing lemmy codebase. Piefed was created as an alternative to lemmy - at least in part - because of disagreements over the developer's political views. It wasn't because lemmy was poorly written, it was because a couple of developers decided they wanted to fork the project into their own that they could manage independently from lemmy.
-
Edit: to be clear, your point is a good one, I am talking below about the discussion going on in the link.
lolz, so much disinformation there though. Like:
What’s sad is that since lemmy.ml is blocked by default, most PieFed users won’t see it.
I think there might be one major instance that chose to do this, and I cannot even recall offhand which one, so obviously it's not THAT major. This is some LLM-level of analysis right there (Lemmygrad.ml and hexbear.net are blocked from many instances, and people often lump lemmy.ml together into a triad, hence lemmy.ml must be automatically blocked as well!).
Funny enough, Lemmy.ml disallows what they consider cuss words, which were even hard-coded, and when asked they told the community to take a hike ("create a fork and stop bothering us about it"), until after a huge outcry they did eventually relent.
Lemmy users be like "why can't we all get along...", yet feel absolutely free to criticize every tiny aspect (including - in fact especially - fictional ones) of PieFed, while ignoring how e.g. lemmy.ml kicks people out of communities they've never even so much as heard of for not praising Russia, China, or North Korea hard enough.
My side always does good and never bad, other side always does bad and never good. Much tribal, so cringe.
This is some LLM-level of analysis right there (Lemmygrad.ml and hexbear.net are blocked from many instances, and people often lump lemmy.ml together into a triad, hence lemmy.ml must be automatically blocked as well!).
I'm the author of the comment you quoted, and even though you didn't reply to me, I'd like to say that I assumed so because of this.
Edit: I was wrong about this, here is the default defederation list. For those who interested in what the linked part does, see https://lemmy.ml/post/42415919/23664761.
Lemmy users be like “why can’t we all get along…”, yet feel absolutely free to criticize every tiny aspect
I disagree with the previous commenter attitude. But personally I don't think it's bad to discuss things we don't like if the discussion is healthy.
ignoring how e.g. lemmy.ml kicks people out of communities
Who is ignoring it? I think it was widely discussed on the Fediverse.
-
It doesn’t. On Piefed [...] But Lemmy obviously doesn’t work like that.
Yes, that's exactly what i'm pointing to. Rather than implementing this in a way that's non-destructive and transparent, they've created an asymmetry by dropping comments entirely. They could render comments based on block-checks and not create this problem, but instead they chose to say 'fuck the lemmy instances' and create hundreds of holes in the federated activity out of seemingly nothing but spite.
What do you mean “made clear”? Has Piefed refused help or support from other developers?
Not "other developers" generally, "the other developers". I'm speaking specifically of the already existing lemmy codebase. Piefed was created as an alternative to lemmy - at least in part - because of disagreements over the developer's political views. It wasn't because lemmy was poorly written, it was because a couple of developers decided they wanted to fork the project into their own that they could manage independently from lemmy.
How could Piefed make this disparity of blocking philosophy mesh with Lemmys here? If Rimu thinks that a block is a block, and that users who are blocked should not be able to go on replying to the user who blocked them, then I don't see why he would carry comments just because they come from Lemmy.
Correct. But even if there was no ideological dispute here (he also disliked the development cycle and choices - I don't want to make too many assumptions here), rimu may still have made his own reddit clone or someone else may have - which would handle things very differently.
-
How could Piefed make this disparity of blocking philosophy mesh with Lemmys here? If Rimu thinks that a block is a block, and that users who are blocked should not be able to go on replying to the user who blocked them, then I don't see why he would carry comments just because they come from Lemmy.
Correct. But even if there was no ideological dispute here (he also disliked the development cycle and choices - I don't want to make too many assumptions here), rimu may still have made his own reddit clone or someone else may have - which would handle things very differently.
How could Piefed make this disparity of blocking philosophy mesh with Lemmys here?
Without forcing every server to adopt the same blocking system universally? It can't. What it's doing now is functionally no different than if they hid replies on the user front end for users blocking others outside the home instance, except instead of doing this non-destructively (and preserving data pairety across instances), they've decided to blow huge holes in the federation service that are no longer mirrored on the other instances.
If the piefed method of handling blocking is to make it impossible for all users in every instance incapable of replying to a user who has blocked them, then every server would need to adopt the same method universally. Piefed has every right to hide content from their users that their users have chosen to block, but doing so by rejecting that content for the whole server while the rest of the network carries on ends up creating shadow forums on every instance.
rimu may still have made his own reddit clone or someone else may have - which would handle things very differently
That would be preferable to the 'embrace, extend, extinguish' path that they are currently on.
-
How could Piefed make this disparity of blocking philosophy mesh with Lemmys here?
Without forcing every server to adopt the same blocking system universally? It can't. What it's doing now is functionally no different than if they hid replies on the user front end for users blocking others outside the home instance, except instead of doing this non-destructively (and preserving data pairety across instances), they've decided to blow huge holes in the federation service that are no longer mirrored on the other instances.
If the piefed method of handling blocking is to make it impossible for all users in every instance incapable of replying to a user who has blocked them, then every server would need to adopt the same method universally. Piefed has every right to hide content from their users that their users have chosen to block, but doing so by rejecting that content for the whole server while the rest of the network carries on ends up creating shadow forums on every instance.
rimu may still have made his own reddit clone or someone else may have - which would handle things very differently
That would be preferable to the 'embrace, extend, extinguish' path that they are currently on.
Without forcing every server to adopt the same blocking system universally? It can’t.
Right, so it should be on Piefed to accept Lemmy's blocking system even if Rimu disagrees with it?
If the piefed method of handling blocking is to make it impossible for all users in every instance incapable of replying to a user who has blocked them, then every server would need to adopt the same method universally. Piefed has every right to hide content from their users that their users have chosen to block, but doing so by rejecting that content for the whole server while the rest of the network carries on ends up creating shadow forums on every instance.
This doesn't bother me that much primarily because defederation differences can cause this anyway.
That would be preferable to the ‘embrace, extend, extinguish’ path that they are currently on.
If a hypothetical lemmy-alternative existed, regardless of why, it could still cause disruption in all kinds of ways if there's a fundamental design contradiction ethos.