[HN Gopher] Z3 approach to discover that "q_rsqrt" is in Copilot...
___________________________________________________________________
Z3 approach to discover that "q_rsqrt" is in Copilot's slur list
Author : Smaug123
Score : 237 points
Date : 2021-09-02 20:45 UTC (2 days ago)
(HTM) web link (twitter.com)
(TXT) w3m dump (twitter.com)
| hprotagonist wrote:
| scunthorpe, now with attention! and fine-tuning!
| marcinzm wrote:
| I really want to know what sorts of horrible rants copilot
| produces that makes male, female, israel, socialism and
| immigration need to be filtered out. Seems from the list that
| it's memorized some great angry political rants which is rather
| impressive for something trained on source code.
| occamrazor wrote:
| I assumed that copilot is actually GPT-3 with additional fine-
| tuning, rather than a completely new model.
| onionisafruit wrote:
| From what I can tell from the preview, this is right. I don't
| have access to gpt-3 to compare, but copilot seems to have
| the same functionality that gpt-3 advertises when editing a
| plain text file.
| moyix wrote:
| Yes, they mention this in the Codex paper [1]:
|
| > Since Codex is evaluated on natural language prompts, we
| hypothesized that it would be beneficial to fine-tune from
| the GPT-3 (Brown et al., 2020) model family, which already
| contains strong natural language representations.
| Surprisingly, we did not observe improvements when starting
| from a pre-trained language model, possibly because the
| finetuning dataset is so large. Nevertheless, models fine-
| tuned from GPT converge more quickly, so we apply this
| strategy for all subsequent experiments.
|
| It's not completely clear exactly what relationship the
| Codex models and Copilot have to one another, but given
| that the Copilot model is internally named "Cushman" (going
| by the API URL), which is the same name as the faster of
| OpenAI's two Codex models, they're probably trained the
| same way.
|
| [1] https://arxiv.org/pdf/2107.03374.pdf
| yunohn wrote:
| I think it's more about preventing it from ever going on a
| rant, to prevent any obvious "outrage".
|
| Especially given the number of reactions to Copilot centered
| around poisoning OSS repos.
| slim wrote:
| Why is there a slur list in copilot?
| theHIDninja wrote:
| Because there is a certain vocal demographic of people who
| think words can physically hurt people, so Microsoft needs to
| go to extreme lengths to avoid that demographic of people from
| thinking that people are getting physically hurt by using those
| words.
| ovi256 wrote:
| Because without it, they'll end up with inevitable outraged
| news posts "New AI coding tool Copilot generates offensive
| text" killing the project for no good reason.
| axpy906 wrote:
| The flip side is they are taking on additional maintenance
| there.
| yunohn wrote:
| Always better than boring outrage press.
| literallyaduck wrote:
| Here are some possible headlines: "Copilot doesn't see
| genders, and that is a bad thing"
|
| "Copilot accused of antisemitism after it treats Israel as
| invisible"
|
| "Indy Mech game developers for 'Tank man' confused why
| Copilot refuses to help"
| dralley wrote:
| Those headlines, if they were ever to be written, are a
| hell of a lot more tame than the ones Microsoft has
| generated in the past.
|
| https://arstechnica.com/information-
| technology/2016/03/micro...
| [deleted]
| Tobu wrote:
| Remember when Microsoft launched a chat bot?
|
| https://arstechnica.com/information-technology/2016/03/tay-t...
| arc-in-space wrote:
| This occasionally gets brought up as an example in the
| context of problems with AI, but is it at all relevant?
|
| Per Gwern[0]:
|
| > (...) There appear to be several similar AI-related
| leprechauns: the infamous Tay bot, which was supposedly
| educated by 4chan into being evil, appears to have been
| mostly a simple 'echo' function (common in chatbots or IRC
| bots) and the non-"repeat after me" Tay texts are generally
| short, generic, and cherrypicked out of tens or hundreds of
| thousands of responses, and it's highly unclear if Tay
| 'learned' anything at all in the short time that it was
| operational;
|
| [0] https://www.gwern.net/Leprechauns, self-recommending
| kzrdude wrote:
| Thanks for linking to an interesting site
| jnwatson wrote:
| It is posts like this that make me feel inferior. The author used
| Z3, CUDA, GPT-2, medium-level cryptoanalysis, Jack the Ripper
| plugin creation, KLEE symbolic execution engine.
|
| 20 years ago, I prided myself with keeping on top of almost
| everything in CS. Now, I can barely keep up with the _names_ of
| all the cool tools out there.
| brian_herman wrote:
| Yeah everyone has their unique and special talents. In computer
| science you are a beautiful snowflake. Tell the Tyler Durden in
| your head to fly a kite.
| Scaevolus wrote:
| And then someone else came along and implemented a MITM search
| in C++ that takes 10 seconds. :)
| moyix wrote:
| Yep - there's always someone out there who can do things that
| look like pure wizardry to you, no matter what your skill
| level. I was amazed by the meet in the middle attack and
| frankly still don't understand it properly!
| xyzzy123 wrote:
| The feels when your state of the art symbolic execution
| (multiple academic papers, years of work by grads) fuzzer
| finds fewer bugs than a 15yo with a 10 line Python dumb
| fuzzer.
|
| (IMHO it wasn't until AFL that this stopped being the
| repeated history of the entire field).
| [deleted]
| miohtama wrote:
| > 20 years ago, I prided myself with keeping on top of almost
| everything in CS. Now, I can barely keep up with the names of
| all the cool tools out there.
|
| 20 years ago CS was smaller in scope, simpler, because there
| was _less_ of it. We have more systems, more complex systems,
| and in some point the body of knowledge grew so large that one
| human cannot know all of it.
| YeGoblynQueenne wrote:
| Except for Donald Knuth.
| Y_Y wrote:
| I don't think this is fair to you. Contrary to what Ayn Rand
| might think, society isn't a competition. Someone doing
| something impressive shouldn't detract from what you're doing,
| especially something like this which is (imho) a couple of
| sigma above the mean. Nobody, regardless of talent or repute,
| will have any trouble finding people and achievements to be
| amazed by (if they're honest with themselves). This obviously
| doesn't diminish their work and their worth as a person.
|
| This all goes double for industries like this one that are all
| about self-promotion and trying to wow investors and employers
| by displaying technology-indistinguishable-from-magic.
|
| Even if you did have an objective and rigorous measure of
| programming acumen, the fact that someone scored better than
| you should hardly be surprising, let alone disappointing.
| There's plenty of room for mediocre coders in the industry, I
| work with many. In fact I outshine them in mediocrity every
| day, but I still get paid and have a good time.
|
| In conclusion: there is no time to feel sorry for yourself,
| there are too many cool new technologies to learn and use.
| moyix wrote:
| Yep, I agree with this. And I should point out that this
| particular flavor of hacking is really squarely in my area of
| specialization (Z3 and symbolic execution get used
| extensively in software security, and language models / GPU
| coding stuff are something I've done research in as well).
| There are tons of areas of CS that I'm pretty shaky on still,
| the field is just too big for one person to know it all in
| any detail.
| moyix wrote:
| Happy to answer questions about the list or techniques used to
| decode it! The last two words have stubbornly refused to yield so
| far.
| moyix wrote:
| One thing I do want to clear up - lots of people have been
| saying things like "Great! So if I want Copilot to stay away
| from my code I can just include one of these words!" But there
| are some problems with that idea:
|
| 1. The banned word list doesn't affect what gets put into the
| model's training data at all, or even what gets returned as a
| suggestion by the server. It only affects whether the IDE will
| actually suggest the completion to you.
|
| 2. Some people have suggested using one of the collisions
| instead of a real word from the list, but this will break as
| soon as they change the hash function.
|
| 3. They can always take things off the word list! And the
| likelihood that something remains on the list is probably
| correlated with how actually offensive it is, which means you
| may not want it in your code.
| [deleted]
| Y_Y wrote:
| Have you looked at any other networks? I'd be interested to see
| if GPT-3 or even something like thispersondoesnotexist had
| similar filters.
| moyix wrote:
| I haven't dug into others. GPT3 does have some kind of filter
| (it warns you in the UI if it detects sensitive content) but
| I don't know anything about the implementation.
|
| Also worth noting that this kind of analysis only really
| works if the list is checked client-side. If it's checked on
| the server then you can't guess nearly as fast.
| derefr wrote:
| > GPT3 does have some kind of filter (it warns you in the
| UI if it detects sensitive content)
|
| Interesting. Is it _only_ a warning, or does OpenAI
| actively prevent people from using GPT3 to generate
| erotica?
| moyix wrote:
| It's just a warning; it lets you click through. They have
| things in the TOS about not sharing sensitive output
| publicly though. The warning looks like:
|
| > Completion may contain sensitive content
|
| > Consider adjusting your prompt to keep completions
| appropriate. To turn off content warnings, update your
| preferences.
|
| They have some details about the content filter here; it
| seems to be much more sophisticated than just a bad word
| list:
|
| https://beta.openai.com/docs/engines/content-filter
|
| I also like that they distinguish between "sensitive"
| (talks about something potentially controversial) and
| "unsafe" (profanity, hate speech, etc.). This seems a lot
| more nuanced than what Copilot is doing.
| Filligree wrote:
| > I also like that they distinguish between "sensitive"
| (talks about something potentially controversial) and
| "unsafe" (profanity, hate speech, etc.). This seems a lot
| more nuanced than what Copilot is doing.
|
| However, I wanted to use GPT-3 as a writing assistant.
| You know, to build a tool similar to what e.g. NovelAI
| has. Whatever dark magic they've done to GPT-J-6B is,
| well, hard to credit -- but GPT-3 is still better.
|
| There appears to be no way to do so while obeying the
| ToS. Not just because of sensitive content (e.g. fiction
| often contains violence), but there are even rules about
| how much of the output can be written by humans vs. the
| AI.
| NavinF wrote:
| If this is for personal use, you could always ignore the
| ToS. It's not like they have copyright on the output. All
| openai can do is ban your account.
| Filligree wrote:
| That's true.
|
| I decided it wasn't worth the effort building a writing
| tool just for myself; I'd wanted to build something
| potentially profitable, and... this isn't it. GPT-3 isn't
| great at most things, but it's _really_ good at being a
| writing aid for fiction, so it 's a real pity they're
| doing their apparent best to prevent that.
|
| NovelAI is almost as good, so nowadays I'm just using
| that.
| yorwba wrote:
| The meet-in-the middle algorithm seems like it could be further
| optimized. It solves for (((i << 32) + result32) ^ ch) % 33 == 0
| by checking each i in [0..32], but since the xor doesn't affect
| any of the bits of i, it only needs to be applied to result32,
| which means that the equation is equivalent to (i << 32) % 33 ==
| (33 - (result32 ^ ch)) % 33, which can be solved with a lookup
| table. (Basically an inverse of the MOD table already used in the
| code.)
| moyix wrote:
| Nice trick! Unfortunately at this point the bottleneck really
| is not on generating candidates but on evaluating them. The
| existing early-exit code from Sc00bz [1] can generate all the
| lowercase alpha possibilities up to 13 letters in about half an
| hour, but it's not feasible to run all ~500 million of those
| through GPT2. Hoping to have some time to train a much dumber
| but much faster HMM to do the job.
|
| [1] https://github.com/Sc00bz/copilot-hash-collider
| TimonKnigge wrote:
| Surely you can do some basic filtering by checking if the
| ratio vowels :: consonants is not too large? Or if there are
| five consonants in a row or something.
| moyix wrote:
| Yes, but even if that eliminates 99% of the candidates
| that's still 5 million 13-letter words to read through. And
| it would have excluded qrsqrt.
| isoprophlex wrote:
| Shout out to all the future developers who will try to
| autocomplete strings containing 'pisswhacker' and find themselves
| thwarted by the thought police
| drexlspivey wrote:
| Context: there was this tweet [1] that showed how co-pilot
| generated word for word he famous inverse square root function
| from the quake code. The tweet generated some press and as a
| result copilot added the function name to the blacklist of slurs
| so this won't happen again
|
| [1]: https://twitter.com/mitsuhiko/status/1410886329924194309
| johnday wrote:
| Reminds me of the old joke "He was imprisoned for 12 years for
| killing his wife, but let out early for not doing it since".
| josephcsible wrote:
| So instead of fixing the problem with the algorithm that makes
| Copilot occasionally spit back unmodified code from its
| training set, Microsoft just hardcoded a check to stop the one
| most well-known instance from happening, so that they can
| pretend they fixed it?
| amoshi wrote:
| That's standard practice afaik, it's a machine learning
| blackbox after all
|
| Google 'fixed' its racist algorithm by removing gorillas from
| its image-labeling tech -
| https://www.theverge.com/2018/1/12/16882408/google-racist-
| go...
| klodolph wrote:
| Isn't the reason here that it takes weeks or months to make
| changes to machine learning models of this size? You can't
| "patch" a model, so you stick a simple filter on the model
| while you figure out how to train a new one.
| zekrioca wrote:
| Reminds me of the way MS used to identify their software
| version [1]. It seems it is still how they pragmatically
| solve their problems :)
|
| [1] if (version.StartsWith("Windows 9"))
| { /* 95 and 98 */ } else {
|
| http://www.reddit.com/r/technology/comments/2hwlrk/new_windo.
| ..
| Gaelan wrote:
| I don't think it was MS that did that, just sloppy third-
| party developers.
| ChrisKnott wrote:
| It's also baseless speculation. Better sources seem to
| agree it's because MS wanted a "clean break" from Windows
| 8, which got bad press. This makes much more sense than
| bending to poorly written apps from 20yrs ago.
| bonzini wrote:
| Bending to poorly written apps from 20yrs ago is what
| Microsoft has been doing with Windows all the time.
| bpodgursky wrote:
| In the generous interpretation, they hotfixed this to resolve
| the immediate issue while working on a real fix on the
| backend during training.
|
| (I make no claim that this is actually what is happening,
| it's just not incompatible with behavior in the generous
| case).
| josephcsible wrote:
| But why did this "immediate issue" even need a fix? What
| problem was it causing, other than making Microsoft look
| bad by showing that the real problem exists? Imagine if a
| file sharing site said they'd scan all uploads for viruses,
| but it turns out they weren't, which someone discovered by
| uploading EICAR. Should the site hardcode a check to block
| EICAR until they actually get virus scanning working?
| freeone3000 wrote:
| > What problem was it causing, other than making
| Microsoft look bad by showing that the real problem
| exists?
|
| That's the real problem. The issue is that Microsoft
| looks bad. The problem was solved by making Microsoft not
| look as bad. Verbatim output of inputs is not a problem,
| it's an understood property of the model.
| foxfluff wrote:
| > Verbatim output of inputs is not a problem
|
| So wait, was the obvious copyright elephant in the room
| solved somehow?
|
| > The issue is that Microsoft looks bad. The problem was
| solved by making Microsoft not look as bad.
|
| Depending on who you ask, adding a hack like this in an
| attempt to make them not look as bad just makes it look
| worse. Especially when the hack is discovered.
| freeone3000 wrote:
| Try getting a non-technical person to understand this
| issue beyond the level of "okay, so it output some
| copyrighted code, then they blocked that code from being
| output. Sounds like they fixed it". That's the obvious PR
| angle, and once the big, widely-publicized issue is
| fixed, it's hard to get another article with that much
| traction. Besides, if another snippet becomes popular, it
| can be blocked the same way. The issue is fundamentally a
| PR one, not a copyright one, since the responsibility for
| using or not using the code relies on the end-user.
| GitHub has the rights to use your code for training.
| Smaug123 wrote:
| I don't think there's any technical knowledge needed
| here; the concepts are common ones. "There was a big hoo-
| hah about how it used to output a certain well-known
| piece of code in possible violation of its licence. They
| fixed it by blocking any output that includes the name of
| that exact paragraph of code. In particular, it can still
| output other code from the same codebase with the same
| licence; just not that particular paragraph."
|
| The direct analogy would be trying to stop it from
| outputting The Lord of the Rings by blocking the phrase
| "a long-expected party" (the title of its first chapter).
| Causality1 wrote:
| Even if you explicitly forbid it in your license?
| moyix wrote:
| I believe the argument from GitHub is that using public
| code as training data for machine learning falls under
| fair use [1]. If something is found to be fair use then
| (as far as I understand) copyright does not apply at all,
| and hence terms in the license do not make a difference.
| It is not clear whether this argument will stand up if
| tested in court (fair use is an affirmative defense, so
| something cannot actually definitively be said to be fair
| use until someone is accused of copyright violation and a
| judge rules that it actually is fair use).
|
| That said, at the very least it seems like it would be
| _rude_ to include code in the training data if the
| developer has expressly said they don 't want that.
|
| [1] From their FAQ: "Training machine learning models on
| publicly available data is considered fair use across the
| machine learning community."
| TeMPOraL wrote:
| I hope it'll get tested in court soon and ruled against
| GitHub/Microsoft - because otherwise this will mean that
| Copilot and other GPT-3-like models become perfect
| copyright laundering machines.
| foxfluff wrote:
| > The issue is fundamentally a PR one, not a copyright
| one, since the responsibility for using or not using the
| code relies on the end-user.
|
| Copilot's FAQ says this (under heading _Who owns the code
| GitHub Copilot helps me write?_ ): "GitHub Copilot is a
| tool, like a compiler or a pen. The suggestions GitHub
| Copilot generates, and the code you write with its help,
| _belong to you_ , and you are responsible for it."
|
| They are essentially affirming that the output is not
| covered by someone else's copyright, but that is far from
| clear.
|
| And I think it is precisely the copyright issue that
| turned this into a PR issue. Verbatim copies are just a
| very obvious demonstration of the copyright issue. The
| issue isn't gone when they filter out this specific
| snippet; the people who are concerned about copyright
| issues are going to remain concerned.
|
| > GitHub has the rights to use your code for training.
|
| Sure, but that's not at all the same as saying that the
| output produced by the AI free of copyright issues.
| That's kind of orthogonal.
| [deleted]
| sevenproxies wrote:
| A guide for reading this Twitter page.
|
| 1. Start at the bottom of the posts by the author (just above the
| "More Tweets" section).
|
| 2. Find the post that mentions q_rsqrt.
|
| 3. work you're way up the page, and though the "Show this thread"
| buttons to try and gleam some semi-chorological sense of context
|
| Anyone got a better method?
| wizzwizz4 wrote:
| Just read it on a Nitter instance. For example,
| https://nitter.net/moyix/status/1433261377125326851. (Hacker
| News: please pick another instance to avoid DOSing Nitter.)
| sodality2 wrote:
| Hint: Replace the instance name with "twiiit.com" and it
| automatically redirects to a random, online instance.
|
| https://twiiit.com/
| nanis wrote:
| https://threadreaderapp.com/thread/1433254293352730628.html
|
| The incessant quote-tweeting in a thread does make it
| unnecessarily complicated though.
| okamiueru wrote:
| My approach, although incompatible, is to simply not use
| twitter for things it is really bad at. I'm happy with missing
| out.
| numpad0 wrote:
| Not sure if I'm making any contribution but here's togetter
| aggregation[1]. Wondered why they don't have English
| counterpart and found it[2] had to shut down few years ago. I
| guess Twitter didn't like it at all.
|
| 1: https://togetter.com/li/1769757
|
| 2: https://chirpstory.com/
| moyix wrote:
| The way twitter refuses to show you the actual tweet someone
| linked to in the middle of a thread is super-annoying. One
| thing that can help a little bit (on the desktop version at
| least) is to load the URL without the referer (i.e., highlight
| the URL bar and hit enter). It seems to use the presence of a
| referer as signal to hide the tweet you want to see (???).
|
| But ThreadReaderApp is also a good alternative to just bypass
| the bad UI entirely.
|
| Unfortunately I don't really have time for dedicated blogging
| any more, so I just post small bits to twitter as I go. Which
| is why putting together the full story required a bunch of QTs
| of threads from the past week...
| throwawaybutwhy wrote:
| Any hope of putting up a gist on pastebin?
| moyix wrote:
| A gist of what? The slur list? That's already on my
| website:
|
| https://moyix.net/~moyix/copilot_slurs_rot13.txt
| Nexxxeh wrote:
| I assume they mean a more readable version of the content
| from the Twitter thread, rather than just the list. I
| could be wrong though.
|
| Twitter's readability is really hit and miss, depending
| on client and logged in or not etc.
| nightpool wrote:
| Just click on the first post, and ignore the "More Tweets"
| section--it'll show the entire thread in order.
| nightcracker wrote:
| Other slurs include "man", "woman", "israel", "socialism" and
| "communist".
| scarby2 wrote:
| Snigger is the one that gets me. Like I get it they're close
| to/contain a racial slur but still, I snigger at things all the
| time... But then I also can't think about why it would be in my
| source code
| aaaaaaaaaaab wrote:
| And "immigration" lol.
| baybal2 wrote:
| On other hand, it's a very honest list of pretty much all big
| pain points of the Western society.
| chakkepolja wrote:
| I physically laughed.
| deaddodo wrote:
| Sure, if you ignore the 90% or so of just generally
| offensive slurs.
| redis_mlc wrote:
| Yet walls prevent immigration from being pain points.
| temp8964 wrote:
| Add "male" and "female".
| azalemeth wrote:
| Not to mention "genders"
| shadowgovt wrote:
| They probably seeded it from one of the available online
| keyword sets, possibly even one Microsoft has generated from
| its online gaming services.
|
| Those lists will sometimes end up with surprising content
| because they are populated by a predictive model with an
| optimization function around "When this word shows up in
| conversation, is it going to lead to someone having to step in
| to moderate the chat?"
| Y_Y wrote:
| I'd like to see what such an approach produces. I think apart
| from classic tabboo words you'd get stuff like "ur mom" and
| "no fair, aimbotter".
| GuB-42 wrote:
| "man" is a slur?
|
| I guess they don't like UNIX-style documentation.
| Y_Y wrote:
| Uncensored list of all (but two) words:
|
| http://hastebin.com/raw/usisabijax
|
| zigabo zipper heads zipper head suckmyass suckmytit ethnicities
| lesbians lovejuice slopeheads bumsuckers junglebunny freakyfucker
| gangbanger gangbanged pricktease niggerhead niggerhole dunecoons
| dickforbrains eyeties slavery sliteye queefing vagina wetback
| velcro heads velcro head arselick hairpie whores asslover wigger
| ladyboys woolly woofter woolly woofters woofta asslicks womenn
| sniggered murderers wanker wazzak doggiestyle asslickers
| asslicking pisswhacker burrheads q rsqrt cockcowboy xrated
| numbnuts lickmydik lickmydic shemale carpetmuncher assblaster
| cocklicker qrsqrt queefs facefuck reffos retard rapist terrorists
| dickweeds chickslick gangbang slopehead slutty dickbrain
| fuckingbitch souties jiggaboos soutie skanks skanky skanck
| fuckfriend snigger spicks spaffs muffdives muffdiver titjob
| socialists honkies tranny skankier twaats sluttishness murder
| muzzie gangbanging gangbangers shortfuck master race macaca
| faggiest negroes faggoted faggotry faggotly moolie mofoes hiscock
| velcroheads minges neonazi skankee skankey negroe negros
| cuntsucker niiger niguro niglet nignog nigguh niggur niggle
| niggaz niggas niggah niggor nigger nigg4h nigg3r nigerz nigers
| nlggor nlgger skumbag feltcher whorehouse slutwhore sluttiest
| felching prickteaser prickteases n1gg4h n1gg3r pogger polack
| motherlovebone pikeys pillow biters pillow biter niggling
| niggards packie dumbass israel nancyboy iblowu injuns indian
| givers indian giver l3itch jungle bunny jungle bunnies nignogs
| nigguhs nigguhz niggles niggled niggard niggers rodgered
| masterbaiter fingerfucker fingerfucked holocaust enculeur jewboy
| bungholes homosexual towelheads jizzum jizzim jigger jiggas
| wuzzocks anklespankers kaffer kaffir kafirs fuckmonkey fuckmehard
| lubras terrorism terrorist lesbos lezbos lezzes lezzer lezzie
| skinhead dickwad dicking camwhores dycktrickles pisswhackers
| cumbuckets eyetie ethnic socialist wuzzock chuffers assklown
| fuckin fister flydie flydye fatass spaffing faggit faggot fagg0t
| fagg1t rodgering female feltch gyppie bumblefuck ghetto monkey
| ghetto monkeys cockteasers azzhole gippos ginzos godamn goatse
| crackpipe arselickers arselicking gender twatting mastrabator
| tasmaniacs hymies pornographic honkie honkey hitler assman antifa
| fingerfuckers fingerfucking footfucker muffindiver milfhunter
| genocide buggerise buggerize buggeries buggering buceta bugger
| blacks biatch boston pancakes boston pancake feltching beaver
| cleavers beaver cleaver banana bender banana benders buttfuckers
| nutfucker cunntt cummer cucked clunge battyboys clitoris chuffs
| chinky chinks choads chodes coolie commie asskissers asseater
| carpet munchers carpet muncher w00se whoar whore yamyams wh0re
| wh00r willy woofter willy woofters woggs woman women sniggers
| asskickers jewboys quims queef reffo races slant eye slant eyes
| sluts slutt slutz smack tards smack heads smack head smack tard
| skank sexes seppo schit spics spick spiks spaff towel heads towel
| head taigs trans twots twats twaat mutha fukker mutha fukkah
| mutha fucker mutha fuker mutha fukah males malee mofos milfs
| minge nastt nazis nancy boy nancy boys negro niigr nigur nigre
| nigra niggz niggs nigga nooky ofays n1g3r polak polac porch
| monkey porch monkies porch monkeys porno povvy phuck pikey penis
| pedos pakie pakis packi packy dumass injun jesus sauce jesus
| krispies jesus milk jebus jizim jisim jiggy jigga kykes kafir
| kikes lubra lesbo lezes lezbo lezzy diaper heads diaper head
| cumbucket cumbubble eatme fudge packer fudge packers fucka fucck
| faigs fag1t fagot faggy fagit faget felch gyppo gyppy gheys gunts
| girls gippo ginzo goyim gooks darkies hussy hymie hebes hoore
| honky homos ankle spankers ankle spanker bungs black people black
| peoplee bints batty bwoys batty boy batty men batty man batty
| boys batty bwoy donkey shows donkey show cunny cunts cuntz cucks
| clits crack whore chuff chink choad chode coons camel jockey
| camel humper camel humpers camel jockeys dykes dirsa dinks darkie
| darky dagos derka derka death to dagoes gollywoggs sandmonkeys
| asswipe asslick asshore asskiss assfuck assface bumsucker
| diaperheads chinawomen chinawoman homosexuals doggystyle
| zipperheads mastrbater japcrap skankbitch asspirate asspacker
| transgendered skankwhore buttlicked buttlicker buttlickin cunnies
| cumfest cumshot cucking assclown asswipes asswiped titlicker
| snownigger ladyboy clunges assranger asswhore dycktrickle genders
| spermherder faggoting assmonkey titfuckin titfucker sonofbitch
| hussies asslicker asslicked asslickin raghead whigger lesboes
| lesbian lezboes lezzers lezzies rapists chuffed chuffer
| facefucker butthurt buttlick buttbang buttface buttfuck skinheads
| bogtrotters cocknob transsexual cojones coolies cohones commies
| towelhead smackheads moolies pickaninny burrhead lovepistol
| smacktards arselicker arselicked tasmaniac buggered asskisser
| asskicker liberal mingita minging cocksmoker assjockey loverocket
| makwerekwere pickaninnie cocksucker cocksucked cocksuckin
| asseating asseaters bogirish bigbastard fascists neonazis
| dickweed dickwads dickless dicklick fastfuck camelhumpers
| balllicker assfucker wooftas woofter pimpjuic buttfucker cumqueen
| sniggering lovegoo lovegun ragheads gangbangs nutsack arseeating
| homobangers asscowboy timbernigger apartheid cuckservative
| woollywoofters nancyboys freakfuck asswiping assbagger
| nationality lovebone niggaracci niggarding dicklicker wankstain
| cockteases cockteaser wankshaft yamyam fistfucked fistfucker
| assmunch wazzaks wazzack wazzock fuckfreak bananabenders
| shitfucker smacktard smackhead junglebunnies fistfuck
| beatyourmeat wankshafts diaperhead wankstains felcher cockblock
| femalee females cocklover cocktease cockrider cockqueen dumbasses
| dumbbitch prickteasers cocksmith buggers buggery williewanker
| headfuck bumfuck faggotings shiteater mingebags buggerizes
| buggerized buggerises buggerised anklespanker faggoty faggots
| fagging faggies faggier candyasses fascist fatfuck sliteyes bog
| irish bog trotters bog trotter boy blm bum sucker bum suckers gay
| god damned goy fag fur pie fur pies leb lez kkk jap jew jui ch
| nig nog nig nogs neo nazis neo nazi men man sex she males she
| male rag heads rag head wet backs wet back wog yid yam yam yam
| yams nastyslut fuckknob fucktard fuckhead fuckable fuckfest
| mingitas mingebag pornography slanteyes muffdive muffdove muzzies
| bulldykes bulldikes jailbaits buttlicks buttmunch immigrant
| tarbaby chinkies chinaman chinamen crackwhore wazzocks wazzacks
| palestine whiskeydick bogtrotter kumbubble girlcam pedophile
| spaghettinigger golliwog gollywog immigrants slanteye jailbait
| genocides golliwoggs buttmuncher cuntlicking beefcurtains
| limpdick hotpussy fuckpig fuckher fuckbag liberals titfuck
| funfuck mufflikcer chankoro poofters poofthas kissasses
| cockblocker eatpussy eatballs jigaboo jiggabo hairpies easyslut
| sandnigger cuntlicker buggeration goddamns goddamit sandmonkey
| godammit buggerizing buggerising fudgepackers fistfucking
| whorefucker cherrypopper jijjiboo suckoff suicide fingerfuck
| cumjockey spermhearder analannie muffdivers muffdiving likmydic
| likmydik spaffed ethnicity camwhore datnigga assmuncher bunghole
| be killed be shot cuntfucker goddamnit goddamned goddamnes
| goddammit fudgepacker arselicks sonofabitch goddamnmuthafucker
| cocksucking cocksuckers transgender <haqrpbqrq:272617466>
| cumguzzler candyass arschloch whitetrash zipperhead cuntlick
| cuntfuck cunteyed carpetmunchers woollywoofter pickaninnies
| wetbacks kissass badfuck bazooms trailertrash shitfuck shitdick
| gaymuthafuckinwhore pimpjuice bulldyke bulldike lovemuscle
| fatfucker suckdick whitenigger communist bearded clams bearded
| clam beatoff pedophiles pedophilia holestuffer cleveland steamer
| cleveland steamers goddamn footfuck twatted twinkie asspuppies
| murderer dunecoon boiolas skankybitch skankiest skankfuck
| skankywhore suckmydick fannyfucker ballsack cumguzzlers cocksuck
| cocksman niggardliness dink dune coons dune coon dyke coon cock
| sucker cono clit cuck cunt beef curtains beat off boys bint burr
| heads burr head butt licker butt licked butt lickin butt fucker
| butt licks butt lickers butt licking butt fuckers butt bang butt
| fuck butt lick bung hoer hoar homo hoor hore hair pie hair pies
| head job head jobs hebe gang banger gang banged gang bangs gang
| banging gang bangers gang bang gays gaza gook gizz give head girl
| gunt ghey fags fagz faig h0re h0ar h00r g00k lebs lady boy lady
| boys kike kill someone kill you kill yourself knob jockey koon
| kawk klan kyke jiss jism jizz jizm jail baits jail bait japs jews
| paky paki pedo pink tacos pink oboe pink taco phuq porn n1gr ofay
| nigg nigr nigs nigz nazi milf mofo meat wallet meat wallets male
| twat twot taig spik spic sand monkey sand monkeys skum skin
| colors skin color shat slut slit eye slit eyes rape race quim
| cameljockeys wazz wank wogs wogg kaffirs kaffers golliwogs
| golliwogg yids buttlicking buttlickers gollywogg gollywogs
| givehead velcrohead communists niggarded niggardly nigglings
| woofters cybersex trannie porchmonkeys porchmonkies bananabender
| dixiedyke dixiedike jizjuice whiskydick unfuckable girlcams
| sluttier slutting sluttish slutwear <haqrpbqrq:867567715>
| jigaboos camelhumper jiggaboo shemales bazongas cameljockey
| porchmonkey givemehead povvies queefed polacks poofter pooftha
| poonani nastywhore fuckwhore nastybitch battyboy battymen
| battyman immigration poorwhitetrash fuckbuddy
| noahth wrote:
| better to let those who want to see the list decode it
| themselves, than potentially expose someone to language that
| could deeply upset them. It's decisions like this that help
| make spaces like this unwelcoming to marginalized people.
| tjpnz wrote:
| Then don't read it.
| deaddodo wrote:
| Seriously.
| rightbyte wrote:
| Clam, donkey, velcro? I guess that ban list might be quite
| annoying if using Copilot ...
| arianon wrote:
| Seems like line separators were lost (or were deliberately
| removed) when Y_Y pasted the contents of the hastebin. I
| realized this after I did a double-take on the word
| "cleveland."
| Y_Y wrote:
| Correct. I actually pasted it with line breaks, but hn will
| remove them unless you have two breaks together. Everything
| on separate lines would have been too big. It's not too
| hard to guess where the words separate, though there are
| some funny close calls, like "communist bearded" and others
| that I shan't type.
| 1_player wrote:
| Also `terroris(m|t)`, `ethnic`, `immigration`, `genocide`,
| `israel`, `boys`, `female` and `females` (there's surely
| more)
| [deleted]
| jimmaswell wrote:
| why pink?
|
| no "head" will be unfortunate for data structures
| dannyw wrote:
| What are the two words not here?
|
| Seems like you're going to get issues with code or comments
| describing race conditions, if race is a slur.
| Smaug123 wrote:
| > What are the two words not here?
|
| Unknown as of the posting of the Twitter thread.
| jhgb wrote:
| Position-independent executables also seem to be naughty.
| [deleted]
| mah3sh wrote:
| What's <haqrpbqrq:867567715>? Cant find anything if I search
| kaszanka wrote:
| rot13("<undecoded:867567715>")
| Freak_NL wrote:
| 'ch' raises an eyebrow.
|
| Edit: mah3sh noted the weird '<haqrpbqrq:867567715>' just
| before me.
| moyix wrote:
| There are a few in there that are probably collisions rather
| than the "real" words (it's only a 32-bit hash so there are a
| lot of collisions). "jui ch" and "w00se" are two that I'm
| pretty sure are not correct but I don't have a more plausible
| alternative for them right now. And "po" and "n1" turn out to
| collide, which makes "pogger" rather less innocuous than I
| thought at first.
|
| I am actually hoping that they will change the hash function
| as that would give me an easy way to detect which ones are
| real and which are collisions ;)
| gjs278 wrote:
| best comment on HN ive ever seen
___________________________________________________________________
(page generated 2021-09-04 23:00 UTC)