Live data from Hacker News

The naughty username checking system used by Twitch

ghostbin.com

121–130 of 348 posts

Re: The naughty username checking system used by Twitch

#121
post #111

Earlier quoted context omitted.

After looking through it quickly it seems to do the same as most profanity checks with Dutch: it doesn't block "kut" (a crude word for female genitalia) but it does block "kunt" (third person form of "can")

Here's one that does/doesn't! https://nl.wikipedia.org/wiki/Speciaal:Filter/10

Unfortunately it seems I don't have access to that page. Do I need to be a Wikipedia editor?

Re: The naughty username checking system used by Twitch

#123
post #62

Reminds me of the guy that streamed a talking banana on Twitch, where viewers could make it say things. People submitted variations of the n-word and got him banned, and after trying to filter out all character combinations he could think of he wrote a phonetic filter. That apparently worked much better than trying to think of every permutation of characters that sounds like bad words. https://youtu.be/bJ5ppf0po3k?t=…

They figured that out on Ellis Island so yeah. Soundex.

Ellis Island is the one with that big green statue. What it has in common with Soundex?

Re: The naughty username checking system used by Twitch

#124
post #10

Earlier quoted context omitted.

It also includes a couple of Italian swearwords in the function `is_blasphemy`

And exactly one German one in 'is_profanity'

There are more German ones: the last one in is_child_exploitation and nazi stuff in is_hateful.

Re: The naughty username checking system used by Twitch

#125

Earlier quoted context omitted.

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…

Holy cow how old was this system, circa 1975 or something?

I saw a dot matrix printer logging the chemical composition of the flue gas at a chemical research place in about 2002.

That kind of thing is probably fairly common in the industry.

Re: The naughty username checking system used by Twitch

#126

I wonder why they didn't go with syllables and something like a levenshtein distance to syllables? That way they could more easily maintain similar looking and sounding words, including leetspeak and other variants. Because with this kind of approach, something like "yolocaust" will get through, as most checks only go with exact matches and permutations will always get around it easily... Whereas with something like…

Agreed. If it's even close to a no no word it should be banned completely. No more riggers, naggers, poggers, biggas, lucks, bunts, minks, bikes, or trikes. This is a doubleplusgood plan.

Re: The naughty username checking system used by Twitch

#127
post #7

Path in the leak is: safety-ml\offensive-usernames\data_pull\sql\bad.sql Highlights: CREATE OR REPLACE FUNCTION is_tragedy (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') LIKE '%george%floyd%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_derogatory (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') LIKE '%retard%' $$ LANGUAGE SQL; Now we know we can make as many goergefloyd accounts a…

safety-ml - I assume this is some attempt at training a machine learning algorithm to find bad names.

This is what investors and the public buy as AI.

A hand coded if statement

Re: The naughty username checking system used by Twitch

#128
post #57

We 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…

It’s so laughable that we care about whether a generated string contains some temporally relevant profanity. We truly are still barbarians, and will be viewed as such by history.

Well, given that we have a more than 5000 years old habit of looking for omens in random data to divine the future (whether that random data is scattered bones, laid out animal entrails, tea leaves, coffee grounds, tarot cards or so many others), it's unfortunate but not surprising.

Re: The naughty username checking system used by Twitch

#129
post #57

We 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…

It’s so laughable that we care about whether a generated string contains some temporally relevant profanity. We truly are still barbarians, and will be viewed as such by history.

It highly depends on what the purpose of the string is: if it can be clearly seen by the user, has to be read, or worse typed, then it's not just a random string in a database.

If the string is a url, imagine sending https://somesite/wanker to your client, when it actually could also be https://somesite/ay3ugd

Re: The naughty username checking system used by Twitch

#130
post #45
post #18

Whats this one about? CREATE OR REPLACE FUNCTION is_blasphemy (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') SIMILAR TO '%p(o|0)rc(o|0)di(o|0)%' OR replace($1,'_','') SIMILAR TO '%p(o|0)rc(o|0)mad(o|0)nna%' $$ LANGUAGE SQL;

that should actually be porcAmadonna

Grazie.
Post reply on HN