Articles
2026
- Dynamic Styling in Tailwind
Common patterns for dynamic styling in Tailwind.
Published on , in #technical
2025
- Attribute-Derived Styling
Avoiding duplicated state by deriving presentation directly from DOM-declared state.
Published on , in #technical
- Optional vs. Required Properties in TypeScript
The distinction between `prop?: T` and `prop: T | undefined`.
Published on , in #technical
- RTFM
You just have to RTFM!
Published on , in #technical
2024
- Single-Responsibility Classes for CSS
Exploring the limits of statically generated libraries.
Published on , in #technical
- Web 1.0, Personal Websites, and Reflecting on My Own Online Presence
Bringing back the chaotic, creative spirit of Web 1.0.
Published on , in #meta
2020
- Two Simple Techniques for Boosting CSS Selector Specificity
Two quick hacks to boost CSS selector specificity without coupling.
Published on , in #technical
2018
- Quick `tabindex` Cheatsheet
Focus behavior in HTML elements.
Published on , in #technical
2016
- The `border` Confusion
Clarifying the difference between `border: 0` and `border: none`.
Published on , in #technical
- Improving HTML Legibility When Using Multiple CSS Classes
Using a forward slash to separate CSS classes.
Published on , in #technical