Blog
2020
The Tokens Are the System
When creating a design system library, it's important to remember that the library can't solve for every possible view. But our users can.
Migrating from Gatsby to Next.js
I moved this site off Gatsby and onto Next.js. Here's the why (mostly boredom) and the how (with the power of coding).
Styling Links for Print
With a little CSS, we can ensure the user always knows where a link goes. Even when they're printing it.
Components are MDX's Secret Weapon
MDX allows us to alter any element's markup, which creates entirely new opportunities for styling & functionality.
2019
No Red Squigglies For Semicolons
Linters are powerful code quality tools. Stylistic consistency is important. Linters should never enforce stylistic consistency.
On Declarative Styling
By limiting the amount of CSS we can write, we improve the quality of the CSS we do write.
Request Timeouts With the Fetch API
The Fetch API is great, but didn't ship with the ability to timeout requests. There's a new API to help with that.
2018
Functional-First Accordions
Did you know that HTML basically has a built-in, fully functional accordion component? Well now you do.
A Better Album Ranking Algorithm
In its quest to glorify the scrobble, Last.fm has forgotten the humble album. We can almost fix that.
2017
Customizing Tachyons
Tachyons is an insanely powerful atomic CSS library with sane defaults. But sane isn't perfect for every project.
A Form-Fitted Z Shell
How I made my Z shell work for me, and how you might be able to maybe make yours work for you too.