Since I weighed 271 lbs 4 months ago, this feels like decent progress, even though I feel a bit stalled out at this weight. I’m hoping I can blast past it. It would be neat to get back to where I was nearly a decade ago, then again. I’m still on the Ozempic. My insurance […]

Auto-Shut-Off Headphones

TLDR: Blah blah: I’ve got a pair of Bose Noise Cancelling Headphones. I may have gotten them from a weird marketing campaign 😂. They are pretty nice. I think Bose made the “noise canceling” thing a thing, and I’m not turning my nose up at near-$400 headphones. But I’ll critique them a little! There are […]

Two Things That are Not Great About OKLCH

I’m still a fan of the OKLCH color model and CSS function. But there are a couple of things that are confusing or weak about it, and it’s probably fair to point those out clearly. 1) Adjusting the L, C, and H values by hand is a bit dangerous Dangerous because of totally invalid combinations. […]

New File Here

You can make a new folder anywhere you like on macOS. But not a new file. Sorta makes sense. What kind of new file? In a program like VS Code, it assumes it will be a text file (as opposed to binary), so it absolutely lets you create a new file wherever and you name […]

Prebiotic Sodas

I like kombucha as much as the next person (a little), but unfortunately, nothing has really been able to break my Diet Soda addiction. Is it a huge problem? I don’t know. But sometimes I think, well, at least it can’t be terribly good for my guts. Maybe prebiotic sodas (kombucha formulated to taste like […]

If you’re trying to trick people into thinking a domain name is legit and definitely not harmful, just put google.com@ in front of it.

I don’t know why this works, but it’s some kinda feature of URLs: https://google.com@chriscoyier.net/ It’s not a Google thing, I think anything works: https://daverupert.com@chriscoyier.net/ It opens a door to make functional URLs that go somewhere you really aren’t expecting: https://definitely-safe-place-to@buy-drugzzz.com I saw this in The Dangers of Google’s .zip TLD that used these examples: https://github.com∕kubernetes∕kubernetes∕archive∕refs∕tags∕@v1271.zip […]

The Best Mouse Pad

It’s the Razer Atlas Tempered Glass Gaming Mouse Mat. It’s so enormous. It’s so silky smooth. I love it.

Early Days Examples of View Transitions

All of these are page transitions, like when you leave one page and go to another. As opposed to the document.startViewTransition kind, which are also cool, but not as game-changing. Here’s my playing around, which you can see in this Project. That’s an <a> that turns into a <div> on the next page, because that’s […]

Tracking Blocked Scripts

If you have a reference to a script in JavaScript you think might be blocked… Before you add it to the page, you can add an error handler: Then kick it off… If you’re trying to detect this from <script> tags in the HTML, you can still get a reference to it the script element, […]


Y’all know Buffer? It’s a fairly sophisticated app for posting to social media. It began, I believe, as just a way to schedule tweets. Then it became a way to craft social media posts but send them to more than just Twitter: Facebook, Pinterest, LinkedIn, etc. That, to me, is still the core value. If […]

Add Opacity to an Existing Color

Say your brand color is the orange #f06d06. Now you need that color but with some opacity on it. One option is the 8-digit hex code. I find it hard to know which additional two characters are needed, but it’s possible. Hex Code Notes #f06d06 Original Orange #f06d0640 Orange @ 25% opacity #f06d0680 Orange @ […]

If you’re looking to have nested DOM elements all participate on the same CSS grid, you’ve got Subgrid, but that just inherits grid lines. `display: contents;` can help put the elements on the same parent grid.

Take this markup: If article.recipe is display: grid;, then the only grid items are the <h2>, <div>, and <ul>, because they are the direct descendants. But it’s a reasonable ask, I think, that you’d want the <li> elements, actually, to be grid items, not the entire parent. The trick there is to tell the ul.ingredients […]

Back to Top ⬆️