Web dev at the end of the world, from Hveragerði, Iceland

Notes, Links, and Weeknotes (16 October 2023)

I added cat pictures to the very end of the post to give you an incentive to scroll all the way down.

I just published ​“The Elegiac Hindsight of Intelligent Machines”​

Published on the newsletter site, it’s essentially the finale to my book, The Intelligence Illusion, extracted into an essay and as such is much more of a personal take on the state of modern software than the rest of the book.

Nothing they do is for us, even though it’s our money, our data, and our art, writing, and music they’re demanding. We aren’t customers to them – we’re just the people that pay. To tech companies, we are nothing more than a resource to be tapped. A number to be boosted to pump investor interest. They are not doing us any favours. What they want from us is simple: everything. All culture on their servers, made by their AI. All our work happening through them, assisted by their AI. The totality of our information, mediated by their AI. A vig collected on all existence.

The importance of talking about how we feel

I’ve been hearing quite a few people in web and software dev talk about feeling burnt out recently.

Things are hard, what with the never-ending pandemic, a global climate crisis, and employer resentment towards workers turning into outright hostility in the tech and media industries.

But another important cause of burnout is a lack of autonomy and control over outcomes. A recurring theme of my work over the past few years is that the software industry is exceptionally bad at what it does. More so than many other industries. We know, as individual workers in the industry, what good software looks like. We even have solid ideas how to deliver good software. But the organisations we work for are almost purpose-designed to deliver bad software and the people who run them seem unconcerned about quality.

We do our best and it constantly turns into shit. Getting paid decently makes it somewhat bearable – for a while – but even that seems to be drying up.

This, believe it or not, all but guarantees burnout. How long it will take and how it expresses itself is going to vary from person to person, but it is impossible for human beings to care this much, for an extented period, always failing, without something falling apart inside them. And if financial pressure is what’s triggering it then burnout is guaranteed to happen at almost the worst time possible.

It’s important for us to realise that this isn’t our fault. It’s the industry that’s broken, not us. We are the reasons why it isn’t even more broken than it is, but we do not have an obligation to let it take more than we have to give.

Then the rebuilding process begins, because we live in a capitalist society and need to survive by selling the skills that we have – not everybody has the space or opportunity to re-skill, besides software is now poisoning every industry, so where would you go?

Amy Hupe’s talk and post shows you a few paths you can take to help you deal with this. But rediscovering your intrinsic motivation for your craft is inherently difficult when there are a ton of extrinsic pressures demanding that you just get on with it because there are bills to pay.

Interesting reads

That other thing


For the past few weeks I’ve been working on a web-based course kind of thing. Not a video course, as I find those hard to digest myself. (Although, I’m not ruling out making one of those at some point.) More like a 85% text 15% video and illustrations web course where the screencasts and captures are used to demonstrate specific examples.

I wrote a bit about this last week but I forgot to mention the topic I’m tackling for the first course. (Have I mentioned before that I’m exceptionally bad at self-promotion.)

The first course will be a friendly guide to test-driven web development using the simplest possible tools available. No node. Just the browser, a web server, some HTML, and some JS modules that run natively in the browser without building.

It’ll take you through the exact steps of setting everything up, introducing you to specific approaches to test-driven development and how they directly apply to specific contexts in web development (DOM APIs, web components, Workers, etc.). Basically, a course with as few “How To Draw an Owl” steps as possible. But the heart of the course is showing you how import maps give you testing superpowers. Seriously. I think that import maps are the best thing to happen to test-driven web development in years.

And, of course, to show you that the course will have to give you a primer on ES modules and how they work in the browser.

My goal is to make this as accessible as I can to both those who might be less familiar with modern JS (WTF is let and const) and to those who only know the abstractions layered on top of the web API foundation. Instead of going deep into the weeds and platform esoterica, I’m hoping to give a clear picture of the whats and whys of the few steps and tactics I do cover. I’m also very, very pragmatic in general about test-driven development itself. No religious wars or zealotry.

The idea is that this way you end up with a ton of transferable skills you can apply to the web development styles you have to use in your life. The course itself will use Mocha because it’s one of the few testing frameworks that runs easily in both the browser, in node, and is still used today in a number of popular testing projects like the excellent Web Test Runner. It offers a number of “post-graduation” paths.

