Loading...

Tag trends are in beta. Feedback? Thoughts? Email me at [email protected]

I guess some request headers are more trustworthy than others.

There are a lot of ways to break up long tasks in JavaScript.

Short-Lived, Tick-Bound Memoization in JavaScript

Using Forced Reflows, the Event Loop, and the Repaint Cycle to Slide Open a Box

I didn't know you could compose string literal types in TypeScript.

Make dangerouslySetInnerHTML Safer by Disabling Inline Event Handlers

I didn't know you could use sibling parameters as default values.

Streaming Text Like an LLM with TypeIt (and React)

On Building Structured Data with Client-Side JavaScript

Picking the Right Tool for Maneuvering JavaScript's Event Loop

Let's Bring Back JavaScript's `with()` Statement

Executing Dangerously Injected Scripts Inside React Components

Cache headers could probably be more aggressive

Mount a Multi-Page SPA into an App with Server-Side Routing

Why I Like Using Maps (and WeakMaps) for Handling DOM Nodes

Tools for Navigating JavaScript's Event Loop

Elegant Memoization with Ruby’s .tap Method

You’ve Got Options for Removing Event Listeners

If Possible, Don't Run Prism.js in the Browser

Consider Animating Your Canvas in a Web Worker

Develop an SPA Against a Remote Page w/ Vite

More Elegant Destructuring with JavaScript Generators

Use a MutationObserver to Handle DOM Nodes that Don’t Exist Yet

You’ve Got Options for Removing Event Listeners

Use the .matches() Method to Determine if a Selector Matches an Element

What I Like About Astro

How to Lazy Load Disqus for Improved Site Performance

Keep Using Disqus if You Don’t Care About SEO, Performance, and User Privacy

Serving Notion Presigned Images with Cloudflare Workers

Reminding Myself that Maps Store Objects by Reference Too

More →