JavaScript
91 articles Β· all categories
September 2025
You may be looking for a useSyncExternalStore
When you see a `useEffect` that updates a `useState` and returns a value, you might be looking for a `useSyncExternalStore`. This is my current vendetta.
November 2024
The anatomy of a React Island
A coworker asked how React Islands work and I realized it's a technique I've been using to modernize monolithic web codebases for years, but never wrote down how it works.
October 2023
Bun β first impressions
I've been using Bun in a few side-projects and I like it a lot
July 2023
Update state during render, better explained
A few readers wrote in to say that the React Can Update State During Render email last week made no sense. Here's a better explanation.
June 2023
React can update state during render
An unexpected feature of React: updating state during render. It's a UX and performance optimization
January 2023
My biggest React App performance boost was a backend change
Performance lives in the unlikliest of places. Follow the metrics.
October 2022
Over-engineering tweet embeds with web components for fun and privacy
A way to embed tweets in static sites with full pre-renders and live updates using just 9kB of client-side JavaScript, 2 HTTP requests, and full reader privacy βοΈ
April 2022
Quick tip about JavaScript's optional chaining operator
People on twitter loved this trick I learned from a coworker's pull request the other day. You might like it too.
Promise.allSettled, a wonderful tool for resilient code
The pros and cons of different approaches to writing resilient code that handles partial failures
February 2022
Immutability isn't free
Or how we took an API endpoint from 16s to 3s.
December 2021
pg-mem and jest for smooth integration testing
The cult of TDD leads you down a dark and stormy path towards brittle code with a false sense of security. But there is a better way. A sweet spot between unit and heavy integration.
Why null checks are bad
Every null or undefined check doubles the number of tests you need π±
Small choices can wreck your codebase
wanna see the strangest looping construct I've found in production code?
November 2021
Finding unresolved promises in JavaScript
JavaScript is a fantastic server-side language because it's async. That also makes it tricky. π© What happens when you swallow errors? Forget to resolve promises? Or run into a number of other anti-patterns
October 2021
Learn TypeScript in 5 minutes
TypeScript solves many of JavaScript's sharpest edges. You don't need much to get started βοΈ
September 2021
Stop SHOUTING = 'shouting'
A hill I will die on π global CONSTANT = 'constant' are bad
June 2021
A surprising feature of JavaScript optional chaining
This blew my mind, thought you'd like it too. You can do more with ?. than you thought.
April 2021
2 quick tips for 250% better Lighthouse scores β CodeWithSwiz 28
Your site may be fast for users, but Google don't care. Official metrics or bust.
September 2020
Modern backend is a JavaScript function
Many engineers think server-side code is the scary domain of True Engineers. Something newbies, juniors, and frontend engineers shouldn't touch. They're wrong. Modern backend is a joy. β€οΈ
August 2020
In 2020's, what is "frontend"? π€¨
"He's a frontend guy, is this even a fair question to ask?" The head of engineering was worried about our systems design question β¦
August 2019
The Big Mac index and Jest fetch testing
The Big Mac index is a purchasing power parity index published by The Economist. Jest fetch testing is a tech task so frustrating that it almost made me quit the industry. I'm writing this so you don't have to read 8234721 different blog posts, stack overflow answers, and GitHub threads with conflicting info on how to get Jest and fetch to play together.
May 2019
Just for fun π React vs. jQuery vs. Svelte, same π± app
I was bored Monday night and decided to see if I still know how to build with jQuery. Nothing better to do, no pressing ideas, a bit of fun. Also a favor for a friend who's preparing to talk about React to a bunch of people who've never seen it before π
LOLCODE-to-JavaScript compiler babel macro
A fully functioning LOLCODE-to-JavaScript compiler implemented as a Babel macro. You never thought you wanted this and now here it is. You're welcome. π±
February 2018
You don't want to build your own list virtualization
Chatroom is slow? I know, I'll just use list virtualization! List virtualization is hard, dear reader. So, how do you virtualize a list?
January 2018
November 2017
How to add real web push notifications to your webapp
You've probably seen web notifications before. YouTube shows them when it goes to a new song, Facebook pings them when a new message comes in, scammy websites ask for permissions and you say no. The usual. You can fire those notifications from anywhere inside your JavaScript.
September 2017
JavaScript promises are just like monads and I can explain both in less than 2 minutes
There's a joke in functional programming that once you understand monads, it becomes impossible to explain them to others. The nuance is nuanced, the details are hard, letβs focus on practice
How JavaScript linters cause bugs
I was doing code review for a coworker, and it soon became obvious that he used a linter and that the linter gave him a bright idea: _use strict comparisons_.