Spyke
Zootreply
reddthat.com

Damn this should honestly be spread and talked about more. I don't think many people know this is a thing?

130
4amreply
lemmy.zip

Considering PieFed users won’t shut the fuck up about how much better and less politically opinionated it is, yeah we should probably shout this from the rooftops.

Reminds me of Brave browser users a bit

131
pivot_rootreply
lemmy.world

One of PyFed's selling points was that it was easier to work with than Lemmy. It's going to be amusing when that takes a 180 turn and people start complaining.

Python is great for prototyping and iterating on small projects or as glue for modules written in C and C++. What it isn't great at is linearly scaling on a single node. When the day that throwing more powerful hardware at the problem stops being an option, Kubernetes is going to walk through that door and fuck any semblance of simplicity up.

15

I would agree with that sentiment, but seems like peoples' actual experiences are a bit different: https://jeena.net/lemmy-switch-to-piefed

Possibly a testament of how software architecture can be more important than any lower level technical decisions.

22
lemmy.dbzer0.com

I think Lemmy has some in-memory data structures that limit the backend to a single node, too. Also postgres is great, but Lemmy really fucked up their database performance somehow.

But yeah large python codebases turn into spaghetti really quickly.

8
orcareply
orcas.enjoying.yachts

but Lemmy really fucked up their database performance somehow.

Can confirm. I spent like 4 hours one day configuring auto vacuum and other shit on my Lemmy DB because it was bloating to hell and eating up resources. Runs much smoother now but it was a massive PITA to get there.

3
Björnreply
swg-empire.de

Old post, but can you share what you did? I'm fighting the same problem.

1

I can’t remember exactly what I did but enabling autovacuum was one of the big ones. I’ll try to provide some info below:

Walks through VACUUM and autovacuum - https://oneuptime.com/blog/post/2026-01-25-use-vacuum-analyze-postgresql/view

How to see if autovacuum is already enabled (these are commands you’d run while in sql):

SHOW autovacuum;

View current settings:

SELECT name, setting FROM pg_settings WHERE name LIKE '%autovacuum%';

Monitor which tables need attention:

SELECT schemaname, relname, n_dead_tup, n_live_tup 
FROM pg_stat_user_tables 
WHERE n_dead_tup > 1000 
ORDER BY n_dead_tup DESC;

I wish I had documented it at the time because info about this for Lemmy specifically is pretty lacking. I was in kind of a dire situation though because my disk space had filled up quickly and my system was struggling. A lot of what I did was basic PostgreSQL maintenance stuff, so you should be able to find some general guides for that.

EDIT: I had Claude help me corral some optimization stuff into a PDF. This is along the lines of what I did to get my db back under control. Make sure to always backup first! https://u.orca.casa/1771250081

2

large python codebases turn into spaghetti really quickly

I don't think the language is the problem here. Seeing as Python isn't somehow severely limited in its expressiveness or organization. Static typing isn't a cure against spaghetti.

However, code in that particular file doesn't inspire any faith in the authors' organizing skill.

2

People are already complaining (see: this very thread:-), but also note that people are complaining about Lemmy too - e.g. slrpnk.net about to switch to PieFed, due to frustrations with long-standing bugs.

People always complain, the important thing is to move forward with something that is going to work. Personally I think Lemmy will not, though I would be happy to be proven wrong, and I am pinning all hopes on PieFed - worst case there is that they both succeed, which would be fantastic 😍.

Yes I hear what you are saying about resources and complexity (learning Rust is somewhat complicated as well though...), but right now the subscriber counts across the entire Threadiverse are dropping not rising, so that will be a wonderful problem to have to solve one day, if we ever get to that point.

1

"Ours is not biased and less opinionated, because it agrees with my bias and opinions."

This is every single Lemmy v PieFed argument. No matter what platform you host or use, its just this on the grand scale of things.

11

users won’t shut the fuck up about how much better it is

Absolutely! Oh wait, we aren't talking about Rust debate bros here?

-2

They also put "memes" and "enoughmuskspam."

The latter I guess could be used to stop Musk spam (since the community is literally nothing but Elon Musk news) but not allowing the word "memes" in a community name?

Utterly stupid.

