Play-testing Local Translations

/images/_9d0fa22b-cc48-4e7c-b0ba-b1d2d9b8c7b2.jpeg

It’s been a month now since I last used LingQ. I didn’t actually intend to switch - it just kinda happened - which must surely count as some kind of validation. But as much as I’ve enjoyed Frankie’s lower-friction experience, it is not completely smooth. And today I begin on the next step.

◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

One of the tenets of FrankenTongues is that it should work well even without a network connection, but so far, I haven’t been using it that way. I’ve still been relying heavily on the cut/paste feature to carry sentences over to DeepL, Google Translate, or ChatGPT when I can’t quite figure out a sentence, or when there’s a disconnect between what I think it means and how that fits into the context of the story. (He’s at a wedding and somehow got his beard stuck in a mailbox? What?!)

Batch translating a book of sentences has been working for a while. I can easily convert an entire novel and pop those translations up while reading, without having to leave the app. But I forgot to do run the batch translator when I loaded my current book, and the batch translator does not yet work on Android, so I’ve been hobbling along without it.

Today, though, I decided that I really can’t continue reading just for fun - too much testing opportunity is sliding past the window. But how do I add translations now? I’m 24% of the way through the book, on Android, and have accumulated a fair bit of tracking data. I’ll lose all that if I have to rebuild the DB from scratch and batch translate it (over on my laptop) and then copy the fresh DB to my phone to continue reading. That would stomp all over that valuable tracking data.

But today I realized there was no reason to start completely from scratch. I just copied the DB from my phone to my laptop, added the translations over there, and then copied it back, tracking data undisturbed. Sometimes I wonder how I manage to cut my own meat without needing stitches.

Anyway, here’s a screenshot of the in-app translation working just as intended.

(And if you’re wondering, it turns out that “standing around with your beard in a mailbox” is a Norwegian ideom with roughly the same meaning as “getting hoist by your own petard.” No actual mailboxes were involved.)


Read More


/images/_5fb4ef3e-b588-497c-856b-253ea4f58a89.jpeg

Enlightenment is Overrated

Remember how I went on and on the other day about my brave new architecture? Turns out there were some unanticipated flaws in that scheme that have forced another sea change.

/images/_21787e10-6139-46e9-9c35-b018bf7caafa.jpeg

Frankie Achieves Enlightenment

There is a particular failure mode that has bedeviled my project life for decades. I call it the “extra mile” problem. I build things because they solve a problem for me. Once I get a solution that works for my particular case, that itch has been scratched, and the remaining work — onboarding, explainers, error messages, edge cases, polish — is an extra mile of annoying minutiae that never seems as appealing to me as the next problem waiting to be solved. So I tend to move on without ever sharing the results with anyone else.

It’s a shameful, totally selfish habit, but fighting your own subconscious is a constant battle that you’re doomed to lose in the end anyway. So instead of fighting my own nature, I look for ways to trick it. And with FrankenTongues, I think I’ve finally done that.

But the epiphany required was so profound that it had to arrive in three parts.

/images/file_00000000a844722f9d1c66ec6d854aec.png

Tormenting AI For Fun and Profit

I’ve come up with a fun way to practice written conversations in norsk—by taunting my AI practice partner.

If that sounds like fun, just step behind this curtain and I’ll show you the game.