Kelson Reviews Stuff - Page 21

Nomad of the Time Streams

Michael Moorcock

★★★☆☆

I picked up a set of this trilogy during the second year of Covid, based on some half-remembered appearances in one of Moorcock’s other stories, but not knowing much beyond that.

It’s kind of an odd mix: They’re deliberately old-fashioned, intending to evoke the adventure stories of the late 19th century down to the trope of the protagonist personally dictating his story to the author. But they also interrogate the assumptions of those stories, and of the real 20th century as compared to the alternate timelines involved.

A 19th-century British soldier in India – the kind who would read Kipling’s “White Man’s Burden” and take it seriously – finds himself flung into three wildly different futures and global wars, each of which disabuses him of some aspect of his worldview.

Warlord of the Air

European colonialism has continued well into the 1970s. At first, the time-lost Oswald Bastable thinks it’s a paradise, with airships and other advanced technology…until he starts noticing that, far from uplifting the colonized, society is still stratified, with the colonizers continuing to exploit the natives. Dissidents and an eastern warlord try to win him over to their cause.

The Land Leviathan

This world has been ravaged by biological warfare, and the story upturns racist narratives. While Europe slides into savagery and North America doubles down on racism, stable nations take shape in Africa, where one leader sets out on a mission to build an empire, conquer and re-civilize the west. It’s more visceral than the first, and hits closer to home for a white reader in the US…and it’s meant to. It’s basically Killmonger’s plan in the Black Panther movie, except the white guy has to admit he’s got a point. The title refers to a walking fortress.

The Steel Tsar

The least well-defined of the three, and the one least clear in what it’s trying to say. Bastable ends up stuck with an insurgency against a more democratic Russia. An insurgency led by an alternate Josef Stalin who is really taking the “steel” part too far. And this time around, the charismatic warlord isn’t right, or fair, or honorable, or fighting for anything resembling a just cause. He just wants to be a despot. And Bastable has finally learned to tell the difference.

Trilogy

All three novels are sprinkled throughout with real historical people in drastically different circumstances (Gandhi as the president of a multiracial South Africa that never went through apartheid or the various colonial wars, for instance), and characters like Una Persson from the larger Eternal Champion multiverse.

Bastable himself starts out kind of boring: he’s just this regular British soldier. Then he’s strung along as a combination audience’s tour guide and antagonist’s foil. But over the course of multiple realities he develops both a broader perspective on people and an ability to roll with the chaos and make the best of his circumstances, and he’s a more interesting character – as well as a much better person – by the end.

Recent editions bill the books as early steampunk. Maybe? OK, airships and colonialism, and a lead character from the late 1800s. I might call it proto-steampunk?

Anyway, they’re worth the read, but they’re also very dry, which is why I’ve given the trilogy 3.5 instead of 4 stars. (I need to update the site template to display half stars!)

DreamHost

★★★★☆

I’ve hosted all my personal websites (including this one!) at DreamHost for over a decade now. Their VPS service (a virtual machine with a managed OS+web stack, but completely flexible within userspace, with an optional managed MySQL server) has been rock solid since the mid-2010s, and when problems do come up, tech support is on it quickly, friendly and informative. They support easy WordPress installs on their web hosting, plus a managed WordPress hosting service (that I haven’t tried).

Their cloud computing service has been less stable, though, and after waiting a while for problems to shake out, I tried out a few dedicated cloud providers and settled on Linode (review) for better stability, decent prices, and more datacenter choices.

Update: I’ve been mostly happy with DreamHost’s email service. It’s been reliable (despite seeing connectivity outage notifications on a regular basis, email is async so I haven’t been affected by it in the couple of years since I switched back to DreamHost from Gmail as my primary). The web interface is really usable and (since I’m already paying for the account) isn’t cluttered up with ads. The only problem I’ve had with is with spam filtering: I get a lot more false positives and false negatives than I did with Gmail, and just marking or moving the message isn’t enough to train the filters. And the way the filters work makes it difficult to report to SpamCop, even with mail sent directly to DreamHost and not via my forwarding address.

Space Oddity

Catherynne Valente

★★★★☆

Not quite as fun as the first book, but it’s just as absurd and chaotic.

I started reading at the beginning of October, in the final weeks of the 2024 election, thinking: wow, this is exactly what I need right now! As things went along it got more cynical, and the story read like a bunch of totally disconnected threads, each with its own flavor of absurdist despair, and I just felt like I do not need this book right now.

And then at the end, everything came together in a moment of catharsis, and I found myself thinking yes, this is exactly what I need right now.

Life is beautiful. And life is stupid.* And we could all benefit from a read-through of Gorecannon’s list of Unkillable Facts.

