journal
journal
career
career
The Topography of the Great Lakes
What would the Great Lakes look like without all that water?
Sep 20, 2026
Why Aircraft Runways Point the Way They Do
How airports settle on a direction for all that pavement, and why a runway can get a new number years after it's built.
Sep 6, 2026
Flight Paths & Great Circles
Flying over the Hudson Bay on the way from San Francisco to London, what?
Aug 30, 2026
Windy Afternoons in San Francisco
Interesting daily trends in the winds around San Francisco.
Aug 23, 2026
Reading Record Grooves
Can we decode record grooves with Photography?
Aug 18, 2026
The August Break in Lagos
About half of July's rain, yet almost as many rainy days. Something odd happens to the rains of August in Lagos.
Aug 16, 2026
Mapping Toronto’s Mobile Network
What can a map of Toronto's mobile antennas actually tell us about internet access?
Aug 9, 2026
Trees in Toronto
Take away the roads and buildings, leave the trees, and I wager you'd still recognize Toronto.
Aug 3, 2026
Local Node
A small guide for getting started with local compute
Jan 26, 2025
Whisper in TinyGrad
A Beginner’s Guide to Implementing Whisper with TinyGrad
Nov 21, 2024
A Framework for Scheduled Tasks
Consolidating patterns for running tasks on a schedule
Nov 30, 2023
The Eternal Now
Once, but forever
Aug 7, 2023
Distributed Stress Testing with htp
Setting up a distributed deployment to stress test services. Built on top of htp
Aug 3, 2023
Memory for Generative Art
Exploring concepts to persist decisions in generative art
Apr 24, 2023
HTTP Stress Testing using Go
A Go-Based CLI Tool making HTTP Requests and Stress Testing
Apr 18, 2023
Figs: A Remote Configuration Service
A remote-configuration service built using Rust on Vercel.
Apr 11, 2023
Creating An OpenAI Powered Script Runner with ChatGPT
A walkthrough of how I created a CLI tool to generate and manage bash scripts.
Mar 28, 2023
The Spotlight Interface Standard
What if we consolidated our approach to the Cmd+K interface?
Feb 13, 2023
Building a Dynamic Image Gallery
A custom stack built to showcase my photographs with Next.js and AWS.
Jan 16, 2023
Dynart
Dynamically generated images on at the edge.
Oct 11, 2022
useMedia
A convienience hook for using media queries
Sep 30, 2022
Computed Objects With Typescript
Implementing computed objects in Typescript
Aug 31, 2022