will-keleher.com
Draw a Silhouette of a Spider Missing Its Front Left Leg
Applying Aider-like Grammar Corrections to a Novel
\[Short gripe\] Stop using `.reduce` to make your code "functional"
Don't lecture when teaching software engineering
I avoid easy things I haven't tried
Why I avoid test stubs in TypeScript
Most engineers have git aliases; what are yours?
When helping elves, you should use complex numbers to navigate in 2D
18,957 tests in under 6 minutes: ClassDojo's approach to backend testing
XKCD's "Is It Worth the Time?" Considered Harmful
Python patterns I learned during last year's Advent of Code
Indexes are sorted arrays (sort of)
JSDoc comments can make fixtures easier to work with
Why does `zip(*[iter(s)]*n)` chunk s into n chunks in Python?
So, what can you do with a process ID?
Culling Containers with a Leaky Bucket
Writing FizzBuzz in MySQL 5.7 for no good reason
Using NodeJS's AsyncLocalStorage to Instrument a Webserver
Shell Patterns for Easy Automated Code Migrations
Large Analytics SQL Queries are a Code Smell
Red and Blue Function Mistakes in JavaScript
Slack is the Worst Info-Radiator
Bash Patterns I Use Weekly
Clean SQL Tricks
Canary Containers at ClassDojo in Too Much Detail
Node's `AsyncLocalStorage` Makes the Commons Legible
The 3 things I didn't understand about TypeScript
HyperLogLog-orrhea: how do HyperLogsLogs work?
ERROR, WARN, and INFO aren't actionable logging levels