Today is International Mother Language Day, a celebration promoting linguistic and cultural diversity. It derives from the Bengali language movement in Bangladesh.

It’s probably no secret that I’m a fan of human language, so I appreciate dedicated days like this one.

Islamabad demonstration supporting the Punjabi language

You don’t need to learn a new language now, though. You can wait until after I ramble about projects.

Morning Dashboard

GitHub - jcolag/dashA morning "dashboard" generator. Contribute to jcolag/dash development by creating an account on GitHub.

It turns out that, a couple of weeks ago, when I said that I updated the Morning Dashboard to visually note freezing rain with the ice cube 🧊 emoji…that was a lie. Or rather, I definitely did the work, but I guess committed something else in its place.

Anyway, that update is now available, though that’s still a mediocre choice of emoji that doesn’t necessarily have a better option.

Also, when Thunderbird is running, the script is unable to open the database, so it makes a copy. It had been making that copy in its local folder, but that’s unsatisfying, especially when checking the repository status to make sure that I haven’t missed anything that needs publishing. So, it’s now smart enough to put the copy in the system’s temporary folder.

Entropy Arbitrage

GitHub - jcolag/entropy-arbitrage-codeThe Jekyll blog for - GitHub - jcolag/entropy-arbitrage-code: The Jekyll blog for

When I started writing Jekyll plugins for the blog, last summer, I said the following in passing about the range of possibilities that the ability could enable.

More useful whenever I embed video or a book from the Internet Archive, I need to look up the syntax and rescale everything, whereas a plugin can do that automatically.

…And then I never did that, even though it’s mostly trivial, while the alternative isn’t at all readable.


I put one of those frames together every few weeks, and I always forget to update the height and width, forget to reformat, or something, on the first try. More embarrassing than that, there’s only one piece of this that ever changes: The last component of the URL path.

So, there’s now an archive plugin, which generates the whole iframe tag, and a test script.

You’ll also find an update to the fake-link plugin. I noticed that I stupidly kept the same title text as the fake-button plugin, and “this button doesn’t do anything” isn’t nearly as useful as “this link doesn’t go anywhere.” The latter should now appear.

Library Updates

I needed to bump library versions for RenewDB, Fýlakas Onomáton, Bicker, and Generic Board Game.

Unexpected Bonus: Thue

GitHub - jcolag/ThueThe Thue programming language: Programming with grammars - GitHub - jcolag/Thue: The Thue programming language: Programming with grammars

Maybe oddly, I think, I should also mention that Thue’s repository has recently gotten a fair amount of attention…but not from me. Specifically, over the past few days, about a dozen people have “starred” the language interpreter on GitHub.

Oddly, I haven’t touched the repository in nearly eight years, nor have I modified the code since long before that. My best guess is that someone must have mentioned it, somewhere, and so a bunch of younger people might be discovering the language for the first time. I can’t find the reference driving this, though, so it’s still a mystery.

Also mysterious, it’s only about two hundred lines of C code with minimal comments, when there are far better languages today to handle text conversions. That’s a peculiar thing to interest a bunch of people all at once.

Incidentally, I wrote about the toy programming languages that I have developed, early in the life of the blog, for anybody who would like a “guided tour.”


I have a (small) new project, roughly similar in nature to the Daily Nonogram that’ll probably get published this week. Working with the Daily Nonogram code revealed a couple of bugs that need fixing, too.

Credits: The header image is Mother Tongue Day, Islamabad by Khalid Mahmood, made available under the terms of the Creative Commons Attribution Share-Alike 4.0 International license.