Posted on 25 Nov 2013 by Chris
Review of the 2013 Dutch Clojure Days event.
The Dutch have a word, "gezellig", which has connotations of "cozy", "family atmosphere" and "friendly" (although it is quite a difficult word to pin down exactly - see here for more details). This word is a great way to sum up the Dutch Clojure Days conference we held in Amsterdam a month ago.
The Dutch Clojure Days conference was a free conference run on a single day in Amsterdam. It is the evolution of the October Amsterdam Clojure event which ran for the past three years. It was organised by the Amsterdam Clojurians and the Rotterdam/The Hague Clojure Meetup, and attended by about 35 people. This is a somewhat late summary of what was a great day. (Also, full disclosure, I am one of the organisers).
The day started off with Michał Marczyk presenting to us his experience of extending the Clojure/ClojureScript persistent data structures while building core.rrb-vector and avl.clj. It was great to hear explanations of algorithms from someone with such a deep knowledge of the area and it was refreshing to hear that the expansion of fundamental parts of Clojure could be accomplished relatively easily.
Next up we had a pair of lightning talks from Vijay Kiran and Walter van der Laan. Both of them covered the Pedestal web application tool set. Vijay provided an overview while Walter showed us a basic application. It was interesting to see Clojure's data-oriented thinking spreading to web applications, in what seems a really innovative and powerful strategy.
After a short coffee break Meikel Brandmeyer gave us a fantastic explanation of core.async, explaining the whole thing without using a single powerpoint slide! Instead he demonstrated it using humans to represent threads in the system passing actual objects to each other. He started with a simple system with two threads and a single channel and gradually built up to multiple threads with multiple channels. He also showed how the process works in a single threaded environment using hats. This had to be seen to be believed!
After a sponsor-provided lunch we had an unconference session. We ran this session after the success of last year's. The way this worked was to split the two hour slot into two one hour sessions and to split the venue into three areas. We then created a grid to represent this and had attendees suggest topics for time/place slots using post-it notes. We had a variety of sessions, including: talking about what would be required for a functional operating system; a new web framework an attendee had produced; and talking about Pedestal.
For a change of pace we followed this up with a talk about using Clojure from a business point of view by Alexander van Elsas of Adgogi. This was an interesting talk on how the company has used Clojure, why they moved to Clojure and the improvements in the development process that have been brought about through this. It was particularly interesting to hear the reasons to switch to Clojure from a business point of view - something you rarely see.
The last talk of the day was from Andrii Mishkovskyi on Storm, the distributed realtime computation system. Specifically, it talked about what were good use-cases for using Storm and what were bad ones. Andrii talked from a position of having implemented a Storm cluster: the joy and pain involved in that, and then the realisation that some of the things they wanted from Storm might be better provided by simpler, custom code. It was a good talk to round the day off with - a day that included data structures, asynchronous threading theory and business based talks ending with a from-the-trenches view of some much talked about technology.
Finally the sponsors provided us with some beer at a local bar. Here we were able to talk in more depth with the presenters and chat with people from many different backgrounds and perspectives in a very Amsterdam bar. I started off this review declaring the day as "gezellig" or cozy, and it was. The whole day felt like a day with friends and comrades, whether listening to a presentation, participating in the unconference, having lunch or drinking in the bar. I'd like to thank the (other) organisers and the sponsors (Backbase, Adgogi, Announcely and Screen6) for enabling such an interesting and "gezellig" day. I can't wait for next year's edition.