Invalid quantity. Please enter a quantity of 1 or more.
The quantity you chose exceeds the quantity available.
Please enter your name.
Please enter an email address.
Please enter a valid email address.
Please enter your message or comments.
Please enter the code as shown on the image.
Please select the date you would like to attend.
Please enter an email address.
Please enter a valid email address in the To: field.
Please enter a subject for your message.
Please enter a message.
You can only send this invitations to 10 email addresses at a time.
$$$$ is not a properly formatted color. Please use the format #RRGGBB for all colors.
Please limit your message to $$$$ characters. There are currently ££££.
$$$$ is not a valid email address.
Please enter a promotional code.
N/A
Sold Out
You have exceeded the time limit and your reservation has been released.
The purpose of this time limit is to ensure that registration is available to as many people as possible. We apologize for the inconvenience.
This is option is not available anymore. Please choose a different option.
Please read and accept the waiver.
All fields marked with * are required.
Please double check your email address. The email address format does not appear valid.
$$$$ requires a number between ££££ and §§§§
US Zipcodes need to be 5 digits.
Please double check your website URL.
All fields marked with * are required.
Your credit card expiration date is in the past.
Your credit card CSC needs to be 4 digits.
Please confirm your order:
$$$$
You have selected to Pay by Check.
Click OK to confirm your order.
Please confirm your order:
$$$$
You have selected to Pay at the Door.
Click OK to confirm your order.
Please confirm your order:
$$$$
You have selected to Pay upon Receiving an Invoice.
Click OK to confirm your order.
Your credit card CSC needs to be 3 digits.
Your billing zip code needs to be 5 digits.
There was a problem saving your address.
There was a problem saving your credit card info.
There was a problem saving your personal information.
Please select the date you would like to attend.
McAfee Secure sites help keep you safe from identity theft, credit card fraud, spyware, spam, viruses and online scams.
Copying Prohibited by Law - McAfee Secure is a Trademark of McAfee, Inc.
Unknown card type.
No card number provided.
Credit card number is in invalid format.
Wrong card type or credit card number is invalid.
Credit card number has an inappropriate number of digits.
Please enter numbers here.
Please enter an integer value.
Numbers must be less or equal to $$$$
All the required fields have not been filled out. Click OK to proceed without all the required information, or click Cancel to finish entering the missing data.
Sorry, invalid event registration form.
Sorry, invalid event or database error.
Sorry, quantity must be a positive integer.
Sorry, you did not select a valid ticket.
Sorry, invalid event organizer email address.
Your order was canceled.
Thank You. Your order has been successfully completed. Your name and email address have been added to the list of event attendees.
Sorry, that option is sold out.
Sorry, that option is no longer available.
Sorry, there are only tickets of that type still available.
Sorry, you entered an invalid quantity. Please enter a quantity of 1 or more next to the type or types of tickets you would like to purchase.
Sorry, you did not select any tickets to purchase. Please enter a quantity of 1 or more next to the type or types of tickets you would like to purchase.
Sorry, there are no tickets left for this event.
The tickets, ticket quantity or date and time you've requested are no longer available, due to previous sales. Please choose a different date, time or number of tickets and place your order again.
Sorry, one or more of the tickets you requested are no longer available for purchase.
Sorry, you need to select the date you want to attend.
Sorry, the promotional code you entered is not valid yet.
Sorry, the promotional code you entered has expired.
Sorry, the promotional code you entered is not valid.
Your session has expired. Try ordering again.
Sorry, your requested ticket quantity exceeds the number provided by your promotional code.
Sorry, the tickets you are trying to order are not currently available.
Sorry, the payment type chosen is invalid for this event.
Sorry, there is only 1 ticket left for this event.
Sorry, there are only tickets left for this event.
We're sorry, this invitation is invalid.
We're sorry, this invitation has already been used.
We're sorry, you already have an order being processed for this event. Please wait a few minutes and try again.
We're sorry, there is a problem with your invitation. Please try again.
Invalid quantity of tickets selected.
Invalid donation amount.
Sorry, the payment type chosen is invalid for this event.
Sorry, your billing address was not saved properly, please try again.
Sorry, we experienced an internal error, please try again.
The captcha you entered is invalid. Please try again.
Invalid credit card selected. You have been logged out.
Sorry, your team selection was not valid.
Sorry, the payment type chosen is invalid for this event.
Sorry, your billing address was not saved properly, please try again.
Sorry, we experienced an internal error, please try again.
State
Zip Code
Province
Postal Code
County
State/Territory
State/Province
This event has ended!
View current events hosted by
Event Details
Erlang Solutions is hosting their world renowned Erlang Express Course and you're invited! So whether you're a developer who's recently heard a lot about this unfamiliar language and want to learn more about it, or you need to brush up on your basic skills -- this is a rare opportunity to get familiar with the language in a smaller, hands-on interactive training with Technical Founder and O’Reilly author, Francesco Cesarini.
After this course you will:
- Understand the basics of Erlang.
- Read/Write/Design Erlang Programs.
- Have a good knowledge of the development environment and tools.
- Have the basic needs to attend the Advanced Erlang/Open Telecom Platform (OTP)course
In 3 days, this introductory course will give participants the knowledge to read, write and structure Erlang programs.
The course contains all the Erlang basics such as sequential and concurrent programming, alongside error handling. The Erlang development environment is presented, with a special emphasis on the Erlang mode for Emacs alongside the major debugging tools. Good and bad programming practices are discussed, as are tools used to profile the system. OTP design principles and concepts are sneaked into the material as well as the exercises.
This exclusive training is capped at 12 people so as to keep the training as efficient as possible, sign up while you can!
Course Content
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 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 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 re-implemented, making it robust.
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.
Ports and Sockets
An introduction of the mechanisms used to make Erlang more open are taken up in this section. Ports, for external communication within the same machine, and Sockets, for communication on IP networks are discussed. The difference between TCP and UDP is described.
When & Where
101 Spear St.
Suite 245
San Francisco,
CA 94105
Wednesday, February 8, 2012 at 9:00 AM - Friday, February 10, 2012 at 5:00 PM (PT)
Add to my calendar