Moving to Pure Blog. Or Not.

This is something I put down at the beginning of February, and forgot to post. So for posterity:

I read about Kev Quirk’s new blogging platform, Pure Blog, thanks to a boosted post on Mastodon from Jack Baty. While I’ve been on WordPress for quite a while, and had no real plans to leave, this certainly sounded interesting, and so I read through Kev’s post introducing the new platform. What I read there intrigued me enough to go to the project site.

This part especially caught my eye:

It reflects the lessons I’ve learned from every platform I’ve touched over the years:

– WordPress gave me power, but too much complexity.
– Jekyll gave me simplicity, but not enough flexibility.
– Ghost has a fantastic editing experience, but leans hard into audience-building, which I don’t need.
– Kirby is brilliant, but getting the panel exactly right takes a lot of effort.
– Bear Blog is lovely, but its editor is a bit too minimal for my taste.

Pure Blog sits somewhere in the middle of all of those experiences. It’s intentionally small, intentionally simple, and built to solve the exact problems I’ve run into as a long-time blogger.

I mostly agree with Kev’s sentiment about WordPress. I flirted with Jekyll, but felt like it was too technical for me, and I haven’t looked at it in years. Ghost is the new hotness, but for a personal blog, seems like overkill. I spun up a Ghost instance on DigitalOcean a couple of years ago and played around with it, but ultimately killed it and stuck with WordPress. I’ve never looked at Kirby seriously. I have poked around with Bear Blog, and until today, if I was looking to move from WordPress, that would probably be where I would go.

The video on the main page convinced me to give it a shot. I jumped over to GitHub and downloaded the software. But as a relative neophyte, I wasn’t sure where to go from here.

Enter Claude.

Local web server

First thing to do, get the local Apache web server up and running on my Mac. For this, I turned to the MAMP project. Downloaded, installed, started up the web server. Copied Pure Blog’s contents in to the /htdocs folder. After some starts and stops, and help from Claude as I told it what errors I was encountering, I got everything sorted (neophyte, remember?) Entered http://localhost:8000/setup.php in my browser, and boom, we’re on our way.

https://pureblog.org/assets/images/getting-started/setup-screen.webp

I set up the site in Pure Blog’s settings as shown above, and then tested it out. Wow, look at that. With a little LLM AI help, this neophyte had it sorted out. Now all I needed was some content.

WordPress export

Sure, I could start from scratch, but I knew that if this was to take off, I would want to move all my WordPress content over. But all of that is in a database used by the WordPress installation, and Pure Blog uses plain text Markdown files. So how do I go about doing that, Claude?

The answer was a WordPress -> Markdown Node.js tool: npx wordpress-export-to-markdown.

  1. From the WordPress installation, go to Tools -> Export -> All content
  2. Move the XML file that results to a local folder where you can point the Node.js tool to.
  3. Fire up a Terminal window, input the above command, and follow the prompts:
    a. Point the command to the XML file
    b. Answer the questions on file name formats, images, etc. These are all very straightforward, the command’s programming guides you effortlessly through each one
    c. Once the last question is answered, the exporting begins!

Now with over 20 years worth of posts, I figured this was going to take a while. The Node.js tool has to parse each individual post from the XML file, and place it in the appropriate /YEAR/MONTH folder, then go out and grab the accompanying images (if any).

It took about 45 minutes, and there were 105 failures when it came to locating images. My guess is that those were from the Tumblr posts I’d imported years ago, reblogs where the original post no longer existed. I have some detective work ahead of me. All told, I had just over 2 GB of data.

Here, kids, I will take a moment to remind you to read through all of the documents for a blogging platform before you start working on it.

I ended up re-doing the WordPress -> Markdown conversion. Originally, I had selected to download posts in to year and month folders. However, Pure Blog doesn’t work along those lines. It’s looking for a date in the filename, such as 2026-02-06-test-blog.md. This is how it sorts and displays posts in its simple system. The Node.js tool has an option for this, and so it was easier to run the conversion a second time with that option, rather than edit each file individually. (Remember, over 20 years worth of posts.)

What Might Be Missing

While the second conversion was under way, I had a sudden thought: Does Pure Blog support title-less posts?

