Wojtek Franke will be giving a talk at Clojure/conj 2016. He is a digital artist.
PurelyFunctional.tv: How did you get into functional programming?
Wojtek Franke: My first exposure to functional programming concepts was when I discovered Dataflow programming languages like Max and Pure Data. In these environments you build your application visually as a graph of nodes for data, control flow and transformations, usually to generate and process sound and graphics.
Later on I started looking for a computer music library to play with and I stumbled upon Overtone. Around the same time I attended EuroClojure 2014 in Kraków and seeing Clojure in action blew my mind. I've been using it for personal projects ever since.
PF.tv: What is your talk about?
WF: The title of the talk is "Generating music with clojure.spec" and I'll use Clojure's new data specification library as a starting point to talk about music, randomness and building data-oriented systems.
PF.tv: I once heard a lecture by Brian Eno where he talked about using randomness in his generative music, but he had to control the randomness quite a lot. Your abstract reminded me a lot of that.
WF: I totally agree. Simple generators have limited utility by themselves and usually additional constraints are necessary to achieve more "musical" results.
I do software testing professionally and the thing that ultimately inspired me to give this talk was a little thought experiment - "what would it be like to have generative tests for music software?". The image in my mind was of test data as musical compositions in their own right. Thousands of them, playing for no-one on a CI server somewhere.
PF.tv: What do you hope people will take away from the talk?
WF: I'm hoping that people will have good fun learning about clojure.spec and how electronic music is made.
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
WF: Nothing in particular, just have an open mind. No knowledge of either clojure.spec or music theory is necessary.
PF.tv: What resources are available for people who want to study up before the talk?
- Quick intro to clojure.spec by Arne Brasseur
- The Overtone music library
- A great talk by Chris Ford on representing traditional African music with code
PF.tv: Where can people follow you online?
WF: I perform under the moniker ENAY. You can find my stuff at http://apogsasis.org, https://soundcloud.com/enajski and https://vimeo.com/user1660167. You can also search for ENAY on Spotify and iTunes. I tweet @apogsasis.
PF.tv: Are there any projects you'd like people to be aware of? How can people help out?
WF: Overtone is a great open-source project which pulls a lot of people into Clojure. However, I found the barrier to entry for me as a beginner was quite high - improving the docs and guides would be very helpful. Also, the project is looking for a new maintainer.
PF.tv: Where do you see the state of functional programming in 10 years?
WF: For a long time I looked at functional languages as being far removed from what most of the software industry needs. However, now I see so many great FP communities going through a period of growth. I'm pretty sure that in 10 years seeing job postings for Haskell, Elm or F# jobs isn't going to be so unusual as it is today.
PF.tv: If functional programming were a superhero, what superpower would it have?
WF: Laser sight able to cut through any complexity with ease.
PF.tv: Thank you for the interview!