For ruby and rails users who want to understand and learn elixir

give a basic understanding
Topic is not why Elixir? Its how Elixir.

mix tooling, Ecto, tests
Popular Elixir Library Alternates for Ruby libraries(Authentication, etc)

This does not cover OTP framework.


Outline/Structure of the Talk


Learning Outcome

Basic understanding of Elixir for ruby developers

This does not cover OTP framework.

Target Audience

Ruby / Rails users

schedule Submitted 4 years ago

  • 45 Mins

    In Indian classical music, we have Jugalbandi, where two lead musicians or vocalist engage in a playful competition. There is jugalbandi between Flutist and a Percussionist (say using Tabla as the instrument). Compositions rendered by flutist will be heard by the percussionist and will replay the same notes, but now on Tabla and vice-versa is also possible.

    In a similar way, we will perform Code Jugalbandi to see how the solution looks using different programming languages and paradigms.This time the focus of code jugalbandi will be on solutioning in different paradigms - object-oriented or functional programming and array-oriented paradigms.

    During the session, Morten and Dhaval will take turns at coding the same problem using different languages and paradigms. There would be multiple such rounds during the Jugalbandi.

  • Anil Wadghule

    Anil Wadghule - Building Distributed System with Erlang Ecosystem

    45 Mins

    In this talk, we will explore how can we write a distributed system with Elixir/Erlang. We will cover distributed systems basics, how a distributed system is capable of enhanced performance and how it gives us higher availability.

    Then we would start with a demonstration of a distributed system written with Elixir programming language. We will spend most of the talk discussing the demo code.

    We will also cover main advantages of Elixir/Erlang ecosystem to build distributed systems.

    We will explore aspects such a latency, throughput, computing power. We will understand how Elixir is capable for fault tolerance, resilience. We will explore tool set provided by OTP library. What tools from library helps us to write a distributed system.

    But distributed Erlang/Elixir *has known limitations*. For example, issues with when a network is fully meshed, how many numbers of nodes which can scale we get in a cluster, how sending large data over distribution is an issue etc. What are solutions for it?

  • 20 Mins

    A lot of companies still decide to go with Node.js / Java / Ruby / Python for building web apps.

    In this talk, we will focus on, how Elixir ecosystem is ready to replace Node.js / Java / Ruby / Python for most of the web apps

    The aim of this talk is to present why Elixir lang is a good choice for building your next web app.

    We will explore some of the features and tool that Phoenix web framework provides that replaces the need of using Java / Node.js / Ruby / Python for web apps. e.g. Better concurrency model, Ecto for database interaction,  Phoenix channels, Simple APIs, Umbrella apps etc, Speed of development.

    The talk will have a deep comparison of the runtime of Node.js, JVM, Ruby/Python with Elixir runtime. (e.g. for comparing Erlang callbacks with JavaScript callbacks, Comparison of JVM with BEAM etc)

    We will also compare syntaxes of these languages by seeing the code of the same app but with multiple languages.

    This talk will also show how using Elixir also helps us a become better programmer because of features like immutability, functions, pattern matching, first class processes etc, great syntax.

    At the end of the talk, every Java / Node.js / Ruby / Python developer should feel confident about Elixir and talk will motivate them to choose Elixir over Java / Node.js / Ruby / Python for building the next web app.

  • Cameron Price

    Cameron Price - Making it Fast: The Power of Benchmarking

    Cameron Price
    Cameron Price
    schedule 4 years ago
    Sold Out!
    45 Mins

    There's an old expression, usually attributed to Kent Beck, that we should "Make it work, make it right, make it fast", in that order. This talk is going to focus on making it fast.

    Not long ago, I was working on a little problem in Elixir that involved a two dimensional array. Now, Elixir doesn't really have arrays, it has lists, maps, tuples, and binaries, so the one thing we can be sure about when implementing a 2-d array is that we're going to be simulating it using something else. What I discovered was surprising, and served as an important lesson about actually benchmarking things.

    In this talk, we'll discuss the importance of benchmarking, demonstrate some tools that make benchmarking in Elixir very simple, and show you some surprising results about which approaches are faster in this language.