But they do appear to be fans of Carlin based on the first 7 banned words.

There's no racial slurs in there either. I might have assumed this was merely an example an operator is meant to edit themselves, but these are some weird ass choices for even that.

58

Let's not make those assumptions based on an old filter list

1

I don't think that's the reason. The code mentions it filtering out "low-effort" communities so the devs probably didn't like seeing so many posts from it on their frontpage.

# sort out the 'seven things you can't say on tv' names (cursewords), plus some
# "low effort" communities
4

You're wrong. Rimu has never expressed any objection to pro-LGBT sentiment and has even done interviews in regards to that. I have seen him ban people for anti-LGBT bigotry. This particular ruleset looks like a copy and paste from the retention rules that piefed.social currently has that doesn't save data from communities after 6 months. (RImu doesn't have a high opinion of meme-themed content and believes it to be a drain on server storage).

I agree all of it should be optional, and I believe it currently is anyway as instance owners can revert this.

3

Because it's an enormous flood of content that overwhelms trying to browse All otherwise, especially by New. Or at least that was the case a couple years ago, maybe it's changed now that the community has split up into 3 parts.

It was particularly a concern back before Lemmy had implemented the Scaled sort function and changed how Hot worked. Perhaps PieFed, back upon tinkering with its own sort functions, similarly tried to make that process easier to see content other than from 196 and memes?

1

Duplication of constants is a cherry on that whole cake of stream-of-consciousness code style.

3
lemmy.ca

This isn't the first time I've encountered an extremely pointed line of code in piefed meant to fuck over one person specifically. It's very concerning now that it's a pattern.

54
ayyyreply
sh.itjust.works

Ok thats based af. It’s not about stopping one idiot, it’s about saving thousands of people from being subjected to discussion-derailing derailing drivel.

-1

I do, from the piefed repository, but it's buried in my history. I really want to remember, I'll reply again if I do.

2
Vespairreply
lemmy.zip

I'm not okay with them filtering profanity, who the fuck are they to define what is or is not acceptable?

43

I probably agree, but frankly I find neither acceptable

17
bufalo1973reply
piefed.social

The stupid thing is that all those words are only in English. No "merda", "scheisse", "joder", "merde", ...

3

I imagine that was true for Lemmy's similar functions in the past (referred to in this thread)

1
OpenStarsreply
piefed.social

You can contribute to the codebase by offering to add them in...

-1
ayyyreply
sh.itjust.works

They aren’t complaining that there aren’t enough filters. They’re pointing out just how stupid and futile filtering a few words is in the first place.

2
OpenStarsreply
piefed.social

There may also be a misunderstanding, or perhaps this argument is only one of those that only looks smart from far away, but either way to clarify: this list isn't truly a filter list, it's a listing of community NAMES that will get filtered out.

For one thing, (sadly) there aren't so many Latin-speaking instances in the Threadiverse?

And I tried to search for community names for some of the others, but did not find any? e.g. https://feddit.org/search?q=scheisse&type=Communities&listingType=All, https://feddit.org/search?q=joder&type=Communities&listingType=All&page=1&sort=TopAll, etc.

So is it really "stupid" then, to block communities that don't even exist? ich_el would be an example of one that would actually exist, although I don't think that one needs to be filtered out. I was saying that if there is really truly one that should be filtered, then it could be added to the list?

If someone wanted a less ah... "argumentative" subset of the Threadiverse, then I could see how filtering out "fuck_cars" would achieve that end (not that I agree with having such a listing, or in the exact contents of this one, but I do disagree that it is "stupid" as in ineffectual to have made the list in this way - it is achieving some kind of a purpose, and with people's help that purpose could itself be changed, or if kept intact then the list enhanced to function even better than it has been doing so far).

0

But the "tits" filter can apply to "partits" (Catalan, means parties in English) or "partitsocialista". And now there are no communities with those names... but what if someone in the future wants to create them?

1

thanks for pointing to that issue. i dont know how piefed devs reacted to this. so i will give them the benefit of the doubt: it could very well be a quick and dirty solution, never meant to last long.

as the lemmy devs showed, it does not have to be like this at all. but i haven't seen that much oppinionsted and defensive actions from the piefed devs.

4
qazreply
lemmy.world

I think a regex to filter out common slurs isn't really the same

The regex:

(fag(g|got|tard)?\b|cock\s?sucker(s|ing)?|ni((g{2,}|q)+|[gq]{2,})[e3r]+(s|z)?|mudslime?s?|kikes?|\bspi(c|k)s?\b|\bchinks?|gooks?|bitch(es|ing|y)?|whor(es?|ing)|\btr(a|@)nn?(y|ies?)|\b(b|re|r)tard(ed)?s?)

Link to code

3

fagtard

That can't be common enough to be included lmao. Also censoring "bitching" is kind hard, now I can't tell everyone about my bitching ride

6
feddit.online

So if I started a piefed instance and wanted to host a 196 community I'd have to edit the list, but would every single other instance also have to or no?

13

Yes, every other instance would also refuse to federate unless they also changed their code. Because the blocklist is baked right into the code, so anyone just pulling and running it as-is will fail to federate.

21

It's odd that communities with those names load if they're hosted on Lemmy, tho. Or maybe I've just only been on Piefed Instances that undid the list.

7

Or you could pull it in manually. It's just that the automated startup would not do it for you, for communities with these keywords. Nothing prevents anyone from pulling in the communities manually though.

2
JackbyDevreply
programming.dev

Isn't there a Java based Lemmy compatible thing too? I forgot what it was called but I think there is one.

4

Duke, the Java mascot, says "Thanks!"

Edit: this image looks weird on a pure black background lol. Amogus.

2
0_o7reply
lemmy.dbzer0.com

usauthoritarianism

People were rallying on piefed on resentment from tankie Lemmy devs. But this explains where the piefed devs bias is.

Seems like the intentions are to limit the reach of content critical of a certain country. Hmm...

4
plythreply
feddit.org

kind of content they dislike

Or they like it and e.g. want just one strong 196 community.

3
plythreply
feddit.org

That could be the point. No such community on a new instance can be found by others so the original community receives all the attention.

1
qazreply
lemmy.world

That doesn't make any sense because it doesn't block the new 196 community because it uses letters

3
plythreply
feddit.org

What do you mean? 196 is part of the list in degenerate_neutron_matter's comment so a new 196 channel would be blocked.

Do you mean that the official 196 channel uses words and if somebody copies that it is not blocked? True but who would do that?

1

This isn't a "block" as such. You can still view meme and 196 content and 196 from piefed.social. As another user said:

"The code that OP has linked to is part of a convenience function for admins to add content to their new instances. It can query individual remote instances (e.g. lemmy.world), or it can query lemmyverse.net, and fetch communities that look to be popular and active.

It’s completely unrelated to routine federation, and doesn’t prevent anyone subscribing to communities that may have those words in their names."

2

To add to the other responses, it was the very first community I blocked upon moving from Kbin.social (when it died) to Lemmy, since while the content is not so much "bad" it is just so... MUCH.

And I've heard the same story from so many others. It makes browsing All - particularly by New - very difficult by overwhelming the space.

As already mentioned, it moves around a lot - there are at least three communities here now, and also on Reddit before there was a r/196 there was a r/195, so it moving and splitting and continuing on is kinda its thing - sorta exactly like the Fediverse itself!:-)

0
DreamButtreply
lemmy.world

They're pretty explicit about what they don't like when you sign up. That's why I joined it

-3
OpenStarsreply
piefed.social

Each instance should be free to set their own rules.

They... are though? Maybe I am dumb, but I do not understand why each instance setting its own rules would apply to all other instances? Say if you made your own instance, you would set your own rules, but the other instances are free to set theirs as well? Like if you want to allow communities such as "4chan", then go ahead, but if others want to block that, then why shouldn't they be allowed to?

Definitely agree that this issue should be made much more transparent and easier to change, like not hard-coding it.

-5
OpenStarsreply
piefed.social

As mentioned elsewhere, it's just a convenience function - anytime after starting up the instance, the admins can always pull in those communities manually. Or change this part of the code beforehand. So it's not a hard-coded "block", just slightly less convenient for it to not automatically pull in those communities during the one-time initial setup for an instance.

But anyway you are right that this should not be a hard-coded list.

Edit: it's also worth mentioning that the way that Lemmy does this is via a direct pull of communities from Lemmy.ml. What I am reacting to here is not so much to say that PieFed's method is perfect, but that both suffer from flaws, and that PieFed's is relatively benign, at least in comparison to Lemmy's. Lemmy uses an extremely authoritarian approach whereby Lemmy.ml is the sole and invariant arbiter of what communities are allowed vs. not during that initial one-time setup, and there is no way to change that, whereas PieFed uses a list that the instance admin is capable of changing. On the spectrum of authoritarian control, PieFed's level here is like a 1 out of 100, whereas Lemmy's is... well, it's still not much in this exact situation, but it's definitely way more. Sorry for being confusing initially in the way I worded that.

1

I presume that it was a simple misunderstanding, but in any case it has lead to some... interesting, and ultimately quite fruitful discussion, so there's that to have enjoyed:-).

And it really shouldn't have been hard-coded like that. A minor issue imho, and one not really a problem until now, but at least it's already now well on its way to being resolved. In contrast, Lemmy's own hard-coding of Lemmy.ml into the equivalent function I doubt will ever be changed, certainly not without strong reluctance (and likely along with public outcry, as before with the filter list).

One point: I would argue that opt-in vs. -out doesn't fully apply here, as this automated convenience function will only ever be run once upon initial setup for an instance, after which the instance admin can add any communities they desire, manually (I'm not sure why OP phrased it then as needing to be "debugged", that seems an odd term for such routine instance maintenance tasks that do not need any modification of any code at all, anywhere?). In short, it's not actually a "block" at all, as the wording in the meme seems to me to strongly imply by using "federate"). The phrase "opt-out" usually referrs to something harsh but that isn't all the way fully forced, but this issue of not pulling in (initially) of communities is so extremely gentle than on the spectrum it is adjacent to "opt-in" already? Still, ultimately you are probably correct, I am just not sure of the wording there, so wanted to help by offering those additional nuances.

