Joe Biden Pitching "Build Back Better"

As I’ve tried to do on the last Sunday of every year that I’ve run Entropy Arbitrage, I wanted to take at least one post to look back on what 2021 looked like from my weird space, and maybe pat myself on the back over projects that I was able to pull together and release since the beginning of the year. I’m mostly basing the format on the previous end-of-year posts.

For those of you who read the Entropy Arbitrage mailing list, the format is similar, with thoughts that aren’t sufficiently fleshed out to warrant their own post, but too complex or wordy to be a social media post.


This year, I noticed a few interesting things about how people consume and process politics and popular culture.

Retribution Politics

I’m tired of the form of allegedly-progressive politics that only understands hurting people. Sadly, I’m not talking about uprisings. I can deal with and respect even violent uprisings, for the right reasons, like a population otherwise deprived of a voice in society. Instead, what I mean are the following sorts of people.

  • The voter who votes against any politician who doesn’t deliver all the voter’s preferred policies. They constantly talk about holding their vote hostage for demands that nobody in power will ever see.
  • The pundit that tells you that they definitely don’t support right-wing policies, then goes on to undermine all policies that stand in opposition to right-wing policies, because they might not go far enough for their tastes.
  • A subclass of the former group, that insists (probably rightly) that the only way forward in the world is for governments to provide universal services—public transportation, healthcare, housing, and so forth—but also constantly complain about government intrusion into business. Like most of right-wing thought, they basically want a powerful government, but one that conveniently doesn’t spend any money on projects that they don’t personally support.
  • Activists who are opposed to retributive justice and police action, but demand police action and jail time for their political opponents.
  • People claiming to be concerned with “nihilism” while using their platforms to talk about how there’s no winning and (“ha ha”) nothing matters.
  • A subclass of the above who claim to want to see prosecutions for the people who have tried to subvert our democracy, but want to eliminate anybody who isn’t rushing those prosecutions to the point where they’d be likely to fail.
  • Pundits who see that the non-fascist political party doesn’t have the power to overcome obstacles thrown in its way, so they talk about voting that party out of office, as if that’s somehow more likely to get them what they want.

Nowhere do they talk about building a base of authority, by winning local elections and escalating to larger stages. They just want to skip to the part where they have all the power and are willing to use it to corruptly reinforce their power.

The cliché is cutting off your nose to spite your face, and that’s all that they seem to be able to recommend. I don’t know what to do about them, but they seem to be a worrying force in American—and probably global—politics. One of the smartest things that I’ve learned, this year, is that we all need to become dedicated, single-issue voters: Do we want our countries to fall into fascism. That kindly neighbor who runs for town council, who happens to represent the same party as the national figure who considers refugees an infestation, kindly fundraising trickles up to run xenophobic campaigns. That “protest vote” only means that the bad guys need one less vote.

A Virus in the Writers Room?

A few times, this year, I’ve found myself wondering if anybody has researched the effect of the COVID-19 pandemic on the entertainment industry. It’s not necessarily entirely the fault of the virus, but I’ve noticed that many of the current shows and movies that I’ve watched over the past couple of years have been significantly sloppier than usual.

Some of these can make a certain amount of meta-textual sense, like a show about teenagers shifting to “summer school,” in order to justify populating scenes with significantly fewer extras…but then not making school an important enough aspect of the scripts for that to have been worthwhile. Or scenes might have the actors standing so far apart that their conversations don’t look plausible.

Other times, though, it feels like writing or editing has gone pretty far wrong, in the sense that the stories have massive gaps in them, while unimportant situations have been carefully explained. And that seems to have combined with an ongoing concern, writers wanting their work to engage with important and current issues, but not wanting to alienate viewers who might not be on the right side of history. That is, multiple television shows have had “very special episodes” about police bias, and one show made it a major point of the season. But none of them hinted at societal answers, rather suggesting that good cops should either resign to avoid being complicit in the system or find a way to kick out the allegedly tiny minority of bad cops.

It’s frustrating to see that clunky attempt to deal with issues merging with the idea that we should believe that the unmoving back of someone’s head is actually the actor whose face we cut to in close-up shots, rather than just a mannequin or intern wearing similar clothes…


Most of my day, of course, is involved with some aspect of a computer.

Developing Software

