<<< Previous speaker next speaker >>>

Francesco Cesarini, Erlang Training and Consulting

 Francesco  Cesarini

Francesco Cesarini is the founder and CTO of Erlang Training and Consulting. He has used Erlang on a daily basis for almost 15 years, having started his career as an intern at Ericsson's computer science lab with the inventors of Erlang, he moved on to their training and consulting arm working with the first turnkey solutions and flagship applications.

In 1999, he founded Erlang Training and Consulting. With offices in the UK, Sweden, Poland (and soon the US), they have become the world leaders in Erlang based consulting, contracting, training and systems development. Francesco has worked in major Erlang based projects both within and outside Ericsson, and in his role as CTO, is currently leading the development and consulting teams at ETC.

He is also the co-author of Erlang Programming, a book soon to be published by O'Reilly.

Presentation: "Erlang Concurrency, What's the Fuss?"

Time: Friday 13:00 - 14:00

Location: Olympic

Abstract:

Erlang's concurrency model has been used in commercial systems for well over 15 years, but what differentiates it from other technologies? What are the constructs, what makes them so powerful and scalable, and when using them, what change in mindset is required from the developers? What makes Erlang an excellent choice when developing with SMP in mind?

This talk, based on 15 years of concurrent functional programming in Erlang, attempts to answer all these questions. It covers the constructs which provide the concurrency model and the fault tolerance built around it.

With live demos, we will be providing benchmarks on process creation and message passing. We will give practical examples of IM and SMS based systems which make the correct use of the concurrency model, providing case studies of systems that work, and ones that don't.

The talk will conclude with our experiences of using Erlang on multi-processor machines, and the challenges this boost in performance is giving our developers.

Training: "Practical Erlang Programming"

Track: Tutorial

Time: Monday 09:00 - 16:00

Location: Olympic

Abstract:

Practical Erlang Programming is a tutorial introducing Erlang to beginners. It covers the basics of sequential and concurrent programming. The tutorial contains hands on exercises and demos. The examples used in this tutorial form the basis of the upcoming Practical Erlang Programming book published by O’Reilly.

Contents:

Basic Erlang This section deals with Erlang data types and pattern matching. Functions, modules, and BIFs are discussed. Before the exercises, the Erlang shell, useful shell commands, as well as Emacs and its Erlang mode are introduced.

Sequential ProgrammingThe Sequential Programming section comprehends conditional evaluations, guards, and scope of variables. It then introduces recursion, with a special emphasis on different recursive patterns, tail recursion, and space saving optimizations. Before the exercises, libraries and their manual pages, possible run-time errors, and the debugger are demonstrated.

Concurrent Programming This section describes the creation of processes and their life span. It looks at sending and receiving messages, selective reception, and passing data in the messages. It continues with the various uses of time outs and registering processes, and terminates by showing the generic process code structure. Before the exercises, a demonstration of the Process Manager tool is given.

Process Error Handling This section introduces the simple but powerful error handling mechanisms in processes. It looks at process links, exit signals, and their propagation semantics. How robust systems are built in Erlang are discussed, and an example from the Process Design Patterns section is re-implemented, making it robust.