https://www.vice.com/en/article/dyzamj/a-profanity-filter-ba...
Once I confirm to them I'm an adult, I should be able to choose to see everything.
What made this particularly egregious is that the name in question: "Hui" - wasn't even a swear word in either his own native language - Chinese - nor in English. But it closely resembles a Russian profanity. Turned out that the filter was "multilingual", and applied rules for all languages to all posts...
That seems pretty unlikely to have happened here; I don't know the Russian word in question, but the Chinese "hui" rhymes with English "clay". (It also rhymes with the more sensibly spelled Chinese "wei"; the 'e' is only omitted when the syllable begins with a consonant. Compare "feng shui".) I'd be surprised if that were a possible reading of any Russian that might be transliterated "hui".
As to why the filter was applied to Latin characters - I'm not sure, but I'm assuming that's to prevent people from using translit to sneak in profanities. Of course, this ends up being a pointless game of whack-a-mole - there's so many possible ways to spell something like that with Unicode...
Looks like Russians and Americans can find common ground on thinking Chinese last names look like "penis", even if we're making fun of Wang and they're making fun of Hui.
This still shows up in some contexts - e.g. Й, like Ё, isn't used in bullet lists; try it in Word - it'll go from И straight to К.
The neural network may have taken millions of core-hours to learn to be as dumb (here) as a blind keyword search.
I worked at a place that had a profanity filter in two parts.
The first part was in C, several pages of if (!strcmp(x, a)) return 0;
After all that, it then invokes popen() to ssh to another machine and run a shell script there, which contains several more pages of string comparisons, this time in shell.
1) They got tired of having to modify C code and wait for the deploy cycle to modify the filter
2) Using, for example, the database would be more work than calling a shell script. On top of that, it might actually be beyond the abilities of the programmer involved.
3) The C code executes on an arbitrary machine. Hence the ssh to a specific machine, so that the shell script would only have to be maintained in one place
I remember being denied to post a forum post containing the phrase “tardive dyskinesia”, as it appears that it rejected anything with the string “tard” in it.
I'm not sure as to whom they think to be helping with that, but it's entirely possible that their advertisement revenue will actually suffer, if the string “tard” be found on their pages.
One man's profanity is not another man's profanity.
Of course, the personality trait of desiring censoring “bad words” seems to highly correlate with a belief in objective morality. — the others are wrong about what they find profane!
They fixed it in later versions, but I still have a "penetration" class because I'm immature that way.
I.e. It has little to do with profanity but a lot to prevent someone from making screnshot of a loadout with a gun that looks like MP5, is named by them as "MP5 whatever" and behaves like an MP5 in some type of legal action?
H&K has an US trademark consisting of just "MP5" in relation to a ton of things (though not video games!) so they could at least try make a case out of it not being purely nominative use and tie AB in court, if they wished. It would be PR suicide, but still, not the most stupid thing they have done.
Though, interestingly, in Modern Warfare (2019), many guns have two names; for example, the MP5 is also called SMG Charlie (as in, NATO phonetic alphabet for C). I kind of got the impression that it was laying groundwork for a long-term goal of removing the actual names of the guns; possibly due to licensing fees, or maybe to divorce the ugly reality of killing with video game killing, I don't know.