Piefed admin settings that allow to enable or disable content filters (they are disabled by default, see body for details)
-
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.
-
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.
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
Which is why it's important for users to reject attempts at splitting the network into different codebases in the firstplace.
That piefed and many of its users reject working with lemmy devs on principle over political grievance doesn't change or justify the fact that they are destroying the democratic nature of the federated network they're taking advantage of.
This doesn’t bother me that much primarily because defederation differences can cause this anyway
Which is why defederation is a last resort and usually requires some democratic discussion as an instance. Same with instance-banning users - that ability is limited to admins, which means users can hold them accountable if there's abuse. It's a reason why i consider users who go out of their way to foment division against other instances or users over petty disagreements to be caustic and unwelcome, but are at least still working within a decentralized and democratic framework. When any user has the ability to create the same kind of holes in the network, all accountability vanishes and it starts to look like swiss-cheese.
-
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
Which is why it's important for users to reject attempts at splitting the network into different codebases in the firstplace.
That piefed and many of its users reject working with lemmy devs on principle over political grievance doesn't change or justify the fact that they are destroying the democratic nature of the federated network they're taking advantage of.
This doesn’t bother me that much primarily because defederation differences can cause this anyway
Which is why defederation is a last resort and usually requires some democratic discussion as an instance. Same with instance-banning users - that ability is limited to admins, which means users can hold them accountable if there's abuse. It's a reason why i consider users who go out of their way to foment division against other instances or users over petty disagreements to be caustic and unwelcome, but are at least still working within a decentralized and democratic framework. When any user has the ability to create the same kind of holes in the network, all accountability vanishes and it starts to look like swiss-cheese.
Which is why it’s important for users to reject attempts at splitting the network into different codebases in the firstplace.
It is what it is. Mbin also existed before Piefed.
That piefed and many of its users reject working with lemmy devs on principle over political grievance doesn’t change or justify the fact that they are destroying the democratic nature of the federated network they’re taking advantage of.
You're assuming some hand has been offered that has been slapped away by Rimu. I'm not aware of this. I'm pretty sure they have shared information about things in the past.
Which is why defederation is a last resort and usually requires some democratic discussion as an instance. Same with instance-banning users - that ability is limited to admins, which means users can hold them accountable if there’s abuse. It’s a reason why i consider users who go out of their way to foment division against other instances or users over petty disagreements are caustic and unwelcome, but are at least still working within a decentralized and democratic framework. When any user has the ability to create the same kind of holes in the network, all accountability vanishes and it starts to look like swiss-cheese.
I mean yes, and no (depends on the instance), that's true but you know as well as I do three instances of note are heavy defederated (hilariouschaos being the third incase you were wondering). Plenty of smaller sloppy attempts also get defederated fast too, usually stuff like maga.place.
-
Which is why it’s important for users to reject attempts at splitting the network into different codebases in the firstplace.
It is what it is. Mbin also existed before Piefed.
That piefed and many of its users reject working with lemmy devs on principle over political grievance doesn’t change or justify the fact that they are destroying the democratic nature of the federated network they’re taking advantage of.
You're assuming some hand has been offered that has been slapped away by Rimu. I'm not aware of this. I'm pretty sure they have shared information about things in the past.
Which is why defederation is a last resort and usually requires some democratic discussion as an instance. Same with instance-banning users - that ability is limited to admins, which means users can hold them accountable if there’s abuse. It’s a reason why i consider users who go out of their way to foment division against other instances or users over petty disagreements are caustic and unwelcome, but are at least still working within a decentralized and democratic framework. When any user has the ability to create the same kind of holes in the network, all accountability vanishes and it starts to look like swiss-cheese.
I mean yes, and no (depends on the instance), that's true but you know as well as I do three instances of note are heavy defederated (hilariouschaos being the third incase you were wondering). Plenty of smaller sloppy attempts also get defederated fast too, usually stuff like maga.place.
It is what it is. Mbin also existed before Piefed.
Mbin isn't nearly as egregious as piefed in the way they introduce breaking changes to the network.
You’re assuming some hand has been offered that has been slapped away by Rimu
I'm not assuming anything, it's been stated repeatedly. Rimu could implement his preferred features in ways that don't degrade the health of the network but chooses not to.
you know as well as I do three instances of note are heavy defederated (hilariouschaos being the third incase you were wondering)
I'm not sure what relevance that has, but you can count those instances on a hand missing two fingers (i'd note that dbzer0 does not defederate from 2 of the three that I assume you're referring to, nor would I advocate for it). It would be interesting for someone to map out just how much of the fediverse is effectively being defederated for piefed servers with large user block lists - i imagine it's quite a large chunk, especially when the most popular users to block are the ones producing the most activity. The larger those servers grow, the bigger those holes will become.
-
It is what it is. Mbin also existed before Piefed.
Mbin isn't nearly as egregious as piefed in the way they introduce breaking changes to the network.
You’re assuming some hand has been offered that has been slapped away by Rimu
I'm not assuming anything, it's been stated repeatedly. Rimu could implement his preferred features in ways that don't degrade the health of the network but chooses not to.
you know as well as I do three instances of note are heavy defederated (hilariouschaos being the third incase you were wondering)
I'm not sure what relevance that has, but you can count those instances on a hand missing two fingers (i'd note that dbzer0 does not defederate from 2 of the three that I assume you're referring to, nor would I advocate for it). It would be interesting for someone to map out just how much of the fediverse is effectively being defederated for piefed servers with large user block lists - i imagine it's quite a large chunk, especially when the most popular users to block are the ones producing the most activity. The larger those servers grow, the bigger those holes will become.
Mbin isn’t nearly as egregious as piefed in the way they introduce breaking changes to the network.
Is Mbin updated much?
I’m not assuming anything, it’s been stated repeatedly. Rimu could implement his preferred features in ways that don’t degrade the health of the network but chooses not to.
Have Lemmy mods approached Rimu at all?
I’m not sure what relevance that has, but you can count those instances on a hand missing two fingers (i’d note that dbzer0 does not defederate from 2 of the three that I assume you’re referring to, nor would I advocate for it). It would be interesting for someone to map out just how much of the fediverse is effectively being defederated for piefed servers with large user block lists - i imagine it’s quite a large chunk, especially when the most popular users to block are the ones producing the most activity. The larger those servers grow, the bigger those holes will become.
Just noting that there are already holes of communication due to defederation (hexbear/lemmygrad are pretty medium sized).