Skip to content
// writing

Posts on development — Page 2

A mix of technical deep-dives, career reflections, and dispatches from the road.

Trusted Types Is Baseline: DOM XSS Is Now a Type Error thumbnail
developmentAug 10, 2026· 4 min
Trusted Types Is Baseline: DOM XSS Is Now a Type Error
Firefox 148 shipped Trusted Types in February 2026, making it Baseline. Here's how to turn every dangerous innerHTML assignment in your app into a TypeError you can actually catch.
read more →
The Long Animation Frames API: Find What Actually Broke Your INP thumbnail
developmentAug 9, 2026· 4 min
The Long Animation Frames API: Find What Actually Broke Your INP
Your field data says INP is 400ms. Your local profile says everything is fine. The Long Animation Frames API closes that gap by naming the script, the function, and the character position that stalled the frame.
read more →
GraphQL Trusted Documents: Stop Letting Strangers Write Your Queries thumbnail
developmentAug 6, 2026· 4 min
GraphQL Trusted Documents: Stop Letting Strangers Write Your Queries
Disabling introspection is not security. Trusted documents let your server execute only the operations your own developers wrote, and you probably already have the tooling for it.
read more →
CSS contrast-color(): Let the Browser Pick Your Text Color thumbnail
developmentAug 3, 2026· 4 min
CSS contrast-color(): Let the Browser Pick Your Text Color
The contrast-color() function went Baseline in April 2026 and kills the luminance-math helper every design system eventually writes. Here is how it works, the mid-tone problem nobody warns you about, and how to work around it.
read more →
The Sanitizer API: Safe HTML Injection Without DOMPurify thumbnail
developmentAug 2, 2026· 4 min
The Sanitizer API: Safe HTML Injection Without DOMPurify
The browser can now strip XSS from an HTML string during parsing. Here's how setHTML works, why its config can only narrow the allowlist, and how to ship it before Safari catches up.
read more →
Laravel 13 PHP Attributes: Config That Lives With Your Code thumbnail
developmentJul 30, 2026· 4 min
Laravel 13 PHP Attributes: Config That Lives With Your Code
Laravel 13 expands first-party PHP attributes across controllers, authorization, and queued jobs. Here is what actually changed, and where attributes are still the wrong tool.
read more →
CSS sibling-index() and sibling-count(): Native Staggering Without nth-child Hacks thumbnail
developmentJul 27, 2026· 4 min
CSS sibling-index() and sibling-count(): Native Staggering Without nth-child Hacks
CSS sibling-index() and sibling-count() turn an element's position into a number you can drop into calc(), replacing walls of nth-child rules and inline JavaScript for staggered animations and math-driven layouts.
read more →
Animate to height: auto in CSS with interpolate-size and calc-size() thumbnail
developmentJul 26, 2026· 4 min
Animate to height: auto in CSS with interpolate-size and calc-size()
Transitioning an element to height: auto used to mean JavaScript measurements or fragile max-height hacks. interpolate-size and calc-size() finally make it a one-line CSS opt-in.
read more →
JavaScript Iterator Helpers: Stop Converting to Arrays First thumbnail
developmentJul 23, 2026· 4 min
JavaScript Iterator Helpers: Stop Converting to Arrays First
Iterator helpers bring map, filter, take, and drop to any iterator without spreading into an array first. They went Baseline in 2025, and they change how you handle Maps, Sets, and generators.
read more →
// the newsletter
Don't miss the next one