List of videos

Bram Verburg - Learn you some 'ssl' for much security! - ElixirConfEU 2019

Bram Verburg - Security advocate, BEAM enthusiast Learn you some 'ssl' for much security! Talk in three words: TLS, security, troubleshooting Abstract Erlang/OTP's built-in 'ssl' application forms the basis of many client and server packages. Unfortunately it has quite a few quirks, potentially leading to weak security. This talk highlights the most important client and server settings for 'ssl' sockets, how the defaults have evolved across OTP versions, and how popular libraries build on them. Topics include cipher suite selection, server hostname verification, known certificate issues (wildcard SAN, cross-signed CA), revocation checks, ECDSA servers, and more. Objectives Learn to apply secure TLS configurations to clients and servers, either directly with the OTP 'ssl' application or through the many libraries that rely on it: Ranch, Cowboy, Plug, Phoenix, httpc, Hackney, HTTPoison, etc. Audience Anyone building applications that include TLS client or server functionality, directly or through packages, which means just about anyone developing on the BEAM. The speaker Bram is an architect and security advocate with more than 20 years experience delivering complex software platforms to tier-1 telcos around the world, meeting their stringent security and reliability requirements. He has been using Erlang, and later Elixir, since 2010. As a security advocate, he has taken an interest in the security aspects of the Erlang/OTP ecosystem. This focus he has also continued as a blogger, trainer, speaker, and open source contributor. His latest project is the X509 package, available on Hex. Github: voltone Twitter: @voltonez ElixirConf EU Website: www.elixirconf.eu Twitter: www.twitter.com/elixirconfeu Mail: info at elixirconfeu

Watch
Tonci Galic - Building a GameBoy emulator with Elixir and Scenic - ElixirConfEU 2019

Tonći Galić - Automating my role, making myself superfluous since my first job 🤦‍♂️ Building a GameBoy emulator with Elixir and Scenic Talk in three words: Fun, Embedded, Scenic Abstract Scenic is a nice new framework in the growing Elixir toolbox. In search for a fun project to learn it, Tonći decided to combine it with a childhood dream: to write his own GameBoy emulator. In this talk he'll go over the basics of Scenic and see how it, together with Elixir, does/doesn't help write his own emulator. Objectives Inspire attendees to try out Scenic in their next (embedded) project. Talk about things that Scenic is useful for and the type of projects for which it is less useful for. Audience This talk assumes attendees already has some Elixir knowledge. Prior knowledge about UI systems, emulators etc are not required. The speaker Tonći is a polyglot web developer with a broad range of interests and also a broad range of experiences. He started out with Perl/CGI around 1999, throughout the years he has worked with Java, PHP and C#/.NET. In the last few years, he has focused on Ruby/Rails but now he is in love with Elixir/Phoenix and the functional aspects of programming languages. He is the organiser of the Amsterdam Elixir meetup, Elixir Bootcamp and was a co-organiser of Code BEAM lite Amsterdam. Github: Tuxified Twitter: @Tuxified More on speaker ElixirConf EU Website: www.elixirconf.eu Twitter: www.twitter.com/elixirconfeu Mail: info at elixirconfeu

Watch
Wolfgang Loder - Functional Concepts in Elixir - ElixirConf EU 2019

Wolfgang Loder - Software Engineer and author Functional Concepts in Elixir Abstract This talk provides a deep dive into functional concepts in Elixir. We will talk about Pattern Matching, Higher Order Functions, Recursion, Continuation Passing, and Referential Integrity. Many examples and diagrams will illustrate these concepts. We will also emphasize the application of these concepts in real-life Elixir applications with code taken from the Wolfgang's projects. Objectives Attendees will be made aware of the concepts that Elixir, Erlang and other functional or hybrid languages follow. These concepts will help to structure Elixir applications and code in a better and more maintainable way. Audience This talk will appeal to attendees who would like to know more about the functional concepts behind Elixir. The speaker Wolfgang has been programming software since the second half of the 1980s. His journey went from Assembler and C to C++ and Java to C#, JavaScript and Elixir. From 'Waterfall To Agile', from 'Imperative to Declarative' and other paradigm changes, too many to list and remember. Wolfgang was a contracting 'enterprise developer' for most of his career, rejected all calls for management roles and remained hands-on until today. In the last few years, he has written books and started focusing on developing Elixir applications with Elm and JavaScript frameworks like Vue.js as the client platform. Wolfgang was born in Vienna and enjoys extended stays in Kenya and lately Portugal. Github: kujua Twitter: @wolfgang_loder ElixirConf EU Website: www.elixirconf.eu Twitter: www.twitter.com/elixirconfeu Mail: info at elixirconfeu

