Poor Bilbo and Frodo - they'll never be allowed to use Twitch: CREATE OR REPLACE FUNCTION is_hateful (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT ... OR replace($1,'_','') LIKE '%aggin%'
The naughty username checking system used by Twitch
81–90 of 348 posts
Re: The naughty username checking system used by Twitch
#82Re: The naughty username checking system used by Twitch
#83So what is a good practice for this kind of thing? I’ve got an app where users create a display name. Is there a legit service I can use or some actual well tested library that can help me? I’m using node and Go so either languages.
Re: The naughty username checking system used by Twitch
#84Earlier quoted context omitted.
This seems like the kind of thing that would be horribly specced and be a user story along the lines of "the user must not be allowed to make an inappropriate username." The engineer would write something for every test case the product manager complained about, anything else computationally easy, and call it a day. I once had to implement an audit logging system. What was supposed to be logged? "Important actions."…
Bad, old memory: "Every transaction must have a line written to the printer" Tracking down "why is the antique system suddenly slow". Power went out, system came back up fine, everything but the one ancient but vital app is fine. Dig, dig dig, there's this old dot matrix printer in another room (because it used to be loud and annoying) that no on has fed or looked at in years. It finally died with that outage, and it…
Re: The naughty username checking system used by Twitch
#85We had to do this for a link shortening system (to make sure random base64 didn't contain profanity). It was a pretty fun problem. Not just the implementation, but doing the math to make sure it didn't make our shortened links easily enumerable. The implementation wasn't too bad, but we set up logging initially to spit out any random strings it decided to block. I demo'd this in front of the whole company and live ta…
When it comes to censoring randomly generated strings, I like simply to omit vowels from the alphabet. Usually I'll omit some of the more obvious lookalikes too, e.g. [1 0 v]. It's a simple solution. Sure, it is still possible for something to slip through that looks similar to something bad. But the potential to strongly offend is greatly reduced.
Also note that if you're too naive about checking for 'naughty' words, you get https://en.wikipedia.org/wiki/Scunthorpe_problem
Re: The naughty username checking system used by Twitch
#86Earlier quoted context omitted.
Some near the end looked like they might be in another language, but I won't be the one to find out. It used to be "if I search for this term, am I accidentally going to wind up getting goatse or something?" The good old days. Now it's "if I search for this term, is the FBI going to kick my door in?"
I was pedantic about it in the good old days too, it's goatse.cx and not goatse you need the domain to make the goat-sex joke work
Re: The naughty username checking system used by Twitch
#87Earlier quoted context omitted.
It also mostly checks for English naughty words and not much else. People can have fun in lots of other languages, so it would seem this is a small sample.
And specifically Italian blasphemy for some reason…
Re: The naughty username checking system used by Twitch
#88Ah, so that's the Word Filter that Twitch directly mentioned as the majority of their effort to fight hate comments (as cited in the main thread on the leak). Also, Lisa Pedro is not welcome there.
Re: The naughty username checking system used by Twitch
#89> LIKE '%aggin%' Looks like "Baggins" is banned. Poor Bilbo...
Poor Mike.
Re: The naughty username checking system used by Twitch
#90If you liked this chaos, you'd love my 15+ years of cobbled-together efforts at limiting forum spam and the like. I suddenly don't feel quite so alone in the myriad efforts needed to tackle this sort of thing.
It's an endless arms race. I spend a lot of time studying unsavory people and a great deal of effort goes into the development of new dogwhistles that are designed to either provoke or connect with peers while maintaining deniability. You might like this paper on the evolutionary dynamics of covert social signaling: https://www.nature.com/articles/s41598-018-22926-1
This happens all the time in cartoons that appeal to children but also contain subtle adult jokes so everyone can enjoy them on different levels.