Santa Fe Digital - Mike Root

I'm a freelance programmer living in Santa Fe, NM. This site features my work in p5.js and ml5.js. Read more...


Flow Field
Sketch 1 - Flow Field

Flow field filled with vectors which are in turn modified with perlin noise. A basic physics engine is employed to direct the color lines along the magnitudes of the invisible vectors in the underlying flow field.

Fractal Tree
Sketch 2 - Fractal Tree

This sketch was inspired by Daniel Shiffman's class on writing code to simulate natural phenomenon. The section on fractals was particularly interesting.

Pyramid Illusion
Sketch 3 - Pyramid Illusion

I was riding a bus in Minneapolis and passed under a bridge. Someone had spray painted a row of triangles with a line from the tip to the base diagonally, at a slightly different angle on each one. The simple diagonal line transforemd the triangles into pyramids. It inspired me to create the P5 sketch below.

Solar System
Sketch 4 - Solar System

A basic model of a solar system based off one of Daniel Shiffman's Coding Challenges. This sketch uses recursion: each ellipse has one or more child ellipses and so on. This roughly emulates the idea of a sun, surrounding planets and moons.

x patterns
Sketch 5 - Random "x" Patterns

I watched a talk by creative coder Joshua Davis and wanted to code one of his designs. Mine ended quite different than his and it was fun figuring out how to emulate his idea and make accidental discoveries along the way.

Perlin Mountains
Sketch 6 - Horizon Generator

This was inspired by looking at the layers of hills and mountains facing southwest from Zia Road in Santa Fe. It was around sunset and I was struck by the strata of lines and colors of hills in front of the Jemez Moutain Range. It uses Perlin Noise to draw overlapping mountain ranges immitating those seen from Santa Fe.

Posenet FM Synthesis
Sketch 7 - PoseNet & FM Synthesis

Using the Machine Learning library ML5 this sketch allows the user to control Frequency Modulation of a sine wave with their hand. PoseNet is a CNN (Convolutional Neural Network) pre-trained model which estimates positions of 17 body parts.

About Me

I'm a freelance programmer living in Santa Fe.  I'm interested in visualizing data, simulating real world phenomena and developing creative applications for Machine Learning. Currently I'm working in p5.js, a Javascript client-side library for creating graphic and interactive experiences, based on the core principles of Processing. I'm also using ml5.js, a Machine Learning library that runs on top of TensorFlow.js.

I studied Business Computer Systems in at NMSU and graduated with an MBA. After working for tech companies like Intel and IBM doing software support and software engineering I decided to set out on my own. I take inspiration from things I encounter in the world and attempt to translate these phenomenon into code.

I consult with a variety of clients. To reach me visit my contact page.