List of videos

Keynote Panel discussion: Erlang all the things | Randall Thomas | Code BEAM America 2022
This video was recorded at Code BEAM America 2022 - https://codebeamamerica.com/ Keynote Panel discussion: Erlang all the things | Host Randall Thomas with panelists: Frank Hunleth, Amos King, Boyd Multerer, Andy King ABSTRACT What the BEAM brings to the world of devices and why, sooner or later, you need to care. According to Fortune Business insights: The global internet of things market is estimated to rise from USD 478.36 billion in 2022 to USD 2465.26 billion by 2029 [iot_growth], with a global economic impact estimated at $11.1 Trillion dollars by 2025. A compound annual growth rate of 26.4% — or — 7 IoT devices for every person on earth. Fear not, intrepid programmer! Erlang, Elixir, and the BEAM are uniquely positioned to tackle problems at this scale using the techniques and technologies we use every day. Join us for an in-depth discussion on why the BEAM is the correc VM at the right time to meet the challenge of managing devices at global IoT scale. Panelists: Frank Hunleth - Embedded systems engineer, Co-Author of The Nerves Project, Author of “Build a Binary Clock with Elixir and Nerves” Bruce Tate - Elixir Educator, Author and Editor; Founder of Grox.IO, Author of “Build a Binary Clock with Elixir and Nerves” Amos King - CEO at Binary Noggin, Elixir Outlaw podcast agitator, Man with Cat jokes Boyd - Founder Kry10 secure platform, author of Senic, Ex-Microsoft and the reason you lost years of your live to XBox live • 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
Refactoring via the Language Server Protocol | Simon Thompson & Dominik Katkó | Code BEAM America 22
This video was recorded at Code BEAM America 2022 - https://codebeamamerica.com/ Refactoring via the Language Server Protocol | Simon Thompson & Dominik Katkó - Professor at the University of Kent & MSc student at the Technical University of Denmark ABSTRACT Refactoring is the process of improving code without changing what it does, and is typically supported in tools such as Wrangler for Erlang. The Language Server Protocol (LSP) allows tools like this to be integrated in a variety of editors, including VS Code, emacs and vim, and the Erlang Language Server (ELS) provides an integration of Erlang into LSP. After a short introduction to refactoring, Wrangler and Erlang LS, we explain how facilities in Wrangler, including refactorings, input and form-based choices, are incorporated into ELS and LSP, and demo these for a variety of Wrangler refactorings. • Timecodes 00:00 - 01:13 - Intro 01:14 - 05:31 - Refactoring & Wrangler 05:32 - 10:08 - Language Server Protocol 10:09 - 17:11 - Wrangler LS Implementation 17:12 - 26:07 - More Complex Refactorings 26:08 - 32: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
Network Observability at LinkedIn | Ananya Shandilya | Code BEAM America 2022
This video was recorded at Code BEAM America 2022 - https://codebeamamerica.com/ Network Observability at LinkedIn | Ananya Shandilya - Staff Software Engineer at LinkedIn ABSTRACT The LinkedIn infrastructure has thousands of services serving millions of requests per second. At this scale, various kinds of data points must be collected, processed and observed to maintain the health of the infrastructure - one of them is network flows. Our infrastructure components export flows at the rate of 2M packets per second. This talk describes a data collection, processing and storage system for network flow data written in Erlang. It gives an overview of the system’s architecture and some of the interesting challenges we faced while scaling this system. OBJECTIVE Share the details about the data processing system we built at LinkedIn using Erlang for collecting and processing high volume and velocity of network flow data AUDIENCE Erlang developers / Observability engineers / Backend engineers • Timecodes 00:00 - 02:02 - Intro and Agenda 02:03 - 07:15 - Intro to InFlow 07:16 - 11:15 - Applications of Flow Data 11:16 - 22:18 - InFlow Collector Architecture 22:19 - 41:22 - InFlow Collector at Scale • 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
Accessible Time Series data with TimescaleDB | David Lucia | Code BEAM America 2022
This video was recorded at Code BEAM America 2022 - https://codebeamamerica.com/ Accessible Time Series data with TimescaleDB | David Lucia - CTO at Bitfo ABSTRACT Timeseries data is everywhere! Whether you’re tracking application metrics, financial price information, or IOT sensor data, having an effective means to store, analyze, and display this can add value to any product. However, having an accessible timeseries database can be a challenge, with many proprietary databases requiring licenses, infrastructure costs and maintenance. TimescaleDB is an open-source alternative that is simply a Postgres extension, a database that many developers are already using. In this talk, we will look at what problems are needed out of a Timeseries database, and how TimescaleDB can help you solve these problems with familiar tools that are easily accessible on the BEAM. OBJECTIVES 1) Teach the audience where they might encounter timeseries data in their product 2) Introduce TimescaleDB, how you can deploy it to your existing Postgres deployment 3) Share ways of leveraging the unique features of timescale DB, including compression, continuous aggregates, and other features to build interesting applications on top of this data platform. AUDIENCE Developers who may have timeseries data in their product, but have no found effective ways to utilize it, or are struggling with scaling timeseries aggregations • 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
Building blocks and How to Use Them: A MongooseIM Case Study | Nelson Vides | Code BEAM America 2022
This video was recorded at Code BEAM America 2022 - https://codebeamamerica.com/ Building blocks and How to Use Them: A MongooseIM Case Study | Nelson Vides - Core Developer of MongooseIM ABSTRACT This is a talk about open source and the community, with MongooseIM as its backbone. MongooseIM is Erlang Solutions’ robust, scalable and customisable messaging server, and using it as a “case study”, I want to tell the story of the evolution of a big and old open source project. I’ll start presenting common Erlang design patterns for a server – the supervision trees, the many processes, the NIFs when they are needed, and most importantly, the ways to preserve a big project manageable and continuously evolving. I also want to present the libraries that branched off from MongooseIM. In the evolution of a big project, often times you find pieces of code that are not an integral part of the business logic but actually can be generalised and reused for projects potentially very different from your own. I want to present what we found and how, what we extracted, and what we prepared for other people to reuse. • 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
Build animatronics with Nerves | Flora Petterson | Code BEAM America 2022
This video was recorded at Code BEAM America 2022 - https://codebeamamerica.com/ Build animatronics with Nerves | Flora Petterson - Technical Writer & Puppeteer ABSTRACT The Nerves platform, framework, and tooling provide a highly specialized environment for using Elixir to build advanced embedded devices in industries worldwide. But can Nerves also make a puppet dance? In this talk, I'll share my experience as a second-generation puppeteer building interactive animatronics with Nerves. If you've ever wanted to automate a lawn decoration, create a haunted house in your garage, or code a small, silly project to give someone joy during a challenging time, this talk may be for you. • Timecodes 00:00 - 02:10 - Intro 02:11 - 06:31 - Puppertry 06:32 - 08:23 - Storytime with LEDs & GPIO 08:24 - 09:51 - Storytime with Motors 09:52 - 18:52 - What are you Curious About? 26:08 - 32: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
seL4 and BEAM: A match made in Erlang | Ihor Kuz | Code BEAM America 2022
This video was recorded at Code BEAM America 2022 - https://codebeamamerica.com/ seL4 and BEAM: A match made in Erlang | Ihor Kuz - Operating system engineer @ Kry10 & seL4 TSC member ABSTRACT Erlang and Elixir are great languages for programming concurrent and fault-tolerant applications yet they still require BEAM to run them on real-world hardware. BEAM is a complex piece of software that leverages general purpose operating systems to enable concurrent applications to scale to incredible levels. But what if you want to run Erlang or Elixir without an OS? Modern operating systems such as Linux are large and complex and can be the wrong choice to deploy on for embedded applications that prioritize security and robustness. What would it take to run the open-source BEAM implementation in a freestanding environment with no external OS services but still presented a partial POSIX system interface? Would this implementation still allow for useful applications? What are the tradeoffs and what features do we need to give up? This talk tries to answer these questions by presenting a recent project that ported BEAM to a freestanding environment for ARMv7 application processors. OBJECTIVE Explain how the BEAM virtual machine can be run in a minimal self-hosted process environment without a runtime dependency on a large general-purpose operating system and discuss what tradeoffs are associated with this approach and why you would want to do this when seeking better security and robustness. AUDIENCE Embedded systems software developers as well as anyone else interested in understanding or removing various abstraction layers that sit between our high-level software and the physical machines that compute it. • Timecodes 00:00 - 01:29 - Intro 01:30 - 04:41 - Connected Industrial Devices 04:42 - 09:06 - Achieving Security and Resilience 09:07 - 11:26 - seL4: Microkernel 11:27 - 16:25 - seL4: Formal Verification 16:26 - 22:22 - BEAM and seL4: Example 22:23 - 25:27 - BEAM Communication 25:28 - 26:23 - Summary and 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
Deep dive in Nx Backends | Paulo Valente | Code BEAM America 2022
This video was recorded at Code BEAM America 2022 - https://codebeamamerica.com/ Deep dive in Nx Backends | Paulo Valente - Software Engineer ABSTRACT Elixir's Nx library implements its features through a configurable backend structure, in which inputs are dispatched to their respective implementations at runtime. In this talk, we're going to review Nx's Backends and how they play with performance and automatic differentiation. For this, we're going to study how Nx compiles and executes a given code sample and how using defn, Nx's numerical function definitions, can enable Axon (a deep learning library) to work. TALK OBJECTIVES The main objective of this talk is to shed some light in one of the more technical and internal aspects of Elixir's Nx. There are some articles here and there talking about this, but as part of the Nx team I hope to provide some more information about how the library works. This would also be one of the first talks on the subject. TARGET AUDIENCE Although the talk is mainly about an Elixir library, I think all BEAM users which have an interest in machine learning would be interested in it, especially since it's a direct product of the EEF Machine Learning Working Group. It can also be interesting for people which come from an ML background but don't know much about the BEAM • Timecodes 00:00 - 01:10 - Intro & Table of Contents 01:11 - 02:58 - What are the Nx Backends? 02:59 - 04:29 - When to Use Different Backends? 04:30 - 09:25 - Backends vs Numerical Definitions 09:26 - 16:54 - Nx.Defn.Expr Usages 16:55 - 22:29 - To +Inf and Beyond • 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
Good behaviour: Cultivating Healthy Elixir Teams & Codebases | Meryl Dakin | Code BEAM America 2022
This video was recorded at Code BEAM America 2022 - https://codebeamamerica.com/ Good behaviour: Cultivating Healthy Elixir Teams & Codebases | Meryl Dakin - Founding engineer @ Knock ABSTRACT This talk is about how we as Elixir developers and managers can use our tool most effectively. As an Elixir developer who’s worked at three companies at varying stages of using the language, I cover practices of adoption and maintainability I’ve seen work best. We’ll look at an organization adopting it for microservices, a legacy codebase rebuilt from Ruby, and a startup using Elixir for its greenfield application. We’ll delve into best practices around testing, context organization, macros, Ecto, and more. IC’s and managers will come away with tangible strategies to develop processes and organize their work so the codebase remains flexible and coherent for the future of the product. OBJECTIVES To share best practices with organizations and individuals at any level of Elixir adoption to maintain a healthy codebase and aligned team AUDIENCE Elixir enthusiasts who are encouraging adoption on their team, developers on legacy codebases looking at how to standardize, managers working to onboard IC’s new to Elixir, anyone interested in best practices on production Elixir applications • 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