Yesterday, people celebrated World Theatre Day, an event promoting live theater. They obviously have a harder sell during a pandemic—in fact, I wrote about the issues in large indoor audiences and how we might improve on them—but theater still represents an important part of any culture.

An Ancient Greek theater

My projects are generally less dramatic, though.

Entropy Arbitrage 🔗

GitHub - jcolag/entropy-arbitrage-codeThe Jekyll blog for https://john.colagioia.net/blog - jcolag/entropy-arbitrage-code

The JSON-formatting code for my static-checkers didn’t work out quite right, with the most egregious issue probably that they relied on receiving the input in one update. Normally, this wouldn’t create a problem, since the input JSON doesn’t generally have too much in it, but the potential for a problem exists, so now the code saves all the input to finally process when the input ends.

If you spend time as a JavaScript person who writes command-line applications like this, the correct setup looks something like the following.

process.stdin.on('data', (more) => {
  // The "data" event announces that the program can read from
  // the standard input stream.  The "more" parameter provides the
  // input to read, which might not cover the entire input.
});
process.stdin.on('end', () => {
  // The "end" event announces that the process has no more to read
  // from standard input.
});

In the case of structured input like JSON, we can’t process intermediate more pieces, so the code needs to concatenate them until the system raises the end event.

I only have a prototype, really, but I also added code to add an approximate line number to LanguageTool’s output. On its own, it provides an offset into the file, which isn’t convenient for finding a subtle issue. I say that it provides an “approximate line,” because—somehow—having JavaScript count the characters in each line to compare with the offset does not work correctly, and the error doesn’t skew the results predictably. This will need more investigation, but I at least have a start.

Less interesting, I edited the text inserted into the Friday posts.

GitHub Profile 🔗

GitHub - jcolag/jcolagJohn's GitHub README, since everybody else is making one... - jcolag/jcolag

The “joys” of working with the modern Internet…

I happened to look over my GitHub profile, the other day, and noticed that the Buy Me a Coffee link didn’t have the image associated with it. The remote image existed, but it wouldn’t show up on GitHub.

Digging deeper, it looks like Buy Me a Coffee’s CDN now hides itself behind Cloudflare. This protection means that browsers can get at it directly, but indirect methods—like wget or GitHub—quietly fail.

I don’t like this solution at all, but at least for the duration, I have moved the logo into the repository, rather than referring to it remotely.

Library Updates 🔗

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

Next 🔗

Chances are, I’ll continue with the library updates, though I have a small handful of other issues to deal with at some point, and a human-generated pull request that has gotten lost between the cracks, because GitHub doesn’t provide notifications for those…


Credits: The header image is Taormina BW 2012-10-05 16-05-05 by Berthold Werner, made available under the terms of the Creative Commons Attribution Share-Alike 3.0 Unported license.