Spyke
lemmy.ml

There are all kinds of fun stuff in the Piefed code. Allow me to dredge up a comment I made recently:

@[email protected] 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:

    def cannot_vote(self):
        if self.is_local():
            return False
        return self.post_count == 0 and self.post_reply_count == 0 and len(
            self.user_name) == 8  # most vote manipulation bots have 8 character user names and never post any content

If a reply is created, from anywhere, that only contains the word "this", the comment is dropped (CW: ableism in the function name):

def reply_is_stupid(body) -> bool:
    lower_body = body.lower().strip()
    if lower_body == 'this' or lower_body == 'this.' or lower_body == 'this!':
        return True
    return False

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 earned aka 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:

            if site.enable_chan_image_filter:
                # Do not allow fascist meme content
                try:
                    if '.avif' in uploaded_file.filename:
                        import pillow_avif  # NOQA
                    image_text = pytesseract.image_to_string(Image.open(BytesIO(uploaded_file.read())).convert('L'))
                except FileNotFoundError:
                    image_text = ''
                except UnidentifiedImageError:
                    image_text = ''

                if 'Anonymous' in image_text and (
                        'No.' in image_text or ' N0' in image_text):  # chan posts usually contain the text 'Anonymous' and ' No.12345'
                    self.image_file.errors.append(
                        "This image is an invalid file type.")  # deliberately misleading error message
                    current_user.reputation -= 1
                    db.session.commit()
                    return False

Yup. If your image contains the word Anonymous, and contains the text No. or N0 it 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 the current_user.reputation -= 1

PieFed also boasts that it has AI generated text detection. Let's see how that also works in practice:

# LLM Detection
        if reply.body and '—' in reply.body and user.created_very_recently():
            # usage of em-dash is highly suspect.
            from app.utils import notify_admin
            # notify admin

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!

        if reply_is_just_link_to_gif_reaction(reply.body) and site.enable_gif_reply_rep_decrease:
            user.reputation -= 1
            raise PostReplyValidationError(_('Gif comment ignored'))

How does it know its just a gif though?

def reply_is_just_link_to_gif_reaction(body) -> bool:
    tmp_body = body.strip()
    if tmp_body.startswith('https://media.tenor.com/') or \
            tmp_body.startswith('https://media1.tenor.com/') or \
            tmp_body.startswith('https://media2.tenor.com/') or \
            tmp_body.startswith('https://media3.tenor.com/') or \
            tmp_body.startswith('https://i.giphy.com/') or \
            tmp_body.startswith('https://i.imgflip.com/') or \
            tmp_body.startswith('https://media1.giphy.com/') or \
            tmp_body.startswith('https://media2.giphy.com/') or \
            tmp_body.startswith('https://media3.giphy.com/') or \
            tmp_body.startswith('https://media4.giphy.com/'):
        return True
    else:
        return False

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:

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 None

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 [email protected] from my account [email protected], replied to it from my other [email protected] 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.

97

Goddamn, I'm glad I didn't bother creating an account there when people were singing it's praises.

36
Karu 🐲reply
lemmy.ml

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.

34

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.

1

"attitude" which is calculated as follows: (upvotes cast - downvotes cast) / (upvotes + downvotes). If your "attitude" is < 0.0 you can't downvote.

The math here is hilarious.

26

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

24

Yeah I'm glad I never signed up there. Actually for a while I did leave Lemmy completely because I thought that piefed was going to take over the Fediverse and make it shitty like Reddit. Still not entirely convinced that won't happen.

2
Skavaureply
piefed.social

PieFed defederates from Hexbear.net, Lemmygrad.ml, and Lemmy.ml out of the box.

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"

-22
lemmy.ml

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.

37
Skavaureply
piefed.social

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.

-18
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.

35
Skavaureply
piefed.social

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.

-13
lemmy.ml

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.py provides 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(), the defed_list variable is defined as follows (lines 1148‑1151):

defed_list = BannedInstances.query.filter(or_(BannedInstances.domain == 'hexbear.net',
                                              BannedInstances.domain == 'lemmygrad.ml',
                                              BannedInstances.domain == 'hilariouschaos.com',
                                              BannedInstances.domain == 'lemmy.ml')).order_by(BannedInstances.domain).all()

This query retrieves only four specific domains from the BannedInstances table:

  1. hexbear.net
  2. lemmygrad.ml
  3. hilariouschaos.com
  4. lemmy.ml

The resulting list is used to populate the defederation field in the returned JSON (line 1187):

'defederation': list(set([instance.domain for instance in defed_list])),

