Live data from Hacker News

The naughty username checking system used by Twitch

ghostbin.com

141–150 of 348 posts

Re: The naughty username checking system used by Twitch

#141
post #93

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…

> to make sure random base64 didn't contain profanity I would have said "why bother" until this happened to us. A customer rang us up in a fury because some demo/ random data that we generated happened to have the word "penis" in it. They were convinced we must have put it there because we thought he was a cock. It was very difficult to defuse the situation.

I have a bus ticket from Stockholm with the serial of F4CK. Totally made my day back then to be honest.

Re: The naughty username checking system used by Twitch

#142

Earlier quoted context omitted.

That's amusing, but I think it also highlights the effectiveness of the strategy. WNKR is excusable and defensible. WANK would not be. Edit: But I'll concede that when your outputs are only four characters long and end users will actively interact with them (write them down, type them again later, etc.), additional safeguards might be appropriate. Or simply omit all alphas and use only numerics.

> Or simply omit all alphas and use only numerics. You're still not out of the park with numerics - people with 1313 or 6660 or 4444 or something will complain a lot. The possibility of a 666 in some new biometric government IDs in my country rose a massive stink from church...

I was in the UK recently and - if you can believe it - there was a car on the block I stayed whose plates contained 666.

Also, have a feelin you meant to do 1312. What’s the issue with 4444, though?

Re: The naughty username checking system used by Twitch

#143

Earlier quoted context omitted.

> Or simply omit all alphas and use only numerics. You're still not out of the park with numerics - people with 1313 or 6660 or 4444 or something will complain a lot. The possibility of a 666 in some new biometric government IDs in my country rose a massive stink from church...

I was in the UK recently and - if you can believe it - there was a car on the block I stayed whose plates contained 666. Also, have a feelin you meant to do 1312. What’s the issue with 4444, though?

> What’s the issue with 4444, though?

https://en.wikipedia.org/wiki/Tetraphobia

Re: The naughty username checking system used by Twitch

#144

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…

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.

Removing wovels would increase likelyhood of bad word combos, but removing consonants would have the desired effect.

Re: The naughty username checking system used by Twitch

#145
post #141
post #93

Earlier quoted context omitted.

> to make sure random base64 didn't contain profanity I would have said "why bother" until this happened to us. A customer rang us up in a fury because some demo/ random data that we generated happened to have the word "penis" in it. They were convinced we must have put it there because we thought he was a cock. It was very difficult to defuse the situation.

I have a bus ticket from Stockholm with the serial of F4CK. Totally made my day back then to be honest.

No you see. The bus company put it there to tell you to F4Ck off.

Re: The naughty username checking system used by Twitch

#146
post #6

Earlier quoted context omitted.

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.

Truth is, Amazon is the parent organization of Twitch, so calling Twitch employees Amazon employees as well is perfectly fine. Just like calling GitHub employees Microsoft employees.

So yes, Amazon employees have ended up with this particular file on their desk.

Re: The naughty username checking system used by Twitch

#147

Earlier quoted context omitted.

I removed the letter U from a random password generator for a Customer's app after a password was generated containing the "C-word".

Both of you are allowed to swear on the internet

They're allowed, but it is courteous of them to refrain.

Re: The naughty username checking system used by Twitch

#148

Earlier quoted context omitted.

That's amusing, but I think it also highlights the effectiveness of the strategy. WNKR is excusable and defensible. WANK would not be. Edit: But I'll concede that when your outputs are only four characters long and end users will actively interact with them (write them down, type them again later, etc.), additional safeguards might be appropriate. Or simply omit all alphas and use only numerics.

> Or simply omit all alphas and use only numerics. You're still not out of the park with numerics - people with 1313 or 6660 or 4444 or something will complain a lot. The possibility of a 666 in some new biometric government IDs in my country rose a massive stink from church...

> biometric government IDs

Yeah. An important, long-lived ID that will stick with an individual for their entire life, and that they may want to commit to memory. That seems like a good time to take a hypersensitive approach and adopt some kind of filter.

Re: The naughty username checking system used by Twitch

#149

Earlier quoted context omitted.

Yeah there was an article I read a while back about a company looking to prevent the use of 'naughty' words in randomly-generated strings used as event IDs. Apparently someone with some pull had seen a message with an offensive word. Some management committee spent a long time trying to figure out how to solve the problem including proposing keeping a list of bad words, and then worrying about what should be in it an…

> didn't mention the use of v or l33t-speak What is 'v' in this context? Edit: thanks for the answers. It makes sense now.

I suppose it's about the use of 'v' instead of 'u' in the F word
Post reply on HN