Programming
-
Dec 4, 2013
First
The very first post on the old site, with a small code and math test.
-
Dec 4, 2013
Migrating to github.io
Notes from moving the original site to GitHub Pages and Jekyll.
-
Jan 4, 2014
JavaScript Image Processing (1) - Getting Started
Getting started with image processing in JavaScript, from pixels to image loaders.
-
Jan 5, 2014
JavaScript Image Processing (2) - The Image Class
Building the core image class for pixel access, sampling, and image operations.
-
Feb 24, 2014
JavaScript Image Processing (3) - Brightness/Contrast Adjustment
Applying basic brightness and contrast filters with the ImageProcJS toolkit.
-
Feb 26, 2014
JavaScript Image Processing (4) - Histogram Equalization
A walkthrough of histograms, cumulative distributions, and histogram equalization.
-
Nov 5, 2015
Boost Graph Library - A Primer
A quick introduction to BGL data structures, graph operations, and traversal.
-
Jan 10, 2024
Programming Async (1): Wrapping Functions with Callbacks as Promises
Some notes on writing async programs.
-
Apr 22, 2026
Refactoring My Personal Site
From Express + SQLite to a vibe-coded Eleventy static site with five distinct themes
-
Apr 23, 2026
AOS: An Agent Operating System
Building a research prototype where agents collaborate through runtime primitives—artifacts, IPC, capabilities, and scheduling.
-
Apr 24, 2026
Refactoring My Ray Tracer: From Broken to WebGPU Path Tracing
One character broke eight years of rendering. Codex fixed it, added Monte Carlo path tracing, and a WebGPU backend that's roughly 10x faster than CPU workers.
-
May 5, 2026
Adding Meshes, BVHs, and Photon Mapping to My Browser Ray Tracer
The follow-up to the ray tracer refactor: Stanford bunnies, CPU photon mapping, world-space caustics, and a lot of renderer debugging.
-
Oct 18, 2026
A Local-Only Garage Door Opener for Apple Home
Two ESP8266 boards, one Homebridge accessory plugin and no vendor cloud: how the pieces fit together, and how many of the design decisions were forced by an opener with a single momentary input.