The Caro-Runes (and the Steno-Runes)
Prelude
A long time ago...
Imagine a Caroline, 9 years of age, young and dumb and cuddly (she never changed). She would always ask for booklets as presents, cause that's how Caro rolls.
And indeed everyone who knew her knew it. Her mother would have gone to the shop, and bought one of these Everything You've Always Wanted to Know About
booklets about some random subject; be it the Roman Empire, Dinosaurs, Space (always a favourite), Physics; or like last year it was Linguistics.
No it did not have IPA in it, not yet at that age! But it talked about how alphabets and abirugas worked, how to create your own pidgin, and how you could shuffle around these letters quite a lot before they became unreadable to this 9 years old girl.
Sadly her family emigrated a year ago, so this year her mother could not buy these booklets for her anymore (and they were quite expensive, so even if she could she really did not have the money for it right now).
Luckely, grandma to the rescue! Well, she didn't quite get the memo; but she did her best. She bought a How to Become a Spy
booklet instead; which even at that age I remember seeing how full of bullcrap it was but it had some vague interesting bits.
This was actually my first introduction to cryptography; the booklet had some simple examples of ceasar cipher and how to crack it (hint: count the E
's!)
But whilst having some more advanced techniques as well, the booklet was clear as day about the fact that basically any cyphering technique you can perform by hand can be cracked by a simple computer running Windows XPtm.
But wait,
did 9-year old me think, didn't last year's booklet say that some amerindian first nation scripts from across the sea were still uncracked; or only partially cracked? To make a good uncrackable script one just has to think outside the box!
Now the cypher booklet had a cypher that was about shuffling the characters around (an underutilised technique perhaps?) and that reminded me about the linguistics booklets demostrating that the human brain can take quite a shuffle before it becomes unreadable.
So inspired by both booklets, I set out to make a script that worked quite unlike any other script that I had encountered yet. Originally for secret language, but I ended up just liking the shapes.
The original Caro-Runes
I am going to make a very 2023 Caroline explanation out of it...
First of all, what is a perfect script?
A perfect script is a script that allows one to uniquely identify each word with a set of shapes. For a counter-example; this text is written in English. In English, Dove
is the bird but also the past tense of diving; they are actually pronounced differently but are written the same in the English Latin script.
For an even stronger example; by default in Arabic and Hebrew the vowels are not written. In those scripts dove
and dive
and even diva
would be written the same.
Now, how far can we push this? Can we say order the letters in a word by alphabetic order, and still understand the word? ELLW ELST EES, IS HITS ILLST AABDDEEELNNRSTU?
.
Ok, maybe not; but if we had broken down that last word into DENRU-ADNST-ABEL
then some good paligram crackers might have given it a shot
Yep, these are paligrams; and what my script recorded were paligrams. Nice for plausible deniability, no?
In the later lore of the dragonfly species it was recorded that these guys explicitely loved ambiguity, uncertainty, surprises. So of course their script would not record their thoughts down to the letter; that'd be silly!
Imagine a bitfield spanning across the alphabet...
26 bits per word. If one is set, said letter is present in that word; if it is cleared then it is absent from it.
My theory was that these 26 bits were enough to identify all words, given enough context. Yes, it is very context-dependent; which is why it is kinda silly I gave it the shape of some kind of runes you could write individual ones ofon stone or wood.
I wanted a system where these words were very visibly unique characters, legible from a distance and writeable on a simple 26-segment display. Speaking of which, the humble 7-segment display became actually my inspiration.
Some more advanced segmented displays made for alphanumeric display feature cross-shapes for helping with N
, X
, ect.
If you have one of these characters with 4 boxes, you already get 12 segments (10 if you keep the two middle segments on; kinda practical to see where the segments fall and where your character starts and end).
Put cross segments from the center of the character to the outside or make a cercle out of them, you get 14 segments. Do both, and you get 18. Still short of some segments for the full alphabet, even 20 is too light.
But what if we use 6 co-joined boxes? Without crosses that makes 14 segments, and with crosses it makes exactly 26 segments!
Perfect, now we can encode the full english-language alphabet. It kinda looks like runes, doesn't it? That's not entirely accidental; I always thought the runes used their set guidelines quite inefficiently.
But yeah, needless to say, I've always loved this to bits; and used it many times for my little notes.
The steno-runes
Recently, my good friend Charlotte suggested a good improvement to it.
As it turns out, there exist a very specific subset of writing methods that happened to have the same set of requirements as these. I was already looking at syllabification algorithms but rac had a better idea.
What happened was that 🦝 was researching chorded keyboards and in the progress encountered some actual stenotype keyboards.
These are keyboards you use with two hands, writing one syllabe per stroke. The left hand presses all the consonants before a vowel, the right hand presses all consonants after the vowel, and the thumbs press the vowels.
Of course, most humans only have 10 fingers so certain rarely occuring combinations were remapped to other consonants, whereas the vowels just became a 4-bit hexadecimal phonetic prononciation.
Then some clever software (or your assistant husky) can convert these presses, which don't have any order within a word, into actual alphabetic text that makes sense.
This kinda convoluted way was designed to type faster than any human (hopefully) can speak, useful for testimonies and stuff. It is the typewriter
equivalent of shorthand, and would normally require specialised hardware weren't it for N-key rollover keyboards becoming cheap and hobbyists like rac being madlads.
But yeah, we have the same set of requirements. 22 characters with no internal order to them defining complex syllabes for the English language
It now works in (rather large) sylabes, but it always has an unambiguous meaning, using both the least amount of shapes and the least amount of strokes possible. And the system has already been optimised by countless court recorders; I just expand only to it by giving them a shape that makes sense.
Note however that I didn't directly linearly corrolate the internal order of the steno alphabet (the dreaded STKPWHRAO*EUFRPBLGTSDZ
) to the shapes, instead focussing on clear and readable shapes. So there is a bit of internal logic on in what order the strokes appear. I settled for the following system:
S/T/K/P/W/H/R/A/O/*/E/U/-F/-R/-P/-B/-L/-G/-T/-S/-D/-Z. Not totally logical, but resulting shapes make sense.
S |
T | P | H |
* |
-F | -P | -L | -T | -D |
K | W | R |
-R | -B | -G | -S | -Z |
| A | O | | E | U | |
Aap Noot Mies
In the Netherlands we use a sheet called the Aap Noot Mies
to teach children how to read. Since steno itself is pronounciation based I thought something similar might be a good fit for the steno-runes too.
In this and following demo's i have consistently tried to use red to indicate start-of-syllabes, green to indicate vowels, and blue to indicate end-of-syllables.
This sheet should be enough to decode most words, and for the rest use the excellent ressources already available on plover's github to learn more about steno. This one is nothing more than a slightly artistically unusual way to represent steno, but the existing rules should map pretty consistently to our system without much of a problem, since it has the same featureset.
Caro's stenorunes 2023 Caroline MiiFox Husky |
|
A | AO | O | -F | -R | | AEU | PW | TWAEUL |
mat | moon | got | beef | beer | a | about | actually |
T | K | E | AE | AOE | OE | -P | -B | AF | TKPWEPBS | HR-PL |
tent | kilt | fed | pear | seek | snow | tap | herb | after | against | almost |
P | W | EU | AEU | AOEU | OEU | -L | -G | APLT | TPHOER | TPHEU |
pen | wash | pit | grape | pipe | soil | mill | tag | amount | another | any |
H | R | U | AU | AOU | OU | -T | -S | TPHEUG | R- | SK |
hole | root | grump | bought | glue | mount | mat | miss | anything | are | ask |
D | B | L | C | -N | *T | -D | -Z | B | PWAEUPL | PWAUS |
dog | bone | lila | cent | ton | cloth | acid | buzz | be | became | because |
F | V | M | N | -M | -K | -J | -X | PW-BG | PW-BGS | PWPB |
fan | van | man | nurse | nam | tick | taj | tax | become | becomes | been |
G | J | Q | X | -FT | -RB | -FP | -RBS | PW-F | TKPWEUPBG | -BG |
goal | jam | qwerty | xavier | mast | cash | catch | precious |
before | beginning | being |
SC | ST | Y | Z | -FBLG | -FRPB | -BGS | -GS | PWEU | K | T-PB |
scalp | stop | yak | zeebra | edge | bench | auction | fashion | by | can | continue |
TH | WH | FR | FL | BL | *PL | *LG | -DZ |
T-PBD | KO | SKREU |
thorn | whirl | frame | flame | blunt | lamp | milk | friends | continued | could | describe |
A*EUPBT | A*EUPBT/H-PB | PWAEBG | KAU | KOE | KAUPB | TKE | TKEUS | SKREUD | TKO | EZ |
anti | anti- | back | co | co- | con | de | dis | described | do | easy |
KWROUPB | EPL | EPB | TPAUR | TPOER | HAOEURP | EUPL | EUPB | AOEPB | -FR | EFR |
down | em | en | for | fore | hyper | im | in | even | ever | every |
EUPBT | EURPBT | EUR | PHAOEURBG | PHEUD | PHEUD/H-PB | PHEUZ | TPAUPB | KP-PL | SR | SR-G |
inter | intro | ir | micro | mid | mid- | mis | non | example | have | having |
TPHA*UPB | AUPB | AOUT | AUFR | PRE | PRE* | PRO | RE | E | KWR-D | KWR-DZ |
non- | on | out | over | pre | pre- | pro | re | he | idea | ideas |
SEF | SPHEU | SAUB | SAOUP | TRAPBZ | UPB | UPBD | AUP | TP | TPH | KHRU |
self- | semi | sub | super | trans | un | under | up | if | in | include |
SKWRA | *D | -D | SKWRE | APBS | PHA*ED | PHA*EUBG | -BL | KHRUD | KHRUG | KHRUS |
a | d | ed | e | ance | made | make | able | included | including | includes |
AOEUBL | EUBL | TEUF | -G | PHA*EUG | HREUPBG | TPHEUPBG | KAO*EP/-G | TR | EU | S- |
izable | ible | tive | ing | making | ling | ening | keeping | interest | I | is |
AEUT/-G | HRAEUT/-G | TPAOEUG | AO*EUFG | PHAOEUFG | TPHAOEUZ/-G | *T | SKWREU | PHAEPB | PHOF | TPHU |
ating | ulating | ifying | izing | imizing | nizing | th | i | many | move | new |
A*L | K-L | K*L | OPBLG/K-L | HR-L | HR-LG | A*T/K-L | SAOEUD/A*L | F | OEPBL | P-PB |
al | cal | ical | ogical | logical | ological | atical | cidal | of | only | opinion |
KWRAL | AEURL | EPBL | TPHAL | PHOEPBL | HAOED/RAL | RAL | WAL | OER | OERS | O*ERZ |
ial | arial | ential | inal | monal | hedral | ural | ual | other | others | otherwise |
KWRA*PB | KWRAPB | *EUGS | A*PBL | EUPB/KWRAPB | AEURPB | TAEURPB | KWROPB | PROBL | KWE | SAOEF |
ean | ian | ician | allian | inian | arian | itarian | ion | probably | question | receive |
SH*UPB | AEUGS | KAEUGS | TPEUBG/A*EUGS | TPAEUBGS | TKAEUGS | KWRAEUGS | HRAEUGS | SAOEFD | SAEUD | S-B |
tion | ation | ication | fication | ification | dation | iation | ulation | received | said | somebody |
PHAEUGS | TPHAEUGS | RA*EUGS | SAEUGS | TAEUGS | WAEUGS | SA*EUGS | TAOEUZ/AEUGS | SPHOU | SPH-PB | SPHRAEUS |
mation | ination | ration | sation | tation | uation | ization | tization | somehow | someone | someplace |
TPHR*EBGS | EUGS | PWEUGS | TKEUGS | TEUGS | SKWRO | *ER | HO*ERLD | S-G | STAOEUPLS | SWR |
flection | ition | ibition | dition | etition | o | er | holder | something | sometimes | somewhere |
AO*ER | EUPBG/*ER | PHOPBG/*ER | KWRER | TPAO*EUR | PHA*EURBG | TA*EURBG | HRER | THA | THR | THR-FR |
eer | inger | monger | ier | ifier | maker | taker | ler | that | there | therefore |
PWHRER | TPHER | KAO*EP/*ER | PHAO*ERT | OPLT/*ER | STER | SKWREFR | O*EFR | -T | THE | TH |
bler | ener | keeper | meter | ometer | ster | ever | over | the | they | this |
S*ER | O*R | KWROR | AEUT/O*R | TPHAEUT/O*R | SEPT/O*R | -S | AES | THRU | TO | TOED |
zer | or | ior | ator | inator | ceptor | s | 's | through | to | today |
O*EFRS | -PBS | EUFPBS | *EUPBS | HR*EUPBS | SKWRUS | HRUS | OUS | TWO | URPBD | URPBGD |
overs | ness | iveness | iness | liness | us | ulus | ous | two | understand | understanding |
AEURBS | KWROUS | HREURBS | TEURBS | OR/KWROUS | EURBS | TPHOUS | ROUS | TPH-LS | POPB | SRE |
aceous | ious | licious | ticious | orious | itious | inous | rous | unless | upon | very |
TOUS | WOUS | SKWRU | KWREU | TPAOEU | HREU | PWHREU | RAEBL | WR | WHA | W-R |
tous | uous | u | y | ify | ly | ably | rably | were | what | where |
EUFL | TEUFL | AR/HREU | A*EL | KHREU | AT/KHREU | TPHAEL | WAEL | WHR | WEU | WHO |
ively | itively | arily | ally | ically | atically | inally | ually | whether | which | who |
TPHREU | HRARL | KWRORL | O*ULS | AER | TEU | EUS/TEU | TEUS/TEU | W | W-PB | WOUT |
fully | ularly | iorly | ously | ary | ity | icity | ticity | with | within | without |
ALT | KWRALT | EULT | -BLT | EUBLT | AEURT | HRA*EURT | KWRORT | WO | KWRE | U |
ality | iality | ility | ability | ibility | arity | ularity | iority | would | yes | you |
WOS/TEU | *EUFT | T*EUFT | | UD | UL | UR | UF |
uosity | ivity | tivity | Do not claim as your own | you'd | you'll | you're | you've |
More to follow...