Tags

73 videos are tagged with elixir

Vlcsnap 2015 10 13 11h58m58s139 thumb
Rating: Everyone
Viewed 3,535 times
Recorded at: October 2, 2015
Date Posted: October 14, 2015

Phoenix is the new hotness. Elm is the new hotness. Let's turn up the heat by combining the two for fun and profit.

The Phoenix web framework is a great tool for building data APIs. The Elm language is a great way to write declarative, strongly-typed, reactive front end applications that compile down to JavaScript. By creating our front end in Elm and serving it data via the Phoenix API, we can forge a powerful alliance that leads to more robust applications that are much easier to reason about.

In this talk we will:

Create a simple Elm client app to demonstrate its Model-View-Update architecture
Enhance our Elm client by getting it to retrieve data from an API
Build a simple Phoenix data API to serve data to our Elm client
Swap our Elm client to use our newly generated Phoenix API
Discuss several ways that Phoenix and Elm can play together
Turn the dials up to 11 by combining Elm's Functional Reactive goodness with Phoenix's channels.

Vlcsnap 2015 10 13 11h59m28s190 thumb
Rating: Everyone
Viewed 2,069 times
Recorded at: October 2, 2015
Date Posted: October 13, 2015

JavaScript is king in the browser. Over the years there have been a number of compile to JavaScript languages, allowing developers to write browser code in languages other than JavaScript. Elixir is a great language. Wouldn't it be great to be able to develop for the browser with it as well? Elixirscript is an effort to accomplish that goal. This talk will give some insight into how the project started, how turning Elixir into JavaScript is currently accomplished, how some ES6 features make it easier, trying to make the browser environment mimic the Erlang environment, and the future of the project.

Vlcsnap 2015 10 14 11h03m23s74 thumb
Rating: Everyone
Viewed 1,104 times
Recorded at: October 2, 2015
Date Posted: October 14, 2015

Simpli.fi takes part in nearly two million and growing ad auctions per second. Each auction is for only a fraction of a penny; but at this frequency, such fractions can accumulate to tens of thousands of dollars in minutes.

Our real-time accounting system is built with a mixture of Elixir and Erlang. It achieves high throughput while servicing 25,000+ (doubling every 8 months) active ad campaigns worldwide. Our performance can be directly measured in dollar figures in real time. Downtime and inaccuracy are both immediately obvious and costly.

We wrote this application in Erlang and it has been in production for over two years. Today we do all new development in Elixir. I'll discuss the evolution of our approach and how the Erlang VM has proven a great fit for real-time accounting. I'll also talk about how we've revised our design and assumptions over the course of scaling ten-fold.

Vlcsnap 2015 10 15 14h50m45s23 thumb
Rating: Everyone
Viewed 1,228 times
Recorded at: October 2, 2015
Date Posted: October 15, 2015

The goal of this talk is to provide new and existing Elixir programmers with knowledge on how to get their application into production and, once it's there, how to tune it for scale.

Vlcsnap 2015 10 15 11h15m33s185 thumb
Rating: Everyone
Viewed 4,170 times
Recorded at: October 2, 2015
Date Posted: October 15, 2015

Vlcsnap 2015 10 15 09h47m51s63 thumb
Rating: Everyone
Viewed 2,741 times
Recorded at: October 3, 2015
Date Posted: October 15, 2015

Vlcsnap 2015 10 15 09h47m56s116 thumb
Rating: Everyone
Viewed 1,356 times
Recorded at: October 3, 2015
Date Posted: October 15, 2015

It's been stated that in order to make full use of BEAM, the Erlang virtual machine, any language implemented on top of it needs to adhere to the semantics of Erlang.

Yet, other virtual machines, such as Parrot, stemming from the Perl 6 community, or JVM, the Java virtual machine, support a plethora of languages with differing semantics.

At the heart of these virtual machines, BEAM included, lies an instruction set. Specific commands that any language implemented on top of the machine in question has to be broken down into; any running program ultimately composed of. The instruction set comprises the extent of the virtual machine's understanding of what we want it to do and thus dictates its capabilities.

Let's examine BEAM's and contrast it to that of other virtual machines. In the end we might be able to answer if and why BEAM mandates Erlang's semantics. Or we might all become BEAM assembly programmers.

You have been warned.

Vlcsnap 2015 10 15 09h47m59s145 thumb
Rating: Everyone
Viewed 672 times
Recorded at: October 3, 2015
Date Posted: October 15, 2015

This talk will give you an overview of the power and richness that the larger Erlang ecosystem provides; including features that you might not even know exists, as well as some of the ways of thinking about programs when running on the BEAM, Erlang's Virtual Machine.

Be it Scala, Clojure, JRuby on the JVM, or F# on the .NET CLR, you can be productive in the language, but without spending some time educating yourself about the larger ecosystem, you wouldn't expect to take full advantage of the power you get from running on that VM.

The same is true for Elixir and the BEAM. While you can get far using just Elixir alone, you will miss out on the what that Erlang community brings to running on the BEAM.

By opening your mind to the broader ecosystem, you gain an advantage over everyone who never looks beyond Elixir.

This talk will give you overviews of

What OTP gives you that you don't have to do yourself, for when you have to have more power than simple agents and tasks
What the Erlang VM does to help you manage concurrency
How you can take advantage of types in a dynamic language
How to take your automated testing beyond just simple unit and integration style testing
Ways to monitor a live running application on the BEAM

Vlcsnap 2015 10 15 09h49m54s13 thumb
Rating: Everyone
Viewed 869 times
Recorded at: October 3, 2015
Date Posted: October 15, 2015

This talk will explain how time works around the world, how to deal with it on computers in general and with Elixir specifically.

Even big names such as Apple, Microsoft, Twitter have had problems with time causing bugs that meant that APIs, Zunes or iPods would stop working. Many of these bugs could have been prevented with better general knowledge about time.

Most programmers have to deal with time issues such as DST and timezones. But few know the difference between GMT, UT1, UTC and TAI.

The talk first provides a short introduction to how modern time measurement evolved and how it works today. Covering solar clocks, trains, caesium atoms, astronomy, timezones, legislation, leap seconds and more.

A particularly interesting part of the presentation is a Phoenix app showing a live clock with the relationship between the Daylight Saving Time, atomic time, timezones and leap seconds.

Tzdata is the only Elixir library for providing timezone information. I will explain how the first versions relied heavily on macros/metaprogramming. And why I changed it so the new version uses ETS tables and makes more use of OTP concepts and concurrency. This use of OTP means you can have more up to date timezone information on Elixir than on other platforms.

Then, some general recommendations and best practices for developing software that has to work with date and time.

Finally an overview of Calendar (and related packages for Phoenix and Ecto) and how they incorporate the aforementioned best practices.

General overview of the talk:

General introduction to time
Overview of Tzdata structure and how OTP makes it better
Best practices for working with date/time
How Calendar and related packages work

Vlcsnap 2015 10 15 09h49m59s69 thumb
Rating: Everyone
Viewed 1,729 times
Recorded at: October 3, 2015
Date Posted: October 15, 2015

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.