7 min

Already tracked

A live Stripe key sitting in a tracked `.env` file, in a repo that had listed `.env` in its `.gitignore` since 2023. The line was correct and it had never done anything.

Git Security
7 min

Watch it fail first

The same bug arrived twice, 18 months apart, on the same store, and the second time I found my own fix from the first time sitting in the git history with nothing next to it that could have caught the repeat.

Testing Debugging
8 min

Rubber duck debugging, in writing

Half the questions I write in a channel never get sent, because I figure out the answer somewhere in the middle of writing them, and I've stopped thinking of that as wasted effort.

Debugging Culture
9 min

Custom properties for color

A client moved to a slightly different red, I ran the find and replace across the stylesheet, and one icon came out the old color, which sent me off counting how many times I'd typed a value the browser was going to use anyway.

CSS
8 min

Three years and two weeks

Three years of asking for the same performance work, getting agreed with in meetings, and never getting it scheduled. Then their new operations director asked whether the website had a carbon footprint and the identical list was approved in 2 weeks.

Performance Agency
6 min

One word on the second line

A three-up card grid where at exactly one width a heading broke as 5 words and then 1, and every fix I'd ever used for it lived in the content instead of the stylesheet.

CSS Typography
9 min

Put the box under the button

The popover attribute gave me the top layer last spring and left me doing all the math, and the CSS that finishes the job has landed in one browser and deletes a positioning library, 2 scroll listeners and a resize observer.

CSS Cross-Browser Compatibility
9 min

Nobody demos an upgrade

The best possible outcome of a migration is that nothing happens, which looks exactly the same from the outside as having done nothing at all.

Careers Culture
9 min

The loan with no lender

A ticket I wrote in 2022 asking for a few days to clean up the checkout templates has now outlived 2 project management tools, and in 3 years not one person has argued against doing it.

Culture Agency
10 min

h4 was the right size

I pulled up the list of headings on a client's page and got the company name and three things at level four, with the actual subject of the page missing from the list entirely because somebody had built it out of a div.

HTML Accessibility
2 min

aspect-ratio

The padding-top percentage trick is dead and has been for a while, replaced by one declaration that says the thing it means.

CSS Images Small Print