Intentional Anonymity
Thoughts on anonymity, accidental and otherwise
Interactive notebooks on graphics, math, and creative coding
Thoughts on anonymity, accidental and otherwise
A world map colored by how long until each location next sees totality
Conway's Game of Life generalized to a continuous domain, computed in WebGPU
Möbius strips as a test problem for doing some real linear algebra in the browser
A (sort of) infinite zooming spectre aperiodic monotile
Rendering the spectre a chiral aperiodic monotile of Smith, Myers, Kaplan, and Goodman-Strauss
Terrain shadowing and ambient occlusion for web maps using fast horizon visibility
Trying to untangle the parameterization of Costa's minimal surface
How I migrated this website from Idyll to Observable Notebook Kit
Boy's surface, an immersion of the real projective plane in three-dimensional Euclidean space
Cobbling together a 3D WebGPU terrain viewer
Visualizing 3.3 million galaxies and quasars from the Sloan Digital Sky Survey
Using the Hess-Smith panel method to compute the aerodynamic flow around an airfoil
Interactive multi-scale Turing patterns in WebGPU
Integrating and rendering strange attractors in WebGPU from start to finish
GPU-accelerated line rendering for WebGPU
Interactive mathematical plotting in Observable Notebook Kit
The 2D Kuramoto-Sivashinsky equation, a chaotic PDE modeling pattern formation in combustion fronts and thin films
An quick application of Perfectly Matched Layers for absorbing boundary conditions
Contemplating where we're at after attending yoga pretty consistently for a couple years
Kicking the tires of Observable's new notebook tooling!
Clifford and de Jong strange attractors
Interactive visualization of a magnetic pendulum demonstrating chaotic dynamics
Quantifying treadmill efforts (to the point of injury)
Plotting and extrapolating trends in competitive speed climbing
Approximate pixel redistribution between images using sliced optimal transport
The Shanks transformation for series acceleration, applied to the arctangent formula for π
Comparing cubic interpolation using different basis functions
Smooth bicubic texture filtering using the GPU's built-in bilinear interpolation
Using Jacobi elliptic functions to solve an optimization problem about falling poles and large-amplitude pendulum dynamics
Earth's solar terminator on a Mapbox map using NASA Black Marble imagery and WebGL shaders
Fast generalized winding numbers in 2D for robust inside-outside queries on arbitrary polygons
Animating periodic three-body orbits using pure CSS keyframe animations generated from Fourier decomposition
Lawson's Klein bottle, a generalization of the Clifford torus in 4D space
Computing hexadecimal digits of π at arbitrary positions using the Bailey-Borwein-Plouffe formula
Visualizing the phase space of simple and compound double pendulums
A chaotic mechanical system whose dynamics map to the Lorenz attractor
An opacity formula for consistent visual appearance in brute-force point cloud rendering
Adaptive contour rendering in fragment shaders using screen-space derivatives for smooth, resolution-independent contour lines
Computing Voronoi diagrams and distance fields on the GPU using the Jump Flooding Algorithm
The Bednorz and Bednorz analytic sphere eversion, a continuous deformation turning a sphere inside out without creasing or tearing
A comparison of three approaches to rendering transparent 3D surfaces in WebGPU
Constructing fullerenes with toilet paper tubes
2D gravitational N-body simulation using the particle-mesh method
A catalog of periodic three-body orbits with topological classification via free group words
Another gallery of multi-scale Turing patterns
A gallery of multi-scale Turing patterns
Automatically orienting 3D scans by computing principal axes from surface normals
An obsolete collection of lessons learned from eight months of React Native development
Reflections on a decade of programming projects