I started using Rust more, this year, which has been satisfying. The “borrowing” memory-management system isn’t always intuitive, but the compiler errors provide a consistently good guide to making the code work, in that respect. I don’t recall if I’ve ever mentioned it on the blog, but Rust is right on the tipping point where it might be the first language that I reach for—rather than C, which I used consistently for the first decade of my career, so I work with it easily despite disliking it—when throwing together utility programs.

Less satisfying has been watching Proton Native turn into Valence Native, and apparently just wither away, considering that nobody has touched the code since creating the fork. It’s a shame, because I really liked the idea of a React-like layout/component system for native desktop applications. It’s fine to use web rendering engines as application frameworks to get more people developing software, but they’re too bulky to be viable solutions except in the snotty “everybody should just buy better hardware” sense.

I also came to the conclusion that Haskell is a nice idea for a language, but not likely ready for routine work. As I mentioned in the relevant developer diary, documentation is often incomplete and condescending, as if the community doesn’t want the language used for serious work.

However, another bright spot in the year was using Gitpod. The idea of turning Visual Studio Code into a website sounds terrible, but it’s snappy enough and reliable enough that I plan to install an instance on an in-house server and stop keeping clones of repositories on my laptop unless it’s something running on the laptop, such as INTERN.


Another laptop’s power connector has died—there must be a better way to manufacture those, or maybe shift to wireless charging—so, I’ve been working from a “spare” that I picked up around the time that I got the main computer, while I get the new system running. It’s under-powered in most respects, with a small screen and odd keyboard. There’s less space on the hard drive. And I’m constantly realizing that there are more files that I need from the old laptop. It’s a weird experience, honestly, the first time in my career where a computer has just been too slow for me to reasonably use.

This system’s power switch also has problems—probably why it was so cheap when I bought it—so if I overload the system, rebooting is an ordeal that I’m never convinced will complete. If it does and the blog doesn’t update for a few days, that’ll be because the thing finally stopped turning on, and I’m scrambling to find a new PC while shopping on something even further below standard.

Anyway, it’s a shame that the idea of a terminal never evolved into mobile computing. The ideal situation would be a decent desktop/server computer with a laptop that can mostly only remote into a desktop or cloud system, the terminal either rugged enough to last indefinitely or cheap enough to be effectively disposable.

Maybe I’m looking for a tablet, even though that sounds terrible, and the prices don’t yet scale. But who knows? I mean, I also don’t know why there are no longer refurbished laptops cheap enough to keep handy…


I mess around with a lot of projects, but rarely bother to look back on what I’ve accomplished. So, with the new year ahead, it’s time for me to do that…even though I’m disappointed that my “big” semi-secret project still isn’t finished.

Daily Nonogram

In February, I released code to generate nonogram puzzles, and began publishing a Daily Nonogram to my personal website. The original version, using images from PxHere, was a more pleasant experience than using images from Wikimedia Commons, but the former made their “Random” page more difficult to scrape at some point.


While I haven’t designed it to be useful to anybody but myself, I decided that I needed a search engine for my notes and writing. The result—usable, but still in progress as I find other potential uses—is the INTERN and the Ask INTERN command-line client. The server maintains an index of many of my note files, and responds to searches for root words, prioritized by the similarity of the search string to the found text.

Configuration for both programs happens once, in the local system’s configuration directory, regardless of the current platform.

I admittedly don’t need such a thing on a regular basis. However, I do use it a few times per week, and it’s far more useful than jumping from folder to folder executing local searches, since grep isn’t exactly tuned for multi-word searches. In addition, the existence of the index allows for additional features in the future, such as analyzing my writing for words that I might overuse.

And then there are the business-related projects, as I get Colagioia Industries back up and running.

All Around the News

I launched All Around the News in April, in hopes of testing the economics of modern journalism. While the plan has been side-tracked—more on that, later—the site has released thousands of articles and gets a steady stream of traffic from around the world.

When I return to it, the Intravert ad spot will probably go away for the duration, in favor of a more traditional approach, plus clearly labeled native advertising. I’ll also need to push to increase the traffic to more people per day than articles posted…

Sunday Rants

This year, I’ve written about a nice range of topics.

I also launched the irregular Let’s Fix… series of posts, though there’s only one post, so far.

The posts aren’t all as polished as I wish they were—several of them were intended to be published later but moved up the schedule due to align more sensibly with then-current events—but I think that I’ll be able to continue standing behind what I wrote in them, and I can always go back for another round of editing.


