Loading...

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

Seeing Like a Programmer: Resiliency, Limits, and Moral Hazards

Async Rust Complexity 

Feeds Are Not Fit for Gardening

Being a Fast, Cogent Writer Is Useful

Ratchets over Levers

jj init – getting serious about replacing Git with Jujutsu

The Wizardry Frontier

Where DRY Applies

An Observation on Programming Pedagogy

How to Do a TypeScript Conversion

Why Rust helps even if you have to use a lot of `unsafe`

Stay Curious About Your Tools 

Reflections on a Month with BBEdit and Nova

On Ember’s New Major Version Cadence : and why I hope it will be useful to other projects as well

Writing down what I do – in Obsidian

Some Thoughts on Zig

A Pleasing Symmetry in Rust : how enums and structs mirror each other

Misusing TypeScript assertion functions for fun and profit

SemVer for TS in Practice —real world example of avoiding breaking changes

Small, Non-Trivial Projects: where you can try things and those things matter

MusicXML and Percussion Notation

Keep It Local, or: (part of) what “reasoning about your code” really means

Progressive Disclosure of Complexity and Typed FP Languages

Understanding `args` in Glimmer Components

Private Chat and DMs are Good, Actually (…with a couple careful caveats)

Writing Robust TypeScript Libraries

Implementing ML-Style Data Constructors in (idiomatic!) TypeScript

Developing a reactivity system with Lamport clocks and incremental computation

Things I Was Wrong About: Types

Async Data and Autotracking in Ember Octane

More →