Presentation: Modeling the Real World With Elixir/OTP

Track: 21st Century Languages

Location: Empire Complex, 7th fl.

Duration: 2:55pm - 3:45pm

Day of week: Friday

Level: Intermediate

Persona: Developer

Share this on:

Abstract

Building software that interacts with the real world is not as trivial as it sounds. When you build software that interacts with the real world, you have model your program to represent the real world. The traditional approach to modeling this is to model real-world events sequentially, one after the other. This falls in line with the von Neumann architecture of a computer where a CPU fetches one instruction at a time. In reality, this does not fit the real world. In the real world, an unimaginable number of events occur simultaneously. In fact, most programming languages used today, model the world in a sequential way, where one event happens at a time and failures and errors are an exception, not the norm. Elixir, a language built on top of the Erlang BEAM VM provides not only built in concurrency primitives but effective error handling that makes modeling the real world a natural exercise.

In this talk, I would provide the audience with a walkthrough of concurrency support and error handling in Elixir. This will be followed by a quick run-through of modeling a simple system and running a large number of concurrent BEAM processes along with graceful error handling behaviour.

Speaker: Aish Dahal

Engineer @pagerduty

Aish works as an Engineer at PagerDuty in San Francisco. He currently works in building PagerDuty’s event intelligence platform often dealing with fallacies of distributed computing. His recent focus has been on Elixir/OTP and building event driven microservices using Kafka and Elixir. In the past he has worked as an early stage employee at HackerRank as well as a programmer at Goldman Sachs.

Find Aish Dahal at

Similar Talks

Senior Director Platform Engineering @twilio
Software Engineer & Engineering Manager @Honeycombio
Developer Programs Engineer @Google
Staff Infrastructure Engineer @travisci
Author of Effective Java, Lead Design of Java Collection API & Carnegie Mellon Professor
Lead Data Architect, Risk and Compliance Management Platform @PayPal
Senior Software Engineer, Operational Insights @Netflix

Tracks