Does anybody have resources relating to using correct-battery-horse-staple style random word picking from a large dictionary as identifiers? And, like, length/dictionary-size/count factors regarding chance of collisions? I think I'm doing my math right, but I'm outside my confidence zone with it.
I'm considering a situation which I think is pretty common: I'm likely to have a lot of things, I don't want to use database auto-increment IDs for well-known reasons, but UUIDs are both overkill and pretty human unfriendly (e.g. to read over the phone to support, say).
And I thought: What if the ID of your thing was disclose-puzzle-eccentric-outlet-darken-pot
or something.
Tangent, I would personally lean towards also making this ID a pseudo-URI and just use the n-words as the final bit, but that's a pretty big tangent.
@benhamill don't make a pseudo-URI, make a tag: URI or urn:fdc: URI, which is the same thing but not pseudo-
@benhamill for opaque identifiers, my preference is a short Crockford Base32 number <https://www.crockford.com/base32.html> with checksum to catch transcription errors, but i can’t recommend tooling for keeping track of this (or a longer correct-horse-battery-staple kind)
if you’re namespacing these identifiers with domains and dates (as tag: / urn:fdc: requires), the problem of preventing collisions can at least be made pretty small
@benhamill https://www.rfc-editor.org/rfc/rfc4198.html
same idea, slightly different syntax
@benhamill the main practical difference between the two is that tag: URIs have a larger set of allowed characters, which can be good or bad depending on context
@benhamill (notably they can contain slashes and must contain a comma)
@Lady Thanks!