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.