An important design goal of Alda is that the language should not be a
Turing-complete programming environment. This keeps Alda simple and focused on
doing what it does best: being an easy-to-learn, markup-like text language for
At the same time, I really enjoy being able to c...
Let’s say you need to write some tests about the behavior of something
asynchronous. Imagine that you have a worker process that consumes messages from
a queue and uses them to update some state, and you want to test that when you
put a message on the queue, the worker ends up recei...
I’m very proud to be married to the amazing modern dance choreographer and
educator Renay Aumiller. From time to time, Renay and I
collaborate to produce works of modern dance that are accompanied by original
music. Our most recent piece, By Chance, involves feeding suggestions from the
My band, Exit Mice, released our second EP this past month. It’s
called Eggshells and we’re very excited about it! You can listen to it on all
the major streaming services (Spotify, iTunes, YouTube, etc.), or right here:
Eggshells by Exit Mice
(If you like it, please consider supporting us b...
When I first started using Vim, I used “the ultimate vimrc” as
the foundation of my Vim config. I had no idea where to start configuring Vim,
and this looked like a good starting point for a nice, batteries-included Vim
setup. It comes with a bunch of useful plugins installed and configured out ...
A coworker of mine introduced us to PlantUML a year or two ago and
we used it to create an architecture diagram of our distributed systems. I
revisited that old architecture diagram recently and I ended up making a bunch
of tweaks and updates just for fun.
The PlantUML language is very intuitiv...
If you’ve seen my talk at Strange Loop this year, you may
have noticed, during the part where I talked about the future direction of
Alda, that we’ll be using OSC to communicate between the client
and the player processes. I’ve been spending a lot of my time lately
implementing this, and it’s co...
Clojure tooling for Vim has been getting more and more interesting over the past
few years, especially in the last year or so.
When I first came to Clojure, Fireplace was the standard Vim plugin
for Clojure development, providing Clojure developers with a great in-editor
REPL experience. I thin...
This is the third installment in a series where I guide you through learning how
to write music using Alda. So far, we’ve covered:
#1: Setup and first notes
#2: Rhythm and meter
White keys and black keys
So far in this series, we’ve been working with 7 notes:
C D E F G A B C
On a piano...
This is the second installment in a series where I guide you through learning
how to write music using Alda. So far, we’ve covered:
#1: Setup and first notes
Now that we know how to make different notes, we can start to play around with
making the notes longer or shorter.