0

Hardcoded blacklists are never a good idea.

That shit belongs in a config file.

62
ben
lemmy.zip

Jesus that's a lot of spaghetti code, and why are they hardcoding a bunch of terms? Is this just for a public facing site, or does every deployed instance effectively filter these out?

61
qazreply
lemmy.world

It's hardcoded in the PieFed source code, so every instance does this by default unless you patch it like I did.

The combined swearwords + excluded communities list seems to appear at least 3 times in the codebase (not referenced, copied verbatim).

Let's just say that it wouldn't pass my code review if I saw this at work

EDIT: It has been removed from 2/3 places in the codebase.

78
qazreply
lemmy.world

I think the communities were added manually

4

You just try to go to the community from that instance, and it'll say "community not found" and you just click it. Then someone local needs to subscribe to it for new content from there to federate.

3

You go to https://INSTANCE_DOMAIN/c/COMMUNITY_NAME@COMMUNITY_DOMAIN and press Join

2
piefed.social

Yeah. The list should be in the site config. Go ahead and include those as defaults to block, but allow sites to override that.

OP, are you saying that the federation is blocked on the OUTGOING side? Because then that just seems bass ackwards.

12

No, it's incoming. When you first set up an instance you have to kickstart the federation process by adding communities to federate. The linked code excludes those specified communities from that. Once federated, they won't be blocked AFAIK.

