Your weekend reading from Web Directions
In the next week or two I’ll publish our 1,000th ‘elsewhere‘—which is what I call the annotated snippets I’ve been posting since early 2024 over at Conffab. This milestone finally formalized something I’ve been doing for decades: reading countless blogs and other sources, then amplifying the articles, talks, and ideas I found valuable and hoped others might too.
I had made fitful stops and starts at the same idea for many years prior. Why it has stuck this time is that I’ve increasingly automated aspects of the production process. The challenge was never in the curation—I have (or at least think I do) the knowledge and taste (that’s a word that will appear later) to identify pieces that meet some criteria of value for an audience I know well.
The challenge was always the necessary busywork: adding alt text to images, formatting posts, and wrapping each week’s set of elsewheres into a newsletter. This tedious work frequently took as long as—or longer than—the curation and annotation where I was actually adding value.
These challenges exist in all our work. People in high-status, well-remunerated professions have always been able to outsource these tasks to other people—economically, it made sense. The rest of us? Well, economically there was no approach other than doing it ourselves.
Over the last couple of years, that has changed. While we joke that LLMs get to do the creative work while we do the menial, it certainly doesn’t have to be that way at all. I’ve incrementally—though increasingly—automated that tedious work, drastically cutting down the time and effort needed to produce sometimes dozens of ‘elsewheres’ a week and a newsletter far more substantial than it was just a couple of years ago.
There are many who, for very legitimate reasons, are concerned or even alarmed about the rise of LLMs: their impact on the environment, the ethically and legally spurious ways data has been harvested to train these models, the vast bubble-like amounts of investment (perhaps as much as 2% of US GDP) focused on a field that’s only a handful of years old. For all the excitement, outside narrow areas like software development, it has shown less fruitful results than we might have been led to believe. Then there are the potential—and seemingly already real—impacts on employment.
I share these concerns. Ted Chiang has observed that “I tend to think that most fears about A.I. are best understood as fears about capitalism.” But I have also experienced directly the capabilities these technologies enable. At a relatively advanced age, particularly for someone in our industry, I’ve found a new lease on life as a developer. I’ve also freed up my increasingly valuable and limited time—and consequently energy—for where I can add the most value.
But these technologies do exist. They are already having significant impacts on entire industries and professions. They are seriously overhyped, yet simultaneously and ironically, we’re unlikely to have even begun understanding the sort of long-term transformations and second-order effects that will follow.
There are very many grand visions—thought leader and CEO keynotes that liberally use the word ‘imagine.’ These will almost all turn out to be entirely wrong. As Yogi Berra quipped, “It’s tough to make predictions, especially about the future.” I still think Alan Kay’s observation holds though—and he’s a genuine visionary of computing if ever there was one: “The best way to predict the future is to invent it.”
AI & Design
AI Has Flipped Software Development
For years, it’s been faster to create mockups and prototypes of software than to ship it to production. As a result, software design teams could stay “ahead” of engineering. Now AI coding agents make development 10x faster, flipping the traditional software development process on its head.
Source: LukeW | AI Has Flipped Software Development
Luke Wroblewski observes that the traditional ‘design then build’ approach to software development is inverted by the use of code generation tools, and ponders the implications for how we build software, and is optimistic for the impact on designers.
AI First Puts Humans First
Every company is facing this choice today. Those that use AI simply to reduce costs and replace workers will be outcompeted by those that use it to expand their capabilities. So, for example, at O’Reilly, we have primarily offered our content in English, with only the most popular titles translated into the most commercially viable languages. But now, with the aid of AI, we can translate everything into—well, not every language (yet)—dozens of languages, making our knowledge and our products accessible and affordable in parts of the world that we just couldn’t serve before. These AI-only translations are not as good as those that are edited and curated by humans, but an AI-generated translation is better than no translation. Our customers who don’t speak English are delighted to have access to technical learning in their own language.
Source: AI First Puts Humans First – O’Reilly
Valuable thoughts from someone who has been deeply involved in shaping our modern technology landscape for decades, Tim O’Reilly. Very much worth the read.
Human Curation in the Age of AI
Human Curation in the Age of AIWhile AI can simulate technique with perfection, refined curation remains a distinctly human skill. This is an invitation to think about taste, discernment, and how to cultivate them with intentionality and depth.Ira Glass once described this moment where our taste develops faster than our technical abilities. We know what’s good, but we can’t yet create it ourselves. A gap that creates frustration, but it also drives us to continued practice. I’ve been thinking about how this plays out in our AI era, where the technical gap is closing rapidly, but something else remains distinctly ours.As Andrea Grigsby put it perfectly: AI can simulate our tools, but it can’t reach our taste. The algorithms can master technique, but discernment—that’s still human territory.
Source: Human Curation in the Age of AI – Henri Iamarino
We’ve linked to at least a few articles on taste since starting Elsewhere at the beginning of 2024. As we address the impact of LLMs on professional practice, one question comes up frequently—what is it that is uniquely human, the things that machines will replace last? One suggestion is taste. Here Henrique Iamarino reflects on what taste is and how to develop it (other articles we’ve linked also consider this topic.)
AI & Software Engineering
Disposable Code Is Here to Stay, but Durable Code Is What Runs the World
The software domain is splitting in twoSoftware development is in the process of bifurcating into two very different domains: disposable code and durable code.At the moment, engineers are bringing largely the same skill sets and tools to both domains, but this won’t last. The skill sets, tool chains, and definitions of success have already begun to diverge, and they are likely to split into different disciplines entirely.Some people seem to be carrying around a lot of anxiety about whether the days of durable code are numbered, but I think this is nuts. Both types of software are here to stay, at least for the foreseeable future.
Source: Disposable Code Is Here to Stay, but Durable Code Is What Runs the World
Right now there’s a lot of handwringing about vibe coding and its impact on software engineering. The reality is that perhaps the significant majority of software has long been written by non-professionals—it’s spreadsheets, Visual Basic, MS Access, FileMaker. Low and no-coding were the rage just a couple of years back. Vibe coding is replacing this sort of software. Charity Majors explores something a little different here—two kinds of professionally developed software: ‘disposable’ and ‘durable’. And how the world of software may be bifurcating between these two.
AI Development Patterns: What Actually Works
AI Native Dev LLMs Software Engineering
After building 30+ repositories with AI coding tools, I’ve learned one thing: raw AI power without structure creates spectacular messes. Whether you’re using ChatGPT, Cursor, or Claude Code, success depends on patterns—not prompts.I’ve been experimenting with these patterns for months, watching what works and what fails. The AI Development Patterns repository captures what I’ve learned, organized into three categories that actually solve real problems. Each pattern follows a standardized specification—this consistency ensures you can measure outcomes and adapt patterns reliably across projects.
Source: AI Development Patterns: What Actually Works | AI Native Dev
Right now it seems clear that the practice of Software Engineering is being transformed by AI. Though just what AI-native software engineering looks like is very much an open question. It’s unlikely to look like one particular thing. Here Paul Duvall explores patterns he’s come across while working on dozens of such projects.
Context Engineering for AI Dev Success
AI Native Dev Context Engineering LLMs Software Engineering
Many software development teams are benchmarking AI tools and deciding not to adopt them. They expect AI to work like a smart developer who understands their codebase intuitively. When the AI produces generic code that doesn’t match their patterns, generates bugs, or requires heavy modification, they conclude the technology isn’t ready. These teams have the wrong expectations. They’re evaluating AI assistants like human developers instead of understanding that AI needs comprehensive context to perform well.The key insight: Context engineering, alongside prompt engineering, determines AI assistant success.
Source: Context engineering for AI dev success | Upsun
With AI-assisted software engineering, it feels like we are reaching that point in the adoption of many technologies, where we stop marvelling something can be done at all, and start recognising the shortcomings and addressing them. The concept of context engineering is still emerging, but there’s an increasing consensus that managing context is the key to working well with LLMs for software engineering. This piece by Guillaume Moigneu is a detailed and thoughtful overview of how context engineering can very much help Software engineering success when working with these systems.
Why “Context Engineering” Matters
AI AI Engineering Context Engineering LLMs Software Engineering
When the term “context engineering” arrived, after Karpathy knighted it, there was a fair amount of push back. “Another marketing term,” some people said. One HN commenter called it, “A month long skill, after which it won’t be a thing anymore.”
Source: Why “Context Engineering” Matters | Drew Breunig
Two or so years ago prompt engineering was the thing, a term that’s largely faded into obscurity. Earlier this year Andrej Karpathy’s neologism ‘vibe coding’ exploded into use (and now we have “vibe” everything), but it’s a term that’s become almost meaningless in its imprecision (Karpathy meant something quite specific when he coined it, but the street finds its own uses for things I guess). Hot on their heels is context engineering. Another meaningless marketing term? Or a concept of more lasting value? Drew Breunig argues the latter in this presentation.
Web Platform & Browser Technologies
The Current State of SQLite Persistence on the Web: February 2024 Update
IndexedDB Local-first LocalStorage Offline
SQLite is the most widely deployed database in the world. Recently, it has also become a viable option for data persistence in browser-based applications.
Source: The Current State of SQLite Persistence on the Web: February 2024 Update
With the local-first architecture gaining traction, the challenge of storing data on the client is central. While we’ve long had localStorage and IndexedDB, the former is not really designed for significant amounts of data storage, and the latter is a lower level API, and both are different architecturally from how many folks are storing their data online, which will often be some form of SQL. While years ago we had SQL in the browser with WebSQL (RIP), this has long been deprecated but there are an increasingly number of implementations of SQL in the browser for persistent storage that this in-depth article details.
Making Sense of the Performance Extensibility API
Google Chrome recently introduced the Performance Extensibility API, a means of putting your code front-and-centre in Chrome’s Performance panel. Their own documentation is somewhat dry and doesn’t really state the benefits or outcomes very clearly, so I spent a couple of hours looking into it and here are the key takeaways.
Source: Making Sense of the Performance Extensibility API – CSS Wizardry
While it’s Chrome only (for now?), the Performance Extensibility API provides ways for developers to get more fine-grained understanding of the performance of a page. Harry Roberts provides the details.
CSS & Frontend Development
About Oklchroma
Color Computational CSS CSS Color
Oklchroma is a color pattern generator that helps designers and developers create harmonious color scales based on the OKLCH color space. Instead of manually defining each shade, Oklchroma generates a complete set of color variables based on a single base color and using mathematical formulas in CSS to generate the rest of the colors.
Source: About Oklchroma
At CSS Day recently, I spoke about Daoist principles and CSS (the talk is here on Conffab). One of those was ‘less and less’ and how new color functions allow us to greatly simplify how we might for example create a color palette, with a single color variable and the color-mix function in place of multiple pre-defined variables. Here Brecht De Ruyte, who also spoke at CSS Day has created a tool to do something along these lines, though far more nuanced and sophisticated than my basic idea. Plus you get to develop your intuitions about how color spaces like OKLAB work and how they relate to other color spaces.
Should We NEVER Use Non-logical Properties?
CSS has “logical properties” which have the unique ability to follow the flow of language. You might be working on an website in English, which is left-to-right and top-to-bottom, but other languages might flip either or both of those. In English, we know what margin-right does, but can quickly become the wrong choice if the direction of a web page is flipped, perhaps during translation.
Source: Should we NEVER use non-logical properties? – Frontend Masters Blog
A detailed look at CSS’s logical properties, why they can be valuable even if all your content is in one language (hint: it’s not since Google Translate and other in-place translation services exist and are likely to get ever more prevalent) or give us nicer shorthands (margin-inline: auto versus margin: 0 auto is almost worth the price of admission alone). But there are also some gotchas. All of which Chris Coyier (new to Conffab with his great CSS Day talk) looks into here.
Web Components: Working With Shadow DOM
Web Components are more than just Custom Elements. Shadow DOM, HTML Templates, and Custom Elements each play a role. In this article, Russell Beswick demonstrates how Shadow DOM fits into the broader picture, explaining why it matters, when to use it, and how to apply it effectively.
Source: Web Components: Working With Shadow DOM — Smashing Magazine
Web Components can be daunting, there are a number of interrelated technologies to become familiar with, and new concepts, not least of them the Shadow DOM. Here Russell Beswick introduces the Shadow DOM and gets you up to speed.
Accessibility & Inclusive Design
Designing Better UX For Left-Handed People
Accessibility Design Inclusion
Today, roughly 10% of people are left-handed. Yet most products — digital and physical — aren’t designed with them in mind. And there is rarely a conversation about how a particular digital experience would work better for their needs. So how would it adapt, and what are the issues we should keep in mind? Well, let’s explore what it means for us.
Source: Designing Better UX For Left-Handed People — Smashing Magazine
I’m left-handed. I have and always have had terrible handwriting. I never got my ‘pen license’ at school. Yet, I’ve probably written more words in my life (several books, hundreds of articles, thousands or tens of thousands of blog posts) than more than 99% of all humans in history. Pretty good for someone who can barely ‘write’. Before the era of typewriters and computers this would have been far less likely. I’d argue handwriting is a technology for right-handed people. It wasn’t all that long ago (I missed this by perhaps a decade) that left-handed children were forced to write right-handed since left-handedness was even 60 years ago associated with sin, or evil. (The word ‘sinister’ in English has its origins in the Latin word sinister, meaning the left, or unlucky side). But there are many subtle ways to this day objects and interactions are designed for right-handed people. Here Vitaly Friedman explores how we might address this.
Infrastructure & Architecture
Behind the Streams: Three Years Of Live at Netflix. Part 1.
Architecture Software Engineering
Many great ideas at Netflix begin with a question, and three years ago, we asked one of our boldest yet: if we were to entertain the world through Live — a format almost as old as television itself — how would we do it?
Netflix has long had a culture of excellence across everything they do. So while live streaming to tens of millions is a little outside our area of focus (our highest on Conffab has been closer to 1,000) this series of posts caught our attention. You (or we) may not ever be streaming live to 50 million people watching a YouTuber and a heavyweight boxing champion punching each other, but like us you might find what it takes to do so fascinating.
What You Actually Need to Monitor AI Systems in Production
You did it. You added the latest AI agent into your product. Shipped it. Went to sleep. Woke up to find it returning a blank string, taking five seconds longer than yesterday, or confidently outputting lies in perfect JSON.Naturally, you check your logs. You see a prompt. You see a response. And you see nothing helpful.Surprise. Prompt in and response out is not observability. It is vibes.
Source: What You Actually Need to Monitor AI Systems in Production | Product Blog • Sentry
Observability is the thing these days, and that includes LLM and agent-based systems. But what exactly should we be observing?
Web Culture & Community
Curate Your Own Newspaper with RSS
Perhaps you’ve heard of RSS. It stands for “Really Simple Syndication” and it allows websites like blogs, newsletters, and news sites to make their content available in “feeds” for outside services called “RSS readers” or “feed readers”. Far from being the new hotness attracting glitzy feature stories in tech media or billions in venture funding, RSS has been around for 25 years.
Source: Curate your own newspaper with RSS
Gather round kids and let me tell you about the olden days of the Web. Where there were no walled gardens like Facebook and Instagram—people published on their own websites. Where aggregation theory hadn’t kicked in, and a small number of aggregators hadn’t enclosed the entire web. Perhaps the high point of this web was RSS, or Really Simple Syndication, a (sort of) standard that still underpins podcasting and grew out of blogging. It allows (still around) you to subscribe to blogs, and any sort of content, and gives these the superpower of curating the content they want to receive. There are plenty of open source and commercial RSS, or “Feed” readers and services, and moving between them is trivial, using OPML. Here Molly White encourages us to curate our own newspapers using RSS. The old web isn’t coming back—but its spirit isn’t entirely dead.
Thank you for reading Web Directions Journal – Recent Elsewhere
Google Developer Expert - web technologies / DevRel @ iO / Blog owner / Writer for Smashing Magazine
4dOh! So cool to see my little pet-project in there. Thank you for the mention. 🙂
Web Performance Consultant • Google Developer Expert • Core Web Vitals training, audits, and consultancy • Get fast, fast!
4dThank you!