The Frontend Treadmill
A lot of frontend teams are very convinced that rewriting their frontend will lead to the promised land. And I am the bearer of bad tidings. If you are building a product that you hope has longevity, your frontend framework is the least interesting technical decision for you to make. And all of the time you spend…
The privacy nightmare of browser fingerprinting
If you were worried about tracking cookies, you really don’t want to know about browser fingerprinting.
CSS Grid Lanes
It’s here, the future of masonry layouts on the web!
Liquid Glass Is Cracked, and Usability Suffers in iOS 26
iOS 26’s visual language obscures content instead of letting it take the spotlight. New (but not always better) design patterns replace established conventions.
Replacing JavaScript with Just HTML
A collection of bad practices in HTML, copied from real websites.
It's time for modern CSS to kill the SPA
Native CSS transitions have quietly killed the strongest argument for client-side routing. Yet people keep building terrible apps instead of performant websites.
Try Switching to Kagi
Paying for Kagi today feels a *lot* like paying for HBO back in the cable TV heyday.
Magic/tragic email links: don't make them the only option
Subscription websites now like to use magic email links for login. They are extremely annoying.
React is winning by default and slowing innovation
Exploring how React's dominance by default stifles frontend innovation, and why deliberate framework choices lead to better tools for performance, developer experience, and ecosystem diversity.
Why our website looks like an operating system
I have a problem with many large, technical websites. Often times, I’ll want to refer to different pages at the same time. So I’ll CMD + click “a…
A new PNG spec
After 20 years, PNG is back with renewed vigor! A new PNG spec was just released.
Don't guess my language
If you’re still using IP geolocation to decide what language to show, stop screwing around. It’s a broken assumption dressed up as a feature.
How to post when no one is reading
The path to creative mastery begins with years of silence. Publish anyway.
This website is for humans
I don't want Google's shitty AI-generated ramen
Cap'n Web: a new RPC system for browsers and web servers
Cap'n Web is a new open source, JavaScript-native RPC protocol for use in browsers and web servers. It provides the expressive power of Cap'n Proto, but with no schemas and no boilerplate.
All four major web browsers are about to lose 80% of their funding
Google pays for 80%+ of the development budget of all major web browsers, and soon, the US will force Google to stop supporting their…
WordPress Is in Trouble
Since I last wrote about WordPress, things have gone off the rails. This after a brief period when things were blissfully quiet. Matt Mullenweg stopped commenting for a while, though his company had launched WP Engine Tracker — a site for tracking WordPress-driven websites that moved away from WP Engine. I think this…
Internet's biggest annoyance: Cookie laws should target browsers, not websites
Save and Share: Click. Ugh. Another one. You know the drill. You land on a new website, eager to read an article or check a product price, and before the page even finishes loading, it appears: the dreaded cookie banner. A pop-up, a slide-in, a full-screen overlay demanding you “Accept All,” “Manage Preferences,” or…
XMLUI
In the mid-1990s you could create useful software without being an ace coder. You had Visual Basic, you had a rich ecosystem of components, you could wire them together to create apps, standing on …
No adblocker detected
Internet ads are horrible: They waste your time, and the industry behind them is actively making the internet a worse place. Payouts are so small that the only way to survive is to turn your site into an ad-filled hellhole with no real substance. (see: Modern social media )
Bruteforcing the phone number of any Google user
From rate limits to no limits: How IPv6's massive address space and a crafty botguard bypass left every Google user's phone number vulnerable
OpenFreeMap survived 100k requests per second
I was about to post about how nice the last 10 months of OpenFreeMap have been. The architecture has really proven itself to be great, Cloudflare has agreed to sponsor the bandwidth, Hetzner servers are super stable as always, serving tiles
"Localhost tracking" explained. It could cost Meta €32B
You just can't finish off Zuckerberg.
SlopStop: Community-driven AI slop detection in Kagi Search
Your collective defense against AI-generated spam and content farms We made it our mission to prevent the web from becoming useless and a harmful space. That’s why today, Kagi Search introduces the first community-driven system to...
You can make up HTML tags
Browsers handle unrecognized tags as a custom element, with no effect beyond what's specified in the CSS. This isn't just a weird quirk, it is standardized behavior If you include hyphens in the name, you can guarantee your tag won't appear in any future versions of HTML.
Progressive JSON
Why streaming isn't enough.
Nice things with SVG
Exploring SVG and its visual effects applications