Fossify Launcher

★★★☆☆

Same basics as the built-in Android launcher: a home screen for app icons, optional additional screens, grouping multiple apps in a folder – and it doesn’t push a “news” screen or force a Google search bar on you!

Unfortunately it’s not quite ready for prime time. As of version 1.0.0:

  • It doesn’t rotate. Always running in portrait mode is fine for my phone, but I often use my tablet in landscape mode.
  • Widget support needs a lot more work. Sometimes they disappear, sometimes they get stuck in the background of all screens, and sometimes they just disappear the moment I add them.

I’ll probably try it out again after the next release, though!

WordPress Plugins (and ClassicPress too!)

Some WordPress plugins (and ClassicPress plugins too, though most are compatible with both) that I’ve used and which ones I recommend.

Writing

Classic Editor (WP)

★★★★★ One of my must-have plugins on WordPress. I know the block editor is a major effort, but I still find Gutenberg gets in my way more than it helps. For me, enabling the Classic Editor is a necessity. (Not needed in ClassicPress, which doesn’t have a block editor.)

Smart Hashtags (WP/CP)

★★★★★ Simple and useful: it just converts #hashtags to post tags. This works great on several of my sites. (Discontinued but still available.)

Editing and Admin

ClassicPress Directory Integration (CP only)

★★★★★

I don’t know why this isn’t included by default, because this is what makes it possible to browse and install ClassicPress plugins and themes from your dashboard! After installing it, you’ll be able to use both the WordPress and ClassicPress directories. I do have trouble searching for some keywords, but that seems to be an issue with the directory itself.

Broken Link Checker (WP/CP)

★★★★☆

Another of my must-haves, and I was so relieved to find it works on ClassicPress too. I’m still using the local checker, not the cloud version, because I’d rather keep the backend data here if I can, but it does a great job checking and classifying all the links on your site and making them searchable. And it provides good suggestions for cleanup: If the page is redirected, it’ll show you the final URL and let you choose to replace it…everywhere. With actual broken links, you can type in a replacement, just remove the link, or let it find the most recent Wayback Machine copy. And you can do any of these for an individual link, or bulk-select a bunch and let it update every link to that other blog you link to all the time that moved from www.example.com to example.com last month.

This is actually the main thing I miss when working on sites in Eleventy. I haven’t found a link checker for static sites or folders full of markdown that’s as good as this one.

Search Regex (WP only)

★★★★★

Incredibly powerful search tool for your dashboard, especially useful if, for example, you’ve moved to a new server (or a new site structure), or someone’s changed their name, or any other reason you might need to update a lot of things at once in the same way. Risky too - make sure you preview any replacements first! (Sadly, this one isn’t compatible with ClassicPress.)

Statify (WP/CP)

★★★★★ (Alt)

A simple stats package that runs on your own site, so you aren’t sending visitor data to some third party service just to count page views. Not as full-featured as Jetpack Stats, but much more privacy-friendly! Good for the basic use case of “where are most of my visitors coming from and what are the reading the most?”

WordPress Importer (WP/CP)

★★★★☆

Good for the main use cases: restore from backup, and moving posts between blogs. Unfortunately the image import doesn’t seem to work (WordPress 6.3 with plugin 0.8.1), which makes it a pain to clean up image-heavy posts.

One thing I’d like to do with this that I can’t is to import another copy of a cross-post and merge the comment threads. As it is, the best I can do is import the duplicate copy and then use another plugin (or dig into the database) to move the comments around.

Reading

Contextual Related Posts (WP/CP*)

★★★★★

A related posts plugin that runs locally on your server instead of calling out to a cloud service like Jetpack does. Highly configurable, privacy-friendly, can show thumbnails or just titles, can cache results or calculate them on the fly. Comparable to YARPP, which is also good, but this one comes up with better results on my site.

Since version 4 of the plugin, running it on ClassicPress requires fixing a mismatch in WP version requirements, which can be done manually or with WP Version Modifier for CP.

Moderation and Security

Akismet Anti-spam (WP/CP?)

★★★☆☆

Does a good job of catching comment spam. But it’s a centralized cloud service, so you need to deal with getting an API key, commercial/personal licences, possibly paid subscriptions, and connecting to Automattic’s servers whenever someone leaves a comment. (Apparently it’s compatible with ClassicPress, but I’ve only used it on WordPress.)

Antispam Bee (WP/CP)

★★★★★ (Alt)

Privacy-friendly spam filter for your comments. Works quite well without calling out to a remote service, and doesn’t require your visitors to be using JavaScript. (Seriously, I posted a test comment using Dillo and it showed up in the moderation queue!) No need to deal with API keys or licensing.