9
piefed.ca

What, why 196? Actually why any of these? I get 4chan and greentext sort of(?) but even ignoring the terrible programming practices here, this is really stupid.

Edit: actually almost makes me regret switching to Piefed

56
NotSteve_reply
piefed.ca

Ah, that's good to hear. I'm still sketched out by the hardcoded blacklist of terms though. I'm very much a person against the sort of free speech that hinders other's freedom to live without discrimination but the filter still seems so arbitrary and entirely the response to the dev's own vandettas and that just gives me bad vibes.

On top of that, hardcoding English language terms to block is bad programming on a number of levels. Why isn't it a configurable list? The hardcoded values don't contain any other language variants so you can still have those communities if you speak something other than English (or just add an extra couple characters or anything really)

31
OpenStarsreply
piefed.social

Just to be absolutely clear, there is foundationally no expectation whatsoever that either PieFed or Lemmy are trying to make a "free speech" platform. Truth Social and 4chan seem to already have that covered...

Rather, the owner of the instance (aka the one who pays for the machine and in all likelihood has to register it with their irl credentials within its country of residence, for legality purposes e.g. CSAM) gets to decide all of the rules that govern it.

If someone wants to use the Threadiverse to e.g. spread CSAM, they are welcome to make a fork but that's not what either PieFed or Lemmy (or Mbin, Mastodon, nodeBB, etc.) are about.