If any of this sounds interesting, I’ve quickly hammered together a page where you can sign up to be notified about this course.

And, if you have any questions, hit me up on Mastodon, BlueSky, or email.


Some of you might not know this, but my educational background is in the arts and humanities. One thing that always annoyed me quite a bit when I studied comparative literature, for example, was analysis done in the style of a decoder ring.

As in, it’s all too popular among academics and students to try to decode a piece of art and then authoritatively explain what it “really means” based on their decoding. Youtubers love to do this as well.

Sometimes this is necessary, like Völuspá – the apocalyptic prophecy from the Poetic Edda of the death of the Nordic gods – pretty much requires decoding for it to make sense, even if you know the language because the poems are constructed as a series of kennings, which are figurative circumlocutions that depend on the reader having an understanding of the myths and legends that are being referenced.

But most of the time this kind of analysis is self-indulgent nonsense.

Back in college, I regularly ended up having arguments with other people in the field because of this. I’m more of a “the story is the story” kind of person. Sometimes the author or other external circumstance becomes a part of the story and subtext is very much a thing, but neither of these require decoding as they only really matter when they become evocative enough to force themselves into notice. Like Woody Allen. He and his actions have become an integral part of how we see his movies. It’s impossible to watch his movies without having what you know about him affect your reaction to what you’re seeing.

Subtext can intrude into the main text in similar ways. It’s hard not to see the Christ parable in Robocop after somebody has pointed it out to you, but that tends to apply to pretty much any story that involves a resurrection of some kind.

What’s common to both is that you can watch these movies while being oblivious to the subtext or context. You aren’t missing out on the “real” movie, but you might be missing out on information that could change your perspective. The movie remains the same either way. Stepping closer to a painting will change how you see it, but it’s your perspective that’s changed, not the painting.

This is important because stories can have conflicting but equally valid subtexts. Like the 1942 Cat People I wrote about the other day. Its theme of sexual repression has both homoerotic and heteroerotic subtexts depending on how you read the cues for what exactly it is that’s being repressed. Or, you could read it as repressed bisexual anxiety. These readings are all pretty equally valid but a couple of them are mutually exclusive.

Often what the decoder ring types are claiming is the “real” story is just one subtextual reading of the story, no more valid or invalid than any other, and certainly not necessary for you to understand the story.

But what they say is the “real” story is also often just the literal plot. People often say that the “true meaning” of the original Dawn of the Dead is that the dead are just us, hollowed out until nothing remains but the shell of a consumer seeking comfort in material goods.

And, I mean… yeah. Because that’s the literal, explicit plot of the movie. Characters repeatedly talk about how the zombies work on instinct and unthinkingly seek out the places where they felt safe while they were alive. And because they were a part of a consumer culture they all flock to the shopping centre, even when there weren’t any humans there to devour. Text, not subtext.

The protagonists of the story seek out the shopping centre for the same reason. One of the explicitly spelled-out ironies of the story that the shared impulse towards places associated with consumer comfort is what puts the living in danger. Even to the point that the climax of the movie, when one of the protagonists dies and is turned into a zombie (hardly a spoiler, this is a zombie flick after all), the zombified protagonist instinctively seeks out the hidden safe rooms where the others had holed up, leading the horde of zombies right to them.

The “true meaning” described by the decoder ring types is just the literal plot of the story, spelled out without a shred of the subtlety that’s in the movie itself.

This happens more often than you think.

All of which is a roundabout way of saying that I’ve been rewatching David Lynch movies…

… But more about that next week once I’ve finished the rewatch.

(I will say that most of his movies are much more juvenile and rape-y than I remembered. Yikes.)

This weekend’s caturday

So, for this #caturday I’d like to celebrate the fact that my sister’s rescue, Kolka, has been with her for over a year. Starting off as a skittish semi-feral who we worried would never acclimate to people. Now she loves meeting people and getting scritches

Portrait photo of Kolka, a black cat with a white spot on her chest.

Kolka naps on the sofa. Her fur takes on a reddish hue in the sun.

Kolka is a masterful blepper. Such grace.

You can also find me on Mastodon and Bluesky