dave yarwood
March 2022
Clojure through the lens of music
Last week, I had the pleasure of speaking at Functional Conf, a functional programming conference that usually takes place in India, but was all virtual this year due to the pandemic. I had a great time! Here is the video of my talk, which was about how we can better understand the functions in... (more)


January 2022
10 Bash quirks and how to live with them
I have a love/hate relationship with Bash. It’s a quirky little language with many subtleties that make it all too easy to make mistakes. It’s not uncommon for programmers writing Bash scripts to discover bugs in their scripts related to a variety of things, including getting some obscure synta... (more)


June 2021
Announcing Alda 2
I’m excited to announce the release of Alda 2.0.0! This new version of Alda is a from-the-ground-up rewrite that I’ve been working on since late 2018, and I couldn’t be happier to finally share it with the world. Despite the shiny new version number, at a language level, Alda 2 is almost exactl... (more)


March 2021
Why I'm rewriting Alda in Go and Kotlin
Over the last 2 years or so, I’ve been working on a ground-up rewrite of Alda, the music composition programming language that has been my passion project since 2012. Now that I’m finally almost done(!) with the rewrite and just about ready to release Alda 2 to the world, I figured I should expl... (more)


February 2021
How I deploy my personal projects
Just for fun, here is a quick run-down of how I deploy my personal projects. If you’re reading this and you have projects of your own that you might like to deploy, then hopefully some part of this will be helpful to you. Domains and DNS Whenever I register a domain, I use Namecheap, not neces... (more)


January 2021
Something cool that happened every month of my life: 2011
5 years ago, I was doing some reminiscing about what my life had been like 5 years prior to that (in 2010), and I had a lot of fun sharing those memories. It’s been a long time since I posted those memories from 2010, but I’ve been thinking about it recently and now I’d like to continue the tim... (more)


December 2020
Alda and the nREPL protocol
As you may have heard, I have been busy, working on Alda 2, a ground-up rewrite of Alda using Go and Kotlin. As part of this project, I have re-thought the Alda REPL experience to make it closer in spirit to the nREPL experience that I’ve been enjoying as a Clojure programmer. The big idea abou... (more)


October 2020
Alda has a new logo and website
Up until recently, the official Alda website looked like this: I cobbled together that logo and color scheme sometime in 2017, and I was never particularly excited about it. I kept telling myself that I would come back someday and give the logo and the website a good redesign. Among the th... (more)


Conjuring Clojure in Vim: 2020 Edition
Clojure tooling for Vim has been getting more and more interesting over the last several years. 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 think it’s still the case that the ... (more)


August 2020
Using git write-tree to cache builds
Write, compile, run, observe When you’re writing a program in a compiled language, you might find yourself repeating this cycle: Write code Compile executable Run executable Observe results (Lather, rinse, repeat.) I don’t know about you, but when I’m repeating this cycle over and ... (more)