List of videos

Processes & Grains: A Journey in Orleans | Evadne Wu | Code BEAM Europe 2022

This video was recorded at Code BEAM Europe 2022 - https://codesync.global/conferences/code-beam-sto-2022/ Processes & Grains: A Journey in Orleans | Evadne Wu - Creator of Etso & Packmatic ABSTRACT A popular way to model the world and manage a long-running state in Erlang and Elixir programs is by using dedicated processes. While this approach is well understood, it can create runtime complexity which must be managed appropriately. Delete your orchestration code today by adopting a simpler way to cluster and distribute work. OBJECTIVES - Introduce concepts within the Orleans framework with existing Erlang/OTP foundation in mind - Review community goals with clustering and workload management - Review existing and new library implementations - Discuss approaches to adopt the new way of workload orchestration AUDIENCE You should attend this session if: - You are responsible for developing and maintaining custom applications that model a large number of concurrently active entities - You have adopted Erlang/OTP clustering, but find the implementation cumbersome to maintain - You would like to make your application more scalable and fault-tolerant - You like to minimise effort and achieve the desired qualities with as little code as possible For maximum enjoyment, you should: - Know how to create and maintain applications in Erlang and/or Elixir - Have a good understanding of the problem domain (interactive & data-intensive Web applications) • Timecodes 00:00 - 01:15 - Intro 01:16 - 06:32 - Journey to Orleans 06:33 - 11:55 - Orleans Primer 11:56 - 19:35 - In Through the BEAM 19:36 - 21:25 - Up The Ladder 21:26 - 40:06 - Demo 40:07 - 42:28 - QnA • Follow us on social: Twitter: https://twitter.com/CodeBEAMio LinkedIn: https://www.linkedin.com/company/27159258 • Looking for a unique learning experience? Attend the next Code Sync conference near you! See what's coming up at: https://codesync.global • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global

Watch
Erlang for Untrusted Decentralized Systems | Andrew Thompson | Code BEAM America 2022

This video was recorded at Code BEAM Europe 2022 - https://codesync.global/conferences/code-beam-sto-2022/ Erlang for Untrusted Decentralized Systems | Andrew Thompson - Author of Lager and Gen_SMTP ABSTRACT Erlang is commonly used for distributed systems on a trusted substrate (when all the nodes are run by a single party) but what about when multiple parties who don't necessarily trust each other want to work together? This talk will discuss some of the technologies Andrew has implemented at Helium to build distributed systems on an untrusted substrate at Helium including HoneyBadgerBFT, threshold cryptography, distributed key generation and peer to peer networking. OBJECTIVES Educate Erlang developers on the alternatives to traditional distributed systems development on the BEAM. AUDIENCE People interested in alternatives to distributed Erlang, decentralization, cutting edge cryptography or untrusted consensus systems. • Timecodes 00:00 - 02:05 - Intro 02:06 - 09:51 - Journey to Orleans 09:52 - 12:36 - Orleans Primer 12:36 - 18:51 - In Through the BEAM 18:52 - 22:13 - Up The Ladder 22:14 - 24:14 - Demo 24:15 - 30:25 - QnA 30:26 - 32:35 - Up The Ladder 32:36 - 39:00 - Demo 39:01 - 44:58 - QnA • Follow us on social: Twitter: https://twitter.com/CodeBEAMio LinkedIn: https://www.linkedin.com/company/27159258 • Looking for a unique learning experience? Attend the next Code Sync conference near you! See what's coming up at: https://codesync.global • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global

Watch
Backtracking through Time and Space in Erlang | Quinn Wilton & Robert Virding | Code BEAM Europe 22