The defederation field 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.html uses the defederation list to compute a defederation quality rating. The rating is based on how many of the four watched domains are blocked:

  • ≥3 blocked → “Good”
  • 2 blocked → “Ok”
  • 1 blocked → “Minimal”
  • <1 blocked → “Negligent”

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.

34

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.

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"

-19

No one was trying to claim that Hexbear and Lemmygrad are Lemmy.ml. This is one of the most embarrassing and pathetic attempts at avoidance by a member of Piefed staff I've ever seen.

The person alleged that all 3 instances were blocked, and the first two absolutely are. But instead of briefly clarifying about the one that isn't while still addressing the two that are defederated by default, you instead chose to double down on the one that wasn't to try and devalidate the argument when you know it is actually in large part true, 2/3 of the instances listed are actually blocked and no one said hexbear and lemmygrad were lemmy.ml.

3

To me the funniest thing about the people who need to thought police people and stand up and fight people on lemmy is that it is completely optional to see any of the content. There are robust features to block anything. If you don't like the memes I post please go to my profile and press the block button, problem solved. Commie memes make you mad? Block this community, there are plenty of other meme comms on lemmy you can look at with people like clown0002 posting. I don't want to see any furry stuff ever so I block that stuff and the entire pawb.social instance - poof - gone! I never seen it again. I also block all the buy euro shit, and sh.itjust.works. Problem solved for me. Why would you want to build image censoring into the platform itself lol. I actually have never even seen a 4chan post here because I don't see anything from the instance with that community on it.

49
Skavaureply
piefed.social

It can be turned off. Not all Piefed instances have it on.

-14
piefed.social

Yeah, I joined Piefed because I appreciated seeing the cross posts all on one page and the ability to tag users. As I notice more comments disappearing, I'm beginning to rethink my main instance.

48

For all the gripes I have with Piefed their devs do have a much better take on how to deal with cross posts by merging them, and also their frontpage sorting algorithm is pretty neat. Wouldn't move there though since the devs don't feel very reliable.

16
ZeroHorareply
lemmy.ml

Never tried piefed so I don't know how the crosspost works but https://phtn.app/ has crossposts too and it's only a frontend for lemmy.

7
lemmy.today

Finally. I tried piefed for all of a few days. It was some kinda highschool level passive aggressive hand-holding circlejerk. The software equivalent of some hot jackass in the lunchroom pointing at a group of kids, saying "We don't talk to them, and you won't either if you wanna hang with us."

44
Skavaureply
piefed.social

Piefed literally sees what lemmy.world or sh.itjust.works else sees on the fediverse.

-14
Wrenreply
lemmy.today

I support the right of every instance on Lemmy to build how they want, transparently. As you can see my main account is on .today and not .world or sh.itjust.works.

But no, not literally. From https://join.piefed.social/features/ - this is the main site for piefed, not just .social:

Authoritarian Inoculation – Feature to reduce the impact of authoritarian propaganda.

I have some real concerns about what's considered authoritarian, considering...

Default Blocks – Lemmygrad, Hexbear, and Nazi instances are blocked out of the box.

A call back to my lunchroom analogy.

Low Reputation Indicator – Identifies consistently downvoted users.

Oof. That's some social credit sounding shit right there.

4chan Filter – Flags content from 4chan for review.

I wonder how it does that? I hope that's not just a hokey word filter.

45
Skavaureply
piefed.social

I support the right of every instance on Lemmy to build how they want, transparently. As you can see my main account is on .today and not .world or sh.itjust.works.

My point here is that piefed.social has pretty simular culture to lemmy.world or sh.itjust.works.

I have some real concerns about what’s considered authoritarian, considering…

Oof. That’s some social credit sounding shit right there.

Its much simpler than that. Lemmy has a spam problem. People coming in to just make shill communities selling a service or product or spamming advert posts across communities.

They usually get downvoted, but I can use Piefeds admin tools to filter for downvoted posts by new accounts. This usually catches most spammers like that. I can then ban them from piefed.social and pass that on to Lemmy admins.

A lot of Day 1 trolls are caught like this too.

I understand, not always, but most heavily downvoted accounts tend to be people looking for fights everywhere, people with long community and instance banlists etc.

4chan Filter – Flags content from 4chan for review.

This can be turned off by other instances.

And there seems to be some confusion in some of the excerpts there because it is mostly referring to what piefed.social does, and not incumbent on all other instances to do so. It also looks unfinished.

-15
Wrenreply
lemmy.today

My point here is that piefed.social has pretty simular culture to lemmy.world or sh.itjust.works.

So not "literally." That's the point I argued with.

Lemmy has a spam problem. People coming in to just make shill communities selling a service or product or spamming advert posts across communities.