There are some optional tactics that will call a remote service for things like language identification, but so far it’s doing the job fine without them!

The only problem I’ve had with it is that it only acts on comments/pings to an individual post or page. It won’t protect a contact form, for instance.

Connections

ActivityPub (WP/CP)

★★★★☆

(Almost) seamlessly connects your blog to the Fediverse. It doesn’t auto-post to another server, it turns your WordPress blog into its own instance like a Mastodon server, so people can follow and reply to your blog directly from their Mastodon/GoToSocial/whatever account. Images are attached to the Fediverse view, and remote replies show up locally as comments. People can boost your post directly instead of just linking to it. And they’re still adding more capabilities with each release.

(It doesn’t let your blog follow other Fediverse accounts, but it can integrate with the WP Friends plugin, which does.)

Note that a lot of the settings aren’t in the plugin config page, they’re put in the relevant categories. Followers show up on your user profile. You ban an instance by putting it in the general comments blocklist.

Syndication Links (WP/CP)

★★★★★

Simple tool that keeps track of cross-posts. Remote links are shown as icons in a post’s footer and marked up with microformats’ u-syndication so that IndieWeb-compatible software will recognize that this one’s the source and the other refers back to it.

It can also create remote posts on Micro.blog, Bridgy Fed, or several sites supported by Bridgy. I’ve had trouble getting Bridgy to cross-post photos to Flickr, and for a while it had problems sending some formatting to Bluesky, but those are issues with Bridgy, not with this plugin. Unfortunately that also means I don’t use the feature as much as I might otherwise.

Jetpack (WP only)

★★★☆☆

At its core, Jetpack is about connecting your self-hosted WordPress site to the WordPress.com infrastructure so you can use its cloud services*. And it does those things well! I’ve used it for related posts, subscriptions, stats, contact forms, email subscriptions, social media connections and probably more over the years. There are free and paid tiers, and the free tier has been more than sufficient for anything I’ve wanted to use it for. And you can deactivate most modules if you aren’t using them, so if you want to switch some features over to another plugin, you can keep the rest of your Jetpack modules.

The key thing to remember is that almost everything Jetpack provides is running on WordPress’s network. If you’re ok with that, great! It’s an effective solution! If you prefer to keep things local, or if you’re required to by policy, or if you simply don’t trust WordPress and/or Automattic, you’ll want to look elsewhere. I finally dropped it because I was feeling guilty sending visitor data to a third party for statistics, and that’s one of the few modules you can’t turn off.

Some alternatives I’ve found that run locally and work well include:

My personal blog had so few email subscribers I didn’t even bother looking for a replacement, though I think I’m going to have to find something for Speed Force.

Optimization

Classic SEO (CP only)

★★★☆☆

Provides all the features I was using Yoast for on WordPress – sitemaps, canonical URLs, metadata, etc…and a whole lot of actual SEO stuff that I don’t use, and don’t want to use. It does the job! But it’s really cluttered.

WP Super Cache (WP/CP*)

★★★★★ (Alt)

Major speedup for the typical use case. I’ve been using this caching plugin since before Automattic took over management. Since I don’t get very much in the way of comments on my site, the vast majority of hits are anonymous and don’t change what should be on the page next time, so a static cache helps a lot.

Since version 2 of the plugin, running it on ClassicPress requires fixing a mismatch in WP version requirements, which can be done manually or with WP Version Modifier for CP.

Yoast SEO (WP only)

★★★★☆

I don’t use most of the “SEO” features. Mainly it was a convenient choice to handle sitemaps, an RSS footer linking back to the source, canonical URLs and metadata for link previews. It’s good at all of these! But it’s also way overkill for what I want to use it for. (Not compatible with ClassicPress - I’m currently using Classic SEO as a replacement.)

WP Version Modifier for CP (CP only)

The current ClassicPress code was forked from WordPress 6.2, which means any plugins installed on it will read it as WP 6.2 for compatibility purposes. But because the code has diverged, a plugin marked as needing WordPress 6.3 or later might still run on ClassicPress just fine. The most common reasons I’ve seen:

  • The plugin uses newer block features, but doesn’t require blocks.
  • The plugin uses a newer library which has also been updated in CP.
  • The plugin author doesn’t want to keep older versions around for tech support.

In cases like these, you can either manually install a plugin and change its requirements, or you can use something like this plugin to tell the others that “oh, yeah, this is totally WordPress 6.5, not 6.2!” It won’t help if there’s an actual incompatibility, but it’ll do in a pinch.

Though I did have to modify one line to get it to run on my main blog in a subdirectory.

Notes