Publ’s insurmountable technical debt


Back when Publ was brand-new I was using a fairly common ORM for managing my database. It was okay but I had some issues with how the project was being run, particularly in how the core maintainer treated bug reporters who were reporting things that he didn’t personally agree with.

So I switched to Pony ORM, which has a much nicer, more-Pythonic API, and whose maintainers are friendly and helpful. It’s missing a few important functions such as migrations but for Publ it doesn’t matter so much and they were always claiming that migrations were coming “real soon now” for a while.

Unfortunately, some changes in Python 3.11 broke Pony completely, and progress on getting it working again has been, well, slow.

Back when I switched to Pony I mused about just dropping SQL entirely and moving to a more primitive indexed data store, such as lmdb. But I really do not have it in me to completely redo all that stuff in Publ again, especially with all of the weird regressions that always occur due to subtle differences in locking behavior and so on.

Sometimes I think how now that I actually know how Publ should work I should rewrite it with better testability and a more actively-developed Markdown processor (because misaka has also been abandoned and is in permafreeze status), and if I’m going to do that, maybe I should use it as an excuse to finally learn Rust because honestly the Python ecosystem is kind of a mess right now.

I’ve put so much work into Publ but keeping the project going just feels so… difficult.

Or I mean I could switch to any number of existing site generators out there but then I’d be giving up all of the things that makes Publ unique (friends-only/access-controlled entries, variadic templates, top-notch template-driven image renditions, etc.).

This is one of those things where the decision would be a lot easier to make if people were actually helping to fund Publ development or if it had any actual, y'know, users.

Read more…

Full-text search on


I finally got around to enabling search, as an experimental feature. Publ’s full-text search functionality is kinda janky right now and I really want to rework it. But people were asking, so here you go.

Also god damn my templates are getting hard to maintain.

There’s also so much stuff I really want to rewite in Publ, while I’m feeling grumpy.

EDIT: Oh right, also what started me down this path was also fixing Authl’s login flow for email links on email providers which generate link previews, e.g. Outlook and Hotmail. So I mean folks who were getting “invalid token” errors while signing in by email should have a better time now.

Current goings-on


Still on disability leave, and still in considerable pain. I’m trying not to work too hard on things, but it’s hard not to do things.

For example, I worked on a song with my friends Ken and Huan-Hua for this week’s Song Fight!; we entered the “We Did Everything We Could” fight under the band name Richard Donner Party. It was a fun song to make. Fortunately I didn’t have to even so much as look at a guitar. Most of my work was vocals, light keyboard work, and editing.

Read more…

Private, friends-only, IndieWeb stuff


Yesterday I participated in the IndieWeb sensitive data pop-up, or at least the first half of it (I had to disappear for my refrigerator delivery). It was really great to have some further discussion about what people want out of this stuff and how we’re all going to agree to get it.

Authentication stuff

One of the biggest pain points that keeps on coming up is there being no support for people to be able to get private posts without having to log in or be notified about them in side channels. Lots of people are doing things like making pages with unguessable URLs and then doing side-channel notification, but that’s unwieldy; fewer folks are doing things with actual login mechanisms.

Read more…

Regular check-in


I’m personally physically all right, at least for now. The house guest also made it here safely, right before things got really weird.

I gotta say, getting an urgent group text informing my building of an incoming teargas cloud and “Close your windows” is not a thing I thought I’d ever experience first-hand.

Read more…

New store page


I finally got around to making a better store page. It’s still not great but it’s better than just linking to either my Threadless or Storenvy or whatever, and I’ll be able to backfill a bunch more of my items into it eventually.

There’s a lot of stuff I’d like to change of course, but this at least gives me a hook to setting up my own PayPal/Stripe/etc. cart as well.

Anyway I’m glad that Publ is in a state where it’s gotten easier and easier for me to make new sites from scratch with it. And I also released a new version of Publ with some shiny new features.

New job!


I have accepted a job at as a full-stack engineer. I’ll be working on web publishing stuff as an actual source of income now!

I am very optimistic about this. Everyone at the interview was super-awesome and friendly, and their ethics seem pretty much aligned with mine. I hope to be part of making curated published content on the web better for everyone! (Readers and publishers alike.)

Read more…