About (2020–2025)
History
When I started this capsule in late 2020, I thought to myself “How can I make it so the work of writing for the Internet is as pleasant as possible? How can I keep the friction of writing as low as possible?”
I settled on having no build step for the site itself, like I would with Hugo (a popular and very good static-site generator). I would just write, and then reupload everything when I wanted to publish or update something.
Of course, if there’s no build step, then I’d have to do things that build steps do or duck the need somehow:
- have a manually-written page that links to subpages, and has the subpages’ titles duplicated
- settle for automatically-generated directory listings for the above
- just write everything on one big page
The words/ directory hierarchy in this capsule uses a little bit of #1 and a lot of #2, the images/ hierarchy goes all in on #2, and Scrawlspace basically goes for #3 (broken up into one-page-per year chunks).
One advantage of #2 is that it preserves the feeling of discovery that one gets when navigating someone else’s folder-and-file hierarchy. This is the kind of thing that was significantly more common in the late 90s with people making large, sprawling archives available with just Apache’s directory listings to help visitors figure out what they wanted to peek at next.
About a week after first publishing this capsule I wanted to provide a way for computers to check this capsule’s updates on humans’ behalf, so I made a feed in YAML that I could automatically convert into a JSON Feed feed. JSON Feed is too indie for feed consumers in Geminispace, so I wrote a small Python program to turn the JSON feed into an Atom feed that’s actually supported by most Gemini-aware feed consumers.
I’ve made a conscious decision to not cull old feed entries (most feeds only have, like, the ten most recent posts). I want a preserved, public record of almost all of this capsule’s updates so people can get a rough idea of how much wall-clock time this capsule took to get to where it is now. Similarly, if someone wants to get a rough idea what a six-month-old capsule looks like, he can go through the feed entries from the bottom and stop at March 2021.
Plus, the feed functions as a commentary track of sorts for the entire capsule. I’d hate to throw any of that out.
In August of 2024 this capsule got rsync support, which saves loads of time not uploading things that have already been uploaded. While this wasn’t a huge issue for what was effectively an all-text site, uploading ones, tens, or hundreds of megabytes of images on every upload would start to grate and slow down my workflow.
After about four and a half years of mostly just speaking calmly into the void, I’m sometimes surprised I still post. And yet, I do, and I like doing so. It scratches an itch I didn’t know I had.
Text
This capsule has been edited with a number of text editors, roughly sorted by how much they’ve been used to edit the capsule, from “most” to “just once, and I didn’t even publish the change”:
The current publishing flow
- `git pull` changes to the capsule’s Git repository from my other computers and, occasionally, computing devices. Assuming I don’t forget.
- Add and/or edit the relevant page in the capsule Git repository.
- Edit the YAML feed to add an entry for the change.
- Commit the changes/addition to the Git repository on that computer/computing device.
- Push the commit from my computer/computing device to the hosted copy on some Git host you’ve likely heard of.
- Run `make up` from a real computer, which updates the JSON and Atom feeds and uploads changes/additions to the capsule.
Workflow modifications considered and rejected, so far
GitHub Actions
- I like being able to push to the master branch without things going live
- I really don’t want to have to use branches for my capsule
Also, I asked an LLM to whip up a GitHub Action just so I could try it out. The steps involved horrified me, so I trashed the entire attempt.
Tailscale
I suppose that could work to run `make up` from my phone anywhere (I can SSH into my computer from my phone, and I can edit a Git repository from it too), but I’d want to have more than one use case to justify installing and learning how to work Tailscale on my main machine and phone.
Slash pages
If you’re interested in a list of this capsule’s slash pages, drop by /slashes/:
Images
This capsule happily uses lossless WebP, one of the finest barely-tolerated lossless image-compression codecs available today (as long as a mere eight bits per color channel is enough). By using WebP instead of PNG, this capsule shaves a whole 34 bytes (halving the file size!) off of the tracking pixel used on the pages here.
Speaking of the tracking pixel, its cheery, transparent self-introduction is derived from the finest e-mail .signature viruses from the late 90s.
⏚