Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

So what are both "ionic" and "tonic" in the same dictionary for a human readable entropy library?


EFF has a new wordlist which can be used for things like this. It focuses on phonetic and spelling differences across each word so that this doesn't happen, plus it prevents words from "duplicating" when you combine them (ie the two words `in put` and `input` being the same).

https://www.eff.org/deeplinks/2016/07/new-wordlists-random-p...


This is awesome. I had no idea my EFF money was doing great things like this in addition to fighting for net freedom :)


Nice! As I started reading about it, I idly wondered if they talked to Marc Brysbaert, who is very serious about researching which words people know. And the answer is yes, they did.


That's fantastic. My only complaint is that none of the lists' lengths are a power of two, but that's easily fixed by truncating one.


Good question. I'm the author of that library and I can say I just borrowed the word list from another project.

Luckily, that library only cares that you get the first three letters of each word correct, so we can update the word to 'tonsil' or 'tongue' without breaking compatibility.


Using ngram or part-of-speech data could create better mnemonics: https://rmmh.github.io/abbrase/

Filtering the list to require a minimum edit distance of 2 or 3 would be quite easy, too!


Ya, it seems like trying to choose words that are hard to mistake for each other (high lev distance, and perhaps also considering letter similarity) would be a very good idea for selecting a dictionary like this.

I wonder what the original process was?


I've used PGP Words - https://en.wikipedia.org/wiki/PGP_word_list - "which are carefully chosen for their phonetic distinctiveness". There is also a "parity" feature to catch simple errors.

My application was pass phrases to be read over the phone, but it seems generally useful whenever you want to avoid confusing two words in the set.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: