Not knowing Guile or Guix

If you bumped into a person who happened to have the slightest brush with the liberal arts end of a university in the western world at some point over the last fifty years, then you may well have heard the term "the medium is the message". The phrase is the title given to the first chapter of one of Marshall McCluhan’s books1. The phrase, like all bits of philosophical wisdom, is open to interpretation. [Read More]

/proc los

Background This posts is a successor to not knowing the /proc filesystem The aim is to improve on at least one major shortcoming of the code listing from the other post. The major fault with that program is that it does not handle the case where the /proc/$PID disappears between the call to readdir and the call to fopen with the status file. To be honest, I was aware of this possibility while writing writing the other program, but was temporarily uninspired to search for a solution. [Read More]

Not knowing the /proc filesystem

Overview Edit: this post was discussed on hacker news Some of the comments contained valuable reviews of the C code listed below. I’ve appended some edits after the original listing. I’ve been working quite with files and file systems on Linux recently. Mostly from the vantage point of either a shell or a python script. I wanted to practice coding against the Linux API, so I cracked open my copy of the Linux Programming Interface to see if I could find some useful info. [Read More]
Linux  C  Python 

mufun

I posted elsewhere about how programming paradigms might influence the music that we write. The main slant of the post was a naive exploration of some simple ideas related to functional programming. The basic idea that motivated the post was a basic curiosity about the implications of thinking about a melody or musical voice as an unfolding stream. To be precise, I’m talking here about information streams that happen at sub-audio rate. [Read More]

Not knowing...Pratt parsers

This summer I’ve been learning a bit about programming language design. In the past, I’ve thrown together a few little programs use regular expressions to parse some simple language according to a simple context free grammars. Like any other programming newbie, I’ve also built the ubiquitous calculator or two. Back in 2017 I resolved to teach myself something about computer science. I surveyed a few computer science undergraduate programs and decided to patch together my own from online courses, docs, tutorials and textbooks. [Read More]

Not knowing...functional programming

There is a funny story from the composer Morton Feldman. The full story can be found somewhere in the book Give My Regards to Eighth Street, and I’ll relay the gist of what he was trying to say here. At some point a young man was taking lessons with the composers and trying to write some “modern” piano music. The first week, the student came by and had a piano piece with lots of notes in the middle register. [Read More]

Not knowing...python code optimization

So I had a brainwave the other day while out running. There is a particular type of application for generative music that I want to implement that involves leveraging a LAMP style stack in order to serve up a daily dose of music to the url mindfulmusic.today. I’ve got a bit of time on my hands at the moment, so I figure that I can structure a project and learn a bunch about some new technologies that I’ve been wanting to check out. [Read More]

Simplegrammar

A simple grammar for music notation A few years ago, I became interested in the prospect of using GNU Lilypond as a way to typeset musical scores. I knew about Lilypond and its Python API abjad through a fairly nifty hacker called Piaras Hoban, who was doing a doctorate at UCC at the same time I was skulking about as an undergraduate. This was back in 2008/2009. Actually, looking back on it, the environment in Cork was really conducive to cooperation between students and there was very little emphasis on making any really painful distinctions between grad and undergrad students. [Read More]