Elsewhere

Things we find interesting we think you might too. Grab the RSS feed for your newsreader of choice.

Node.js: The Documentary | An origin story

February 6, 2025

Back in 2008, most people thought of JavaScript as just a client-side language. But when Google’s V8 appeared, young developer Ryan Dahl made the connection between non-blocking servers, V8, and...

Read More

Is 2025 the Year of the ‘Design Engineer’?

February 5, 2025

The slow percolation of this new title is something I’ve monitored for a long time. In a bygone era, some might have used the name “Rockstar Web Designer” or “Unicorn”, but thankfully, we’...

Read More

So, you want to push a web platform feature?

February 5, 2025

Over the years, I’ve helped a few folks get into browser development, and tried to encourage many others. In that process, I found myself giving similar advice, again and again. This is my attempt t...

Read More

Considerations for making a tree view component accessible

February 4, 2025

Tree views are notoriously difficult to implement in an accessible way. This post is a deep dive into some of the major considerations that went into how we made GitHub’s tree view component accessi...

Read More

CSS nesting: use with caution

February 4, 2025

There are features that fill me with dread though and right at the top of that list is native CSS nesting. I know that opinion will be rather unpopular, but the whole deal of the site is front-end edu...

Read More

Revisiting CSS Multi-Column Layout | CSS-Tricks

February 4, 2025

Perhaps because, before the web, I’d worked in print, I was over-excited at the prospect of dividing content into columns without needing extra markup purely there for presentation. I’ve used Mult...

Read More

Transitioning Top-Layer Entries And The Display Property In CSS

February 4, 2025

We are getting spoiled with so many new features involving animations with CSS, from scroll-driven animations to view transitions, and plenty of things in between. But it’s not always the big featur...

Read More

Life Is More Than an Engineering Problem

February 3, 2025

Lately, Chiang has trained his eye on artificial intelligence. And Chiang’s takes haven’t gone unnoticed. In a conversation I had earlier this year with computer scientist Melanie Mitchell and psy...

Read More

Running Inference In Web Extensions

February 3, 2025

We’ve recently shipped a new component inside of Firefox that leverages Transformers.js (a JavaScript equivalent of Hugging Face’s Transformers Python library) and the underlying ONNX runtime engi...

Read More

Things people get wrong about Electron

February 3, 2025

Electron’s choices, especially the very idea of building interfaces with web tech and shipping large parts of Chromium to render them, are not uncontroversial. Reasonable people wonder why we ma...

Read More

Build for the Web, Build on the Web, Build with the Web – Web Performance and Site Speed Consultant

January 29, 2025

If you’re going to build for the web, build on the web and build with the web.If I was only able to give one bit of advice to any company: iterate quickly on a slow-moving platform.In the last year ...

Read More

Rupert’s world – Thought partnership with language models

January 29, 2025

This is a new sort of interaction with computers, one that’s far more personal and flexible than anything in the history of human-computer interaction. It’s something I’ve been calli...

Read More

Moving on from React, a Year Later

January 29, 2025

Maybe it’s the changing interest rates or political winds, but I think the “fat client” era JS-heavy frontends is on its way out. The hype around edge applications is misplaced and unnecessary f...

Read More

Get Started with Chrome Built-in AI : Access Gemini Nano Model locally

January 28, 2025

An AI model within your browser. Yes that’s exactly what Chrome Built-AI is all about. The team has been at work to infuse AI APIs and models inside of Chrome via Chrome’s built-in AI APIs and mod...

Read More

On the Origin of Cross

January 27, 2025

A browser decides to download a web font after: Content is ready CSS is readyIt appears that some content will indeed need the web font It’s often late enough in the page rendering that the cont...

Read More

Some Things You Might Not Know About Custom Counter Styles | CSS-Tricks

January 27, 2025

You’ve more than likely dabbled with custom counters using counter-reset and counter-increment. Or maybe your way of doing things is to wipe out the list-style (careful when doing that!) and hand-ro...

Read More

Initial load performance for React developers: investigative deep dive

January 24, 2025

Exploring Core Web Vitals, performance dev tools, what initial load performance is, which metrics measure it, and how cache control and different networking conditions influence it. … Spoiler alert:...

Read More

Justified Text: Better Than Expected?

January 24, 2025

When it comes to Western languages, most long-form text you’ll encounter is either left-aligned (with an uneven, “ragged” right edge) or justified (with words spaced evenly across a line). But I...

Read More

CSS JOY Webring

January 24, 2025

A CSS Webring! This is the home of a new webring that I’ve decided to set up for those of us who take joy in messing around with CSS 🙂 Why a webring?I am enjoying the resurgence of old-web no...

Read More

What I’ve learned about writing AI apps so far

January 24, 2025

I started writing a post called “how to write AI apps” but it was over-reach so I scaled it back to this. Who am I to tell you how to write anything? But here’s what I’ll be ap...

Read More

6 CSS Snippets Every Front-End Developer Should Know In 2025

January 23, 2025

I think every front-end developer should know how to enable page transitions, transition a <dialog>, popover, and <details>, animate light n’ dark gradient text, type safe their CSS ...

Read More

CSS text-box-trim

January 23, 2025

This property lets you control the space above and below text, for example , and . Every font produces a different amount of this block directional space which contributes to the element’s size....

Read More

The :empty pseudo-class in CSS | Go Make Things

January 22, 2025

You can use this to target elements that have no children—either child elements or whitespace and text nodes—and style them differently than they would be otherwise. Source: The :empty pseudo-clas...

Read More

CSS light-dark()

January 22, 2025

light-dark() makes it easy to build websites that respect the user’s preferred color scheme while also providing the ability to override the color scheme without code duplication. Be sure to che...

Read More