In the Northern Hemisphere, tomorrow is the winter solstice, the longest night of the year. In many Iranian traditions, that means Yaldā Night is coming, which—as befits marking the longest night—bears a strong similarity to how many people celebrate the winter holidays without children: Gathering with friends and family to eat and exchange stories. There are many similar holidays around the world, so it seems unfair to single out Yaldā, but…it’s my blog.

A Persian woman reading poetry for Yaldā

And here are my stories for the week…

Entropy Arbitrage

The blog needed some old minor work committed, including finally fixing a numerical comparison in my deployment script and adding a link—you might notice the tiny GitHub icon to the left of the tags, at the bottom of the post—to the Markdown source of each post.

An image of the icon next to the tags

I admittedly don’t know how useful the link will be to anybody, but it’s there if someone does eventually want it.

The handwriting tag from a couple of weeks ago turned out to have lost an important update during my laptop crash. So, All Quiet on the Vernal Front has accidentally been sitting for at least a week with the Markdown left untranslated. After hunting around, I needed to re-add the following to the plugin.

site = context.registers[:site]
converter = site.find_converter_instance(::Jekyll::Converters::Markdown)

Then, converter.convert() will translate the plugin’s input—the story’s text, in this case—from the original Markdown to HTML.

It looks like this conversion should probably apply to every plugin. However, in tests, I noticed that it assumes that all input is a paragraph—outputting <p>...</p>, I mean—which means that I’ll need to strip that HTML off for the inline tags.

Speaking of plugins, you’ll see it in real action below, but I felt the urge to have a special tag for “sound effects,” like ⚞crash⚟ or ⚞pop⚟. It merely tacks on the three lines converging right and three lines converging left characters to suggest that it’s blaring out. Years ago, in e-mail, I used similar-looking ASCII characters, like dashes and greater/less than signs, but we can do much better than that in 2021. Sometimes, the only way to express my annoyance is unvoiced sound.

And as long as new plugins were on the way, it made sense to just throw together the fake link and fake button tags that I thought about creating, last week. Like the handwritten block tag, I doubt that I’ll use them often, for more than examples—for example, Visit Nowhere or —or fiction. On the rare occasions that I want it, though, better to have it ready than to scramble at the last minute.

GitHub Issues

While the blog needed some work, my primary goal was to convert my notes of “I should do this” into tickets that I could refer to in a central location.

  • CPREP hasn’t seen much work, lately, but based on some feedback that I’ve gotten since the release and my own issues with the project, I have a note to improve the visualizations and add some capacity for worlds that aren’t just Earth.
    • The latter comes from feedback, since every time I describe the project to someone, they generally assume that it’s meant for a Dungeons & Dragons-style fantasy role-playing game world, rather than for ordinary (or nearly so) people, and so are disappointed to find out that their character is an Indonesian Muslim and not an elf or something.
  • INTERN should output richer output, like a JSON document, for clients to format as they see fit.
  • My GitHub profile should automatically update the blog posts, rather than hoping that my server runs the script correctly at 3:00 every morning.

This gets to the heart of where these side projects and sets of notes go wrong. Because I generally work on them alone, I have comments written everywhere that I should try this or that. But by the time I have the opportunity to work on one of these improvements, it takes too much time to find the notes.

Learn from my mistakes: Create issues as they come to you.

Hardware Woes, Continued Again

The deeply discounted laptop turned out to be ARM-based. ⚞Sigh⚟. Under normal circumstances, that would make a nice toy—it should have a long battery life, for example—but I don’t have the time to make sure that every tool that I need can be compiled for an ARM processor, especially when I’m also dealing with the stenography keyboard. It also has a miserable screen, and…honestly, I could just rig up a Raspberry Pi, if I wanted those constraints. So, it’s going back for a refund, and I’m on the hunt for something else that’s economical.

For readers, that means that posts will continue to lag about half an hour behind when I intend to post them, because this under-powered system takes a bit less than that for Jekyll to rebuild the blog for publishing the updates to my server.

Meanwhile, I should mention that GitPod has been surprisingly useful for the project that I’ve been slacking off here to work on. It’s definitely not the “nine dollars per month” useful that would warrant an upgrade, and I’m not convinced that fifty hours would be enough—especially given one of the system’s limitations—when I have a lot of work and active side projects. However, when I eventually rig up a decent-sized server in the house, I’ll definitely consider running the Free Software offering. It’s not quite as convenient as working with a local IDE, of course, but it’s definitely close enough for most work, especially with a small hard drive.

Working on server software as I’m doing, it takes an extra step or two to keep a port open for testing—the server name changes, and it constantly “forgets” what was installed, until you set up a pre-built image that “knows” to reinstall—and there’s some occasional lag or disconnect. But the browser tab seems to be lighter on the computer than a local instance of Visual Studio Code. Like I said, I think that I want an instance of my own around the house.

Last week, I mentioned the possible utility of a mobile device that only remotes into a server, and if I only needed to write code for websites, an in-house Gitpod server might be feasible as a long-term solution with even a cheap tablet (of sufficient size) and keyboard. I mean, if the server handles all of Visual Studio Code except for the rendering, it should be a fairly good deal.

The upshot to all of that is, if you see various projects starting to include .gitpod* files, that’s probably why.


I still don’t have my “secret project” finished, plus this week includes a number of holiday dinners and conference calls, so expect another week—or two, to get through the end of the year—of lightweight work.

Credits: The header image is Persian Lady recites Hafez Poems in Yalda Night by PersianDutchNetwork, made available under the terms of the Creative Commons Attribution Share-Alike 3.0 Unported license.