An App Release Announcement and a Reflection on Managing Complex Passion Projects

Jan 28 2018

BeatBot is an intuitive and flexible beat production environment. It provides the essential sound design tools for rich sample-based beat production with an interface designed to take full advantage of the expressive capability of multitouch interaction on a mobile form factor.

BeatBot aims to be simple and intuitive so you can express your ideas quickly, while also being flexible and powerful enough to refine sketches into full productions.

React Bootstrap Site Generator

Jan 6 2018

React Bootstrap Site Generator is an npm package designed to make creating sites like this one super quick!

Demo gif of site generator

Jupyter Notebook - DFT for timeseries data

Jan 3 2018

I developed this Jupyter Notebook for a presentation on applying the DFT to timeseries data for seasonality detection.

Animation of windowing's affect on the DFT with pure sinusoids

Jupyter Notebook - Python Crash Course

Dec 20 2017

This Jupyter Notebook contains all code, excercises and projects from the Python Crash Course book by Eric Matthes, including three projects: a "Space Invaders"-style game developed with PyGame, a data visualization project and a Django app.

Preview of random walk chart from Python Crash Course book

Processing Sketch - Bubble Wrap

Dec 19 2017

A simple sketch with for trippy, colorful bubble patterns.

Preview of Bubble Wrap sketch

Album - Web Tracks 2012-2017

Nov 1 2017

A collection of tracks I published spanning from 2012 to 2017. There isn't any cohesive theme. Special guests Andrew Knight (on Riders of the Night - the Raccoon Song) and pLiskin (on Elise and Paw).

AutoSampler for Max4Live

Sep 8 2016

AutoSampler is an intelligent Max4Live instrument that plays audio segments found in your library matching the notes of incoming live MIDI.

Album - MIDI Markov: Decompose

Sep 2 2016

Piano compositions generated from a Markov chain given classical MIDI scores as input. Unlike the "MIDI Markov: Compose" album, these pieces introduce intentional MIDI errors to generate more experimental, ambient pieces.

Album - MIDI Markov: Compose

Sep 1 2016

Piano compositions generated from a Markov chain given classical MIDI scores as input.

Generating MIDI with Markov Chains

Aug 28 2016

MidiMarkov is a command-line tool that uses a Markov process to generate MIDI streams based on a given folder of MIDI source material.

Section of Beethoven's 5th symphony melody

Processing Sketch - Force-Directed Graph

July 31 2016

Mapping a force-directed graph to an image for bouncy stretching and warping.

Mario warped with force-directed graph

Processing Sketch - Apparent Retrograde Motion

Feb 15 2016

Retrograde motion is the apparent motion of a planet to move in a direction opposite to that of other bodies within its system, as observed from a particular vantage point.

Preview of Retrograde Motion sketch

Album - MakeNoise Shared System Jams

Jan 27 2016

Modular synth patches, made mostly using the Make Noise Shared System.'

Make Noise Shared System

Processing Sketch - Snow Globe

Feb 16 2015

Some fun with edge detection. This simple effect, when used on images like cityscapes, looks like a blizzard.

Preview of Snow Globe sketch

Processing Sketch - String Pluck

Feb 16 2015

Interactive model of plucked string motion.

Equation for plucked string

Album - Calahjes&Lewps

Dec 22 2011

Stream of consciousness frenetic sampling from musical sources.

Album - Web Tracks 2006 - 2011

May 30 2011

A bunch of random tracks ranging from about 2006-2011. Playful bedroom experiments. Some are just goofy, some are more serious. Some good ideas, some not so much. All of them mastered terribly.