Week of 2026-05-04

Hi there! These slipped my mind yesterday. Ahaha.

But that's okay, because I saw lots of atproto folks! Huge thanks to @jason.energy for organizing a get together with ecosystem folks from both near and far.

... But that was this week. These notes are about last week. Let's get on with those.

New Gym Membership!

I joined up with a new gym, after going without a membership for 2 years or so now.

I'm not sure there was any singular point in time when I would have described myself as "in shape." I've bit my weight goals previously, but at the end of the day I'm just a guy who has done a lot of sitting for the past 20 years.

This gym has personal training, so I'm giving that a shot. I'm very sore—but at least in a good way.

A Sauna?

This has been a long time coming. My in-laws had an infrared sauna in their garage that they were initially excited for, but they never made a habit of using it and it was soon enclosed by the usual garage clutter.

A couple years ago I asked if I could take it off their hands, since we bought a house with a basement where it would fit. They told me yes, but it never made it into my house—until now.

Now I can walk into my basement and get sweaty on demand! The wonders of modern technology. All I need to do now is give it the Home Assistant treatment.

headway.page

It's what you (I) have been waiting for: an Atmospheric sync server for KOReader or your Xteink device!

headway.page

headway.page brings your e-reader into the Atmosphere. Sync your reading progress from any KOReader Sync-compatible device to Popfeed.

Consider this a soft-launch. You should be able to use it without any issues, but I'm not convinced it's ready for primetime yet. That might just be my insecurity though.

It works roughly like this:

Step 3 is admittedly a lot of friction, but it's unfortunately necessary as KOSync doesn't have consistent identifiers. Some clients use an MD5 hash of the book's file name, some use an MD5 hash of the book's path, some use an MD5 hash of the file contents. It's all over the place, so I have to ask the user to be the arbiter of what IDs map to which books.

While the service just provides KOSync for now, I want to add an OPDS endpoint for serving your standard.site subscriptions. I also had the idea that you could designate a semble.so collection as a reading list, and I could serve that list over OPDS as well.

For those of you pining for an Atmospheric Crosspoint fork (looking at you @tynanpurdy.com ), I didn't take that path because 1) I use both an X4 and a Supernote Nomad with KOReader, so this satisfies my needs in two places, and 2) I wasn't interested in playing code golf for the Xteink hardware. Crosspoint already has extensive support for KOSync and OPDS, so I figured for my first attempt I'd just adopt those and see what features stick. I'm not writing off the idea of a firmware fork entirely.

Oh yeah, and I'll add BookHive support, once I figure out what that entails.

Anyways, if you try it out, please let me know your thoughts. I don't really want to launch another thing without early adopter feedback, so the sooner you tell me about your experience, the sooner I'll feel confident in launching it.

That's all for this week. We're keeping it simple for a change.

Thank you so much for reading this far, and I hope you have a great week!