TLDR; My dad and I Made some letter blocks for my daughter.
You will need to excuse my paint job I seriously underestimated much clear coat the soft wood would absorb before it was smooth enough to fill the letter engraves with color.
Longer story
Started with my dad making 26 cube blocks over thanksgiving.
We wanted to engrave letters on the blocks and were not finding any good recommendations for what letters we should have.
So we asked the question how many english words are there.
So I did a quick search and found this dictionary of 466,000 words GitHub - dwyl/english-words: đź“ť A text file containing 479k English words for all your dictionary/word-based projects e.g: auto-completion / autosuggestion
I wrote a quick check to find out how many words were less than 26 blocks. Turns out only a few wouldn’t fit with that many blocks.
So we could get a decent number of words. But we still didn’t have the actual set we needed. So I wrote a quick brute force algorithm that could get us a rough guess. It took 4 minutes to run and spat out a set where the blocks had letters on all 6 sides and we found that we could get ~95% of all words with only 26 blocks.
So since that was working so well we decided to add a couple limits since we were getting such a good result. We decided we wanted at least the full alphabet A-Z and all the numbers on the blocks 0-9. And we also wanted one side open for pictures on each block. Adding those limits to the generator brought us down to ~82% of words.
At this point I’d spent an hour or 2 writing code while cooking thanksgiving dinner. Cue a couple days of distraction eating delicious dinner. Finally we get home from visiting my parents and I have a couple hours to work on and finalize the design.
This is where it gets kinda out of hand. We were having a hard time deciding on a font and we wanted to visualize what the block sides would look like next to them. Also that 82% number was a bit depressing and my original algorithm was kinda bad. So while I was building a tool to test various fonts and images I did a quick modification to my algorithm to randomize the distribution of letters and apply the A-Z 0-9 and only 5 sides for letters and numbers. I set it to work using my gaming computer and let it run for a few hours.
While it was running I finished off this little tool so we could get an svg and test font/image combos for cutting on the glowforge.
After running the randomized face generator for a few hours I landed with 99.1% of all words on my 26 blocks.
This is my set (minus the pictures I chose for the final block sides)