Ray Marching Soft Shadows in 2D

I posted a WebGL demo to twitter and it blew up! This post talks about how it works under the hood.

Building a fast Equation Grapher

To let you manipulate math equations in real time, I needed to generate WebGL shaders at run-time based on user-input. This is how I did it.

What the heck is entropy?

A short post on how mathematicians define entropy and a demo to help you understand it.

Voronoi Diagrams on the GPU

I implemented a method of generating Voronoi diagrams on the GPU. It runs in real time with WebGL. Play with some fun demos, or read an explanation of how it works.

Game 'o Life

I found an article by Chris Wellons describing a Game of Life simulation that runs on the GPU and I wanted to try it myself. I wrote my version of it in Skew (which turned out to be a pleasure to use) and it works pretty well. On my laptop it runs fine with grids of 16 million cells.

Click here to see a full page demo and here to see the code.


WOOT is a method of building real-time collaborative document editors (like Google Docs). Read about why I think it's neat, or check out my Typescript implementation.

More than you want to know about @synchronized

I searched online for the internals of the @synchronized construct in Objective-C and didn't find an answer at the depth that I wanted. Here's what I found.

An Intro to OT

Operational Transformation is a method of building real-time collaborative editors (like Google Docs). It's a big field of research and it can be hard to know where to start. Here are links to a few resources that I found helpful.