A few years back, when I was using Micro.blog, I started publishing posts without titles. These were mainly my social media (viz: Twitter/X) posts, only posted to my blog. When I moved to WordPress full time, those title-less posts were categorized as “Micro.” Posts with titles were categorized as “Main.” These are the only two categories I use; otherwise, all posts have tags.

WordPress handled the issue of URL for title-less posts by using the published date, so long as you’re publishing the date on your site for each post. With my chosen theme, it looks and works rather elegantly.

A quick test of uploading a title-less Markdown file showed me that yes, the Pure Blog engine will publish it, but (a) there is no way to display a public link for it on the site (at least with the default configuration), and (b) there is no way to edit it within Pure Blog’s Dashboard. The Dashboard uses the post’s title as the means to open the post for editing.

Now, given these are Markdown files, you don’t need the Dashboard to edit them; any text editor will do. However, when displaying them publicly, it’s only good web manners to have a link to the post available to others. So, a quick email to Kev:

Kev,

Any chance of support for title-less posts?

Thanks,

Chris

The response a few hours later, was not heartening:

Hey Chris,

It’s something I may add in the future if I decide to go down the route of adding microblog type features to my site, but it’s not something that’s immediately on the list.

Thanks,

Kev

And thus for now, on the 7th of February, 2026, my experiment with moving away from WordPress to something simpler ended.

Addendum, 12 April 2026: Kev has been quite busy since my above experimentation, constantly updating the Pure Blog software, including two full re-writes of how it handles updating the software itself. He’s added shortcodes, page cache, some more themes, numerous other small additions and bug fixes, and even a full x.0 version update.

Alas, with version 2.2.0 as of two weeks ago, Kev considers Pure Blog feature complete. And it still doesn’t have the one feature I was hoping for, the aforementioned title-less posts.

At the end of the day, Pure Blog is scratching an itch for Kev, first and foremost. The fact that enough people are using it for their own blogging that he has continued development, accepting contributions from other developers, is testament to his being on to something that isn’t found with any other blogging platform.

So why do I stay with WordPress? Familiarity, plain and simple. I’ve been with it long enough, it doesn’t cost me a lot in terms of tech- or thought-debt. Though it is and can be complex, for my particular needs, it does the job. It has staying power, and stability, thanks to the organization and company behind it. It will run pretty much anywhere I’d want or need it to. And I’m not subject to a service, like with Micro.blog, Pika, or Pagecord.

Examining and experimenting with other platforms like Pure Blog is worth engaging in, as it tests the limits of what you’re currently using, as well as testing your limits and needs. Would I be better suited with something like PureBlog for a personal blog? Most likely. Do I feel it’s a good fit for me at this time? No, I don’t. That doesn’t mean it’s not worth looking at for someone else, or revisiting in the future as it gets more mature.

Some Minor Site Tweaks

Thanks to Claude, I was able to quickly fix two minor annoyances I was having with Flickr and YouTube short URLs in posts here.

One convenience of WordPress is its built-in handling of straight URLs from those two platforms. Just pop the URL in to its own line in your post, and voilà! you have your photo or video embedded with no additional coding on your part.

I decided I wanted to change the width of content displayed (notably on desktop), which thanks to the Twentig plug-in was a simple click. However, doing so meant those embeds were no longer behaving how they were previously under the default, narrow content view. Not to mention some of the Flickr embeds had never been full width. Claude helped with some additional CSS I then added to the theme, and it’s looking just how I want it. Which may not matter to anyone else, but it matters to me, so there we go.

Having fixed this, I’m now tempted to go back and fix a lot of posts where I uploaded images to my WordPress Media Library when I could just be linking to the images on Flickr and saving the storage. Will have to give that some thought.

Taking a break from my usual fare to remedy my never having read this classic.

Taking a break from my usual fare to remedy my never having read this classic.

Retrophisch Review: The Most Dangerous Man

The Most Dangerous Man by Jack Murphy cover art“There is no hunting like the hunting of man, and those who have hunted armed men long enough and liked it, never care for anything else thereafter.” —Ernest Hemingway, Death in the Afternoon

