Skip to main content


Search with cmd/ctrl + f, browse by tag, or read one at random.

Listen for class change in JavaScript

There isn’t an event for class list changes, but you can write a function that listens for class changes on an element with the MutationObserver API

CSS :empty pseudo class

Empty elements in a flex or grid container can result in double gaps, but CSS has an pseudo class to select and remove those elements

Farewell Create React App

The React team is looking to transition Create React App from a project scaffold to a launcher that includes options other than client-side rendering

Starting an RSS Club

I can publish an article exclusively to the RSS feed with a special flag in the frontmatter

On closings

Closings are lovely in letters but unnecessary online. I'm going to try to omit closings from my articles.

Learning about Smart Brevity for writing

Axios co-founder Jim VandeHei advocates for a writing style that is clear and concise. I'm interested in learning whether I can provide more value through direct and informative writing.

Burrito emoji

Burrito means thank you. Thank you means burrito. Enjoy the burrito.

New command palette

I added a new new command/control K command palette to my site. You can use the keyboard shortcut or activate it by clicking the magnifying glass in the header.

Portable custom search engines

Custom search engines (sometimes called site search) are a great browser feature, but they aren't easily ported from one browser to the next. I created a portable web app to handle your custom search engines from any browser.

Are command bars the future?

Command bars are a great way to access functionality through a single user interface, but how much potential does this pattern have to change the way we interact with products?

Node.js is great for scripting

Node.js and JavaScript are a great option for scripting for the language features and the large ecosystem. Oh, and it's pretty fast too!

Giving Linux another try

It's been about 10 years since I last tried using Linux, so I think it's time to explore what it has to offer in 2022.

Jest tips & tricks

A growing list of little things that make working with Jest a little better

When to use React's memo HOC

The memo higher-order component can prevent your component for re-rendering unnecessarily, but you should use caution before using it

Music to code to

A growing list of artists that I like to listen to while programming.

What is Hermes in React Native?

Hermes is a JavaScript engine that is designed to run on mobile devices. It helps power React Native on Android – and now iOS – devices.

Let's stop skinning cats

Proposing an alternative, more constructive idiom to "there's more than one way to skin a cat"

TypeScript without TypeScript

TypeScript provides valuable features but complicate the development process. What are some alternatives that provide the features without the headache?

Nodemon for Deno

Denon is a utility for Deno that provides source watching and process restarting just like Nodemon

Store readable data

When forced between storing data for humans or computers, choose the former.

Over my head

A list of articles, topics, and resources that are currently over my head

Laws I Love

This is a WIP that I probably will never finish.

Free to grow

Why tests (should) free you to grow with confidence

2019 into 2020

Reflecting on last year while looking forward the next

2018 into 2019

Reflecting on last year while looking forward to next

Why a blog?

An effort to preserve my content on the ever-changing web