After Kathryn and I had a relatively late night out, having dinner with two other couples, I dragged myself out of bed an hour before first light today so I could serve on the altar at the early morning Mass. After noticing that I hadn’t received my 4:30 am reminder, I reverified the schedule and realized that I had misremembered the days I’m serving this week. Today wasn’t one of them.
Weekday Masses are not long, but with the driving time, preparing the altar, and so on, it’s usually about two and a half hours from the time I leave the house until I return home. Today, that’s time I can spend on a blog post.
Twice this week, friends have asked what’s going on with my blog. It’s a fine line I’ve been walking between trying to write a blog and trying to write blog software. For the past several weeks, I’ve stayed on the latter side of that line. While I’ll probably never truly finish it, I’m pleased with what I’ve recently accomplished.
Focusing on a project of this size is daunting, especially since I’ve been replaying the details in my head for over 20 years. Lately, I’ve taken a new approach that seems to be working. Every week, I pick a specific area and flesh out some of the details, resolving any issues that stand in my way. At the end of the week, I stabilize the changes and commit them — warts and all. The next week, I pick a different area.
Two weeks ago, I picked federation as a target area. Specifically, I focused on implementing more of the ActivityPub protocol. Right now, inbound Follow, Like, and Create activities are working. Users with accounts on other ActivityPub-enabled servers can follow the blog, like a post, or create a reply to a post. If you poke around, you’ll see a handful of such activities that I created with test accounts. If you’re bored and willing to do some research, you can register an account on an ActivityPub-enabled server and try it yourself.
(No promises, but if you copy and paste the previous paragraph into your favorite AI chatbot and ask it how to get started, it may tell you.)
Last week, I picked infrastructure. To move forward with several of the features I envision, I need a database server with geographic types and functions. The version I had been using wasn’t fully outdated, but querying, say, the nearest five places to another place would have been awkward and computationally expensive.
To upgrade, I needed to export and import the data. However, I’d been storing photos in the database — a bad idea that I had implemented out of expediency — and it had made the database huge. So, I first migrated all the photos to a block storage service. After that, migrating a much smaller database became almost trivial.
In addition to the block storage and database efforts, I also stood up an instance of another ActivityPub-enabled server — not my own — to use for for additional testing. Overall, it was a productive week.
This week, my focus is consolidation. I’ve scattered content across a variety of platforms over the past two decades, and I’d like to move toward getting it all under one roof. So far, I’ve implemented an import tool for my software, so that, for any of my previous platforms, I just need to figure out how to export in a compatible format. That’s the more challenging part.
At some point — probably not this week, but as part of the consolidation — I’ll be moving to a new, shorter domain name. I’ve already picked and reserved it, but I’ll wait a while to unveil it. One of my longtime friends likes to refer to my blog by the name of the software, and it’s rubbing off on me, so I’m going to lean into that. The current domain name will remain active with redirection for a long time, probably several years, so you’ll have plenty of time to update your links.