This video was recorded at Code BEAM Europe 2022 - https://codesync.global/conferences/code-beam-sto-2022/ Backtracking through Time and Space in Erlang | Quinn Wilton & Robert Virding - Security Engineer & Co-creator of Erlang programming language ABSTRACT Erlang grew out of experiments in logic programming in the 80s, but very little of that heritage remains today. This talk revisits those early days to explore the ideas that were borrowed from Prolog, the ideas that were forgotten, and the ideas that we may yet revisit in the future. We'll discuss the connections between the earliest implementations of Erlang and modern metaprogramming techniques, how Elixir's pipe operator relates to parsing, and what declarative programming can teach us about distributed shared memory. All of these ideas will come together in an exploration of how the BEAM ecosystem can leverage these techniques today to shape the way we might write code in the future! • Follow us on social: Twitter: https://twitter.com/CodeBEAMio LinkedIn: https://www.linkedin.com/company/27159258 • Looking for a unique learning experience? Attend the next Code Sync conference near you! See what's coming up at: https://codesync.global • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global

Watch
Vaxine, the Rich CRDT Database for ElixirPhoenix Apps | James Arthur | Code BEAM America 2022

This video was recorded at Code BEAM Europe 2022 - https://codesync.global/conferences/code-beam-sto-2022/ Vaxine, the Rich CRDT Database for ElixirPhoenix Apps | James Arthur - CEO and Founder of rich-CRDT database Vaxine ABSTRACT CRDTs are key ingredient for low latency, collaborative applications. However, typical backend applications require more from their database than just commutativity. Vaxine is a new database system developed in Erlang and Elixir, based on AntidoteDB, that extends CRDTs with invariant safety and makes a CRDT database easy to use from Elixir and Phoenix applications. This talk explains the rationale for a rich-CRDT database and introduces the open-source Vaxine system. OBJECTIVES Introduce the Vaxine system and help the audience understand when and how they might use it. AUDIENCE Developers, technical architects, data architects, database developers, collaborative application developers, Elixir/Phoenix developers, LiveView developers, ... • Timecodes 00:00 - 03:06 - Intro 03:07 - 06:41 - Local and Global Users 06:42 - 08:10 - CP + AP Systems 08:12 - 09:19 - Concurrent writes 09:20 - 10:49 - Referential integrity 10:50 - 11:24 - What Do We Want? 11:25 - 14:16 - Vaxine 14:17 - 15:54 - Composition and Compensations 15:55 - 21:40 - Reservations 21:41 - 22:59 - QnA • Follow us on social: Twitter: https://twitter.com/CodeBEAMio LinkedIn: https://www.linkedin.com/company/2715... • Looking for a unique learning experience? Attend the next Code Sync conference near you! See what's coming up at: https://codesync.global • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47e... See what's coming up at: https://codesync.global

Watch
LiveView & JavaScript: A Guide to (...) | Michal Gibowski & Hamza Belhaj | Code BEAM Europe 2022

This video was recorded at Code BEAM Europe 2022 - https://codesync.global/conferences/code-beam-sto-2022/ LiveView and JavaScript - A guide to achieving synergy | Michal Gibowski & Hamza Belhaj - Software Engineers at Andjaro ABSTRACT LiveView famously allows developers to create rich interactive web interfaces without writing any line of JavaScript. However, does this mean one should ditch JavaScript altogether? Of course not! Web apps require instant local interactions that should never depend on communication with the server, and JavaScript is here to stay. In this talk, we will go through built-in LiveView JS mechanisms, integration with AlpineJS, and how to effectively use LiveView together with full-blown frameworks like VueJS on the same page in scenarios where this makes sense. OBJECTIVES Teach participants how to: - use LiveView built-in JS commands, - use AlpineJS and have 2-way data binding between client and server, - use VueJS-based UI components on LiveView pages. AUDIENCE Beginning and intermediate web developers. • Timecodes 00:00 - 08:05 - Let's talk about LiveView 08:06 - 12:02 - Hook intro LiveView from Web Browser 12:03 - 18:27 - AlpineJS 18:28 - 25:05 - VueJS 25:06 - 31:28 - Steps of Starting VUEJS 31:29 - 41:19 - QnA • Follow us on social: Twitter: https://twitter.com/CodeBEAMio LinkedIn: https://www.linkedin.com/company/27159258 • Looking for a unique learning experience? Attend the next Code Sync conference near you! See what's coming up at: https://codesync.global • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global