Watch
Daniel Caixinha - A Whirlwind Tour of Testing in Elixir - ElixirConf EU 2019

Daniel Caixinha - Software Engineer, author and Meetup co-organiser A Whirlwind Tour of Testing in Elixir Talk in three words: Write maintainable tests. Abstract Tests are an integral part of any application. They are a safety net to refactor applications and also great living documentation. Beginning with unit tests, we'll see how to write thorough but also maintainable tests, and how the key to do so is to focus on the message-passing. Moving up the pyramid, we will then go through end-to-end tests, but also component and contract tests. These last two are becoming increasingly important, since it's hard to maintain end-to-end tests in microservice architectures. Objectives The objectives of this talk are three-fold: - discuss some best practices for testing Elixir applications; - show how to create unit tests that are descriptive and maintainable, while also avoiding redundant coverage; - explore service-level and end-to-end tests, and demonstrate how the former helps in the maintainability of the latter. Audience This talk should appeal to anyone writing Elixir applications, regardless of the domain. Testing is a cross-cutting concern, and the principles discussed in this talk will apply to pretty much all areas of development, whether it's a web application or an embedded system. Read the full abstract: The speaker Daniel Caixinha is a software engineer at Onfido, where he is using Elixir to build resilient systems that can handle the high growth of the business. After graduating from Instituto Superior Técnico, he joined the startup world, mainly using Ruby, but he also got the chance to play around with Elixir. Upon joining Onfido, he got the chance to take Elixir more seriously, which made him fall in love with functional programming in general, and Elixir in particular. Besides building Elixir applications, he is fostering the use of Elixir, and being a co-organiser of the Lisbon Elixir meetup. Github: dcaixinha ElixirConf EU Website: www.elixirconf.eu Twitter: www.twitter.com/elixirconfeu Mail: info at elixirconfeu

Watch
Tomasz Kowal - Introduction to stateful property based testing - ElixirConf EU 2019

Tomasz Kowal - Software Developer at ClubCollect Introduction to stateful property based testing Talk in three words: Stateful Property-Based Testing Abstract Property-based testing is a technique for writing tests that use a framework for creating test inputs and user-defined properties for validating outputs. Generating data allows for finding bugs that would be impossible to catch by regular unit tests: e.g. too big to encode by hand. This talk will explain why it is worth getting into PBT by introducing successful usages of PBT for testing AUTOSAR, LevelDB and Dropbox. All these examples use stateful testing, so the second half of the talk describes steps to create a stateful test for a simple key-value store. Objectives Introductory materials for PBT often focus on straightforward cases which are great for teaching but fail to show the true potential of PBT. The goal of this talk is a high-level overview that is both encouraging for beginners but also maps the road to mastering Property-Based Testing. Audience Developers who have heard about Property-Based Testing but are not convinced yet about its usefulness. The speaker Tomasz has worked with functional languages for over eight years and loves learning and teaching about concepts and techniques. Github: tomekowal Twitter: @snajper47 ElixirConf EU Website: www.elixirconf.eu Twitter: www.twitter.com/elixirconfeu Mail: info at elixirconfeu

Watch
Paul Wilson - A production-grade Nerves System - ElixirConf EU 2019

Paul Wilson - Programmer, speaker, founder, CEO Cultivate Software A production-grade Nerves system Talk in three words: Taking Nerves seriously Abstract Cultivate’s “Office Window System” is a view into the office for their remote employees. It consists of cameras on Pi Zeros relaying websocket-based streams through a cloud-based Phoenix server. Paul will show how they made the system: robust, secure, and performant. He will demonstrate developing and unit-testing nerves code on development hardware, using umbrella applications to separate concerns, and using OTP supervision trees to make an ultra-reliable system despite intermittent library bugs. Objectives To give a detailed overview of making this Nerves system, with a particular emphasis on robustness, quality, and extensibility. Audience This talk will be of interest to Elixir programmers who are interested in how to take Nerves beyond toy applications. The speaker Paul is a coder with over 20 years experience, including working with C, C++, Visual Basic, Java, Ruby, and Elixir. Paul has spoken at various conferences including RubyConf, Elixir Conf EU, The Naked Agilist, Agile Scotland, XP Conf. While Paul is now CEO of Cultivate Software, he still codes and is overly proud of the small contributions he has made to Elixir Core, Nerves, and Phoenix. Github: paulanthonywilson Twitter: @paulanthonywils ElixirConf EU Website: www.elixirconf.eu Twitter: www.twitter.com/elixirconfeu Mail: info at elixirconfeu