Anyone is free to say whatever they want, but none of this software is not bound to have to offer a platform to send those thoughts out to everyone, particularly those who do not want it.

1
NotSteve_reply
piefed.ca

I think you're misunderstanding my comment. I'm all for built in safeguards but it being a rather arbitrary hardcoded list is silly. Even keeping the existing arbitrary list would be fine to me if it was pulled from the database instead of being a copy/pasted list in the actual code

4

On that we agree. I just wanted to make absolutely certain that it is clear to everyone that "free speech" is not something that the PieFed devs are prioritizing in any way.

So all that remains is the form that the list is implemented in, which as people are saying is already in the process of being changed.

Btw, the Lemmy equivalent is likewise hard-coded (this is a different issue than the blocklist one mentioned that happened years in the past):

latest case in point: the next version will hardcode lemmy.ml as a source to pre-fetch popular communities

it uses lemmy.ml as the source of truth for that, and there is no way to change that

-source

I think the only reason this issue is getting any attention at all right now is that the PieFed devs have made it so ridiculously easy to install a new instance that people are starting to do it even without glancing at the code (which for Lemmy can't be done, see e.g. this story). Not many instances (in either platform) are initiated often, and usually when it is done it is by self-hosters, so this is a growing pain caused by having expanded the userbase beyond that?

So, it's really a great problem to have to have imho, and gives me hope for the future of the Threadiverse. Especially to see the devs begin fixing it within mere minutes of this post, rather than telling the userbase to piss off and make their own fork instead (Nutomic), and only reluctantly change it, or for other issues refuse to do so even many YEARS after asking. The differences between having devs who are actually responsive vs. not is enormous!!:-)

0

It has been removed from 2/3 places in the codebase. I'm guessing they missed the other list so I've opened an issue and PR on Codeberg.

4
feddit.online

Maybe they've had a bad experience with the 196 moderators, as many have. I hope that's all it is.

1

The mods are awful. But basically all mods are awful. You have to have brain damage to want to be a moderator of an online community.

So it is a bit of a catch 22

15

Insane toxic trolls are insane toxic trolls regardless of how virtuous you might think their "cause" is.

-2

Never meet your heroes

Never read the code of a project you respect

That is some nasty code.

39
piefed.social

If you dont like it, fork it. Stop bothering us about it

-devs of PieFed

Oh wait no, that's the devs of Lemmy when asked the same request. (edit: 'asking' to 'asked')

Hopefully Rimu will be more accommodating when you ask him? (codeberg issue creation prefered)

It might be time to move this away from a hard-coded list now, if the expectations that someone installing an instance is going to read through the code is lower now than previously.

32
Mr. Satanreply
lemmy.zip

What a shit show of a discussion on that issue… Not only is hard coding bad design in general1, but doing so for constantly evolving and highly context dependent word list is even worse. Reading the discussion I see their decision as extremely short sighted and arrogant if not just stupid.


Footnotes

  1. Having hard coded configurations has it's uses, but it's a strong red flag that might complicate maintenance down the road, and should be used with caution.

10

Edit: I seem to have misread the comment I was replying to here, in criticizing PieFed's hard-coding rather than Lemmy's hard-coding.

Yes, likely very bad design on their part (if it is hard-coded not once but 3 times and if all 3 of those represent the same use cases), though until a few months ago not many PieFed instances existed except to test the evolving codebase, so this is all VERY new.

See also this discussion of so many frustrating and LONG-STANDING bugs in Lemmy that the instance admins of slrpnk.net will switch to PieFed that (reportedly) is less buggy overall.

All of the Threadiverse software is still new-ish and under active development - PieFed more than most, and what blows me away is how it is doing so even without a NLNet grant, just entirely freely developed by real people making actual contributions in return for basically nothing at all. Somehow this software being developed in a Western nation is out socialism-ing the literal communists, who btw also make it impossible to donate directly to the development of code without also supporting the heavily politicized lemmy.ml instance (which people have noticed a LOT of time is spent on moderating... time that could have been spent on code development, e.g. in fixing those long-standing bugs?).

TLDR: the entire Threadiverse is new, and PieFed has "potential". At least as much if not significantly more so than Lemmy. It will be good to see both of them improved in the future.

3
N00byKingreply
lemmy.world

I mean, if I read the thread correctly they did end up making it optional...

7

Eventually, but only reluctantly and after first telling the userbase to simply piss off and stop asking.

In contrast, the PieFed devs seem to have edited their codebase within mere minutes of this discussion having started to have already started changing things in highly positive directions, even prior to being officially asked on codeberg.

The contrast there is eye-opening, and I hope indicative of what the future holds for the Threadiverse. There are far too many LONG-STANDING issues remaining in Lemmy that only continue to get ignored as the years drag on... Lemmy is their codebase, you exist at their leisure, whereas PieFed is ours, able to be modified in ways that we collectively want it to. Obviously I mean on the spectrum, aka "PieFed has highly responsive devs", who not only receive but even outright ask for advice on things like prioritization (see e.g. last year's ![email protected], although nowadays they are doing that via codeberg issue tickets).

-1

As we know from TikTok having a filter for those totally prevents people from using slurs.

But I think the bad practise here is hardcoding, not having it as a feature in general.

1
qazreply
lemmy.world

Wasn't that only blocking slurs and not specific communities?

1
Skavaureply
piefed.social

These aren't specific community *blocks (they're not blocks as such). They're keywords. It jus so happens that "196" was a community as well, although that has now been removed.

2

Yes they're keywords, but they also happen to be the exact names of threadiverse 8 communities, so that's pretty specific to me.

1

Wait until you see what is coming up next in Lemmy:

latest case in point: the next version will hardcode lemmy.ml as a source to pre-fetch popular communities

it uses lemmy.ml as the source of truth for that, and there is no way to change that

(Edit: I forgot to add the link to source)

At least PieFed allows you to edit the list. I still agree that it should not have been hard-coded, but this is not a case where Lemmy is a shining beacon of all goodness and PieFed is pure shit - both have their flaws, and Lemmy's is MAJOR (and unchangeable) whereas by comparison, PieFed's is fairly minor as these things go.

Plus haven't the PieFed devs already changed the code in response to this very thread? (In 2 of the 3 places, but I haven't taken time to actually look directly myself, and the 3rd place should also be changed too, if it hasn't been already, to remove the list from being hard-coded.) The PieFed devs, instead of telling the userbase to piss off and only reluctantly change things after a large outcry, are (especially by comparison, but also very much objectively too?) VERY responsive to feedback? I bet you will even be thanked for bringing this to their attention... though in the future you could also try submitting a codeberg ticket:-).

Anyway, you are helping make the installation experience more streamlined and smooth for future users, so (while I have nothing whatsoever to do with the devs), I will say thank you just by myself!:-)

