Proquints: Identifiers That Are Readable, Spellable, and Pronounceable (2009)
arxiv.org
arxiv.org
“There are 6 unambiguous 1-letter vowels”―since when are vowels in English unambiguous? English writing should properly be classified as logographic, since you can't know how a word is pronounced from its spelling, or vice-versa.
Has the author ever communicated his own middle and last names in a phone call? A big benefit of numeric identifiers in the first place is that it's easier to dictate them without error. Even in my native phonemic language, with words or letters it's too often back to the Folks' Phonetic Alphabet: “No, D as in Dmitry.”
Take their example "gutuk-bisog." The second 'u' could easily have a schwa sound.
Now imagine someone pronounces that string over the phone. The recipient then asks the speaker if that vowel is one of [eauo]. Now the speaker's brain uncontrollably fits whatever wrong letter the recipient utters into the slot to realize the ambiguity.
Now the recipient had better hope the speaker just hard-coded "second vowel is 'u'" into their memory. Because there's no other information to resolve the ambiguity.
Yet how would the speaker have known ahead of time to do that?
This could still work in situations with some kind of error correction. Like "read your user ID" where gutuk-bisog is a valid user id but (e.g.) gutak-bisog is unlikely to be.
However, the choice of letters only seems unambiguous to western speakers. In Arabic, for example, P and B sound the same, and so do V and F for most native speakers.
Just use a sane phonetic language.
When scanning a list of records by eye looking for an entry or entries, it's helpful for the identifiers to be pronounceable because that allows normal people to hold more in their short term memory than they could if the strings were all gibberish and each entry ended up consuming multiple short term memory slots in the brain. Sure, there is a tiny chance of collision but that chance is still there when scanning by eye and trying to find a GUID that starts with the first few letters of the GUID you're looking for. At that point you verify you actually have the one you want. And yes, there are lots of occassions where people look at identifiers, that's why pronounceable identifiers have value.
[2] https://github.com/google/open-location-code/wiki/Evaluation...
Not since the wretched dark sun last rose over Lusab-Babad, or the accursed sorcerer-priests of Haguz-Biram last spilled human blood on their altars, had such indescribable evil lurked in the shadows as now did amongst the filth-ridden canals and dank buttresses of Budov-Kuras, Budov-Kuras which squatted upon the forbidden ruins of Mudof-Sakat, even its name blotted from memory by the horror of its crimes.
>Debuggers could input and output memory addresses as proquints as an alternative to hex.
...but why? In debuggers, you're not concerned with memorising the address of an object as much as you are concerned with what the hell is mangling said object. There's no "value-add" for proquints, here. If you were live-debugging in a session with someone else, sure, but how often are you generally doing that?
>Network tools such as browsers, ping, netstat, traceroute, etc. could input and output proquints as an alternative to dotted quads.
Again, what is the value-add? Since I've known 4-octet IP addresses and numbers my whole life, it would take more effort to translate from proquint, to understand the output on the screen. Adding a translation layer in a cut-over fashion instead of a phased-in fashion just seems like wholly unnecessary overhead, only intended to further justify the proquint, yeah?
In native, if you're on the stack (e.g.: not using pointers), then addresses don't mean much of anything and if you're using pointers, memory optimisation means the address could mean feck-all after a cycle or two (assuming you've looking at an iDNA/TTT[1]).
So, to agree with you, who are agreeing with me: It is quite odd that this would be a principal argument for proquints.
[0] - https://github.com/lowleveldesign/debug-recipes/blob/master/...
[1] - https://docs.microsoft.com/en-us/windows-hardware/drivers/de...
That is interesting - when I designed "Oh By Codes"[1] I chose "0x" as the prefix to identify that sequence.
My entire life, every time I have seen a hex number I have pronounced the prefix in my head as "Oh By ...." - hence the name.
[1] https://0x.co