
core.async: Concurrency Without Callbacks
Stuart Halloway discusses the design of core.async and some of its capabilities: channels, put and take, go blocks, alts! and alts!!, timeouts, showing their use through code.

Down the Clojure Rabbit Hole
Christophe Grand tells Clojure stories full of immutability, data over behavior, relational programming, declarativity, incrementalism, parallelism, collapsing abstractions, local state and more.

Exploring Melody Space with Clojure, Overtone, core.async and core.logic
Thomas Kristensen describes the overall architecture of Composer, a system for composing musing, showing how to build a system that achieves responsiveness while still being flexible.

Clojure Is the New C
Robert Martin argues that Clojure is a replacement for C with its simple syntax and minimal semantics.

Teach Your Eye to Eat (Clojure)
Mario Aquino discusses the structure and organization of Clojure's Lisp syntax as well as special forms in the language for declaring data structures.

Refactoring in Java, Scala, and Clojure
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 issues.

Clojure Core.Async
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.

Clojure in the Large
Stuart Sierra discusses various Clojure features: protocols, records, DI, managing startup/shutdown of components, dynamic binding, interactive development workflow, testing and mocking.

Write Your Lisp in Scala
Stefan Chis demos building a Lisp dialect in Scala, covering: parsing code, defining data types and functions, evaluating expressions, implementing higher order functions.

PuppetDB: A Story of Immutable Infrastructure
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.

Exploring a Legacy Clojure Codebase
Jon Neale, Ragnar Dahlen discuss the challenges dealing with large Clojure legacy code at uSwitch.

Dissecting Clojure Reducers
Renzo Borgatti discusses implementing parallel solutions with reducers in Clojure, doing live coding that show what functional abstractions are involved and why.