-1
discuss.tchncs.de

Dear God, that code! Why is it all in one file? The more I read it the worse it becomes!

28
lemmy.world

Holy crud, you were not kidding. I got through a bit and was just like, “nah I ain’t reading this shit”.

Very glad I never got deeper into PieFed. Great post.

15
lemmy.world

The code that OP has linked to is part of a convenience function for admins to add content to their new instances. It can query individual remote instances (e.g. lemmy.world), or it can query lemmyverse.net, and fetch communities that look to be popular and active.

It's completely unrelated to routine federation, and doesn't prevent anyone subscribing to communities that may have those words in their names.

The admin function could potentially be used to fetch hundreds of communities. It runs as a background process, so you don't know what they were until after they'd been followed. The "bad words" list acts as a safeguard against bringing in things you might not want or expect. One reason is that you may want to curate the first impression you give new visitors, as there as some that will be put off by the "fuck this" and "shitpost that" reddit-isms. Another is that you don't typically want communities that are disproportionately popular than others (e.g. if you bring in the default 25 communities, and one of is 196, then it completely dominate your front page).

If there's a particular community that you are interested in (e.g. because you moderate it), using this function isn't an efficient way to add it. In addition to the "bad words" filters, it will also exclude communities that are NSFW, or below thresholds for popularity and activity. Rather than fetching a bunch of communities at the same time, and hoping that the one you want is included, it's better to just add it manually (via a ! link or by using the "Add remote community" link) in much the same way as you would on any other platform.