While I wasn’t able to pull a second novel together before the end of the year—it has been sitting mostly abandoned for at least six months, in fact—I did release an attempt at a Halloween horror story, a science-fantasy take on the War on Christmas, and a transcription of Calafia, Queen of California, itself an adaptation of a medieval Spanish story.

Entropy Arbitrage

I made significant—though mostly invisible—changes to the blog, over the course of the year, from adding plugins to make the source code more sensible, to investigating different emoji fonts, to identifying posts that have changed and how much they’ve changed.

That’s in addition to concluding the blog’s second year, with the five hundredth post published.

I have also kept up the mailing list, with updates on a couple of the posts mentioned above, in addition to improving that code. Maybe the biggest initiative was finally getting the blog sign-up (to the right of the page, if you’re reading this on the blog) to work regardless of ad-blockers.


Finally, I’ve learned a thing or two about myself, I think.

Cord-Cutting After-Effects

In April, I dropped cable service, and I have consistently felt great about that decision. There’s more money in my budget, with less money going into the pockets of monopolies, and I’m not maintaining a service that I don’t really use. Locast has unfortunately fallen apart, depriving me of some of my favorite casual viewing, but I have found enough substitutions that it doesn’t really matter. Oh, and speaking of cord-cutting activities, I have come to the conclusion that BillFixers can’t be trusted to perform more than the most straightforward tasks—and maybe even to just act professionally—so I can no longer recommend using them. I added an update explaining in the cord-cutting post, last week, so I won’t waste time on it here.

Likewise, canceling Netflix—until this month, actually, to catch up on shows, before canceling again—has brought me nothing but joy, as they send the most inept customer retention e-mails that I have ever seen. Now that I’m back, I’m reminded of one huge reason why I dropped Netflix: They don’t support their own shows, expecting people to discover (for example) On My Block, rather than pushing it into recommendations or advertising it outside the service; I was responsible for learning that it exists, though they’ll constantly recommend shows that I’ve already watched.

Amazon Prime is now in my sights, too, as we approach the end of my annual subscription; I’ll probably come back for a month if the second season of Undone ever shows up. As an aside, I should probably mention that I originally signed up for Amazon Prime (with a decent discount) specifically to watch their original shows—it may have been a promotion for Transparent—with the delivery just a minor convenience. Then, they got me hooked on the delivery for a couple of years, which definitely isn’t healthy. Even that convenience is now mostly useless, though, as I’ve found better sources to order various goods. So, if I’m watching less Prime Video, it makes no sense to keep paying Amazon, since there isn’t much evidence that the company is going to spend it on improving the world in any way. More likely, they use it to research better ways to trap employees in the paths of tornadoes with no protection.

By contrast, my Emby server—which I still often consider replacing with Jellyfin to reduce my dependence on proprietary code—has remained a joy. One local computer hosts a streaming service that includes my CD collection, my DVD collection, legal downloads from various independent sources, some recordings from a primitive, improvised DVR that I rigged up many years ago (a show that I’ve wanted to rewatch, never got a home video release, and isn’t streaming anywhere, no less), and so forth. If it had a book reader instead of just a link to download books to a browser, it’d be close to ideal.

Quick aside: Actually ideal would probably include an online comic reader that can pan and zoom from panel to panel, like most of the corporate comic readers have. But that’s obviously difficult and requires metadata on each comic page to explain where the panels are and what order to show them. There are desktop reader applications that try to do that if the metadata exists, but I’d bet that none have been implemented for Roku, and the metadata is as rare as it is tedious to enter.

New Skills

As I wrote about last month, I decided to finally learn stenography, which seems like it’ll be fast enough for me to use it routinely soon.

And while it’s not a particularly “new” skill for me, I have also spent more time sewing than I have in a long time—using patterns from Free Sewing—to reduce my reliance on supply chains. I’m not good at it, yet, not even as good as I was as a teenager taking a junior high school home economics class, but I’m definitely improving.

Depending on how things go, I may expand this in the new year. As mentioned a couple of weeks ago, for example, I might try to pick up a new language.

Social Media Changes

While I still support the ecosystems, of course, I’ve become functionally inactive on the Free Software social networking platforms. I check in on Scuttlebutt almost daily, but have only sent out a couple of posts since last winter; actually, that’s a lie, because the “spare laptop” that I’ve been using has such a tiny hard drive that I haven’t been able to run Scuttlebutt code without filling up the disk. I log into Diaspora to manually post blog updates, since I haven’t successfully automated that. And I automatically post to Mastodon, and manually log in every couple of weeks when I realize that I shouldn’t abandon my account to a bot. My twtxt feed is almost entirely bot activity, and I barely check in there.

