Blogs
A collection of my thoughts, tutorials, and insights on web development.

What’s !important #10: HTML-in-Canvas, Hex Maps, E-ink Optimization, and More
Developers have been experimenting with HTML-in-Canvas, a hexagonal world map-analytics feature, a web-based OS for e-ink devices, replacing image sources using the content property, and more. This is What’s !important #10.
Read More
The Importance of Native Randomness in CSS
We're getting new functions for generating random numbers in CSS! But the road to get here has been a long and winding one.
Read More
Let’s Use the Nonexistent ::nth-letter Selector Now
My shim might give the powers that be another reason to say native support isn't necessary, or if lots of people use my :nth-letter hack in the wild, the browser gods might recognize the need to implement it for real.
Read More
Recreating Apple’s Vision Pro Animation in CSS
Putting CSS’s more recent scrolling animation capabilities to the test to recreate a complex animation of the Apple Vision Pro headset from Apple's website.
Read More
Enhancing Astro With a Markdown Component
I use a Markdown Component for two main reasons: (1) It reduces the amount of markup I need to write, and (2) it converts typographic symbols. Here's how it works.
Read More
Markdown + Astro = ❤️
Although Astro has built-in support for Markdown via .md files, I'd argue that your Markdown experience can be enhanced with MDX.
Read More
What’s !important #9: clip-path Jigsaws, View Transitions Toolkit, Name-only Containers, and More
This issue of What’s !important brings you clip-path jigsaws, a view transitions toolkit, name-only containers, the usual roundup of new, notable web platform features, and more.
Read MoreA Well-Designed JavaScript Module System is Your First Architecture Decision
Behind every technology, there should be a guide for its use. While JavaScript modules make it easier to write “big” programs, if there are no principles or systems for using them, things could easily become difficult to maintain.
Read More
The Radio State Machine
One of the best-known examples of CSS state management is the checkbox hack. What if we want a component to be in one of three, four, or seven modes? That is where the Radio State Machine comes in.
Read More