Glen Peterson uses the Expression Problem to compare refactoring in Java, Scala and Clojure, showing how traits minimize changes in Scala when an interface changes and how Clojure avoids some of the issues.
Timothy Baldridge introduces Clojure’s Core.Async library, presenting the motivation behind the library and examples in Clojure and ClojureScript helpful to decouple subsystems in an application.
Stuart Sierra discusses various Clojure features: protocols, records, DI, managing startup/shutdown of components, dynamic binding, interactive development workflow, testing and mocking.
Deepak Giridharagopal discusses "immutable infrastructure", PuppetDB and complex invariants, PuppetDB’s architecture, the experience of bringing Clojure to a Ruby shop and lessons learned from that.
Jon Neale, Ragnar Dahlen discuss the challenges dealing with large Clojure legacy code at uSwitch.
Renzo Borgatti discusses implementing parallel solutions with reducers in Clojure, doing live coding that show what functional abstractions are involved and why.
Andrew Crump shows how to deploy and scale applications written in a variety of languages (including Clojure and Erlang) to Cloud Foundry.
Mridula Jayaraman shares from her experience developing a next generation sequencing solution used to customize cancer treatment based on patient's genetic makeup.
Jeff Scott Brown explains how to write polyglot applications with Grails, focusing on what it takes to add support for Scala, Clojure and other languages.
David Pollak presents Lift's design and how the same design decisions were applied to Clojure/ClojureScript/AngularJS. Lift is a web framework with support for server-push.
Rich Hickey presents the motivation, design and use of the Clojure core.async library, the reasons for choosing the CSP approach and how it helps to structure applications.
Brenton Ashworth introduces the Pedestal application library as a way to build rich collaborative applications in Clojure and ClojureScript. Pedestal applies many of the best ideas from Clojure to client application development, allowing developers to create complex applications without having to write complex code.