Hemingway’s words succeeded Richard Connell’s The Most Dangerous Game by eight years. While the two authors were contemporaries in the sense they both were influenced by World War I and were most prolific in the interwar decades, there’s no real evidence that Hemingway was influenced by Connell’s work. Yet I imagine had he read it, based on his own experiences, Hemingway would have nodded right along.

In The Most Dangerous Man, Jack Murphy has crafted a modern retelling of The Most Dangerous Game, and has done an incredible job doing so.

Jeremy Lopez is a US Army Ranger, and a member of the little-known and very secretive Regimental Reconnaissance Company. He works as part of the intelligence gathering apparatus for JSOC, the Joint Special Operations Command, helping units like Delta Force or SEAL Team Six on their missions against high value targets. Unlike most in the intelligence business, Lopez is very much hands-on: he is on the ground, providing assistance in real time to the operators undertaking the mission at hand.

Currently working in West Africa, upon the completion of a mission, Lopez retires to his hotel in Niger’s capital city, and the bar therein. Where he meets an utter bombshell of a woman, who just so happens to spike his drink. The next thing he knows, he’s in a locked cell, in a place only God knows where.

The cell itself is a bit of an anomaly. There’s a miniature gym inside it, and Lopez is not only fed three meals a day, he’s fed three very good meals a day. Someone’s taking care of him despite his captivity. The reason for which is soon made abundantly clear, and it is not in Jeremy’s favor.

Lopez has been captured, alongside another member of a fellow intelligence team, by a South African tracker leading a hunting party of wealthy patrons, most notably from Silicon Valley. After successful hunts against the Big Five game animals, the hunters were looking for a new challenge. Their guide managed to get them on to reservations in Africa where they could hunt poachers, with the covert blessing of the governments involved. Two birds, one stone and all.

But even that proved boring to the tech bros, so their guide came up with a new scheme: give them a game that had a real fighting chance against them. So a trap was set for a Western military man, preferably a commando of some type. While Lopez isn’t the Navy SEAL the hunters all hoped he would be, they will soon learn what his capabilities really are.

Murphy has crafted an amazing, adrenaline-fueled barnburner of a thriller with The Most Dangerous Man. His pacing is terrific. His humanizing of Lopez, showing his foibles as well as his strengths, only endears him to the reader and gives you a hero to really root for. Some might think his villains as almost cartoonish, but anyone who’s really paying attention to the real tech bros out there will know that their ideas and beliefs are not as far-fetched as one might think.

I simply couldn’t put this book down, blowing through it in three days, and two of those were spent working eight hours each, where I didn’t have as much time to read. The action is propulsive and heart-pounding, and the reader is often left wondering, along with Lopez, just how he is going to survive. I cannot recommend this one enough!

5/5 phins
Amazon: Hardcover, Paperback, Kindle
Bookshop: Hardcover, Paperback, eBook

Retrophisch Review: Desert Heist

Cover for Alex Dekker's book Desert HeistIf you’ve ever wondered what Indiana Jones might be like in the modern day, Alex Dekker may be giving us a glimpse in his debut thriller, Desert Heist.

Raised on history and archaelogy by his academic father, Nathan Wilde is a Green Beret who left the US Army after years of service in the Middle East, culminating in a fierce battle in Yemen which left several teammates dead. Throwing himself back in to his studies, Nathan is working on his PhD, and his dissertation proposal is to search for the lost city of Ubar in present-day Saudi Arabia. When the proposal is rejected by the Harvard doctoral committee, Wilde decides to pursue the search on his own, convinced of the possibility of his own research.

Ultimately, he arrives at the conclusion that the only way he can move on is to throw caution to the wind and seek out the city himself. With all legal means of entering Saudi Arabia blocked, Wilde decides to enter the country’s infamous Empty Quarter through a place he’d like to forget: Yemen. Doing so means he’ll need help, and he turns to former Special Forces teammates for that. Along the way they are joined by Ana Metry, a geologist searching for her missing father, whom Nathan was attempting to contact, given his research on underground water tables in Saudi Arabia could prove helpful in locating Ubar.

