Although I don't usually mention it here, one of my hobbies is learning languages. French is my strongest by far, but I've been experimenting with seeing just how slowly I can learn Middle Egyptian. Normally, I need to reach a certain minimum degree of obsession to actually make progress, but it turns out that software can help a bit, as I explain in this post on the Beeminder blog.

But when I decided to learn Egyptian, I was faced with a dilemma: I couldn't justify spending more than an hour per week on it. Hierogylphs are cool, but come on—it's a dead language. Unfortunately, it's hard to learn a language in slow motion, because two things always go wrong:

  1. I get distracted, and I never actually put in that hour per weekโ€ฆ
  2. I forget everything I learn between lessonsโ€ฆ

Of course, one key tool here is Anki, which clever exploits the spacing effect of human memory. To oversimplify, if I'm forced to recall something shortly before I would have otherwise forgotten it, I'll remember it at least twice as long the next time. This allows remembering things for O(2^N) time for N effort, which is a nice trick.

Hierogloss

On a related note, I have a new toy up on GitHub: hierogloss, which extends Markdown with support for interlinear glosses rendered using JSesh:

H: z:A1*Z1 | ๐“Šƒ:๐“*๐“ | ๐“‚‹:๐“ค-๐“Šช๐“…ฑ
L: s | s.t | r-pw
G: man | woman | whichever
T: either [a] man or [a] woman

Example hierogloss output

I love being able to toss together a tool like this on a whim. Programming's fun.