This was not the most significant or important update for the mothbox, but it’s one I think is quite fun! It’s also quite useful if you are trying to work with many versions of a project you are building and want to keep track of them in a way that also keeps you somewhat sane.
It works like this:
Given a unique string (like a serial number) it outputs a compound word that’s easier for humans to recall and label.
For instance, what’s easier to deal with in a team:
- A) “The buck converter burnt out on 7184bc7e, and mbc8z3eff needs a new SD card”
- B) “Replace the black light on LimpCaiman, and format the SD card for CoolJirafa”
You can also control the max length of your labels or number of compound words the string is made from depending on how much complexity vs. compactness you need. You can also select words in English, Spanish, or for extra complexity in a multi-lingual team, Spanglish mixtures.
Motivation
There are several other better libraries for generating unique names and labels out there, but many are for things like
- Generating human-like names like “Andy Quatmeyer”
- Generating Pass-phrases that are pretty long like “blue-dog-sitting-walrus-chomping-slurp-goldfish-zebra”
- only in one language
- way too small of wordlists (only top 100 words)
- words not separated into parts of speech (just random words)
- not enough cool animal words
I wanted something that would work for our english and spanish speaking crew on the mothbox project, and i tried bundling this up a bit to share with others so they wouldn’t have to compile a big wordlist like this yourself.
Usage
Filter the database
The main thing of value here is that there is I compiled an spreadsheet with a list of common english and spanish nouns, verbs, adjectives, and animals. It also has a built in filter letting you choose the max word length for making your compound label.
Just choose how long you want the longest words it chooses to be, and you can see the stats on how many unique combos will come out of this.
We are planning on making like 100 projects deployed on a raspberry pi, and wanted short catchy labels, so we don’t REALLY need that much uniqueness (1 million combos should be fine). So we only chose 2 word names with a max word length of 6 letters.
MAX WORDLENGTH | 2 word combos | if 3 word combos | ||||
---|---|---|---|---|---|---|
6 | ENGLISH COMBOS | Spanish Combos | Spanglish Combos | Spanish OR English Combos | ENGLISH COMBOS | Spanish Combos |
Total Unique words | 184,680 | 250,400 | 1,154,444 | 435,080 | 24,591,168 | 14,664,000 |
Someone can totally make a fully programmatic way to choose your combos instead of this janky excel sheet, and we can update this git repo with that!
Do Some coding
I didn’t really provide a full example, but the original mothbox script i have it in is included, and I also made a stripped down version of that python file that has just the key functions that handle a csv and generate a consistent unique name.
Again, you can totally make some scripts and contribute to this repo!
Sources
I compiled my wordlists from these sources, cleaned them up, got rid of weird formatting, and sorted them into categories
Ajectives zoo-ids/src/adjectives.ts at master · bryanmylee/zoo-ids · GitHub
Animales corpora_es/data/animales/animales.json at master · Contraculto/corpora_es · GitHub
Animales 2 Wikiproyecto:Animales/Lista - Wikipedia, la enciclopedia libre
Ajectivos Apéndice:1000 palabras básicas en español - Wikcionario, el diccionario libre
Animales3 Inglés/Vocabulario/Animales - Wikilibros
Verbs List of Verbs: 1000+ Common Verbs List with Examples • 7ESL