This is your work, valued
Artist and computer graphics programmer. I help maintain p5.js and its WebGL mode.
StrokeStrip. Joint parameterization and fitting of stroke clusters
64p5.Framebuffer. A library for efficiently drawing to a texture in p5 WebGL mode.
48glsl-autodiff. Tired of doing math to get normals in your vertex shader? Same.
47SE-Notes. Notes for UW Software Engineering
37Axis. A stick figure animator for keyframed animation
36p5.csg. Constructive Solid Geometry for p5.js
27horse-drawings. I asked a bunch of people to draw horses without references. These are the horses.
26Chordi.co. Procedural music, taught with data from real artists
24XCalc. A Javascript computer algebra system that graphs and differentiates
20Frontier. Procedural landscape generation in Processing and JS
17p5.buildGeometry. Create a reusable p5.Geometry using the 3D primitives you're familiar with from p5!
16p5.filterRenderer. A library for p5.js WebGL mode to draw with depth blur and shadows.
15p5.warp. Fast 3D domain warping in p5
14DynamicKelvinlets. TeX
9p5.woff2. An addon to support woff2 fonts in p5.js 2.0
9raytracer. A Monte Carlo 3D renderer
9bezier-path. A library for efficiently querying points along Bezier curves.
7Truthful. Calculate truth tables from a boolean algebraic expressions
7content-aware-sound-fill. Content-aware-fill for piano roll editing
7YNM. A programming language where the interpreter doesn't care about you and makes mistakes sometimes
7p5.transparency. An addon for rendering objects with transparency in p5.js WebGL mode.
7boneless. Locomotion of Boneless Creatures with Distributed Control
6frontier3d. Procedurally generated landscapes in 3D.
5Trestle. A light, extensible Perl CMS
5Sari-Wallpaper. A joke I'm playing on my sister where I remotely change her wallpaper to pictures of me.
5flute-synthesis. Analyzing recordings of the flute to create a synthesizer
4ant-bridge-simulator. Simulating how ants build bridges
4vocoder. Apply a modulator wave (e.g. human voice) to a carrier wave (e.g. synthesizer) to produce a Talkbox-like sound
4English. English parsing for Perl 6
4music-analysis. Graphing some of my music listening habits
4pandemonium. All the jank from old panorama apps, all the time!
4p5-siggraph-labs-2025. Resources for a p5.js workshop at SIGGRAPH 2025
4Kandinsky. A declarative language for programming generative art
3StrokeAggregatorLabeller. Labeller for StrokeAggregator input data
3GPM-Stats. I like Spotify's year-end stats amalgamation so I made one for Google Play Music
3good-portraits. Artisan abstract portraits generated with hand-crafted code
3jalgorithm. A Jalgorithm for Japplying Jeans to Jobjects
3PipeRender. Render 3D pipes to SVG
3p5.js. p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs —
3Cantilever. A flat file CMS for Perl 6
2procmod-presentation. A presentation about procedural modelling
2ffmpeg-static. ffmpeg static binaries for Mac OSX and Linux and Windows
2Course-Notes. Typed up course notes
2MSCI261-Question-Filter. If your assignment questions are too comprehensible, run them through this filter.
2Verify. Unit testing for C++
2p5.sound.js-pre-release. JavaScript
1contour-drawing-presentation. Presentation of the paper "Structuring and Layering Contour Drawings of Organic Shapes"
1