Last week I attended the EuroClojure conference, which is the yearly meeting of the Clojure community. As a Clojure beginner I was interested in getting a glimps of what is all the buzz about this language currently receives. So, just let me share my impressions and thoughts with you.
First day
This conference started with a meta-talk (well, obviously a keynote) about systems and complexity by Zach Tellman. He shared quite interesting ideas with us. The keynote was finished with some recommendations for further readings:
Two talks about side projects followed. One of them was quite funny: Bodil Stokke talked about building your own Lisp. Her Lisp is called Bodol. You can find the pon… eh, slides here. After this Philip Meier talked about liberator, a promising library for building RESTful APIs in Clojure. Then Joseph Wilk took us on the journey to creative machines. He raised the question, if machines can be creative. And he delivered his answer: musical creativity. In this project he gives the machine a set of tones and an association network. With this setup new music is created based on a probabilistic approach. Underneath the awesome Clojure library Overtone is used. It’s on my list to play around with it. It should be on yours, too.
Then the highlight of this day was presented: an ARDrone that is controlled by a LeapMotion pad. It is like a self made Kinect for ARDrones. The code and workspace setup was also quite nice. Here is a live-recording of the demo:
The day was finished by a talk about code smells in Clojure. An interesting topic because the typical smells of object-orientated languages are not applicable to a Lisp derivate. You can find a detailed summary of this talk here.
Second day
The last day I had a blast. I could attend the best keynote in my life so far, given by Stuart Halloway. It was a sarcastic keynote about narcissistic design: what you can do to keep your job forever. How you can make yourself irreplaceable. It’s pity that this talk wasn’t recorded. But I found a recording of this talk from another conference (it’s not as good as on the EuroClojure but better than nothing):
Again, I recommend to read the detailed notes here by Tero Parviainen. And here are two quotes from the keynote:
Two migration talks followed. One was about the Daily Mail. They are probably serving the longest website on this planet (8,5 meters long when printed on paper). Their old system is described on this slide:
So, they rewrote the whole system in Clojure. Now the codebase is only 13k lines big. Quite impressive!
Sam Aaron followed with his talk about Meta-eX: the first live coding band on earth. He showed us how he makes music with Clojure. Here is a recording of his live demo:
Afterwards two talks about enterprise integration were given. The libraries Lamina, EEP and Storm were shown.
Impressions
The crowd at the EuroClojure conference consisted of hard Lisp’ers, Clojurians who came from languages like Ruby and Java to Clojure and me: a Clojure beginner with Scala background.
An interesting observation (for an apple fanboy): less macbooks as on other conferences. More interesting for you: emacs seems to be the editor of choice for most Clojure developers - instead of IDEs like Eclipse or IntelliJ.
When you would ask me, what could characterize the Clojure community I would answer: diversity and pragmatism. The combination is quite interesting. They don’t want to live in an academic world. They want to solve real-world problems. And it seems they have an expressive and concise language to accomplish this.
Summary
Was it worth it? Definitely yes! It were two great days with lots of different subjects, from nerdvana to enterprise. Beside interesting libraries such as liberator, I saw lots of cool projects.
The first day felt like being on Chaos Communication Congress but without being afraid someone hacks your smartphone or macbook. After this the second day broadened my view on the Clojure community and also showed more real-world usages.
I will continue my travel into the deep rabbit hole called Clojure and its ecosystem, for sure.