5 ms·
UTF-8 v9.0 contains 1085 emoji, that should be even easier to compare than random symbols.
by lucaspiller 10y ago
UTF-8 v9.0 contains 1085 emoji, that should be even easier to compare than random symbols.
- sleepychu 10y agoI'm not sure if you're sincere but I don't think emoji would be easier to compare. +Might be less friendly to screen reader users?
- avisser 10y agoI hate to say it, but comparing two, long hash values via a screen reader doesn't seem viable for humans, regardless of emoji. Maybe an auralizer to turn the hash into a short piece of music?
- JulianMorrison 10y agoSee my above example from urbit. They are something a screen reader would clearly read differently for different values, if not comprehensibly.
- masklinn 10y ago> I'm not sure if you're sincere but I don't think emoji would be easier to compare. The point is to leverage human pattern matching so you want short-ish figures with large differences. Each hex digits is 4 bits, but each emoji is 10 bits, a 128 bits key is 13 emoji which is significantly more eyeballable than 32 hex digits, and chances are you'll notice EGGPLANT being replaced by CAMERA in 13 pictures easier than you'd notice B being replaced by 8 in 32 characters.
- lmm 10y ago> Each hex digits is 4 bits, but each emoji is 10 bits, a 128 bits key is 13 emoji which is significantly more eyeballable than 32 hex digits, and chances are you'll notice EGGPLANT being replaced by CAMERA in 13 pictures easier than you'd notice B being replaced by 8 in 32 characters. Compare like with like - what are the two most similar emoji from that set of 2^10 ?
- masklinn 10y agoOther possible alternatives (somewhat more limited in number so longer strings) would be box drawing characters[0] or game blocks (mahjong[1], tiles[2] or cards[3]). [0] https://en.wikipedia.org/wiki/Box_Drawing https://en.wikipedia.org/wiki/Box_Drawing [1] https://en.wikipedia.org/wiki/Mahjong_Tiles_(Unicode_block) https://en.wikipedia.org/wiki/Mahjong_Tiles_(Unicode_block) [2] https://en.wikipedia.org/wiki/Domino_Tiles https://en.wikipedia.org/wiki/Domino_Tiles [3] https://en.wikipedia.org/wiki/Playing_cards_in_Unicode#Playing_cards_deck https://en.wikipedia.org/wiki/Playing_cards_in_Unicode#Playi...
- JulianMorrison 10y agoI think emoji would be hard to compare. A lot of very similar little faces. Is that a wink or a blink or a frown? An example of urbit's rendering of a 128-bit number into textual form is "racmus-mollen-fallyt-linpex--watres-sibbur-modlux-rinmex". While it might be gibberish, it's gibberish that even a screen-reader program could take a swing at, and humans can easily read.
- yarvin9 10y agoA similar design is Proquint, which IPFS uses: https://www.npmjs.com/package/proquint https://www.npmjs.com/package/proquint Proquint (5 letters per 16 bits) is tighter than Urbit's `@p` (6 letters per 16 bits). The Urbit form was designed for synthetic names and restricts itself to phonemes that sound comfortable and natural to English speakers. (Not to say that English should be the universal language, it's actually a terrible language to make everyone learn, just that it is.) Word lists work reasonably well, but they're quite bulky and they don't take advantage of the human hardware accelerator for learning new words. When you have a GPU, use it. These kinds of synthetic strings also make great passwords, BTW. (Disclaimer: Urbit guy here.)
- JulianMorrison 10y agoProquint example for comparison: "pokak-fijus-zavaz-posuf-bizar-luhuf-kulor-marak".
- jcranmer 10y agoIf you want to make a more universal phoneme-generator, the basic contours of a nearly-universal [1] phonotactics is as follows: * Strict CV syllable scheme. * Atonal * Consonants distinguished only by voiced/voiceless (Chinese, e.g., doesn't do a voicing distinction, but switching to an aspiration distinction would suffice for them) * 5 vowels: a, e, i, o, u (actual vowel quality may vary; every language that has at least 5 vowels has these 5 vowels) (some languages, particularly indigenous languages in North America, have 3 or 4 vowels, but the intersection yields too few vowels). * Consonants are harder to inventory. /p/, /t/, /k/, /m/, /n/ are nearly universal, and /b/, /g/, /d/, /s/, /z/ are also quite common. The IPA /j/ (that's the 'y' in 'ya' for English speakers), /w/ (pronounced as you'd think in English) are pretty common semi-vowels. Maybe /l/, /ʃ/, /ʒ/ as well, should you need more consonants. That gives you 25-75 plausible syllables, depending on how many consonants you go with. [1] If you go by least common denominator, you end up with maybe 1 vowel and no consonants (there's no consonant phoneme present in every language IIRC).
- jcranmer 10y agoIf you don't have a font that contains those emoji, you'll get either blocks of ??????? or little square blocks containing difficult-to-see numbers in them. Do Debian or any of the *BSDs yet default to including a font that supports emoji?