The entire group is hunted by a former Spetsnaz operative, now working for a private client, which wants the information the elder Metry had discovered to remain secret. Not to mention dealing with Al Qaeda terrorists using the border towns of Yemen and Saudi Arabia as staging posts, and the utter harshness of the Empty Quarter itself.

Dekker brings his own background as a member of the elite Green Berets, and his love of history, to bear in Desert Heist. His knowledge in both areas shines through, lending weight and credibility to the plot and characters without weighing the story down. Nathan is far from a unstoppable Jack Reacher-like character. He is very human, and Dekker allows all the emotions of frustration, anger, and love flow through him for the reader to take in as the story progresses.

All in all, a solid debut, and one thriller fans should love!

4/5 phins
Amazon: Hardcover, ebook
Bookshop: Hardcover, ebook

Retrophisch Review: The Shadow Over Psyche Station

Cover art for the novella The Shadow Over Psyche Station by Yuval KordovHorror has never been a genre I have read a lot. For one, I don’t understand the desire to be scared. I’m sure a lot of that has to do with childhood little-t trauma about getting lost in a Halloween haunted house. For another, I can have an overactive imagination; I couldn’t finish the first season of The Walking Dead because the zombies were too realistic. (Though I never had that issue with reading the comics.)

Cosmic horror, as a genre, even less so. I’ve read a few Lovecraft stories here and there, but not enough that I would willingly read more, and I’ve avoided movies of the same, like Event Horizon. It’s just not my thing. Usually.

I made an exception with Yuval Kordov’s excellent The Shadow Over Psyche Station, and I’m so glad I did.

This is mostly because Yuval is one heck of a writer; his prose is so dense and deep, and it’s just a joy to read. There aren’t a lot of authors out there these days writing the way Yuval does; he hearkens back to science fiction and horror of decades past. Another reason is that I’ve become infatuated with the new-ish genre of incensepunk. While not Catholic or Orthodox, I did grow up in south Louisiana, where most of my friends were Catholic (or Catholic-adjacent). Thus, I know enough about Catholicism to get by, and nothing in this genre is a big surprise in terms of the denominational trappings.

Yuval is heavily involved with Incensepunk Magazine, and is a kindred spirit in that he, like me, is neither Catholic or Orthodox; though you wouldn’t know it to read his works, most of which fit in to incensepunk. We both have an outsider’s perspective we’re bringing to our enjoyment of the genre, and that mutual enjoyment is one reason why when he offered me the chance to read an advance copy of his next novella, I jumped right on it.

The Shadow Over Psyche Station is cosmic horror with incensepunk tones, a science-fiction tribute to Lovecraft’s The Shadow Over Inssmouth. It follows the trip of Imperial Assessor Marcus O. as he investigates the various orbital stations around the solar system that provide the numerous minerals and other necessities required to keep the Martian Empire going, now that Earth isn’t much help. The last station on his list is the one farthest out, and the one that hasn’t been in contact with the others for some time, Psyche Station. The station is woefully behind on its ore shipments back to the other stations as well as the Red Planet, and Marcus’ superiors want answers as to why.

As for Marcus himself, despite his occupation and the setting, he is a very relatable character. An everyman who, while wanting to be devout to God and the Empire, is also a just trying to do a good job and secure that next promotion, preferably one that doesn’t require any more excursions in to the void of space. Who among us hasn’t wanted to impress the boss enough to get a cushier gig?

The void itself is a bit of a character, but we’ll come back to that in a moment.

If the discomfort Yuval paints in the initial going about the cramped conditions of the shuttle rides between the stations isn’t enough for Marcus, what he finds on Psyche Station once he arrives only heightens how uncomfortable and out of his element he feels. He has contact with….no one. No one human, at least. The Psyche Station shuttle pilot is non-communicative, no one is there to greet him upon arrival, and the only “person” who appears to speak to him is a hologram AI. An AI which shouldn’t exist within the station. The tension only ratchets from there, as Marcus navigates to his assigned quarters and begins discovering more than he, or his superiors, bargained for.

I don’t want to give away too much of the plot from here, other than to say the psychological intensity is constantly ratcheted up. With every discovery, with every encounter, Marcus realizes how far gone he, and the Station, are. Especially when he feels pulled, nay, called, in to the Void. Down to 16 Psyche itself, to where the Station’s inhabitants have also been called.

