Clojure Conj 2014 Recap

This is a blog about the development of Yeller, The Exception Tracker with Answers

Read more about Yeller here

This year I had the pleasure of attending the Clojure Conj. The Clojure Conj is the biggest Clojure conference that happens each year, usually somewhere in the Washington DC area.

This year’s Conj was at the Werner Theater in Washington DC, which was excellent - just the right space for the number of attendees.

The Conj was a single track conference, with all the talks being published within a day or two of them being given. This video policy is a vast improvement over many conferences, which make you wait months before releasing videos. This meant I could focus on my favorite thing at conferences: meeting people, and hanging out with friends in the hallway, yet still enjoy the talks. Of course, I just had to attend some of the talks as well.


It’s difficult to break down which talks were my favorites. The best bet for that is to watch the videos yourself, but I’ll share the ones that stood out to me:

  1. Stewardship: the Sobering Parts, by Brian Goetz. Brian is the Java Language Architect at Oracle, and this talk did a great job explaining the fine line they have to walk as a company supporting 9 million JVM developers, how careful they are not to break backwards compatability whilst introducing exciting features and so on.

  2. Exploring four hidden superpowers of Datomic, by Lucas Cavalcanti & Edward Wible. This talk covered a bunch of tips and tricks for getting the most out of using Datomic as your database. Yeller uses Datomic for storing all data apart from exceptions, and I picked up on a bunch of tricks from them that are very useful.

  3. Unlocking data-driven systems, by Paul deGrandis. This was by far and away the most thought-provoking talk of the conference to me, and definitely the one discussed most at lunch time and in the evenings. Paul covered how some of the systems he’s been working on recently are completely data driven, not trees of functions, but almost entirely declarative programs expressed as data, run by a thin interpreter layer, and the wins that came out of that style of development.

  4. Generative Integration Tests by Ashton Kemerling This was a deeply practical talk about how to use test.check to drive out errors in your JavaScript web applications and the web servers that power them. I took away several useful tips for building better integration tests.

  5. JVM Creature Comforts, by Ghadi Shayban This was a fantastic talk about how Clojure and the JVM works, and how Clojure could use invokedynamic for some potential performance improvements. JVM performance tuning is a subject that’s deeply relevant for Yeller, and I always love to hear about new things happening here.

The Clojure Conj was a fantastic conference, and I’d recommend going next year if you can (or to Clojure West, which is put on by the same folk). The Clojure community is really unique - blending a willingness to embrace academia with a bunch of practical engineering. To boot, it’s one of the friendliest development communities I’ve ever been involved in.

This is a blog about the development of Yeller, the Exception Tracker with Answers.

Read more about Yeller here

Looking for more about running production applications, debugging, Clojure development and distributed systems? Subscribe to our newsletter: