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

Spontant: in praise of grey

The weeknotes that were

For a while there, back in 2019, I got into the habit of writing regular weeknotes: weekly reports that served more as grab-bags of tidbits and ideas and spontaneous reactions to books and media than the weekly work journals you might expect.

I still like the idea of getting into a habit of writing posts in a specific format but have also come to terms with the fact that I just enjoy blogging more when it’s a little bit more spontaneous.

Although, for some reason, the Nordic slang version spontant feels more apt. It isn’t really spontaneous; it’s spontant.

So here’s a spontant, weeknotes-style blog post containing things that spring to mind while I’m writing this.


One big project that has taken a lot of my time lately has required me to do a deep dive into HTML—the full range of elements, the gotchas, the features, the idiosyncratic edge cases—and, weird as this may sound, HTML is a lot of fun. It has a messy feel to it, true, but it also carries with it many of the sensibilities of the written language it was designed to work with. Where code always has a brittle, carved-out-of-solid-matter feel, markup gives you the feeling of an emergent grammar: patterns of rules that evolve from use and get formalised through observation and repetition.

As I was working, I kept having ideas for how to better explain HTML and CSS to web developers. I think we’ve been going about this all wrong. We tend to teach HTML, CSS, and JavaScript separately, assuming little to no skill in the platform in general as we focus on one. But we are now an industry full of people who are comfortable with complex and counter-intuitive programming concepts but seem incapable of figuring HTML and CSS out. (React hooks or programming asynchronous behaviour are not simple topics.)

It struck me, as I was going over various HTML elements, esoteric and common, that if you sat down and explained HTML and CSS in tandem as an interconnected whole (e.g. CSS is global is because it’s operating on a global window.document), assuming familiarity with complex programming topics, but assuming no skill with markup or styles, the end result might be more enjoyable—fun—for everybody involved.

I don’t know if they’d learn more. You kind of have to want to learn for any teaching to work and I suspect that prejudice against HTML and CSS is a little bit too ingrained in the JS community by now.

If I find time and inspiration, I might try.

Work, redux

I have been keeping busy over the past few months but I’m still available for work and consultation.

I’m still struggling a bit with figuring out my value proposition, but maybe that’s clearer to those of you who read my blog and follow my Open Source Work than it is to me.

Open Source Software

I’ve been working on turning some of the work I did on Rebus Ink into self-contained, reusable modules. Cleaning the individual modules up is a lot of work. It isn’t just the need for additional tests and code quality rewrites. It’s also a question of API design.

One of the modules I’ve been working on has the temporary working name of Pub Soup. It’s a rewrite of the document upload processor from Rebus Ink. The original extracted metadata and HTML prerenders out of EPUB, markdown, DOCX, and PDFs, which wasn’t really sustainable with the code quality and API design it had. So, the cleanup focuses on EPUB support and the idea is that you would be able to use the module in an AWS S3 or Google Storage even-triggered function to process the uploaded file, extract metadata, a cover image, and a single-page HTML version of the file that preserves the EPUB’s styles. I’m not quite convinced I have the API right yet and I still haven’t implemented the method for extracting a cover but the rest is mostly there (and with 100% code coverage in unit/integration test).

If you need to integrate EPUB support in a web app that isn’t primarily an EPUB reader, but still needs basic metadata support, cover extraction, and maybe a single-page HTML view for previews or skimming, then keep an eye out on that repository.

Once I’m happy with the API and the initial feature set, I’ll publish the module on npm. If there is demand (and especially if somebody is willing to pay) I would enjoy expanding the module’s format support to other document formats like I tried to do with the original. We’ll see.


I did manage to use the short break Iceland had from COVID to go to the cinema to see Black Widow. I’m glad I did. Not because it’s a great movie—it’s fine—but because it felt like a small haven of the normal that has now become the past.

The movie is what you would expect from a Marvel movie: great cast, solid character moments in the first two-thirds, followed by a big set-piece ending that doesn’t quite build on the emotional foundation laid down in the first half.

The supporting cast stole the show.

Other than that, for COVID reasons, most of my movie-watching has been on streaming services.

Re-watched a bunch of classics: The Conversation, Good Morning Vietnam, MASH, for example. The war movies were striking in that I don’t think you could make movies that are critical of the US’s genocidal militarism today. The Conversation is just incredibly made all over.

Also managed to indulge in my fondness for horror movie. Re-watched Lamberto Bava’s Demoni, which is iconic in that ‘not quite good but still engaging’ 80s horror movie way. Watched Leigh Janiak’s Fear Street trilogy, which was definitely a gimmick (a trilogy of movies released over three weeks), but overall a successful gimmick. The first and second are actually solid horror movies. The first is “what if Scream was a period movie, but _still set in the 90s?” which is a thing now that 1990 was more than 30 years ago. The third is a competent take on the “witch possession period horror” genre.

The middle movie suffers as “teen slasher at a summer camp” is just too tired. You need much more camp for it to work but the Fear Street movies are just too self-aware in the Scream style to pull it off properly.

The trilogy is still fun and worth watching, though, if you enjoy horror movies. The trilogy is also blessedly free of the misogyny that’s so ingrained in the horror genre, which is an achievement in its own right. (As so many others have observed, horror is commonly a small-c conservative genre.)


Finally got around to finishing The Good Place. It ended as it started. Which you’ll either hate (there are people who loath The Good Place) or love. It’s a rare example of a TV series that is solidly consistent in tone and theme from start to finish. That alone makes it a rarity.

Personally, I loved it.

Also finally got around to watching The Night Manager. Which was great.

Recent Books

Read the Brown Sisters trilogy by Talia Hibbert. Enjoyed it.

Re-read How to Read a Book. Came away with a lot of new ideas for how software tools could help our reading.

Re-read a lot of Sergio Aragonés’s Groo, because sometimes you need cheering up.

And I re-read Alan Moore’s complete Supreme run, which is my favourite of his works. Last time I read it was over twenty years ago. Still great.

There’s tons more as I haven’t posted one of these in a year but that covers the past couple of weeks.


I’ve generally been too busy to indulge too much in photography but I did manage to visit Laugarvatn here in Iceland a few days ago.

A quiet day on the shore of Laugarvatn lake as people relax on a bench
One man swims to show in Laugarvatn lake
People relax at the pier in the lake
Steam from a local geothermal spring wafts over the shore of Laugarvatn
You can also find me on Mastodon and Bluesky