Live data from Hacker News

The naughty username checking system used by Twitch

ghostbin.com

51–60 of 348 posts

Re: The naughty username checking system used by Twitch

#51
post #5

I have a hard time believing this was / is the real version used. It doesn't seem broad enough. More likely it was a kind of smoketest that made sure that a more automated keyword checker was working. It does remind me of the XKEYSCORE (Snowden leaks) that used keywords to bubble up potential threats from emails etc https://www.businessinsider.com/nsa-prism-keywords-for-domes... .

It seems you are assuming that software is usually written well, or as well as it can be. It's much more likely to be the opposite.

Would be unsurprised if some poor engineer got assigned the project, realized it was an untractable mess of scunthorpe, and decided to check some boxes and move on to some ticket of higher value.

Re: The naughty username checking system used by Twitch

#53
post #5

I have a hard time believing this was / is the real version used. It doesn't seem broad enough. More likely it was a kind of smoketest that made sure that a more automated keyword checker was working. It does remind me of the XKEYSCORE (Snowden leaks) that used keywords to bubble up potential threats from emails etc https://www.businessinsider.com/nsa-prism-keywords-for-domes... .

It seems you are assuming that software is usually written well, or as well as it can be. It's much more likely to be the opposite.

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." Nobody on the team could define it. We just logged every database write along with the username responsible and called it a day. Nobody ever followed up or inspected it.

Same deal. Both exist mostly for compliance.

Re: The naughty username checking system used by Twitch

#54
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.

At an online company I worked at we had various word filters for our forums, but new stuff was always popping up and getting through.

What worked in the end was having any newly created thread send a message containing the post title & body to a slack channel specifically for monitoring the forums. Employees and our forum moderators were in there, and any bad threads were nearly instantly deleted. Eventually the spammers mostly gave up. Hard to beat a dozen human brains :)

Re: The naughty username checking system used by Twitch

#55
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=715

Re: The naughty username checking system used by Twitch

#56
Why not just convert numbers like 1 to i or l then check with a manually created bad word list?

Would regex be really much faster than checking it against a 1000 or more bad word list?

Also bad word list can easily get updated by moderators as well, I really can’t understand the logic behind using so much regex.

Re: The naughty username checking system used by Twitch

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

Re: The naughty username checking system used by Twitch

#58

Earlier quoted context omitted.

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.

This ain't PHP...

My brain sees sigils and thinks PHP. Whoops.

Re: The naughty username checking system used by Twitch

#59
post #5

I have a hard time believing this was / is the real version used. It doesn't seem broad enough. More likely it was a kind of smoketest that made sure that a more automated keyword checker was working. It does remind me of the XKEYSCORE (Snowden leaks) that used keywords to bubble up potential threats from emails etc https://www.businessinsider.com/nsa-prism-keywords-for-domes... .

That list is a list of words chosen by William Knowles to taunt any NSA who may be listening.

It's not a list of words used by the NSA or any spies. https://attrition.org/misc/keywords.html

Re: The naughty username checking system used by Twitch

#60
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?"

There are a few German words in the lists.
Post reply on HN