Watch
Michał Muskała - Let there be light: from nothing to a running application - ElixirConfEU 2019

Michał Muskała - Elixir Core Team member, Hammer Corp Let there be light: from nothing to a running application Talk in three words: internals, virtual machine, exploration Abstract In this talk we're going to explore the boot process of the Erlang virtual machine. We'll trace the code path from the beginning of the C main function until the Application.start/2 callback is executed. We'll see how the C code interacts with the Erlang code, how the Erlang code is loaded, what is the first Erlang code to run, and finally how applications are started. Objectives To show how to explore the source code of Erlang/OTP, explain the boot process itself, spread the love for the low-level things and inspire new contributors to the VM. Audience The talk will appeal to Elixir programmers who are curious about the virtual machine, the internals and why applications work the way they do. Some rudimentary knowledge of C, Elixir and Erlang will be assumed. The speaker Software engineer, open-source developer, speaker and trainer. Michał is an Elixir Core Team member focusing on virtual machine, compiler and performance. As a developer and contractor in Elixir and Erlang he has faced many interesting issues. He's also a co-maintainer of Ecto and some other Elixir open source projects. When not programming, he enjoys reading, travelling, and sailing - no matter if it's sunny, rainy or stormy. It's even better if all of those are combined! Github: michalmuskala Twitter: @michalmuskala ElixirConf EU Website: www.elixirconf.eu Twitter: www.twitter.com/elixirconfeu Mail: info at elixirconfeu

Watch
Wiebe Marten Wijnja - An adventure in distributed programming - ElixirConf EU 2019

Wiebe-Marten Wijnja - Maintainer of 20+ Elixir libraries, Elixir Forum moderator An adventure in distributed programming Talk in three words: Adventure in Distributed Programming Abstract At Planga, Marten and his coworkers are building a seamless chat service that runs on Elixir. To keep this system scalable and fault-tolerant, they make a lot of use of Elixir’s supervision and distribution features. In this talk, Marten will explain the basics of distributed programming and share their experiences in scaling from one server to multiple servers (in potentially remote locations) and in what ways Elixir/OTP helped them and might help you, as well as the challenges encountered along the way. Objectives Teach people the basics of moving from a single system to a distributed one. Audience Beginners and intermediate Elixir developers that are interested in (and/or would like to start writing) distributed applications. The speaker Wiebe-Marten loves creating things that just keep working. A computing scientist in body and mind. Wiebe-Marten has 12+ years of practical web-development experience. In 2012, he started to specialise in working with decentralised, distributed and fault-tolerant systems. Initially working with Blockchain-based systems from 2012 onwards, the BitTorrent protocol, and other systems that allow for decentralised data sharing. He is an enthusiastic open sourcerer, a long-time developer using the Elixir programming language (maintainer of more than 20 libraries on Hex.PM), and a moderator on the Elixir Forum. In his spare time, Wiebe-Marten loves making music (piano, marimba), running, dancing and experiencing new things. Github: Qqwy Twitter: @WiebeMarten ElixirConf EU Website: www.elixirconf.eu Twitter: www.twitter.com/elixirconfeu Mail: info at elixirconfeu Philipp Schmieder - Founder Pentacent From Zero to Elixir Deployment

Watch
Guilherme de Maio - Ecto without SQL - ElixirConf EU 2019

Guilherme de Maio - Software Engineer at Telnyx Ecto without SQL Talk in three words: ecto schemas datamodeling Abstract The recent Ecto split got some people confused, but the truth is Ecto was never just a "db library" for Elixir. This talk is about what Ecto can be used for besides database interactions. It will showcase real examples of it being used in different ways, to parse, validate and give a proper structure to complex input/output data, working with message queues and so on. Objectives Showcase how Ecto can be used without an SQL database. Showcase how Ecto can be extended to saving and querying other data sources. Explain how the Ecto split works. Audience Software developers that are experienced with Elixir or other languages and would like to have a better understand of what Ecto can be used for. The speaker Guilherme is a software engineer with 10 years' experience focusing on web applications, from ops to backend. Currently, he is working at Telnyx, a Chicago based telecom company aiming at democratising universal communications. He has been in love with Elixir since he started working with the language in 2015, being an active member of Elixir Meetups in São Paulo, Brazil and spreading Elixir love all around :) He also loves science fiction books, movies and tv series. Github: nirev Twitter: @nirev ElixirConf EU Website: www.elixirconf.eu Twitter: www.twitter.com/elixirconfeu Mail: info at elixirconfeu

Watch