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

An Erlang server for mFinder - city transport fleet monitoring system (or how I became an Erlang programmer).

Damian Dobroczyński
Damian Dobroczyński

mFinder sp. z o.o
Quite optimistic story about Erlang/OTP software used in commercial soft real-time system for monitoring of city vehicles states. Some development problems, dead ends and unresolved puzzles of the current implementation will be presented. The presentation will also reveal afew details about the speaker's road to Erlang world.


Elixir - A modern approach to programming for the Erlang VM

José Valim
José Valim

Elixir is a programming language which runs on the Erlang VM. Elixir provides modern features for the Erlang VM as macro meta-programming (Elixir itself is homoiconic), protocols and namespaces.

Elixir and Erlang share the same bytecode and data types, which ensures easy-communication between Elixir and Erlang without any performance hit.

In this talk, José Valim will cover the main goals and features in Elixir using code examples while also presenting some of the rationale and changes behind the language design over the last one year.



Erlang based Software Update Plaform for mobile devices

Roman Janusz
Roman Janusz

Software Update Platform aims to simplify the process of mass upgrading and management of Erlang software deployed on a large number of remote devices. It uses Erlang because of its scalability and hot-code swapping features allowing for upgrades without stopping any services. The Platform provides a management server, web user interface and a client application which can be easily integrated with the software installed on remote devices. We also managed to integrate the platform with debian package manager, which can simplify the work of system administrators and reduce the amount of data being downloaded during the upgrade process. The platform is designed to be easily extended with more general maintenance features like monitoring, automatic configuration, etc.


Erlang-Based Sensor Network Management for Heterogenous Devices

Michał Nieć
Michał Nieć

Erlang Solutions
This talk  will discuss the implementation of Erlang-based system for management of complex sensors network. Michal will show how to use Erlang to create scalable, flexible, fault tolerant systems which can integrate data from different types of mobile devices.


Oortle - linearly scalable pub-sub system

Gleb Peregud
Gleb Peregud

SilverSoft Sp. z o.o.
Publish-subscribe systems and Erlang - a perfect fit. Oortle is an implementation of publish-subscribe messaging system, able to scale (near)linearly in terms of number of clients. Oortle runs in the clouds (EC2 and others). Tests with 200 EC2 node clusters has been done. Single Oortle node can handle hundreds of thousands connections. Practical experience of designing, implementing and testing of the system will be shared with audience.


Parallel ranking of 1v1 computer games.

Jesper Louis Andersen
Jesper Louis Andersen

Erlang Solutions
Glicko-2 is a rating system. Much like its cousin ELO, it rates players in 1v1 games giving each player a score - a belief in the skill of the player. But unlike ELO it is more computationally intensive and arguably provides better results. We show such a system built in Erlang for ranking duels in the computer game Quake Live. And we rank them in parallel utilizing all CPU power available. A novel approach makes use of Ulf Wigers "JOBS" framework to handle the parallelism and data gathering tasks in the system. We also show how to plot such data through the statistical tool R and the ggplot2 package.


QuickCheck for EUnit

Thomas Arts
Thomas Arts

QuviQ AB
We are all used to writing EUnit test cases, but are they good enough? Are we missing some relevant unit tests in our test suite? With the bluefringe algorithm one can compute a state machine that describes the tests in the suite and additional tests that seems to hold as well. By using QuickCheck as an underlaying motor, one can then generate EUnit tests that improve your test suite. Together QuickCheck and bluefringe form a useful pair for those that want to learn writing QuickCheck state machines but need examples on their own code and EUnit test suites.



Testing XMPP servers with Escalus

Krzysztof Goj
Krzysztof Goj

Erlang Solutions
This talk introduces Escalus - an Open Source tool for testing XMPP servers in general and with some extra support for ejabberd in particular. Unlike other tools such as performance-oriented Tsung, Escalus concentrates on acceptance testing and correctness.


Towards simplicity

Arkadiusz Niemiec
Arkadiusz Niemiec

Comarch S.A.
The business floor is usually looking for savings, but at the same time, it is looking for innovations and new products. How to mix the fire and water? The same time, the customers need the solutions almost immediately, but for some areas, the traditional main stream languages and frameworks may be costly and full of risks. During this talk, I will present the journey we undertook towards meeting business and technical requirements. It’s all about Erlang.