š October 2025
Making progress, CSS colors, lots of releases- Something thatās been on my mind recently is the idea that there are no shortcuts if you want to make progress as an engineerāor at anything in life, reallyāin the long term. You can vibe code or copy from Stack Overflow if you want, and it might make you productive for a while. But at the end of the day, there is no substitute for putting in the work: reading the docs, asking questions, being curious, and digging until you really understand it. Itās not always fun or exciting, but it works. I like this analogy to magic tricks:
The only ātrickā is that this preparation seems so boring, so impossibly tedious, that when we see the effect we canāt imagine that anyone would do something so tedious just for this simple effect. [ā¦] I often have people newer to the tech industry ask me for secrets to success. There arenāt many, really, but this secretābeing willing to do something so terrifically tedious that it appears to be magicāworks in tech too.
-
Use the HTML
outputtag to represent āthe result of a calculation performed by the application, or the result of a user action,ā and get assistive technology support for free š -
CSS colors have come a long way! Do you know what
oklch, relative color, andlight-darkdo? Or that thereās a better alternative torgba? Catch up on these topics and many others with the Pragmatic Guide to Modern CSS Colors. -
In TypeScript, the
Extract<Type, Union>type is a utility that pulls out from a union type only those members that are assignable to another specified type. Useful for narrowing types! Itās similar toPick<Type, Keys>, except that it works on the shape of a member instead of its property name. -
ESLint is preparing for another major release, expected to land in early 2026. v10 will drop support for Node 20 and the legacy
.eslintrcconfig format. If youāre still using them, consider upgrading soon. -
AI Coding Sucks is your permission to ignore the AI hype for a while. Conveniently, VS Code now allows you to disable AI-related functionality with a single setting.
-
Vite+, the Vite teamās vision of a Go-style all-in-one toolchain for building, testing, linting, and formatting JavaScript projects, is available in early access. It will be a commercial product, albeit āsource-availableā and with a āgenerous free tier.ā It remains to be seen what that means for licensing and using it in our projects š¤
-
A first look at Remix v3, the successor to⦠Remix, which is now React Router š¤·āāļø. There are some interesting approaches here, as well as some I find bafflingāsuch as getting rid of reactivity and relying on a manual call to
this.update()instead. Watch the full demo at Remix Jam for more details. -
Overtype, a lightweight Markdown editor component. Had to include it because I 100% subscribe to their guiding principle: āBuilt with the radical idea that sometimes dumb ideas work.ā šÆ
-
If you automate the setup of macOS, youāll appreciate this thorough guide for changing macOS user preferences via the command line.
Notable releases:
-
React 19.2, bringing new components and hooks for easier pre-rendering and more ergonomic handling of event listeners in
useEffect. Hereās a very brief introduction to the changes (āfor hatersā), and hereās a longer and more in-depth discussion featuring one of the React maintainers. -
React Compiler 1.0, promising to optimize your code for you and largely removing the need for manual
useMemos anduseCallbacks. -
Node 25.0.0, enabling WebStorage APIs by default and adding
--allow-netto the permissions model. -
Firefox 144, shipping View Transitions, meaning theyāre available in all browsers. They also published a beginner-friendly guide to get you started.
-
GitHub Copilot CLI, joining similar terminal-based AI agents.