Live data from Hacker News

The naughty username checking system used by Twitch

ghostbin.com

31–40 of 348 posts

Re: The naughty username checking system used by Twitch

#31
post #22
post #11

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

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

#32
post #6

This script feels like this is something that: - should be in its own application with its own rules engine so you dont accidentally whack a bunch of userames - I would have done in the past and cringe when people ask me to update it.

I feel bad for the Amazon employee who came into work one day with this project sitting on their desk.

My understanding from talking to {current,former} {Amazon,Twitch} employees is that Twitch has retained a decent amount of engineering independence. For better or worse, it's unlikely that some rando at Amazon ended up with this particular PHP file on their desk.

Re: The naughty username checking system used by Twitch

#33
post #20
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;

https://www.urbandictionary.com/define.php?term=porco%20dio

That's a beautiful swear. Far from naughty, I feel enriched having learned this.

Re: The naughty username checking system used by Twitch

#34
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 tailed the logs and the first one that popped up during the demo was a big ole F bomb. It made for an excellent demo.

Re: The naughty username checking system used by Twitch

#37
post #12

If 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

I can really identify with that. My efforts are against spam and trolls; at least the spam is predictable and easier to take a sledgehammer to! Those grey-area trolls are such a miserable part of online content and moderation.

Re: The naughty username checking system used by Twitch

#38
post #20
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;

https://www.urbandictionary.com/define.php?term=porco%20dio

Sheesh

c) "Porco dio saranno mica i testimoni di Geova? No eh diocan digli che i signori sono fuori, non ho tempo per stargli dietro." ("Fuck, they can't be Jehovah's witnesses, can they? Tell them we're out, we don't have time for their shit.")

Post reply on HN