I'm a software developer in music, media, design, and the arts.
I run Counterpoint, a creative technology studio, together with Samuel Diggins. You can reach us through our website.
On other matters, message me at firstname.lastname@example.org.
You can also find me on Twitter, GitHub, CodePen, LinkedIn, and Goodreads.
All of my recent work is through Counterpoint. But here are some things I've done prior to that.
I've also written about queueing theory, learning strategies, change detection in JS frameworks, controlled refactoring of AngularJS apps, and a five-part Web Audio API tutorial: 1, 2, 3, 4, 5.
In 2017 I created an audiovisual primer on generative music, called How Generative Music Works, and presented it at Ableton Loop.
In the same year I also created a web-based version of Laurie Spiegel's Music Mouse, with her kind permission and guidance.
From 2017 to 2019 I worked in a startup called creative.ai, building generative design tools.
Between 2013 and 2016 I wrote and self-published a book on the AngularJS framework, called "Build Your Own AngularJS". It is now free to download.
I've made a number of web-based sketches, exploring various aspects of music, generative systems, and machine learning:
I also created the Clojure Cup online programming competition and organised the first two editions, in 2015 and 2016.