27

It’s completely unrelated to routine federation, and doesn’t prevent anyone subscribing to communities that may have those words in their names.

99% of commentors here seem to have precluded this as even being remotely a possibility. Sadly, much of what happened on Reddit seems to have followed us here. I suppose it's just basic human nature.

4

All of this would perhaps be already known to OP and other people, if the code had comments. This is where the adage comes in that the comments should explain why the code does what it does.

As the code currently is, anyone trying to fiddle with it would have no idea why large swathes of it are there. And it generally could use more than a bit of organizing.

4

Yeah.... I'm unsure how they thought this was a platform-wide ban when it includes terms like "meme" and "greentext". I don't even need to look at any more than this one line of code to intuit this does something more specific than OP thought.

3

Not without a lot of manual work or noticeably resetting a user's password. Distributing these tools as a feature is asking for abuse.

1

this is also a capability in a nextcloud app so an admin can more easily replicate a users bug report and see for themselves what's going wrong. that said i struggle to see how you could implement that in such a way as to avoid abuse, but isn't that true of any admin powers? this isn't encrypted cloud storage, it's a public forum. i'd imagine the process is at the very least heavily logged so other admins and maybe even federates to other instance admins or even mods too so impersonation actions are clearly visible as such. but i don't know enough about code to read thru and see if it does in either app.

10

Well, like the Lemmy devs, I guess the PieFed devs have decided to plant a flag instead of making a neutral platform for federated communication.

19

One could argue the design choices themselves are hardcoded opinions, as it would be possible to imagine for example a more democratic way to moderate.

3
lemmy.ca

You cannot say "þ" (that's the thorn character on my display) on piefed. Not due to a bug or an oversight, they went out of their way to make it like that. Perhaps confusingly, this is a political thing to do on the threadiverse.

2
qazreply
lemmy.world

Is that specifically added for that person that uses þ all the time?

2

Yes. Not really clear if it's intended as a joke or malice. When the dev was called on it, he was just like, well you can read the source code so it's okay. Which makes me think he knew he was going out of his way to be a dick.

2
Deathray5reply
lemmynsfw.com

How would you write it, I'm new to python but it reads like they are just trying to make the code not go off the side of the screen?

2

You do multiline strings with 3 quotes, e.g.:

some_var = “string”
s = f"""
This is a very very very very very very very very very
very very very very very very long {some_var}.
"""

If you don’t want line breaks, you can also do

some_var = “string”
s = (
  f”This is a very very very very very very very very very”
  # note the leading space here
  f” very very very very very very long {some_var}.”
)

But doing it the way shown will render the string something like:

This is a very very very very very very very very very      very very very very very very long {some_var}.

That big block of white space in the middle is not desired.

2
lemmy.world

That's interesting. I understand not wanting to fed some of those communities.

13
qazreply
lemmy.world

I definitely understand wanting to filter out obscenities, but I think the filtered communities should be a seperate configurable list.

19

Now you mention it, I haven't seen your community either.

EDIT: It was also filtered out, I had to add it manually

4
runner_greply
piefed.blahaj.zone

the cursewords are specifically referencing George Carlins 7 words you can't say on air.

7
Vespairreply
lemmy.zip

And cute as that reference is it's still not justification for or authority to censor language of adult speakers. That's bullshit.

16

Yes, it starts with swear words, the names of some communities are also thrown in.

8
piefed.zip

So many people are criticizing the code quality. This means the project will gain so many new contributors in 2026!!

And the community-based Fediverse will see so many new forks and reimplementations!

4