But in a place where the void of space stands in not only for itself, but the void of Good itself, there are lights in the darkness. Father James is one of those. At one point Marcus seeks out the chapel, to go to Mass, and Father James reluctantly lets him in. He has already seen the things Marcus is only beginning to suspect. And the priest’s reappearance later in the story is a moment of incensepunk glory.

Yuval’s writing is once again on prime display in this story. His pacing is tight, his descriptive language masterful, his ability to pull the reader in and make you feel what Marcus is going through impeccable. Touches such as how the reader learns the name of the sinisterly inhuman AI is an utterly masterful reveal by Kordov.

Needless to say, I was blown away by The Shadow Over Psyche Station, finishing it in less than 36 hours. (Hey, I had to sleep and work some where in there.) If cosmic horror and incensepunk are in your wheelhouse, you should definitely pick this one up. If those genres are not your bag, give it a chance anyway. Like me, you may find yourself appreciating it for the incredible prose it contains.

5/5 phins
Amazon: Paperback, ebook
Other retailers from the author’s site

On the one hand, AppleTV’s tvOS informing me that Stars-Flyers has gone to overtime WHILE I’M WATCHING THE GAME is kind of annoying.

On the other hand, at least tvOS isn’t as “smart” or privacy-invading to know I’m already watching it.

Courtesy of Kevin Kelly’s Recomendo newsletter (it’s free), here’s a neat iPhone ring hack for those of us who keep the ringer silenced:

Like many people I keep my phone ringer on vibrate, but I don’t usually carry my phone on me – I may leave it on a desk – so I often miss calls. I’ve greatly reduced missed calls by setting the phone to flash its flashlight and flash its screen while it vibrates. That flashing light is enough to notice from a distance. It is easy to program on the iPhone. Go Settings > Accessibility > Audio Visual > Flash for Alerts. For Android: Settings > Accessibility > Audio & Screen Text > Flash Notifications. — KK

Tahoe update, begone!

Like many Mac users, I ignored macOS 26 when it was released because Liquid Glass is…not good. And there are numerous other graphical inconsistencies as a result of the new coat of paint. I’m not going to document those. You can head over to my friend Michael’s blog where there are numerous posts you can search for that lay out all the issues.

I’m quite happy with macOS 15 Sequoia on my PowerBook M4 Max. (Again, doesn’t that flow so much better than MacBook Pro M4 Max?) So I ignored the update and things were all right in Mudville.

But Apple has decided it really wants users to upgrade, the irritations of which Michael has ably herded together, along with a nerdy solution courtesy of Rob Griffiths. And yes, quite frankly, I was tired of looking at and seeing the notifications pop up constantly, so I went to read Rob’s piece.

First thing I noted was that it applied to macOS 15.7.3; it was written back in January of this year, and I had already updated to 15.7.4. So I read through the comments to see if anyone had actually addressed this issue of Rob’s solution working or not with the latter version. No one had, but Jeff Hirsch had left a comment that had me running off to System Settings to give it a whirl:

Go into Software Update, switch your Beta Updates to the macOS Sequoia Public Beta channel and enjoy your nag free Sequoia experience. Done and done.

No profiles, no expiration. Just a quick and painless removal of those persistent Tahoe upgrade nags.

Yes! This is the kind of thing I was looking for: something simple, easily undoable when the time comes, and I don’t have to worry about a lot of copying and pasting in Terminal.

And what before my wondering eyes should appear?

Screenshot of maOS 15 Software Update window showing 15.7.5 update available

Not only did the macOS 26 nag disappear, an update to macOS 15.7.5, heretofore unavailable, appeared. Not cool, Tim. Not cool at all.

Ran all updates, and now, once again, all was right in Mudville, for mighty Casey had hit a bases-clearing dinger.

Screenshot of macOS 15 Software Update window showing up to date with 15.7.5

Thanks, Jeff!

December of this year marks the 35th anniversary of the first PowerBooks shipping to customers. If only Apple would take the opportunity to bring back that classic brand name.