4 ms·
I built something like this for Python[1]. To get UUID-like uniqueness requires often way too many words, even if the Shakespearean-style might make this easier
by orf 6y ago
I built something like this for Python[1]. To get UUID-like uniqueness requires often way too many words, even if the Shakespearean-style might make this easier to remember (but also increadibly difficult for non-native speakers to understand).
For human-id I just went with groups of the 100 most common adjetives, nouns and verbs combined together in roughly the order they would appear in a sentence.
The output is nonsenese, of course, but I hope the combination of words understandable to anyone with a basic knowlegde of English might help.
1. https://github.com/orf/human_id https://github.com/orf/human_id
- debdut 6y agoGreat man!
- orf 6y ago> Great man! Why don't you port uuid-readable to python? It creates a meaningful grammatically correct sentence and is a UUID, 128 bits of information I personally don't think the gramatically correct sentence helps here. To me, "may-hold-come-foreign-low-white-cold-team-point-study-others-home-service-body-child" and "Cathleen d Dieball the Monolith of Alderson reflects Arly Arnie Keenan and 18 large ants" Are equally poor representations of a UUID. Typically "human IDs" are useful for quick recognition or transferring over "voice" which neither of these approaches work well with (I'm biased, but IMO the first one is better for transferring over voice due to simpler words). Human IDs shine when you have a comparitively tiny set of "things", like nodes in a cluster or Docker containers, and humans are heavily involved with accessing them. In this case a UUID is overkill but you want the UUID like gaurantees of universal uniqueness combined with more human recognizable identifiers. An ID like "appear-hard-idea-case" is good because it nets you a high number of unique names but is also short enough to remember and speak aloud with a high probability that someone listening to you can type it out, word for word, with no issue. tl;dr - never be in a position to need to have to "speak" or memorize a UUID.
- debdut 6y agoGrammatically correct gives us an edge on remembering. I made this because, I wanted to share secrets for a service, that don't collide and Shakespeare plus grammatically correct sentences are cool while UUIDs and random words are not!
- simias 6y agoI'm not sure I understand, while I can follow the logic that grammatically correct might make in easier to remember, doesn't using uncommon vocabulary and, by modern standards, strange structure defeat the whole point? From the page: > Jacquette Brandtr Johm the Pectus of Barnsdall doubted Glenn Gay Gregg and 12 noisy stoats As a non-native English speaker Brandtr doesn't look like an English word, Johm looks like a typo, Jacquette looks French (and contains a cluster of four letters for a single k sound) and I wasn't sure what a stoat was (my first guess was a type of goat). I definitely find orf's version a lot more practical.
- debdut 6y agoIts the order that fits the mind, when you delete the order it's impossible to remember
- gerdesj 6y ago"Jacquette Brandtr Johm" is a person's name. English (usually) only capitalizes proper nouns - https://en.wikipedia.org/wiki/Proper_noun_and_common_noun https://en.wikipedia.org/wiki/Proper_noun_and_common_noun. A stoat is one of these: https://en.wikipedia.org/wiki/Stoat https://en.wikipedia.org/wiki/Stoat
- simias 6y agoSure, my point is that IMO they're not very memorable or real-looking names. "Elisabeth Brown Presley" feels a lot more natural and memorable than "Jacquette Brandtr Johm", at least as far I'm concerned.
- 6y ago
- technofiend 6y agoI did something like this to autogenerate host names. Then a colleague pointed out he'd done the same using dict words and got in some hot water due to politically incorrect combinations. I punted and used the output of ls /etc, /bin and /usr/bin, so hostnames end up like ifconfig-du-passwd instead. This is just temporary to make them slightly easier to read and parse as a human until we map serial number to asset name and then use that.
- wutbrodo 6y ago> Then a colleague pointed out he'd done the same using dict words and got in some hot water due to politically incorrect combinations. That's pretty hilarious
- njovin 6y agoDid something similar for a chat app and the first week we released it had an angry support call asking why we’d labeled one of their customers “bloated sloth” (I don’t recall the exact adjective-animal combo but it was similar). This is what happens when engineers try to be playful.