Today, people around the world celebrate World Radio Day, honoring broadcast radio. Terrestrial radio has far less cultural impact than it once did, but it works reliably with far less sophisticated equipment than almost any other way that we communicate. When you factor in speed over long distances, radio becomes unique in that respect.

A foxhole radio

And since most of us have our computers connected via Wi-Fi, these days, and Wi-Fi uses radio signals, it almost looks like a smooth segue to talk about software.

Social Media

I have now created a Spoutible 🐳 account.

Given that they kept changing the dates that people could sign up, their site absolutely drags under any stress, and their mascot brings to mind Twitter’s old “fail whale,” I don’t have particularly high hopes. However, especially given the site’s Black ownership and its commitment to safety, it seemed smarter to poke around now and decide whether it looks like someplace that I want to spend time, rather than ignoring it.

I…don’t love it, even ignoring the problems that I mention above, which I can forgive, because launching a social media website seems difficult at a time when people want a new home. It looks a lot like Twitter—a timeline taking up the bulk of the screen—which makes it difficult for me to get a feel for the community, there, and feels like it wants me to spend all my time looking for that next message. In turn, that seems like exactly the sort of behavior that I do not want to engage in.

Other than that, it feels a lot like Post.News (though admittedly feels slightly nicer), with people trying to recreate their environment on Twitter without considering that maybe Twitter made them less healthy, but with some rudimentary, optional anti-harassment measures. It has the same people looking to follow the same people, and pandering to the crowd to get boosted exposure—the “send this message to all your followers, if you believe (insert a self-evident or popular statement)” sort of ploy that has nothing to do with messaging and everything to do with “increasing engagement”—while talking about how much they miss “the good” Twitter, as if the company didn’t break its own rules to protect fascists long before its change in management.

Oh, also, for Mastodon, do yourself a favor and install Street Pass. As you visit websites, it checks the HTML for identity verification code, and lights up when it finds someone new. If you like the website, that makes it more straightforward to follow the creators whose work you like than looking for a specific request to follow the person or organization.

Mastodon Tool Trunk

GitHub - jcolag/tool-trunkTools for (John's) Mastodon workflow. Contribute to jcolag/tool-trunk development by creating an account on GitHub.

I continue to try to debug the issues with my scheduling script, and so mostly added small convenience features to aid in that debugging, such as listing all scheduled toots, or deleting them.

I also fixed a serious-but-small bug that somehow confused the options object for the configuration object.

It still needs work—I get an HTTP 404 error “Record not found” when posting, which seems impossible—but I believe that I at least have it close.

Entropy Arbitrage

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

Working with the changes to the Mastodon Tool Trunk, I fixed the new embed tag, both in the sense that it had a significant error in it that shouldn’t have slipped past even my most superficial testing, and the fact that I overlooked important aspects of how the thing should work. In the latter case, I realized that the plugin should include the image description, even if I can’t/won’t show the image. It now does that with an “image not shown” message, which I may change later, since any changes will work retroactively.

I also provided CSS to go with the plugins. It may have gone overboard on the no-image CSS, as you may have noticed on Friday’s post, but I like how it looks, especially for a new feature. I can always mute the colors later, if they grow tiresome.

Twitter (Wait, What?)

GitHub - jcolag/twitterJohn's Twitter archive via tweetback. Contribute to jcolag/twitter development by creating an account on GitHub.

No, I didn’t secretly get a job with Elmo, smuggle out the source code of slowly collapsing infrastructure, and publish it to GitHub. Although, given how this week has gone for the company, it would probably only surprise people to the extent that I’d apply to work at a big Silicon Valley company…

Instead of doing any of that, I used tweetback to produce a permanent archive of my Twitter history, hosting it on GitHub Pages. Since I don’t expect to tweet anymore, this should serve as a final archive.

The generated site has some odd imperfections:

  • You can’t “doom-scroll” to find more of the history,
  • Some image links seem broken in strange ways,
  • It doesn’t unravel shortened URLs,
  • Including at least one pointing at my Mastodon account, and
  • The search box doesn’t always appear.

However, you can track down everything from my early attempts to engage minor celebrities in December 2011 to the final tweets in January 2023 cross-posted from Mastodon. You can also see metrics of whom I retweeted, who I’ve replied to, sites that I’ve linked to (“” comes from my first round of scheduling tweets, and so doesn’t really count), my abysmal use of emoji and hashtags, and a minimum of swearing. Does “porn” even count as swearing?

Oh, and my little archive (clunkily and trivially) federates with other tweetback archives, so if we have replied to each other on Twitter, for example, clicking the references in one archive will automatically link to the other, instead of linking to Twitter. (I wonder how much effort it would take to turn this code into a full social network. Much as I like Mastodon, a federated network with single-user instances that mostly act like static websites seems like it could work well.)

I’ll probably eventually add a CC BY-SA license to it, though I don’t imagine that anybody would find my tweets—at least the tweets that include my thoughts, beyond a quote or a link—useful.

If “install the Node packages, then run this at the command-line” sounds like a reasonable thing that you would do, I can highly recommend downloading your Twitter history—you should honestly do that part, regardless, given the site’s instability and the company’s instability—and following the directions to set up your own archive.

Oh, and while you have your archive open, give some thought to running something like the Twitter archive parser. The download that Twitter provides to you mostly contains JavaScript files that assign arrays of objects with a lot of information that you probably don’t care about, plus resized images. The parser script will convert the tweets into HTML and Markdown, and (optionally) download the full-sized versions of media.

In my case, I don’t care about the media—I don’t believe that I ever posted an image for a reason other than highlighting an article—so I can maintain a “trim” archive of about five megabytes with only the Markdown on my machine for any searches or analysis, and dump the full three hundred megabyte archive on my media server, in case I need something else from it.


I need to figure out the final piece of the Mastodon scheduler—as mentioned, it looks like I only have one piece left, and that piece doesn’t make sense—and I may experiment to try to unravel those shortened URLs for my Twitter archive. As you can see in the archive’s analytics, the majority of my listed URLs “come from”, as an artifact of early schedulers. It makes no sense to decouple this data from Twitter, only to link to everything through a service that I haven’t used in years (Buffer), many (all?) of which apparently redirect to URLs, going right back to Twitter to find the actual address. Mind you, I have no idea how many of those final links still go anywhere useful…

Speaking of rewriting URLs, I may also overhaul my pre-2023 Twitter-centric social media roundup posts to point people to this archive, instead of leaving my blog pointing at Twitter. After the last couple of months, I can’t really predict that those links will still exist, either.

Credits: The header image is Foxhole radio from WW2 by John W. Campbell Jr., in the public domain due to a failure to renew its copyright.