I browse by subscribed. I support the right for everyone to choose what they see with minimal persuasion. I don't see this problem, if it exists.

I understand, not always, but most heavily downvoted accounts tend to be people looking for fights everywhere, people with long community and instance banlists etc.

I can make my own decisions about people without a flag next to their name. I vehemently oppose this feature.

This can be turned off by other instances.

My lunchroom analogy applies here. Users should be able to make their own minds.

And there seems to be some confusion in some of the excerpts there because it is mostly referring to what piefed.social does, and not incumbent on all other instances to do so. It also looks unfinished.

As I just said: this is the main site for piefed, not just .social:

28
Skavaureply
lemmy.world

So not “literally.” That’s the point I argued with.

I don't see how it's inherently some sort of hugbox, as you claim.

I browse by subscribed. I support the right for everyone to choose what they see with minimal persuasion. I don’t see this problem, if it exists.

Good for you. But I am thinking at an instance level. Spam is actually a problem on platforms like this.

If Lemmy was to triple in size tomorrow, it's base tools wouldn't be capable of dealing with it.

I can make my own decisions about people without a flag next to their name. I vehemently oppose this feature.

I just meant purely in terms of admins being able to see it. Whether or not it shows for users is another matter.

As I just said: this is the main site for piefed, not just .social:

Yes, I know. But it's not clear that all of the content there is meant to be specifically telling other owners how they should run their instance.

-9
Wrenreply
lemmy.today

Didn't say it was a hugbox, said it fosters division.

I don't know whether piefed has less spam or not, and whether that's by volume or percentage, and why. I haven't seen any evidence favoring either platform.

There is no way Lemmy would triple in size in a day. Why would they build for something that would never happen? That's like ordering three pizzas for a party when you only need one.

I still oppose the low-karma feature on moral and ideological grounds. Voting is easily manipulated, so any system based on it is also easily manipulated.

It was clear to me that site was for piefed.

16

Didn’t say it was a hugbox, said it fosters division.

Does it? I don't see how.

I don’t know whether piefed has less spam or not, and whether that’s by volume or percentage, and why. I haven’t seen any evidence favoring either platform.

Piefed gets the same spam, but Piefed can catch the spammers and report them to Lemmy admins easier. That's what I mean here.

There is no way Lemmy would triple in size in a day. Why would they build for something that would never happen? That’s like ordering three pizzas for a party when you only need one.

Of course it wouldn't. My point was I am thinking of scale here when looking at these admin tools.

I still oppose the low-karma feature on moral and ideological grounds. Voting is easily manipulated, so any system based on it is also easily manipulated.

Well public voting on the fediverse mitigates that as people using alts or engaging in brigading can be often caught, are often caught, and community and instance banned for it.

It was clear to me that site was for piefed.

It outlines his philosophy, but he doesn't state he will enforce the same ideology on other instances with some iron fist.

-6
lemmy.ml

Apparently Piefed OCR's every image for the text " Anonymous" and "no" (horrible code by the way since it doesn't look for it sequentially but just those two strings on the whole image) for 4Chan posts and then censor those with an error message and -1 the uploaders social credit score.

44
discuss.tchncs.de

That's wild. I mean that could be cool if it was a feature that instance admins or community mods can enable. But so stupid like this

10
lemmy.sdf.org

Wild how unsurprising that is when the piefed pr person keeps saying how open they are to feedback no matter what rimu says or puts in the code

18
iByteABitreply
lemmy.ml

really putting the 'fed' in 'piefed'

It's also very interesting how someone who seems to really dislike a country they don't live in having what they claim to be a social credit system, are the ones who actually implement the fucking thing in their own software

44
lemmy.ml

@[email protected] comrade, I think this post could use your recently linked comment as a top-level, just to help show people here what OP is talking about regarding PieFed hard-coded censorship.

36
Oryginreply
sh.itjust.works

The default banned instances list include lemmygrad and hexbear.
Pretty sane defaults, and the admins can change that after setting it up.
You can see it in app/cli.py inside the piefed git repo

-28

Classic libs crying about freedom of speech but then going out of their way to limit it

13
lemmy.ml

"Pretty sane to default can communists" says user from Nazi bar instance.

6
  • I don't care about shit reposted from 4chud getting censored
  • Dot ml censors slurs, and it's not like it's a bad thing
  • As far as I know, most of the "hard-coded" crap can be disabled by server admins
  • I'd rather use software made by an opinionated old fart who doesn't like memes and shitposts than one made by a transphobic, covid denying asshole

Now censor me so I can go post in YPTB.

-30
lemmy.ml

Nutomic's transphobia and downplay of COVID are deplorable, but Rimu isn't merely opinionated on memes and shitposts. Rimu is a rabid anti-communist, with deeply racist views justified internally by said anti-communism:

