Erlang Express

Event date: 
Wednesday, July 17, 2013 - 09:00 to Friday, July 19, 2013 - 17:00
San Francisco, US

Time: Wednesday, July 17, 2013 - 08:00 to Friday, July 19, 2013 - 16:00
Location: San Francisco, US
Target Audience: Software Developers,
Prerequisites: Good programming skills in another language


  • Understanding of the basics of Erlang.
  • Read/Write/Design Erlang Programs.
  • Good knowledge of the development environment and tools.
  • Provides basics needed to attend the Advanced Erlang/OTP course

Course contents:

  • Introduction: Introduction to the software needs of telecom control systems, followed by a history of Erlang, its features, and product and research examples within and outside Ericsson.
  • 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 Programming: The Sequential Programming section comprehends conditional evaluations, guards and scope of variables. It then introduces recursion, with a special emphasis on different recursivepatterns, 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 Design Patterns: This section introduces the concept of process patterns, preparing the students for the OTP behaviours. It gives a detailed example of a client server system, looks at finite state machines and event handlers. Synchronous versus asynchronous message passing is discussed.
  • 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 reimplemented, making it robust.
  • Records and Funs: Records and funs are used extensively within OTP and a refresher of the concepts and use is provided in this section.
  • Code Updating: The section introduces software upgrade during run time. The error handler, the code server, and code search paths are covered, as is the .erlang file.
  • ETS tables:  An introduction to the Erlang Term Storage is given, together with its different table options. Examples on when to use and not to use ETS tables are covered. A demonstration of the table visualizer is provided.
  • Distributed Programming: An introduction to the requirements of distributed systems is given, and how Erlang is able to fill these requirements. The distribution syntax and semantics are covered, followed by the BIFs and the net kernel.

When is it?

Wednesday, July 17, 2013 9:00 AM - 5:00 PM PDT
Thursday, July 18, 2013 9:00 AM - 5:00 PM PDT
Friday, July 19, 2013 9:00 AM - 5:00 PM PDT

Where is it?

This training is taking place at Marakana's San Francisco training location.
301 Howard Street
Suite 550
San Francisco CA 94105
United States (Map)

What is the price?

This training is priced at $ 1950.00 USD per participant.
We accept payments by credit card (VISA, MasterCard, American Express, and Discover Card) or by purchase order.
We will not charge your card until the training is confirmed.

Who is teaching this class?

Francesco Cesarini is the founder of Erlang Solutions Ltd. He has used Erlang on a daily basis since 1995, starting as an intern at Ericsson’s computer science laboratory, the birthplace of Erlang. He moved on to Ericsson’s Erlang training and consulting arm working on the first release of the OTP middleware, applying it to turnkey solutions and flagship telecom applications. In 1999, soon after Erlang was released as open source, he founded Erlang Solutions. With offices in three countries, they have become the world leaders in Erlang based support, consulting, training, certification, systems development and conferences. Francesco has worked in major Erlang based projects both within and outside Ericsson, and as Technical Director, has led the development and consulting teams at Erlang Solutions. He is also the co-author of Erlang Programming, a book recently published by O’Reilly and lectures at Oxford University and the IT Univertisy of Gothenburg. You can follow his ramblings (mainly on Erlang, Erlang Solutions, the Pope and Berlusconi) on Twitter.

Once you register, you will be sent a confirmation email that includes the information you will need to attend this training.