Even The Practical Dev—not covered as part of the “Showdown,” but the underlying software Forem is open source and has features that try to build a community—has mostly collapsed into that special kind of clickbait that perpetuates dumb arguments about whose system is “better.” Spoiler alert: Their “evidence” for something being better is invariably that they’re accustomed to it, because it’s similar to what they were taught in school. Some things never change, I guess…

By contrast, I’ve been semi-active on Twitter, odd as it feels. I’ve stopped replying to horrible politicians, though, since “engagement” just gives them a higher profile with the algorithm. Best to just report them for encouraging self-harm, when they complain about vaccines or whatever. Though it’s extremely unfortunate, since I didn’t make those comments just for the catharsis. I make them partly because a reader less invested in their rhetoric either way might benefit from a contrary view grounded in fact, and partly because every post needling them diffuses the targets that they can aim at.

I’m still not on social media more than half an hour per day, though, and I still recommend keeping similar limits for all social networks. The easiest way to prevent what’s now called “doom-scrolling” is to not be in a position where it’s an option…

The central problem seems to be one of the things that I mentioned in that social networking showdown: Not even the people who claim to support Free Software spend much actual time on these networks, so what space isn’t empty is instead filled by bots copying posts over from proprietary networks. And that sense of the community or lack of a community is infectious: If the only people on a network are the people talking about the network or are just blindly reposting from elsewhere, why bother? There’s a small exception with Scuttlebutt: I like many of the people there, but the overwhelming majority of the actual conversations—ignoring the people using the network as a diary—are about the Scuttlebutt protocol itself and decentralized software in general.

Of course, there’s a solution to all of this: Get more people off the corporate-owned networks and into these communities…who I actually want to interact with. So, I’m always prepared to return to those networks, should a bunch of readers start showing up there, for example. There just needs to be something to talk about. Of course, I also haven’t abandoned them, so much as look at them less.

Pacing Myself

Over the course of the year, I had plans to bring the Real Life in Star Trek series to (nearly) a close, finish a novel, release at least one non-fiction book, launch three web services taking the business side seriously, learn animation, and get back into sewing, in addition to dealing my usual day-to-day life. As you can probably guess from the earlier discussion, most of that didn’t happen. I overloaded myself, and accomplished less than if I had put off lower-priority projects until next year.

That is—and I’m being specific, here, because I want to illustrate the load problem on the chance it helps someone else catch an issue for themselves, not to dwell on failures—I never got around to building an audience for All Around the News, pushing to sell advertising, or adding native advertising features to the article list. Instead of building it into a self-sustaining business, I created a “good enough” toy and moved onto the next project. The novel fell apart, because the idea changed from a simple story with a central metaphor to a model for a season of television with heavy allegorical elements, and the setting didn’t have the resilience to support the latter. I have a few unfinished garments cut and half-sewn. I added extra work to the Star Trek posts—The Animated Series novels, to be specific—and eventually realized that I just wasn’t able to keep up.

That’s just a sample, which doesn’t even get to the projects that haven’t seriously looked at. For example, I briefly considered creating my own streaming service with cheap and free content, which didn’t get past a note about the fact that I could probably do it. My point is that I need to keep better watch over what I commit myself to doing, even just to myself. I also may need to create regular blocks of time to handle certain kinds of projects, so that I can ensure seeing some steady progress. My current “try to get something in before seven in the morning, and then see where the day takes me” approach is clearly not sufficient.

In fact, one of the reasons that I’ve been looking at the aforementioned new skills is to slow myself down a bit. That is, if I’m at my sewing machine, I can’t stare at a screen.


In last year’s end-of-year post, I said the following.

Growth takes affirmative effort and isn’t something that just happens, whereas it’s surprisingly easy to neglect yourself into bad habits.

That still applies, today. I often laugh/complain that technology companies will constantly and rightly tell you that “you can’t improve what you don’t measure,” but then turn around to refuse to measure anything of importance, because they “already know” how to improve. It’s not a lesson that we should take for our private lives. Do the hard work. It’s worth the trouble.

Enough about me, though…well, at least until tomorrow’s developer journal post and next Sunday’s look ahead at 2022. How was your 2021?

Credits: The header image is President Joe Biden delivers remarks on his economic vision by Adam Schultz, in the public domain as a work of the United States government.