LLMs solve the biggest problem with language textbooks

Most languages have at least one high quality textbook written for secondary learners of the language. (This is no guarantee that one will be able to read the language that textbook is written in, but English to X is quite common, and some intrepid textbook writers have solved this problem by writing the textbook in the very language it is being taught in, starting with the simplest possible phrases and moving gradually up in difficulty.) ...

September 25, 2025

Using LLMs to generate small semantic perturbations for language learning writing practice

Still images of this GIF are at the bottom. Learning to read a language is mostly a game of getting massive quantities of comprehensible input. Learning to write that same language is a whole ’nother ballgame. But, using the 4-quadrant Anki card setup from my earlier post, I think I’m finding more and more ways to make this as amenable to spaced repetition as possible. One thing I’ve been experimenting with with surprising success is the idea of using LLMs to generate “semantic perturbations” on sentences I already “know” how to write, where “know” = “have in active review in Anki”, for our purposes. ...

July 4, 2025

The language learning "Delta" Anki card pattern

1 2 3 4 5 +--------------------------+------------------------------------------+ | L2, fixable | L1, intention | +--------------------------+------------------------------------------+ | L2, fixed | L1, (fixable -> fixed) explanation | +--------------------------+------------------------------------------+ The above 2x2 layout for Anki cards, which I call a “comprehensible delta”, is one of the best things I’ve happened upon in a while for learning another language. Let’s say you are learning Finnish, and you want to say ...

June 28, 2025

Create multi-stage Anki card answers with HTML's <details> tag

This works as of, at least, Anki 24.06.3. According to the Mozilla Developer Network, The <details> HTML element creates a disclosure widget in which information is visible only when the widget is toggled into an open state. In standard web browsers, absent any CSS to the contrary, a <details> tag starts closed until further notice. Since Anki is basically a local web browser on top of a timer, this also works there. ...

June 7, 2025

LLM tutored writing practice for secondary language acquisition

Language learning for the contemporary adult learner can be broken down roughly into four highly correlated, but distinct, skillsets. Passive understanding Active production The written word Reading Writing The spoken word Listening Speaking You may know from my FOSS software that I have been learning Finnish for the past 4 years or so. For the first few years I pretty much focused exclusively on reading comprehension, as I consider that to be the easiest quadrant to skill up in first. This focus put me in the interesting position for some time of being able to read most YA fiction and tax documents while being unable to order a pizza for myself on the phone. ...

June 1, 2025