Subscribe to our Erlang Factory newsletter to receive the latest updates and news

A Beginners Guide to Erlang

John-Paul Bader
John-Paul Bader

Wooga GmbH
At Wooga I had the chance to rewrite an old PHP game server to Erlang with very little experience. Now the project is finished and we learned a lot about Erlang which I'd like to talk about. The common beginner mistakes, oddities and other slow downs and how to avoid them.

Talk objectives:
The goal is to show beginners how fast they can get started with Erlang projects if they avoid some of the common beginner mistakes and slow downs. On the other side I hope I can stir up some discussions about Erlang itself and making it a little bit more approachable.

Target audience:
Beginners and experienced Erlang developers, interested in improving the Erlang world itself.


An introduction to Riak

Stuart McCaul
Stuart McCaul

Basho Technologies
Riak is the massively scalable, highly available, NoSQL database that everyone is turning to in order to back their web-scale operations. Created by Basho, written in Erlang, and published under the open source Apache licence, Riak is in use at some of the world's largest companies. Basho's Matthew Revell gives a basic introduction to Riak.

Talk objectives:
Come away with an understanding of:
what Riak can do for you
what uses cases Riak is suited to
how to get started with Riak
some examples of how Riak is used elsewhere.

Target audience: people taking the first steps into looking at NoSQL databases and who are looking to build applications where scalability and availability are the priority.


Build custom protocols with Ranch and msgpack

Loïc Hoguin
Loïc Hoguin

Nine Nines
Developers are often required to make different components of a system communicate. HTTP is a common protocol to bind two different parts of a system, but HTTP is slow and difficult to use. Sometimes you just need to send a few values at a time and don't need the overhead of HTTP.

The msgpack serialization library can be used to build one such custom protocol. It is available on pretty much any platform you can think of, is small and efficient, and most importantly it allows you to build very readable protocol code.

This talk will explain how to build a simple custom protocol with Ranch and msgpack and will demonstrate the simplicity of connecting two different systems.

Talk objectives: Learn how to build custom protocols based on Ranch and msgpack.


Conversational big data

Darach Ennis
Darach Ennis

Push Technology
Traditional messaging middleware is clean - data and producer/consumer agnostic. Data Distribution is dirty - it exploits unlawful carnal knowledge of data structures and client environments and constraints to deliver high value real time conversational services.

Unleashing the corporate firehose over the web and to mobile, or accepting small data anywhere from any device requires something a little bit different. It's messaging, sort of, but we're not in Kansas any more and there are no red shoes."

Talk objectives: Inspire debate and discussion on the relevance or not of traditional messaging in an increasingly mobile world where the Internet of Things, Bring Your Own Device and the increasing sophistication of mobile platforms intersects with the way we work.

Target audience: Technologists and professionals interested in distributed systems and streaming data across firewalls, and between organisations.


Diving into Erlang is a one-way ticket

Pavlo Baron
Pavlo Baron

codecentric AG
Pavlo will tell you about his journey into Erlang: from first gentle touches through storm-alike learning while writing the book to concrete projects and using + trusting Erlang-based systems in larger scenarios. And why he'll never be the same again.

Talk objectives: Explain the audience why and when they should use Erlang.


Erlang and RTEMS Embedded Erlang, two case studies

Peer Stritzinger
Peer Stritzinger

Dipl.Phys. Peer Stritzinger GmbH
RTEMS is a open-source hard-realtime operating system for small embedded systems.  It is used in the aerospace industry flying on satellites and planetary probes - currently its also driving around on Mars.  This talk shows how Erlang and RTEMS work together in real world products.  In the first product they are running on separate boards talking over USB, in the second product Erlang even runs atop of RTEMS as operating system.

Talk objectives: Show some real world examples of how Erlang can be used to build better industrial embedded systems.

Target audience: Erlang developers and embedded developers interested in Erlang.


OTP, the Middleware for Concurrent Distributed Scalable Architectures

Francesco Cesarini
Francesco Cesarini

Erlang Solutions Ltd.
While Erlang is a powerful programming language used to build distributed, fault tolerant systems with requirements of high availability, these complex systems require middleware in the form of reusable libraries, release, debugging and maintenance tools together with design principles and patterns used to style your concurrency model and your architecture.
In this talk, Francesco will introduce the building blocks that form OTP, the defacto middleware that ships with the Erlang/OTP distribution. He will cover OTP’s design principles, describing how they provide software engineering guidelines that enable developers to structure systems in a scalable and fault tolerant way, without the need to reinvent the wheel.

Talk objectives: Introduce a powerful framework which reduces errors and helps developers achieve robustness and fault tollerance without affecting time to market.

Target audience:  Erlang beginners and engineers and architects implementing scalable, server side systems.


Ranking Games & Scheduling Jobs

Jesper Louis Andersen
Jesper Louis Andersen

Erlang Solutions
This talk presents two interesting use cases of Erlang. One, we present a ranking framework for 1v1 games in Erlang, based on the Glicko2 system and we use it for ranking duels in the game Quake Live. Two, we present the use of the JOBS framework to schedule ranking jobs and give a compelling use case for it. We also uncover how to test parts of JOBS.

WARNING: The talk may contain traces of Erlang QuickCheck!


Real-time card payments in Erlang

Gustav Simonsson
Gustav Simonsson

SumUp
Card processing is a industry requiring backend systems of a certain type. Much like telecom infrastructure, it's expected to deliver 24/7 all days of the year. Response times, scalability and fault-tolerance are critical elements in a successful backend system supporting real-time card transactions. What could be a better choice than Erlang?

At SumUp we enable card payments using mobile devices. When a purchase is made through our android or iOS apps, our Erlang backend handles the card processing. Fault-tolerance is our top priority. Downtime is out of the question.

Talk objective: Inspire use of Erlang in critical financial systems.

Talk audience: Developers and other professionals interested in mobile payments.


Riak Pipe, Distributed Data Processing

Chris Molozian
Chris Molozian

Basho Technologies
As the volume of business data grows, Map/Reduce is becoming a well established technique for doing data processing and compute work on the machines that store the data. Riak Pipe is the distributed data processing pipeline developed by Basho Technologies. It builds on top of Riak Core and allows you to perform data transformation work at scale.


Taming the Rabbit: Writing RabbitMQ Plugins

Alvaro Videla
Alvaro Videla

Cloud Foundry, VMWare
RabbitMQ is a Messaging and Queueing server that works with the AMQP protocol. But what happens if we want to use the server beyond AMQP? What if we want to replace its own storage engine or provide new authentication methods? All of that can be done why writing new plugins for RabbitMQ in Erlang.

In this talk we are going to present various plugins for RabbitMQ and we will show how to extend the broker by adding new routing algorithms with custom exchange types. The code examples will be in Erlang.