Writing

Teaching notes.

Most of these started as an explanation for one person — components, hooks, boundaries, and how to hold an opinion loosely. A few are old enough that the framework has moved on. The ideas mostly haven't.

10 notes · 20192026 · about 45 minutes end to end

A Living Curriculum

Aug 6, 2026

A Living Curriculum

How to build a course that generates itself one day at a time, stable enough to hit year-end goals, steerable toward one student's actual interests, and higher quality than anything you could buy. A walkthrough of the whole system, including the research, the constitution, the agent skills, and the state files that keep it on course.

React Server Actions

Jan 6, 2024

React Server Actions

React Server Actions allow you to run functions on the server directly from your React components. Think of them as a bridge between client-side interactions and server-side logic. Instead of setting up an API endpoint for every little server interaction, you can define actions that execute server-side with a simple function call from the client.

Especially Concerning the Separation of Concerns

May 8, 2023

Especially Concerning the Separation of Concerns

A look at the shift from a separation of concerns based on technology (HTML, CSS, JavaScript) to one based on UI objects (like buttons, navigation bars, cards).

What is a Component?

Jan 10, 2020

What is a Component?

The term "component" has become a cornerstone concept shaping how we design, develop, and think about software systems. But what exactly is a component, and how has it changed the way we build web apps?

Writing Your Own React Hooks, the Return Value

Dec 19, 2019

Writing Your Own React Hooks, the Return Value

JavaScript can only return one value from a function. However, destructuring in modern JavaScript makes this largely irrelevant. We can return multiple values in arrays or objects from a function and instantly destructure them.

Writing Your Own React Hooks - a TDD Example

Dec 9, 2019

Writing Your Own React Hooks - a TDD Example

Writing your own hooks can encapsulate imperative code in useful and reusable objects, leaving your components simple and completely declarative.

Writing Your Own Custom React Hooks

Nov 30, 2019

Writing Your Own Custom React Hooks

In this example, we'll look at extracting essential complexity into composable, encapsulated, reusable objects while keeping your components clean and declarative.

Strong Opinions (Weakly Held)

Nov 30, 2019

Strong Opinions (Weakly Held)

Effective teams require people who are flexible and able to be won over to a different, possibly opposing viewpoint. A new look at the art of holding strong opinions...

The Missing Guide to Twitter OAuth User Authorization

Nov 7, 2019

The Missing Guide to Twitter OAuth User Authorization

A simple guide to Twitter user authorization

How to Not Use Semi-colons in JavaScript

May 8, 2019

How to Not Use Semi-colons in JavaScript

One of the more nuanced debates in JavaScript revolves around the humble semi-colon. Here's your guide to navigating a semi-colon free life in JavaScript, why you might choose this path, and how to do it effectively.