Quick thoughts, observations, and links. For more formal writing see Blog.

Jul 14, 2024

Book: Crafting Interpreters

A glowing review of the book I most recommend to people interested in learning about compilers

May 10, 2024

A nice way to render Markdown in React apps

A pattern for rendering Markdown in React apps directly from an AST without any serialized HTML

Apr 11, 2024

The Challenges with Client Controlled Nullability

Explaining some of the non-obvious problems with the Client Controlled Nullability GraphQL spec RFC

Nov 13, 2023

Avoid name-spacing GraphQL mutation fields

Explaining why nesting your mutations inside GraphQL types is problematic

Oct 25, 2023

How Relay Enables Optimal Data Fetching

Sharing a blog post I wrote about what makes Relay so special

Oct 20, 2023

On software becoming a prestige job

Reflecting on how the reasons people pursue software engineering has evolved

Sep 23, 2023

On grinding

Thoughts on the tradeoff of not grinding

Sep 23, 2023

Elf Storage

Probably the funniest vandalism I’ve ever seen

Sep 22, 2023

Seeing Beyond Edge Cases

How my thinking about edge cases has evolved as I’ve grown as a software engineer

Sep 17, 2023

Beyond PEP 8 by Raymond Hettinger

An amazing talk articulating how code style can make you miss the forest for the tree

Sep 17, 2023

Diagnostics are the UX of a compiler

Sharing an insightful observation about the role diagnostics play in compiler design

Sep 15, 2023

Software at Scale

On scaling software to large numbers of developers, not just large amounts of data

Sep 9, 2023

Life, a fatal STD

A humorous quip by my high school sociology teacher

Sep 8, 2023

On persuasive technical writing and clarity of thought

How technical writing forces clearer thinking

Sep 8, 2023

Becoming a local subject matter expert

Expertise is a self fulfilling prophecy

Sep 8, 2023

Type systems as a mental tool

Type systems lead to clearer thinking and thus better code

Aug 20, 2023

Eager vs Lazy Learning

An observation about the way I learn

Aug 18, 2023

Web Audio regression in Safari iOS 17 Beta

Documenting a regression, I observed in iOS’ implementation of the web audio API

Aug 17, 2023

On ephemeral UI, fragile app state, and anxiety

Ephemeral UI make us nervous because we’ve learned that there’s a high likelihood lose our state by accident

Aug 11, 2023

Some statistics are just a function of term definitions

A class of statistics to look out for when evaluating statistical claims

Jul 29, 2023

“Cool S” as a Unicode standard

There was once a proposal to codify the ”cool s” as a unicode character

Jul 29, 2023

An old engineer’s tale

My dad‘s reframing of a sexist idiom

Jul 24, 2023

JSFuck: Express any JavaScript program with just six characters

Express any JavaScript code with just these six characters

Apr 8, 2023

My favorite API: Vim Mode

An observation that Vim mode is a type of API

Apr 7, 2023

A GraphQL Maturity Model

I believe the benefits of GraphQL are fundamentally under-realized. Most organizations fail to capture much of the value it can provide.

Mar 7, 2023

Compiling to AST

A pattern for tracking location information when compiling to a high level language

Feb 20, 2023

Lint or Keep Quiet

Dec 13, 2022

Admiral Grace Hopper Explains the Nanosecond

Great way to conceptualize very small increments of time

Dec 4, 2022

Jones Forth

Dec 2, 2022

BBC micro:bit

Nov 25, 2022

Sudoku Set Equivalence Theory: The Phistomefel Ring

An incredible property that all sudoku puzzles have which can be proven with set theory

Nov 25, 2022

Why there was never a Winamp 4

Did you ever wonder why they skipped straight from Winamp 3 to Winamp 5?

Nov 19, 2022


Nov 11, 2022

Laravel’s obsessive comment style

An insane detail that points to the obsessive approach Taylor Otwell took with Laravel

Nov 11, 2022

Falsehoods programmers believe about music genres

Did you know that the ID3 metadata tagging system hard coded the entire set of music genres? Some of the ones that got included are hilarious.

Oct 28, 2022

Build your own LEGO fidget cube

A simple but captivating fidget toy you can build out of LEGO