Watch
Burn Your Laurels | Brooklyn Zelenka | Code BEAM Europe 2022

This video was recorded at Code BEAM Europe 2022 - https://codesync.global/conferences/code-beam-sto-2022/ Burn Your Laurels | Brooklyn Zelenka - Cofounder & CTO at Fission ABSTRACT The BEAM has been tremendously successful for three decades and counting. It underpins a huge number of systems, served as the basis for many successful high profile projects, and seeded interest in the actor model among a huge number of programmers. To all the world, the BEAM is the absolute envy of the industry. And yet our devices and networks are changing substantially for the first time in nearly a generation. We have new building blocks, rapidly evolving theory, and ever-shifting user expectations. Wasm, far edge, the digital commons, and trustless computing are all fundamentally changing the face of the industry. We can’t rest on our laurels: how do we rise to meet these new demands? What replaces processes when location is irrelevant? What even is a supervision tree when you don't trust the children? When is “let it crash” not enough? Can we make changes to the platform that radically simplify code for developers? How do we enable the next generation of LiveView, Nerves, and CouchDB to meet users where they are? This talk will ask hard questions about where we are, where we’re going, and how to have the highest impact. The BEAM is a distributed systems trailblazer; we're riding a ton of momentum, and the ecosystem is a model for communities outside of our own. Let’s not stop here; the world is changing and we need a Cambrian explosion of activity and innovation to keep up with it. Let's move the needle, again! • Timecodes 0:00 Introduction 2:11 Brooklyn Zelenka 5:06 Random Walk 6:44 Let's Go Exploring! 9:19 Good Design Tradeoffs 12:54 Natural Progression 14:25 Evolution of Concerns 21:44 A New Topology 22:48 Evolving Toolbox 27:57 Irreducible Complexity 28:45 Coordination Costs 29:22 Semantics Non-Preservation 31:54 Metastable Mechanism 33:37 Values References Processes 36:04 Pure Parallel 37:26 PIDs for Values & CAS Transactions 43:48 Reading the Universal Dataspace • Follow us on social: Twitter: https://twitter.com/CodeBEAMio LinkedIn: https://www.linkedin.com/company/27159258 • Looking for a unique learning experience? Attend the next Code Sync conference near you! See what's coming up at: https://codesync.global • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global

Watch
Slaying the Type Hydra, or How We Went (...) to None | Jesper Eskilson | Code BEAM Europe 2022

This video was recorded at Code BEAM Europe 2022 - https://codesync.global/conferences/code-beam-sto-2022/ Slaying the Type Hydra, or How We Went from 12,000 Dialyzer Errors to None | Jesper Eskilson - Senior Engineer at Klarna ABSTRACT Have you ever tried running Dialyzer on a large Erlang project for the first time? Did you also get thousands of cryptic errors? Three years ago at Klarna we stood at 1.7MLOC with 12k Dialyzer errors. This is the point where you typically through up your hands and walk away. But we didn't. We fought. And now we are up to 1.72MLOC, but completely free of Dialyzer errors. This talk is about our fight, but not just the fun war stories. You will get a detailed plan for slaying the type Hydra, no matter how many heads it grows. OBJECTIVES The aim is to get people excited about fixing Dialyzer errors in large code bases, to convince them that it can be done, even when there are lots of errors. AUDIENCE Erlang/Elixir developers in general, and developers maintaining large and/or legacy systems in particular, who would like to run Dialyzer on their code, but are limited due to the number of existing errors in the code. • Timecodes 00:00 - 02:37 - Intro and KRED 02:38 - 04:01 - Why Dialyzer? 04:02 - 04:54 - Main Message 04:55 - 05:29 - About Me 05:30 - 06:45 - Principle 1: Automation 06:46 - 11:26 - Slaying the Type Hydra... 11:27 - 12:52 - Override Switch 12:53 - 15:58 - Principle 2: Understanding + KRED 15:59 - 29:42 - Common Problems 29:43 - 31:32 - General Advice + Recap 31:33 - 37:03 - Principle 3: Execution 37:04 - 44:34 - QnA • Follow us on social: Twitter: https://twitter.com/CodeBEAMio LinkedIn: https://www.linkedin.com/company/27159258 • Looking for a unique learning experience? Attend the next Code Sync conference near you! See what's coming up at: https://codesync.global • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global

