Stuart Sierra discusses various Clojure features: protocols, records, DI, managing startup/shutdown of components, dynamic binding, interactive development workflow, testing and mocking.
Didier Verna keynotes on the bonds between biology and computer science, how these bonds developed over the years, and how software could behave like living organisms.
Brian Goetz explains how lambda expressions are implemented using the invokedynamic instruction introduced in Java SE 7.
Sponsored by New Relic. Ashley Puls introduces three common byte code manipulation frameworks: ASM, CGLib, and Javassist, providing enough detail to get one started.
Todd Montgomery explains using WebSocket and reactive programming in an event driven RESTful architecture for the emerging IoT world.
Michael Dowden introduces JMeter and explains how to develop a data-driven methodology to determine some of the limits of a web application: max number of concurrent users, bottlenecks, etc.
Eva Andreasson has a fairly entertaining and yet painful presentation around garbage collection that will probably will end with more questions than answers.
In this solutions track talk, sponsored by Azul Systems, Gil Tene discusses common pitfalls encountered in measuring and characterizing latency, and ways to address them using some new open source tools.
Jack Singleton discusses how to improve code readability and maintainability in Scala, and how to be productive with Options, Immutability, and the Collections library.
Andreas Olofsson reviews the history of processors and outlines some of the challenges ahead, introducing project Parallella meant to speed up the transition to massively parallel computing.
Martin Thompson focuses on the evolution of Java and how it contrasts to C/C++, covering the cultural challenges of pushing the limits of performance and how to collaborate with industry experts and organize teams, which often stands at odds with the culture in many organisations.