Alex Hansen

Software engineer and musician. I create tools for art and science.

Read this first

The Sky Language

I like writing programming languages. Solving a problem is satisfying, but creating a vocabulary to describe solutions to an entire class of problems is a much deeper satisfaction. Right now I’m working on a language called Sky. It is unique in that it addresses a problem domain entirely separate from typical computational problems: musical creation.

In the world of music-oriented programming languages or projects, there are some really great open source projects. Lilypond is an engraver (sheet music typesetter for the laymen) with a whole ecosystem around it. Frescobaldi, for example, is a graphical Lilypond editor. Lilypond addresses the problem of creating a music engraving (i.e. sheet music) given predefined music. Sky is something different: it addresses the problem of writing the music itself. You can think of it as an instrument, or perhaps an assistive compositional tool.


Continue reading →

I got a Rust job.

I have been a hobbyist Rust programmer for about five years now. I have given a couple of conference talks, I’ve written a few crates, and I almost understand lifetimes. All of my personal projects since 2014 have been written in Rust, and it is what I would consider my “main” language. The qualifier “hobbyist” is necessary not because I think my Rust skills are lesser than a professional, not because I choose to write exclusively hobby projects in Rust and think it is insufficient for professional work, not because I myself am a purely hobbyist programmer, but working in Rust is not really an option. There are a few big names out there, but Rust adoption in the professional world is minimal at best. Similar to Haskell, another language I am fond of, jobs in Rust are generally few, contract-based, far-between, and unstable. Well, I have got some exciting news.

I work in Rust now.


Continue reading →