Working with Legacy Code

By Chris Coyier on

From Nicholas C. Zakas’s regularly interesting newsletter: The best way to work with legacy code is to approach it patiently—understand small parts, write tests, and document what you learn. My favorite line about legacy code, which I’ve probably shared too much, is when David Khourshid called it “Legendary Code”. Legacy code feels a smidge mean […]

How to Fix Any Bug

By Chris Coyier on

Dan Abramov has an interesting article How to Fix Any Bug where he’s having Claude write the code, but a bug shows up he needs to fix. Claude just isn’t getting it and it keeps saying it’s fixed when it isn’t (classic). Claude was repeatedly wrong because it didn’t have a repro. Meaning Claude couldn’t see […]

chrome-devtools-mcp

By Chris Coyier on

I’m no expert here, but I understand an “MCP server” as a way to make an AI system a bit “smarter” by having more context and capabilities. I find AI coding agents pretty darn smart already particularly when they have your entire codebase and your instruction for context. But if you’re using it to build […]

The return of tech specs

By Chris Coyier on

Nicholas C. Zakas: I’m confident that going forward, software engineers will need to relearn how to create detailed tech specs for complex changes. It’s also likely that AI will help write and review these specs before implementing them. It’s time to embrace tech specs again because they can be a key to advancing your career. […]

Out-of-your-face AI

By Chris Coyier on

A very interesting aspect of the AI smashing its way into every software product known to man, is how it’s integrated. What does it look like? What does it do? Are we allowed to control it? UX patterns are evolving around this. In coding tools, I’ve felt the bar being turned up on “anticipate what […]

$966,000

Frontend Masters donates to open source projects through thanks.dev and Open Collective, as well as donates to non-profits like The Last Mile, Annie Canons, and Vets Who Code.