koine devlog part 2

...isn't about koine, per se

Rather, it's about how I'm finally deployed with koine, and the fun little shell script I wrote to do it.

You see, I have a special form of NIH syndrome that involves writing lots of little shell scripts (POSIX-compatible! I'm not an animal!) like I'm a UNIX sysadmin in the 80s or whatever, and then running them inside Docker containers, because I'm also a UNIX sysadmin from the mid-2010s.

In this case, though, the real hero of the story is... pubsub!

Every webapp is pubsub

It's like how all software is either a compiler or a database, except if I think there's another option I don't remember what it is now. Every application is just pubsub!!! You put something in one place and take it out another. Fan-out if you like, or don't. Then do something with it in the place you took it out... and put it back in!!! Delightful.

For my part, I use the excellent ntfy for this. By traffic you'd say I use it mostly for Matrix UnifiedPush, but by emotional weight it was the keystone to the fun little shell script I wrote to back the travelog.

ntfyjourncy.net: "travelog" § "editor's note"

In fact that script was where I started working to build this feature, which I suppose I should actually describe.

This webapp(?) is pubsub

Basically, the site is now built and deployed when I push to main. Specifically:

Gitolite

(Turns out the nginx config changes weren't too bad after all.)

Several parts of those later steps are implemented in horrifically fragile ways, because it turns out one evening is not a lot of time to both build a feature and write a blog post describing it. My goal is to gradually morph this new system into an idea I've had for a while for a generic Nix-based task runner that I can combine with specially-crafted Makefiles to have a CI environment that runs identically (...or close to it...) in the local development environment and on the CI host.

Unfortunately, that requires as many as several steps (how to run Nix in a container (DON'T just say use the Docker image I want to do it myself), generic build results distribution, generic build results *installation*, probably more things I'm not thinking of) and will probably involve writing Actual Software (more Gleam, hopefully! yay!) and not just shell scripts (my beloved). Also I need to finally stand up object storage.

In the meantime, though, I get to publish this post by simply pushing to main. I will use the 60 seconds I save every day to do... nothing of consequence, don't worry

The kanji of the day is 駐

If I'm honest with myself this kanji is kinda uggo (sorry 馬, you're kinda uggo), but Conning's mnemonic rounds to "stationed, like soldiers, also parking your car (i.e., 駐車, STATIONED-CAR), like tying up your horse," and I think that's cute. (Given that the *hen* in this case does take a semantic meaning (cf. Wiktionary), it's probably not entirely irrelevant to the etymology, either. It's unclear to me from Conning's blurb if he's describing an actual etymology or giving a folk etymology to match his mnemonic.)

Wiktionary: "駐"Discuss this post on Bluesky