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.
Elixir (and Erlang) are often talked about as ""highly scalable"" languages. This talk will explore the ""other end of scalability"" - Elixir for the Internet of Things.
You will learn how to use Elixir with Nerves to build a small, powerful Elixir-based embedded system that boots in just a few seconds on a Raspberry Pi.
You'll also learn a lot about shipping real world products using Embedded Elixir.
Topics will include:
Using Elixir and Nerves to build production Internet-of-Things (IoT) devices
Advantages and tradeoffs in using Elixir (vs C) for embedded systems
How to explore these technologies with inexpensive devices like Raspberry Pi or Beaglebone Black
Live build, from scratch, of firmware for an Elixir embedded device
Managing the complexity of the cross-compile build environment
Remote debugging of IoT devices
Handling firmware updates safely and securely
The complexities of network configuration in IoT devices
Why Elixir is so suited to IoT
At Rose Point, we've been using Elixir with Nerves to build embedded systems for a couple years now, and we've shipped two commercial products based on the technology, with more in development.
We love this technology and believe it is an ideal platform for many Internet of Things devices. I'm excited to share our story with you.
Dave Thomas is a programmer, one of the founders of The Pragmatic Bookshelf, noted author of The Pragmatic Programmer, Programming Ruby, and Programming Elixir, as well as many other books and articles.
My analysis of the state of software, the trends affecting us, and why I've chosen Elixir & friends as my stack for the next 10 years.