dustinkirkland / golang-petname

Apache License 2.0
213 stars 38 forks source link

Filter out potentially offensive combinations #14

Closed rafal-krypa closed 1 year ago

rafal-krypa commented 1 year ago

This may be interesting and funny, but I have just actually received holy-crappie from a call to petname.Generate(2, "-"). It happened when using random_pet Terraform resource and now I have AWS resources tagged with that interesting name. It's not a problem in a test scenario, but I'd prefer to avoid such nasty surprises in production. What do you think about adding a filter for forbidden combinations to the code? I'm not sure how long the "naughty" list would be, but it might be interesting to think about other possible examples.

dustinkirkland commented 1 year ago

Hi there!

So there is actually a "naughty" list, in the petname package above this one (python-petname) and the other one (golang-petname). See: https://github.com/dustinkirkland/petname and the debian/blacklist.txt file under that one, which every word in the dictionaries are tested against, at build time. And, yes, that list of bad words is quite long, and most would make you blush...

Generally, I'm happy to add words to the naughty list, and remove them from the usable lists (usually this happens once or twice a year -- see the changelog -- I recently removed "jackass").

But, frankly, I don't think "crappie" is really all that naughty? It's a very common type of fish (actually, my own dad's very favorite fish to catch!). I'm happy to be convinced otherwise, with overwhelming evidence to the contrary. And I'm certainly open to feedback on other words that should be removed.

Thanks! Dustin