In this video, I follow Mike Ashβs guide to Fluid Simulation and port Jos Stamβs "Real-Time Fluid Dynamics for Games" algorithm and code in Processing (Java).

In this coding challenge, I implement the Discrete Fourier Transform algorithm in JavaScript and render a drawing using epicycles derived from the transform.

In this holiday coding challenge, I create a "Brownian Tree Snowflake" in Processing (Java). This video was recorded as part of a fundraiser for the Processing Foundation.

In this multi-part coding challenge, I take a closer look at the Quick, Draw! dataset and create a simple node API to "replay" drawings of rainbows and cats using p5.js.

Yes, sorting numbers can be fun! In this challenge I attempt to implement the "bubble sort" algorithm in Processing (Java) and visualize the process itself with animated lines.

Can I draw and rotate a 3D cube using Processing's 2D renderer with just some math?!?! Yes! Watch to learn more about rotation and projection matrices along with perspective and orthographic projection!

In this coding challenge, I visualize the RecamΓ‘nβs number sequence using the p5.js library and go on to generate a series of musical tones using p5.js sound.

In yet another βPi Dayβ coding challenge, I attempt to generate a pdf βBook of Piβ with the first 10 million digits of Pi mapped to color. Processing (Java) is used for this project.

In this coding challenge, I attempt to implement the Floyd-Steinberg Dithering algorithm and create a "image stippling" effect on an image (kitten, of course) using Processing.

The artist BeesandBombs makes amazing algorithmic looping GIFs! Here's my attempt to recreate one of my favorite GIFs in JavaScript with p5.js and the WEBGL renderer.