José will talk about Elixir, telling us about a bit about its story, what is being researched, and what is being developed for future versions.
A narrative about choosing the right tool for the right job.
QuickCheck, our testing tool for automatically generating tests, has a long track record of nailing serious and hard-to-find bugs and boosting quality, in software like dets (part of mnesia), Riak, and the embedded software in cars. QuickCheck is written in Erlang and can be used with Elixir, but... can we instrument Elixir code to find race-conditions with PULSE? Not until recently. Now we have an Elixir native interface to access QuickCheck. In this talk, we present QuickCheck and this interface and show how race-conditions can be nailed down.
Target audience: Elixir developers
This talk is about Elixir – a functional, meta-programming aware language built on top of the Erlang VM.
I introduce some of Elixir's more interesting language features. Then I will demonstrate some of the features that Erlang gives Elixir for free, such as the OTP framework, that let's you build fault tolerant and distributed systems.
So come along and join me to experience programming joy.
Bold Poker is a Phoenix-based web application with a Elixir game server. iOS and Android clients connect to the using WebSockets.
We give a short introduction to OTP releases and talk about what can be done in order to use releases without having to manually write app upgrade files.
We talk about how we use our open-source Erlang and Elixir deployment tool edeliver. Edeliver is a deployment tool that uses OTP releases to deploy both our Elixir Gameserver as well as our Phoenix web app.
Elixir is an elegant and powerful language. This makes the Raspberry Pi a usable server for Elixir Applications. What would happen if we had a cluster of Raspberry Pi devices? Can Elixir and OTP help with the distribution of the application? What would you do with a 16 core and 4 GB of RAM machine?
I’ll explore different techniques to deploy to a Raspberry Pi Cluster and how we can use the Elixir processes to balance the load between the devices.