Mark Needham shows how a meetup recommendation engine using Neo4j and Clojure can be built from scratch, combining content-based and collaborative filtering using Cypher and Clojure.
Jonathan Graham presents how to implement our own versions of the Clojure functions reduce, count, filter, map and pmap.
Bozhidar Batsov introduces CIDER, an interactive development environment for Clojure, discussing building dev tools on top of Emacs, the history of the project, current state and plans for its future.
Jessica Kerr talks about Clojure and explores the potential of contracts as the best-yet compromise between types and tests.
Tom Henricksen covers Design Patterns in Groovy, compilation configuration, mixing Java and Groovy, and calling other languages from Groovy. He shows how to call Scala and Clojure from Groovy.
Jessica Kerr covers some of the concurrency tools existing in JVM languages including ExecutorService, Futures, Akka actors, and core.async coroutines, providing advice on writing deadlock-free code.
Daniel Pezely discusses the 10 fold performance increase of a Lisp and C system after rewriting it in Erlang, outlining where issues existed before and the design and implementation of the new system.
David Tanzer introduces Clojure and ClojureScript, discussing the language basics and some libraries useful for writing real applications.
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.
Christophe Grand tells Clojure stories full of immutability, data over behavior, relational programming, declarativity, incrementalism, parallelism, collapsing abstractions, local state and more.
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.
Robert Martin argues that Clojure is a replacement for C with its simple syntax and minimal semantics.