Your weekly reading from Web Directions
Another somewhat quieter week this week–looking back at this time last year it doesn’t seem to be a seasonal thing. But then again the last week has seen both Microsoft’s Build conference and Google’s I/O, with plenty of announcements–so they may have taken the oxygen out of the room somewhat?
But we’ve stayed busy at Web Directions with a few things…
AI and Software Engineering Unconference
We’re hosted our second AI and Software Engineering unconference, in Sydney which despite the weather and transport chaos on Sydney trains this week drew a fantastic engaged audience. We’ll have a detailed write (like this one from our Melbourne event) very soon.
Engineering AI, a new one day conference from Web Directions
We’ve also announced a new one day conference in Sydney (and online)–Engineering AI, taking place September 12th. Large Language Models are changing what it means to be a software engineer, and we’ll take a thoughtful look at this issue–it won’t be handwaving, fluff and ‘vibe coding’, instead experienced software engineering professionals sharing their experiences and reflecting on the challenges and opportunities this transformation presents. CFPs and registrations are open now.
CSS Day–I’m speaking and Conffab is streaming!
CSS Day 2025 is taking place in Amsterdam June 5th and 6th, and I have the privilege of speaking at that. I’ll be revisiting A Dao of Web Design, a quarter of a century after it was first published. There’s a fresh new translation of the Tao Te Ching from Ken Liu (translator of The Three Body Problem and renowned science fiction author himself) I highly recommend, and I’ll be focussing deeply on how the ideas of taoist philosophy–of adaptability, flexibility, and the dao and wei wu wei (acting without acting)–can help us better understand and work with CSS.
Now you might be thinking–”CSS Day looks great, but I’m a long way from Amsterdam”–in which case you’re in luck, because CSS Day will be live streamed, on Conffab, our streaming platform. For just €99! You can find the details, and register here. And if you are closer to Amsterdam, there are a few tickets left I believe. The lineup is simply unbelievable.
Code and Code Leaders
These two long running, related conferences, taking place in Melbourne in 4 weeks or so, June 11, and 12 and 13. The full schedules are available, for Code and Code Leaders, and we’d love to see you there-in person or online. And take $100 off an in person ticket for either conference with this link.
Now on with this week’s reading!
Want more like this delivered to your inbox each week? Sign up to our high signal newsletter.
Building software on top of Large Language Models
AI Native Dev, LLMs, software engineering

I presented a three hour workshop at PyCon US yesterday titled Building software on top of Large Language Models. The goal of the workshop was to give participants everything they needed to get started writing code that makes use of LLMs.
Most of the workshop was interactive: I created a detailed handout with six different exercises, then worked through them with the participants. You can access the handout here—it should be comprehensive enough that you can follow along even without having been present in the room.
Source: Building software on top of Large Language Models
Simon Willison is one of the preeminent voices and experts on developing with LLMs. This is a workshop he recently gave that you can follow along with.
Unlocking Generative AI in your Web App
Discover how to seamlessly integrate AI LLM models into your website using cutting-edge techniques like new client-side APIs and cloud services. Learn how to execute AI models in the front-end without incurring cloud fees by leveraging Chrome’s Gemini Nano model using the window.ai inference API, or utilizing WebNN, WebGPU, and WebAssembly for open-source models.
This session dives into API integration, token management, secure prompting, and practical demos to get you started with AI on the web.
Unlock the power of AI on the web while having fun along the way!
Source: Unlocking Generative AI in your Web App - firt.dev
Adding generative AI to a web app is not restricted to relying on cloud based APIs like those front Anthropic or OpenAI–the capability is already in the browser in various ways. And this week’s Build and I/O conferences announced even more browser support, including in Microsoft Edge (on Windows and Mac OS).
I think the ergonomics of generators is growing on me.
generators, iterators, JavaScript

To be fair, I have found them handy at least once. I’ve written about using them for destructuring an arbitrary number of items on demand. I still love that use case, but I do wonder if there’s something more I’m missing out on.
So, I wanted to give them an honest, intentional shake. Maybe after getting a better feel for them, opportunities would pop up. To my surprise, I think I’ve begun to appreciate both the ergonomics they offer and the mental model they encourage, at least in certain scenarios. I’ll try to unwrap where I’m at. First, let’s step back and flesh things out a bit.
Source: I think the ergonomics of generators is growing on me. | Alex MacArthur
We’ve had a number of talks on iterators and generators on Conffab, but my instinct is they’re still not widely used. This excellent introduction might help change that.
The ultimate JavaScript regex guide
JavaScript, regular expressions

The string is arguably the most essential data type in programming — every programming language and software in the world uses strings in one way or another. It enables humans to easily communicate with sophisticated programs and machines. One thing that would help you a lot as a programmer is understanding how to use and manipulate strings so that you can build programs users love.
Regular expressions enable developers to perform a wide range of text processing tasks such as data validation, string manipulation, or text extraction. In this article, you will learn everything you need to know about writing a JavaScript regex, and you can start using them efficiently in your JavaScript code.
Source: The ultimate JavaScript regex guide – Honeybadger Developer Blog
I first encountered regular expressions in my first year of computer science in 1985. They are probably still as arcane to me now 40 years later. This is a great introduction to regular expressions in JavaScript. But I’m likely to continue just asking an LLM to give me a regex when I need it.
The Height Enigma

I’ve given this paragraph
height: 50%
, but as you can see, it hasn’t grown at all! In fact, it doesn’t matter whether I setheight: 100%
orheight: 10000%
orheight: 0%
. Nothing happens.In my first few years with CSS, I developed a bit of an intuition for when it would work and when it wouldn’t, but it always sorta felt like rolling the dice. Sometimes it wouldn’t work even when it really seemed like it should!
Like with so much in CSS, it feels random until you learn about the underlying mechanisms that explain the behaviour, and then it all makes perfect sense. In this blog post, we’ll learn what’s going on here and I’ll share how I solve these sorts of problems.
Source: The Height Enigma • Josh W. Comeau
The height
property has from the earliest days of CSS been one of the more flat out counter-intuitive aspects of CSS. Here Josh Comeau explains its arcane workings.
Internet Phone Book

An annual publication for exploring the vast poetic web, featuring essays, musings and a directory with the personal websites of hundreds of designers, developers, writers, curators, and educators. Published since 2025.
Source: Internet Phone Book
For a taste of an earlier, more personal and idiosyncratic web, a charming looking project.
Great reading, every weekend.
We round up the best writing about the web and send it your way each Friday.