Web Log

This page is a reverse chronology of what I've been doing and thinking about. You can subscribe to updates here.

September 1, 2024: "Code Quality: Hidden Costs, Unexpected Benefits"

I've posted a new article: "Code Quality: Hidden Costs, Unexpected Benefits"

It being the first day of September, I've also updated the metrics page with August's data.

August 25, 2024: Christopher Alexander essay migrated from Substack

Earlier this year I wrote a serial essay about how Christopher Alexander's work applies to software. I just finished copying it from my Substack newsletter to this site. You can read the whole thing here.

August 24, 2024: Just say no to Chronos

I've released a couple improvements to the tools I use to build this website. Those tools are:

mdsite

mdsite 0.6.0 improves on the previous release, 0.5.1, by adding support for GitHub-Flavored Markdown footnotes. You can see those in action in my Christopher Alexander series, which I'm in the middle of migrating from Substack.

marss

Marss is actually getting its first release, so there isn't much to say about it that's not covered by the documentation.

I wrote marss because I couldn't find a markdown-to-RSS generator that took a single changelog file as input. All the existing ones seem oriented toward blogs: they read a directory of posts, and generate a feed entry for each post. Contrary to what you might assume from its name, my web log is not a blog. It is neither a series of standalone articles, nor a stream-of-consciousness social media feed. I think of it more as a unified changelog for all of my web presences — and crucially, one that includes only notable changes that I think are worth emailing people about. In order for this to work, the web log has to be decoupled from the changes to actual content (prose and software), because I update that stuff all the time in fairly insignificant ways. I'm also constantly writing drafts in public — for my own convenience, because they're easier to find that way. So an RSS feed that notified people of every file I created or updated would be obnoxiously frequent.

Tangent time: I've been musing about our society's tendency to order everything by recency or in-the-moment relevance, and whether this might be harming us (gee, Ben, ya think?) Some of my favorite websites (Dreamsongs, Every Noise at Once, Ardalambion) do not order their content chronologically. I like the timeless quality this imparts. Such websites often have changelogs — e.g. here's Dreamsongs' and Ardalambion's, so returning visitors can see what's new if they want. But the chronological ordering is strictly secondary.

Frequently-updated chronologies and feeds always feel vaguely stressful to me. That might be because we most often consult Chronos when things have gone terribly wrong. Examples:

We call on chronologies to understand present problems and trace their causes. These are important things to be able to do, but they aren't the only things we need to do. Forcing everything we do into a chonological stream of updates (the default on the modern web) imparts a false sense of urgency to those updates, even as it skews the information we consume toward ephemera that we'll have forgotten in a month.

I need to stop writing lest this become a blog post, but if you want to read more, here's a link to How Blogs Broke the Web by Amy Hoy. Amy's post explains, more clearly than I can right now, a big part of what motivated me to write mdsite from scratch instead of using an off-the-shelf blogging tool. And if you're looking for something more recent and with less CSS, Mike Grindle's been writing about the woes of timeline-based social media and the limits of novelty and fun.

And oh, that reminds me: The Wayward Webring welcomed four new members since my last update! You should definitely check out all their sites:

August 11, 2024: Site Tidying

I am still working out how best to organize pages on this site. This week, the welcome page came into its own as the de facto index page for this site (The true /index.html being a list of links to my other web presences). Concretely, what this means is that links labeled "Home" go to the welcome page. The only way to navigate back to /index.html is to use the "Out Again" link at the bottom of the welcome page.

This is essentially an instance of the Entrance Transition pattern, which I've seen on a lot of personal sites — especially older and retro-themed ones. I like it because it makes the site feel like more of a place: it has a distinct inside and a distinct outside.


I'm not big on the idea of "standardizing" websites that are ostensibly personal, but that said, I think the indieweb community has developed some good standard patterns that I'd like to adopt. Specifically, I'd like to have a /uses page that's separate from the main portal. I think the way I've organized my links to tools is not going to scale; a lot of them are lumped under "Software Development," but some are in their own "Web-based tools" section. In reality, the tools in both sections run the gamut from "extremely geeky" (Bun, Regex 101) to "something everyone should know about" (uBlock Origin, Purple Air). So a reorg is probably in order.

Speaking of indieweb, a post in #indieweb IRC led me to Brandon's Journal and his awesome links page. That led to a conversation, which led to Brandon joining the Wayward Webring. Welcome, Brandon!


I also discovered Maggie Appleton's deep dive on the history of digital gardening and realized not only that my "bliki" is really a digital garden, but that I independently reinvented the idea of labeling "epistemic status." This could be taken as evidence that civilization is forgetful and fragmented, but more likely, I'm just out of touch. Fine, Ward Cunningham called it a bliki in 2003, but the kids these days call it a digital garden. I can adapt. It is interesting though, that Appleton doesn't mention the bliki concept as a forerunner of digital gardening, so maybe there really are two distinct lineages — or maybe the connection between them has just been lost to history.


I spent a lot of time this week tinkering with various little features and quality-of-life improvements to the site. For example, the searchbar on the portal page now has documentation, and I added some knobs to the CSS so that multi-column pages can be wider than single-column articles.


Finally, a meta-note on how I wrote this log entry. I went into it thinking I accomplished nothing this week and had nothing to write about. Then I ran:

git log --since 2024-08-04 --name-only

This lists the commits I made since the previous entry, along with the files changed by each commit. That was enough to jog my memory. Turns out I did stuff!

August 4, 2024: The Mess We're In

Writings

Published: "The Mess We're In"

Quotes

Philosophy is a battle against the bewitchment of our intelligence by means of language.

—Ludwig Wittgenstein

Currently stuck in my head

J'aim la flour de valour by Guillaume de Machaut

Wanted

I want a list of cross-platform font-family values, using only fonts that ship with operating systems. E.g. if I want to use a humanist sans-serif typeface on my website, and I don't want my users to have to download fonts, what are some font-family settings that will result in good-looking, consistent typography across Windows, macOS, Ubuntu, iOS, and Android?

I feel like this is an important resource for anyone who wants to keep their website ultra-lean (as I do). I also feel like I've seen such a resource within the last few years, but sadly I don't have it bookmarked. Can anyone in the audience help me out? Send email to benchristel at gmail.com. I'll give you a backlink.

Working On

2024-07-31: Site Updates

Globally install a package you're developing

Today I learned that you can install a NodeJS package you're developing without first publishing it to a package registry like NPM. yarn global add "file:/absolute/path/to/repo" will do the trick.

Read more...

@regosen/gapless-5, tiny-invariant

I've listed two new JavaScript libraries I use on the Web Portal page:

End of July

Today being the last day of the month, I've updated the metrics page with the latest data.