A few days ago I rewatched Arrival and got hooked on the logograms. Those rings of ink the heptapods throw against the glass, where a whole sentence shows up at once, with no beginning and no end. That night I asked ChatGPT whether something like that could be done with neural networks. Three days later I had two networks sending each other English sentences written in the film's ink.
The idea is a game of telephone with drawings. One network, the writer, takes a short sentence and turns it into a ring of 36 ink marks, cut from the film's real logograms. The other, the reader, only gets the image and has to write the sentence back. I fixed the circle, the 36 slots and the alphabet of 81 marks. What each mark means was up to them, with one rule: the reader has to understand.
Both start from T5-small, a small Google model that already knows English. What they had to invent is how to write it in ink.
And it works pretty well. I gave it an exam of 2,000 real sentences it had never seen, built beforehand and run once at the end: 81% came back word for word. If you give the reader another sentence's ring, it gets it right 1.2% of the time. So the sentence really travels in the drawing.
A big part of that number comes from a trick. Before sending, the writer rereads its own ring with a copy of the reader and swaps marks until it reads right. Without that, the first try gets 33%. It's what we all do before sending a delicate message: we read it as if we were the other person.
The part that blew my mind came later, when I started taking the ring apart the way Louise does in the film. You change one word and watch what moves.
I change "Tom" to "Mary" and four marks move, the ones in the area where the subject lives. I change "car" to "boat" and others move, the object ones. I add a question mark and three marks I hadn't touched change.
And there's one mark, in slot 26, that means plural: change it and "the teacher is outside" becomes "the teachers are outside". I tried the same change on 30 other sentences with that shape and it worked on all 30.
Nobody designed any of that. The networks set up one area for who, another for what and another for how the sentence ends, on their own.
Nobody taught them grammar, and grammar showed up anyway, because it was the cheapest way to be understood.
Now, the awkward part. Claude Code wrote almost all the code, and Codex reviewed the designs like two engineers arguing in a PR. I directed, asked questions and stopped things when they didn't add up. And the question that stuck with me is kind of obvious: if I didn't write the code, what did I learn?
More than I expected, and almost none of it was syntax. I learned to distrust a 100%: the first prototype scored perfectly because the design already had the answer baked in. I learned that the reader can ignore the image and guess from memory, and that you have to force it to look. I learned that a regular network can't read a circle until you unroll it into a strip. And I learned that the Mac freezes if you ask too much of it, literally, so everything heavy ran on a rented GPU.
I wouldn't have learned any of that from a tutorial. I learned it by asking questions to something that worked, or didn't.
I also learned not to trust what comes out pretty. Before publishing, I asked Codex to check every number against the project's files and it found 27 things. Some were overstated and some were plain wrong: I was saying the mistakes were almost always a single word, and they weren't. I fixed all of it. I'd rather have an 81% that survives review than a 95% that doesn't.
It has clear limits, too. It stumbles on rare names (Krasnoyarsk came back as Krasnogsk), it doesn't work on nonsense, and accents get lost before the model even sees them. When it's wrong, it's often wrong in a reasonable way: heroically for bravely, thirteen for 13.
In the end I made a 3D heptapod with Fable 5.2 that writes the rings in the fog, because if you're doing something inspired by Arrival you have to overdo it a little. You can try it at heptapod.bilune.ar (you'll need a computer), there's a plain version that works on phones, and the code with all the numbers is on GitHub. It took three days and about 40 dollars of GPU time.
Louise doesn't learn the language by reading a dictionary. She learns it by showing a word, changing one thing and watching what moves.
The ink comes from the Arrival (2016) logograms by Martine Bertrand, released by Wolfram Research under CC BY-NC 4.0.
