I am currently working with the EA on their check for flooding team. I have been tasked to look at the 5 day river level charts with a view to add more historical data. This meant increasing the amount of data showed on the chart so users could compare the current river levels with the previous week, month or year. In order to proceed with some user research I needed to create a prototype of the r
In March 2024, Google replaced First Input Delay with Interaction to Next Paint as an official Core Web Vital. FID is gone. INP is what matters now — and most React apps that were passing before are failing under the new standard without anyone realizing it. FID measured how long the browser took to respond to the very first user interaction on a page. Click a button, FID measures the delay before
As developers, we often have a problematic relationship with primitives. We use a string for an email, a float for a price, and an int for a status. This is what we call Primitive Obsession—and it’s one of the common reasons why PHP codebases gradually become hard to maintain. If you’ve been following my series on Refactoring & Patterns, you know I’m a fan of the Introduce Parameter Object pattern
As a developer, you deal with text casing constantly - button labels, nav items, page titles, error messages, documentation headings. And at some point, someone on your team will ask: Here's the definitive answer. // Title Case — most words capitalized "The Best Free Tools for Writers and Developers" // Sentence case — only first word + proper nouns "The best free tools for writers and developer
When a financial services team decides to move data to the cloud, the conversation usually starts with infrastructure. Which cloud provider. What the cost model looks like. Whether to go lift-and-shift or re-architect from the ground up. Those are real decisions. But they are not the hard part. The hard part is walking into a room with your compliance team six months into the migration and being a
We've been there. JSON Schema gets hard to write as soon as your payload is non-trivial. Conditional logic, cross-field rules, business invariants, and at some point we stop writing contracts at all. We go code-first, generate the schema from annotations, and end up with 200 lines very few understand, and error messages referencing paths like #/properties/items/allOf/0/then/Then that map to nothin
Every team building an AI agent for the browser is making one architectural choice — whether they realize it or not. They're choosing how the LLM perceives the page. That choice cascades into everything else: cost per action, reliability on real-world apps, what gets banned by anti-bot systems, what kinds of tasks are even feasible. The choice currently breaks down into three approaches. They're o
Release Date: May 20, 2026 — The most anticipated WordPress release in years is almost here. Let's explore everything you need to know before it lands. WordPress powers over 43% of the web. That's not a typo. Nearly half of every website you've ever visited runs on this open-source CMS. And yet, for much of 2025, things went oddly quiet — legal battles, contributor walkouts, and a compressed relea