Paul Butcher discusses difficulties with concurrency and some of the alternatives that help with this, focusing on Actors and how they help deal with threads and locks and make code clearer.
The presenters introduce Flint, an automated fixing algorithm for composed Map operations suffering from atomicity violations, being able to fix 96% of the 48 faulty methods found in 27 popular apps.
Paul Butcher advises on using concurrency the right way in order to avoid its pitfalls.
Dominic Robinson reflects on several concurrency models, trying to assess which is more pleasant to work with.
Ryan Cromwell introduces Elixir, a , functional distributed meta programming language inspired by Ruby and compiling to Erlang VM, covering pattern matching, pipelines and tail-call recursion.
Sadek Drobi discusses how to use Futures and Iteratees to deal with blocking threads in a system with many IO calls and heavy threads.
Duncan DeVore reviews the challenges of concurrent programming on the JVM and explores Akka, a toolkit and runtime for building highly concurrent, distributed applications on the JVM.
Brian Troutwine shares insight on using Erlang for a highly concurrent and very low latency bidding system implemented by Adroll.
Simon Marlow describes a concurrency-based system built with Haskell that allows front-end programmers to write business logic to access all the back-end services in a concise and consistent way.
Joe Armstrong discusses fault tolerant systems, summarizing the key features of Erlang and showing how they can be used for programming fault-tolerant and scalable systems on multi-core clusters.
Joe Armstrong discusses how fault tolerance relates to scalability and concurrency, and how Erlang helps build fault-tolerant systems on multi-core clusters.
Jonas Bonér, Francesco Cesarini discuss the evolution of distributed concurrent thinking along with the problems it has to solve and the toolchains created along the way.