Live data from Hacker News

The naughty username checking system used by Twitch

ghostbin.com

261–270 of 348 posts

Re: The naughty username checking system used by Twitch

#261
post #191

We used to call this the "Scunthorpe problem" - how do you filter for obviously rude names while still allowing people to have their actual names? Bearing in mind that some people's names are actually rude. I worked on the application form processing for the Nectar card launch in the UK back in the early 2000's, and we had several cases. Luckily we had human data-entry clerks in the loop, so all we had to do was flag…

That this system is so primitive doesn't surprise me at all. After all, people with a family name "Null" often get database errors -- despite even Oracle, which can't tell null and empty string apart, decidedly has IS NULL vs == "NULL" comparisons... https://www.bbc.com/future/article/20160325-the-names-that-b...

Little Bobby Tables struggles

Re: The naughty username checking system used by Twitch

#262

Earlier quoted context omitted.

People should just be taught (I would consider this is an essential skill which should be put in basic school curriculum to psychologically prepare people for the life, many support/sales professionals learn it quickly but the rest of the people don't) words are just words and they don't have to take them seriously. No word is rude until you consider it rude. No word can actually harm you directly. It's you who is in…

We used to be taught that "sticks and stones may break my bones but words will never hurt me". I'm not so sure that has ever been true. Emotional bullying was always a thing, and it did hurt. I'm glad that we're now taking that more seriously. But it's also true that my emotions are my responsibility, and my emotional reaction to words is unique to me. I cannot force everyone else to be responsible for how I feel abo…

> We used to be taught that "sticks and stones may break my bones but words will never hurt me".

Now it is more "sticks and stones will break your bones because your words have hurt me"

Re: The naughty username checking system used by Twitch

#263
post #106

More high-profile profanity filters open for viewing: edit filters used in Wikimedia projects, which also together encompass many languages. The main 'bad words' filter of English Wikipedia: https://en.wikipedia.org/wiki/Special:AbuseFilter/384 The page (on en:wiki) listing all filters, which also have uses other than detecting abuse: https://en.wikipedia.org/wiki/Special:AbuseFilter The special page has the same tit…

A more traditional one, older than these you linked: https://en.wikipedia.org/wiki/MediaWiki:Titleblacklist and https://meta.wikimedia.org/wiki/Title_blacklist

Re: The naughty username checking system used by Twitch

#264

Earlier quoted context omitted.

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.

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…

Hashids does this (avoid bad words) if anyone is curious to see an implementation

> algorithm tries to avoid generating most common English curse words by never placing the following letters (and their uppercase equivalents) next to each other:

> c, s, f, h, u, i, t

https://hashids.org/#how-does-it-work

E: ah it was already mentioned later on, hadn't got that deep into the comments yet!

Re: The naughty username checking system used by Twitch

#265
post #179

Earlier quoted context omitted.

Anything exposed to the open internet devolves into porn or racism or both unless active effort is made to prevent it. I'm reminded of https://en.wikipedia.org/wiki/Tay_(bot)

quite curious as to how Instagram managed to avoid this, despite launching with no moderation, (just Mike and Kevin), yet all you needed was an email to use the service...

That's called the tragedy of the commons, everything starts pure and innocent, that's why people tend to romanticize the "early days" before X

Re: The naughty username checking system used by Twitch

#266

Earlier quoted context omitted.

And yet, not _required_ to if they don't want to.

I agree, I only wanted to point out that they can I they want to. I didn't say they have to Edit: I'm being downvoted so I want to explain - the internet is a huge mishmash of different cultures and all I wanted to say is that it is allowed to swear because I though that maybe, in their local one, it is not and they think it's universal

Let it go, downvotes don't matter.

Re: The naughty username checking system used by Twitch

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

I tried googling it but I put it all in one word. Thanks for the help!

Re: The naughty username checking system used by Twitch

#268
post #162
post #79

Earlier quoted context omitted.

This looks like legit, no-nonsense gets-the-job-done code that gets updated every time some jerk find a new way to be a jerk to others. It isn't great, but at least not over-engineered, and I'm not sure if Twitch account sign-up volumes and abuse are at the point where they should staff a project to do this more robustly / scalably

Exactly what I think. This is the kind of code that doesn't have a platonic ideal, it has to get updated with time and experience and reports. There is no "non-hacky" way to do this, you just have to look at the reports that are coming in and keep adding rules that are relevant.

You say that there's no "non-hacky" way, but...

https://www.youtube.com/watch?v=bJ5ppf0po3k

He made a filter that did analysis of the pronunciation of the messages that were being sent. His breakdown of it starts at around 13:30

Re: The naughty username checking system used by Twitch

#269

We used to call this the "Scunthorpe problem" - how do you filter for obviously rude names while still allowing people to have their actual names? Bearing in mind that some people's names are actually rude. I worked on the application form processing for the Nectar card launch in the UK back in the early 2000's, and we had several cases. Luckily we had human data-entry clerks in the loop, so all we had to do was flag…

I only recently learned about Scunthorpe because the username I've been using for 15 years is now affected.

Georgyo has orgy right in the name. More and more places are refusing to accept it when signing up.

Re: The naughty username checking system used by Twitch

#270

Doing this in SQL is absolute insanity. I’ve seen many pieces of code grow in this way and I understand how it happens but still surprises me to see how scrappy things are under the hood at some big-time companies.

Hello, what would be a better way to do it? In code? Regex?
Post reply on HN