Joe Armstrong is the principle inventor of the Erlang programming
Language and coined the term "Concurrency Oriented Programming". He
has worked for Ericsson where he developed Erlang and was the chief
software architect of the project which produced the Erlang OTP
system.

In 1998 he left Ericsson to form Bluetail, a company which developed
all its products in Erlang. Joe has a PhD in computer science from the
Royal Institute of Technology, Stockholm. The title of his thesis was
"Making reliable distributed systems in the presence of software
errors." He has worked as an entrepreneur in one of the first Erlang
startups (Bluetail) and has worked for over 30 years in industry and
research. Today he works for Ericsson.

He is author of several books, the latest being "Programming Erlang:
Software for a concurrent world - 2'nd edition": (Pragmatic
Bookshelf).

How can we make systems that are resilient to hardware and software faults? Systems can fail for a number of reasons, the hardware can fail or the software can fail. In this session I'll talk about the foundations of fault tolerant computation and the basic properties a system should have in order to be able to function in an adequate manner despite the occurrence of hardware and software errors. We'll see how concurrency and scalability are intimately related to fault tolerance and and take a quick peep at shared memory and message passing concurrency. I'll also summaries the key features of Erlang and show how they can be used for programming fault-tolerant and scalable systems on multi-core clusters.