Watch
Learning Erlang and Elixir through Exercism and Advent of Code | Adolfo Neto | Code BEAM Europe 2022

This video was recorded at Code BEAM Europe 2022 - https://codesync.global/conferences/code-beam-sto-2022/ Learning Erlang and Elixir through Exercism and Advent of Code | Adolfo Neto - Associate Professor at the Federal University of Technology and creator of Elixir Em Foco Podcast ABSTRACT There are several good free resources for learning Erlang and Elixir. In the past few months, I have been using Exercism and the discussions on Advent of Code problems (at Elixir Forum and Erlang Forums) to learn more about those two languages. These two learning resources provide a very active way of learning the basics of these languages. In this talk, I will discuss some of what I learned recently and I will also say which one I think is the best option for beginners. OBJECTIVES Viewers will understand the fundamental differences between Exercism and Advent of Code and will be able to choose which one (or both) will they use for their own learning. AUDIENCE Programmers, either newbies or intermediate, who want to learn the best ways of solving problems using Elixir or Erlang. • Timecodes 00:00 - 02:17 - Intro 02:18 - 03:44 - Which are the Difficulties in Learning Elixir and Erlang? 03:45 - 05:45 - What Helps? 05:46 - 06:42 - Which is most used? 06:43 - 12:45 - What is the Advent of Code? 12:46 - 16:57 - What is Excercism? 16:58 - 19:51 - Good/Bad in AoC 19:52 - 21:23 - Good/Bad in Exercism 21:24 - 24:27 - What have I learned? 24:28 - 25:22 - How to Use AoC to Learn Erlang and Elixir? 25:23 - 28:39 - How to Use Excercism to Learn Erlang and Elixir? 28:40 - 33:11 - QnA • Follow us on social: Twitter: https://twitter.com/CodeBEAMio LinkedIn: https://www.linkedin.com/company/27159258 • Looking for a unique learning experience? Attend the next Code Sync conference near you! See what's coming up at: https://codesync.global • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global

Watch
QUICER: Next Generation Transport Protocol Library for BEAM | William Yang | Code BEAM Europe 2022

This video was recorded at Code BEAM Europe 2022 - https://codesync.global/conferences/code-beam-sto-2022/ QUICER: Next Generation Transport Protocol Library for BEAM | William Yang - Software Engineer at EMQ X ABSTRACT QUIC (RFC 9000) is a general-purpose transport layer protocol. It is selected as the transport layer for next-generation internet protocol HTTP/3. QUIC runs over UDP but it solves some issues that TCP could not and brings in a new way of developing and new features. In this talk, we will give an introduction to QUIC protocol and then introduce the open-source NIF library QUICER (GitHub - emqx/quic: QUIC Protocol for Erlang & Elixir) that we build for BEAM. OBJECTIVES Get started with quic protocol and get community attention about the QUICER NIF library. AUDIENCE Someone wants to catch up with the next-generation transport protocol. Someone wants to get some introduction with the quic protocol. Someone wants to know how to use quicer • Timecodes 00:00 - 04:19 - Intro to QUIC 04:20 - 07:38 - Middle Box Problem 07:39 - 10:02 - Why New Transport and QUIC: 1-RTT 10:03 - 13:29 - QUIC: 0-RTT 13:30 - 16:38 - QUIC Packetization and Streams 16:39 - 24:00 - QUICER Intro and Status • Follow us on social: Twitter: https://twitter.com/CodeBEAMio LinkedIn: https://www.linkedin.com/company/27159258 • Looking for a unique learning experience? Attend the next Code Sync conference near you! See what's coming up at: https://codesync.global • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global

Watch