Or at least cross-origin <use>!!!
Posts by ๐ซ๏ธ Grant Forrest
Make `currentColor` work on `<img src="foo.svg">`, you cowards!
microdosing It Happening
An error alert in Windows which says "Windows cannot find C:\Program Files (x86)\Microsoft\Copilot\Application\Copilot.exe"
I'm free
Overheard across the cubicles, "yeah now he's up to 1000% premium token usage" and the guy they're referring to is the one making my life hard by constantly pushing massive PRs over engineering everything in sight to his personal unchecked vision while I can't get consensus on a button color and and
My strategy of procrastinating about making an ATproto app until Dan Abramov explains it all is paying off.
(It's really that I gotta keep it to 2 side projects at a time...)
No way! Y'all have HMR now?
This is very timely, Rspack has been alright for me but the ecosystem I'm in (especially Cloudflare) seems to much prefer Vite. It's also more likely I'd recommend Vite at work for general ecosystem maturity (maybe we can finally move off Piral...)
This might actually get me to use RSCs. That demo code block made more sense to me than anything else I've seen.
I still get to cozy up in the evening and hand-rig CSS animations, tweak colors and layouts, write and revise game logic, tinker with architecture refactors... All the fun stuff. I won't yield this to the bot. This is mine.
I can see the benefit here, in part I think due to my imposed moderation. Unlike AI boosters I really am sitting in the nice spring breeze with my kid while my 'agent' does the work. I don't care when it's done. I don't worry about token limits cause I barely use it. I refuse to settle for worse.
To that end I still read every line of code. I want to be able to sit down with a paper notebook in a park and work through problems on this project. That means I still have to have it all in my own head. Every agent loop closes back into my own brain. I plan to do this even if it's slower.
It's also helpful because I can and do solve this problem without AI, like through traditional automation and abstraction. I've been doing this all along for decades, I'm really just incorporating 'agents' into that toolkit. Another way to focus on the fun parts.
I'm not going into this with a goal of using AI. My goal is to keep enjoying this work while my life gets busier and more stressful. This has been an important goal to be mindful of. As much as I'd like to avoid draining work, I DON'T want to avoid fun work! And I also want it to remain MY system.
I've never been excited about "agentic" development and still am not, but I have experimented with it this month to see if it can help my side project feel less of a drain by assigning tedium away to bots. It's not so bad. Still not fun per se.
Maybe this is shortsighted but I do like utility CSS, just only UnoCSS that I control.
If I want to turn 'border-light' into a thin drop shadow I should be able to. It should just apply everywhere at once.
I think that's where it shines. When mixins land in vanilla CSS I will probably move on?
Finally tried the dubai pistachio chocolate... Just Trader Joes dark chocolate peanut butter cups flavor innit
Kinda hope they put Streaky in the new Supergirl movie.
๐ฅ "Capable browsers, and the PWAs they support, hold the power to grow an ecosystem of applications that no gatekeeper can own or tax, based on standardised APIs that resist enclosure. But few outlets are connecting these dots for readers."
๐ Read: infrequently.org/2026/04/the-...
I've long been an outsider / tinkerer on design systems, but jumping into a large org with a haphazard attempt in flight was really daunting (why are there *so many tokens?*) I'm only a few chapters in but I'm confident the ideas here will make a huge impact if I can successfully advocate for them.
Got a copy day 1 and am finally getting into it - really good stuff. I finally landed a real design systems gig this year and I've been trying to plot a good course for us. Donnie is mapping so much of my intuition about implementation to well-reasoned systematic thinking I'm definitely gonna adopt.
Agreed. I suspect part of it is poor ergonomics around disabling data fetching for inert dialog contents, etc. You want to avoid fetching data for something that's not open, but the easiest way is to just not mount it.
Y'all are gonna negatively polarize me into liking vibe coding someday
Surely the correlation is causation this time! It would be so cool for me if it was causation. So cool in fact I think you should prove it's not causation! Otherwise I'm gonna keep saying it. How likely is it they would correlate without cause? I don't think that's too conspiratorial to ask.
You know it's a good UI when you waste 5 minutes just hovering things because it's fun.
Two options in a UI: "play online" and "play hotseat." The illustration for "play online" is a crudely drawn purple guy with weird little hands raising his arms up to a golden globe. One hand has a glowing yellow phone. The illustration for "play hotseat" is a squiggly purple hand holding a pink phone. It's surrounded by floating eyes. One of them is a cat's eye.
I drew these with my finger in Figma because I figured I'd do real ones later but now I might like them too much.
Anchor positioning is such a headache-saver.
Also nice to finally take the time to spruce this UI up.
Exactly. You can get grilled peaches, burrata, and speck in a Michelin Star restaurant but you can't stomach pineapple, cured ham and mozzarella? Be serious.
Sometimes AI feels really bodysnatchers-like. There's a guy at work who's replaced almost all his code output with tidal waves of AI-generated code. Then he replaced his avatar with an AI-generated headshot. Emails, etc. He is disappearing.
They have both a "Typography.Link" and an "Anchor" component. Everyone seems to pick one at random and then throw custom styles at it until it looks like a normal link. Then wrap it in a React Router Link anyway.
(Anchor is a sidebar table of contents entry (??))
The Calendar component ignores the keyboard entirely. DatePicker uses it, so it does too. We get constantly dinged for this in a11y audits but nobody gives us the time to write a new one. Multiple cases like this.