This week has been a whirlwind of blogging changes. Or, more accurately, a whirlwind of me thinking about blogging changes.
I'm fascinated by the new ActivityPub features being built into Ghost. This would let me be part of the "Fediverse" without needing to belong to any specific instance of anything. I could blog and post to social media from the same place. People could follow me there, and I could follow them.
But I'm stuck. I had planned to leverage the copingmechanism.com domain for this, but I don't want to "live" at that domain. My domain is baty.net. My fediverse handle should be @jack@baty.net because that's the ideal option, right?
So, I started the process of moving baty.net to Ghost, but stopped when I remembered what a pain it is to migrate Hugo content to Ghost.
As I see it, I have three options:
Move baty.net to Ghost and import everything from Hugo
Move baty.net to Ghost and don’t bother importing anything
Don’t do anything. Keep Ghost at copingmechanism.com. This would be so easy.
The best option is #1. It's cleanest for everyone and doesn't break anything. Except it will break things. It always does.
I only have energy for #2. I hate to break all those links, though. I'd move the original blog to some other domain, but the links are still broken.
The conflict between 1 and 2 means I could end up choosing #3.
I’m catatonic over what to do here, so I haven’t done anything.
You may have noticed that I've been toying with the idea of moving my main blog to Ghost at https://copingmechanism.com. This all started because the folks developing Ghost have been working on implementing ActivityPub features directly into Ghost, and I like the idea of blogging and reading/posting to social media in one place.
Mastodon is cool, but "belonging" to an instance can carry more meaning than I care for. I'm not interested in self-hosting Mastodon or GoToSocial or anything like that, so having it come along for "free" with Ghost makes it a tempting option.
Except I don't love the new domain name. It's fine, I guess, but I've got so many years wrapped up as baty.net that it seems a shame to move away from it. Wouldn't it be cool if my "Fediverse" identity could be @jack@baty.net? Remove one character and it's my email address. Remove five more characters and it's my website. I like this idea.
I promised myself that I wouldn't move baty.net again. If I want to play with a new blog, I'm supposed to create a new one, somewhere else. We all know what happens when I try moving a blog to a new platform...I move it back in a month.
This time, though, if I want the benefits of blogging, posting to social media, and reading the feed all in one place, that place needs to be baty.net. At least if I want @jack@baty.net, it does.
Importing years of Hugo posts to Ghosts isn't fun. I've done it before, and it was a pain. Inevitably, some images or links end up breaking. I hate that.
If I move my identity and blog management to Ghost, it means I'm all in. There's no going back. Not without breaking even more than the usual stuff.
Still noodling on this. I'm impulsive when it comes to new stuff. I should spend time thinking this through. Or at least I should wait until everything actually works. Hanging my hat on a beta release is stupid. And yet, I'm this close.
Maybe I could get used to being @jack@copingmechanism.com instead.
I’ve spent so much time, had so many headaches, and encountered so much complexity from what, in my estimation, boils down to this: trying to get something to work on multiple computers.
I wrote recently that I'm tempted to "move the entire enterprise onto paper" and I'm more than half serious. Playing with text on the computer has become a way to never actually do anything useful. It's fun and easy and gets me nowhere.
I fired up my Micro.blog subscription again yesterday. This was probably not the right move, but I'm experimenting with my social media "identity" and Micro.blog is one option.
Corona Typewriter (2016). Crown Graphic. HP5 in Monobath
Hello again. See this post for why I'm back to posting daily notes here.
No one with privilege is going to simply stop taking advantage of it on their own. That's why it's called "privilege". When it comes to helping them to better understand and use their privilege for good, it might be more effective if you didn't constantly scold them for even having it.
Here's the thing, even after committing again a year later, in Reduce & Simplify - Redux 2025, I've done neither of those things. In fact, nearly six months after the Redux post, I continue to do the opposite.
The biggest failure was my stumbling attempt to use Linux[1]. Doing that meant rejiggering anything that was previously macOS-only. I had to redesign my Emacs config to take into account differing paths and tools. I had to use different shared calendars. I had to use different sync tools. I had to use a different text expansion utility. Things that I'd had working and taken for granted for years were upended. It has been fun, and I continue to tinker with it, but I'm no longer seriously considering a full-on move to Linux, so now I have two systems to deal with and maintain. That's the opposite of "simplify".
Let's talk about taking notes. I use the Denote package in Emacs for notes[2]. I have a decent workflow dialed in. And yet, I keep Obsidian installed, just in case. Even wilder, yesterday I created a new Tinderbox document meant to take over Denote's duties for my "lab notes". Good grief. I love Tinderbox, but Emacs does everything I could want and I'm already "good at it". Why introduce another option? Because I'm bored?
And blogs. So many blogs. I honestly don't know if tinkering with blogging tools and platforms is a harmless hobby or a life-freezing procrastination device. Ghost, Tinderbox, BSSG, LMNO.lol, Kirby, 11ty, Hugo, and so on. Sometimes all at once. It's unsustainable.
I bought a Nikon Z f as a modern, faster replacement for my Leica SL2. Yet I still have both, because I like them both and can't decide which one I should keep. Oh goody, yet another decision I need to make every time I want to make digital photos.
And what should I use to process those digital photos? I keep a full workflow at the ready in both Lightroom Classic and Capture One. Oh, and sometimes I use the new Lightroom, just for fun. Worse, when I feel overwhelmed, I back it down to just using Adobe Bridge and editing via Camera Raw. It's no wonder that sometimes I can't find one of my photos.
Doing specific things in a variety of ways can be fun, but it's also crazy-making and I think it's time to reel it all in. Again.
I'm not good at reeling things in, obviously, but I'll start with the following:
Focus on one blog (this one, even though I'm still kind of mad at Hugo).
Pause the Linux experiment for now.
Only use Denote in Emacs for taking notes. Stop pretending something else might be "better".
I'll deal with the camera and photography workflow conundrums later.
I recently discovered Org mode's speed keys option and it's pretty great. One caveat with speed keys is that they only work if the point is at the very beginning of a heading. To help with this, I (with Claude's help) created a small lisp function and hook to move the insertion point to the beginning of the first heading whenever I open an Org mode file. I'm recording it here in case it's useful to anyone else.
(defun my/org-goto-first-heading ()
"Move point to the beginning of the first heading in an org file."
(when (eq major-mode 'org-mode)
(goto-char (point-min))
(if (re-search-forward "^\\*+ " nil t)
(goto-char (match-beginning 0)))))
(add-hook 'org-mode-hook 'my/org-goto-first-heading)
I had to disable the saveplace package but I don't mind. This is better, since I don't often want to return to where I was last editing a document.
I wouldn't be shocked to learn that there's a simpler way to do this, but this works for now.
The luminous and shocking beauty of the everyday is something I try to remain alert to, if only as an antidote to the chronic cynicism and disenchantment that seems to surround everything, these days. It tells me that, despite how debased or corrupt we are told humanity is and how degraded the world has become, it just keeps on being beautiful.
I have a well-established monthly routine for getting my org-journal exported to a nice PDF for printing. Converting this process to my Journelly journal needed to happen in order for me to seriously consider switching.
It needs a lot more work, but here's how I did it this time.
Create monthly file
First, copy and paste the month's entries from my Journelly.org file to a new file, e.g. 2025-04.org.
The .setup file is my variation on the default Pandoc template. I haven't touched it in years, so I don't remember how all of it works. Still...
Sort entries
Journelly creates entries in reverse-chronological order, so the order needs to be reversed. This is easily done by selecting all the entries and running M-x org-sort and choosing "time".
Reformat headings and dates during exports
Another issue is that each Journelly entry begins as a top-level Org heading containing an org-formatted timestamp and location, like so...
That wouldn't look great as headings in a PDF, so I needed to reformat the dates during export. It turned out to be trickier than expected. Org has hooks that do most anything during exports, but I struggled with it. The lisp I eventually found in this post helped me get the exported dates to render as e.g. "Saturday, May 3, 2025"
(defun env-filter-timestamp (string _backend _comm)
"Remove [<>] around time-stamps from STRING.
The filter receives the entire output
timestamp as STRING and then processes it before saving."
(if (string-match-p ":" string)
(format-time-string "%A, %B %-e, %Y"
(org-time-string-to-time string))
(format-time-string "%A, %B %-e, %Y"
(org-time-string-to-time string))))
I use a quick M-x regexp-replace to remove the location: @.* part of the headings.
Export!
Then it's a matter of running the export via the export dispatch in Emacs. For me, that means C-c C-e l o and boom, there's a nice PDF of my month's Journelly entries. Here's a less-than-ideal sample page from April that doesn't include too much personal info:
The odd thing with this is that when I exported, all the images were rendered upside-down. I had to go into Photo Mechanic and run "Apply JPEG Rotation" on the images. This is probably due to adding photos on the iPhone, but I'd like to figure out how to avoid this step in the future.
This all worked fine for my first export. It's close enough, but I'll want to automate as much as possible. I have a month to figure it out 😄.
So I have a couple of static blogs and two kind-of-static blogs. This is fine, I suppose, because I consider both blogging and software to be hobbies. But man, what a mess I'm making. I'm sensing the urge to recoil from all of it.
I'm feeling like the whole Linux thing is a rabbit hole leading nowhere. Also, trying to shoehorn everything into Emacs is not yielding the benefits I read about in the brochure.
I bought a new car today. Before we get to that, I'd like to tell you about my old car.
Ever since I've been able to drive, I've been fascinated by BMWs. Reading Car and Driver magazine from cover to cover was a monthly routine. Car and Driver loved BMWs.
BMW was marketed as "The Ultimate Driving Machine" and I believed it.
In 2019 I was shopping for used car. I walked into the local CarMax intending to buy a Jeep Grand Cherokee. As we were walking around the lot, I spotted a black 5-series BMW and thought it would be fun to take a look. I asked how much they wanted for it, and it turns out that BMWs depreciate wildly in the first few years, because the price for the 2016 BMW was comparable to the Jeep I had my eye on. In other words, it was within my budget.
I looked at the car and thought, "Wow, that's gorgeous." I sat in the car and thought, "Man, this is nice!" I drove the car and said, "Ok, I want it."
So for the past six years I've been a BMW driver. The car is everything I'd hoped for. It's beautiful, perfectly proportioned, and aggressive-yet-restrained. Fit and finish is outstanding and it's the most fun I've ever had while driving.
2016 BMW 535i XDrive. (Photographed using a 4x5 Speed Graphic) :)
It's also been surprisingly reliable. At nearly 90,000 miles, it remains solid and problem-free. I've only had one minor non-routine repair. There are no squeeks, rattles, or other faults with the car. It's still a blast to drive. It's just tight, you know?
But there was a problem. I know I shouldn't worry about it, but there's a stigma associated with BMW drivers. Especially drivers of black BMW sedans. Many people assume that all BMW drivers are assholes. It's a Douche-mobile.
Try as I might, I could never shake the feeling that I was being judged. I go out of my way to drive politely, correctly, and defensively. I conduct myself on the road as if it's my personal duty to rid the world of a misconception. Except I don't know that it's a complete misconception. A lot of BMW drivers are assholes. It's a group I grew tired of being associated with, whether the stigma was justified or not.
Given that the car is going on 10 years old, I decided to start shopping for a replacement. BMW repairs are notoriously expensive, and I wanted out of the feeling that at any moment I could be in for thousands of dollars of repairs. I wanted the opposite of a BMW. I wanted reasonably-priced, reliable, and boring. I wanted to be invisible.
I wanted a Honda.
The first car I ever bought was a 1976 Honda Civic.
Me and my first Honda (1983)
I've owned a number of other Hondas.
1976 Honda Civic
1990 Honda Civic
1994 Honda Accord
2006 Honda Civic
2009 Honda Accord Coupe
All but the first one were great, reliable, solid cars.
So I bought a new CR-V.
2025 Honda CR-V EX-L in Urban Gray Pearl.
I've only ever bought one brand new car, and told myself I'd never do that again because it's financially unsound. Except the used auto market has changed since last I checked. Used cars, Hondas at least, aren't significantly less expensive than new ones. I found a couple of 2023 CR-Vs, but they had at least 25,000 miles on them and were only a few thousand dollars less than new. I opted for the peice of mind of a full warranty and backing of a reputable dealer.
I'm scheduled to pick the car up today. I'm a little excited about it!
The idea is that I don't want to think about my car for the next 5 or 10 years. Hondas are kind of boring to begin with, and the CR-V is so popular that every 3rd car on the road will look just like mine. It's a few steps down from the fun, over-engineered driving excellence of the BMW, but it's a notable improvement for my mental well-being on the road. The Honda is like an invisibility cloak and that's exactly what I wanted.
Yeah, I've been distracted by a couple of new static blogging tools. I think both are interesting and worth a serious look by anyone looking for simple, local-first, Markdown-based blogging. I'll try to write a bit more detail about them, but for now, check them out yourself. BSSG is a complete static site generator written in Bash. The only dependency is a markdown processor. Cmark is recommended and simple. I use Pandoc. It's simple, fast enough, and has a refreshingly easy to use theming system with a ton of built-in themes. Then there's LMNO.lol, which is even easier. Create a single Markdown file with all your posts, then just drag and drop the file into lmno.lol and boom! you have a blog. This one is a hosted service. Check them out! I did: linux.baty.net and baty.blog are BSSG blogs and lmno.lol/jbaty is at lmno.lol.
If I were to only have one computer, I’d use notmuch for email in Emacs. I might also import non-email stuff as notmuch messages so I can search everything in one place.
But, I now have 3 computers; 2 running macOS and one running (Fedora) Linux. Notmuch takes too much of my energy to keep synced between machines. So what about Mu4e? Mu4e is probably the “nicest” Emacs package for managing email, but it still requires a local synced copy of all my messages. This means configuring mbsync on all machines, etc.
It’s a lot, so I’ve decided to “simplify” things and use Gnus exclusively for email in Emacs. Gnus is weird and hard to get ones head around, but it’s built-in and it only requires a ~/.gnus.el file on each machine. Gnus works directly with my email service's IMAP back end, so everything is the same everywhere, without having to think about it.
I don’t get the fancy search features of notmuch, and I don’t get an offline copy of my email store. Honestly, having local email is one of those "but what if...?" things that never need an answer.
With Gnus, I get fewer dependencies and not nearly as many “How do I keep this all in order?” issues.
The bummer is we miss so many great little things because it doesn't conform to the implastic version of ourselves that lives in some blindingly lit menagerie where everything is just so. Where we store the notional version of ourselves that's never existed.
And who do we imagine all that certainty is impressing? Eventually, you can make up someone plausible, I suppose. But, more basic bitches like me and you are stuck trying to puzzle it all out in a world full of people who've decided we're misunderstanding the world wrong.
I started using Blot for my blog in 2017. Blot is a really nice way to publish a blog from a folder full of Markdown files. Blot's author, David, is exceptionally helpful.
This morning I made an offline backup of everything and deleted all the content from Blot's folder. Then I canceled my subscription.
Five minutes later, I restarted my subscription. I'm grandfathered in to the original $20/year pricing, so I decided it's so inexpensive that it's worth twenty bucks just to have it available. Also, it supports a great project by a nice developer.
The original content has been archived[1] as a static version and moved to blot.baty.net for posterity.
I don't know what I'll use it for, but Blot isn't something I'm ready to give up completely, yet.
I created a static site using wget: wget -mirror -F -E -k -p https://baty.blog↩︎