And justifying it with articles from far-right think-tanks like the McCain Institute:

These views are disgusting, and being an anti-communist is what leads Rimu to accept them more readily. Further, equating slur filters to things like PieFed's social credit score system is apples to oranges, and defaults against communist instances that unsuspecting new admins wouldn't think to check just further displays Rimu's clear ideological opposition to Lemmy on the basis of Lemmy having a lot of communists.

43

I actually don't understand what the fight they're having in that chain about COVID in 2025. Are people still doing pandemic responses in other countries? I haven't seen a single person wear a mask where I live in Sonora in 3 or 4 years, am I supposed to be the only one wearing a mask and implementing a population level public health measure on my own? I got the vaccine

11
lemmy.ml

COVID still exists and still impacts people with the vaccine. Government mandates have been lifted, but masking is the correct decision, at minimum in large public gatherings.

20
quokk.au

Nutomic’s transphobia and downplay of COVID are deplorable

And pedophilia apology, I forgot that one initially (was bookmarked on an account which I thought I had deleted). This shithead doesn't reflect well on Dessalines.

And about the rest... Damn, even in isolation it's complete bullshit. Wouldn't have thought that someone whose server displays a "Rational Discourse Toolkit" insert would have fallen for that.

So, back to Mbin it is. You don't have dirt on Melroy now, do you 😓 ?

-12
lemmy.ml

I don't have any dirt on Melroy, no, but I'd say just use Lemmy. For all of Nutomic's personal faults, unlike PieFed they don't make it to the code, and you can spin up or join an instance entirely unaffiliated with Nutomic if you wish. Most Lemmy.ml users find Nutomic's views deplorable too, most of us are communists.

24
quokk.au

I know, I've been on lemmy for the past 6 years. But I can't just overlook that swollen pimple and still use the sofware while there's alternatives that are maintained by people who, to my knowledge, don't have such disgusting views.

-8
lemmy.ml

I'm not certain about Melroy, so I can't say, but Lemmy itself does not have those views, nor does every instance (in fact, most do not).

18

You might have misunderstood what I was getting at 😅. I wasn't thinking about servers or admins, but about the person/people behind the project. That's whose views I can't overlook.

-5

I'm aware. As far as I know, Dessalines does not share those views at all, nor do the other contributors to Lemmy. Rimu is the lead developer of PieFed, and the largest PieFed instances are generally ones that align more closely with Lemmy.world style views, ie anti-communism and liberal Zionism.

19
Nutomicreply
lemmy.ml

That comment is deleted, did you actually read it? If you check the modlog you will see that I didnt defend CSAM at all, but was only defending another user. Just to make it clear for you, I am against pedophilia. Its honestly impressive, you dont know me at all you try to paint me as some kind of evil supervillain over a few misinterpreted comments.

17

wee woo wee wooo wee wooo liberal thought police here you have been accused of WRONGTHINK. Everything you do and say is WRONG. I am the ADULT in the room. It is now our duty to harass and follow you around

18

Have fun talking to my blocklist loser, sick of the bullshit, the thought police and dipshits. Getting followed around by you fucking MoG morons made it so I just shit post and don't engage further. Having people pretend to be my friend only to make a bunch of alts to manipulate me changed my feelings on the platform and what people like you are actually about.

Fuck you, take your anime reactions and shove them.

17
quokk.au

You bet your ass I read it: I was there when you made a joke of yourself, splitting hairs about what constitutes CSAM, and """defending""" that other shithead by pointing at the level of melanin in his skin. If that's defending someone, by that metric talking about "biological men in women's sport" must have been a defense of trans women, huh?

By the way, take Castro off your pfp. He was able to own up to his mistakes, and Cuba is now a model to follow in terms of LGBTQ+ rights. You're an embarrassment to his legacy.

-13
RiverRockreply
lemmy.ml

Lol the person who posted their support for Iranian color revolution is now telling others to learn from their mistakes. How are Lybia and Syria doing buddy?

12
Graphoreply
lemmy.ml

censor me so I can go post in YPTB

NGL this is the saddest shit I've read all week

36
lemmy.ml

Posting to MoG would be worse, at least yptb is occasionally pretty useful, and MoG is run by a zionist.

28
quokk.au

I must confess that looking at MoG when it pops into my feed is my guilty pleasure. It's always fun to compare the allegations of a post with the content of the modlog. That capra demon sure has the audience they deserve.

-12
lemmy.ml

Speaking against "defense of an empire" is rich because they banned my blahaj account for pointing out that Germany is complicit in the palestinian genocide.

15