List of videos

Building Jellyfish: multimedia server powered by Membrane & Phoenix - Łukasz Wala | Code BEAM Europe

✨This talk was recorded at Code BEAM Europe 2023. If you're curious about our upcoming event, check https://codebeameurope.com ✨ Abstract: Discover how we utilized Elixir to develop the initial version of Jellyfish, a Multimedia Server that bridges various streaming protocols such as WebRTC, HLS and RTSP. Don’t worry if these acronyms don’t ring any bells with you! Multimedia is a complex topic, streaming - even more so, but with Membrane as a base for our media processing and Phoenix for REST and WebSocket API, we’ve built a straightforward-to-use solution, that lets you create video-conferencing app, clone of Twitch, or both at the same time, regardless of the programming language you use. In this talk, I’ll dive into the architecture of Jellyfish, discuss the underlying media processing pipelines, examine the design of its APIs, and share the struggles we faced while building this product. Additionally, I’ll present some example scenarios that can be achieved with Jellyfish. Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/CodeBEAMio 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 Linkedin: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync

Watch
LiveView: Best Practices for Building Real-Time Interactive Interfaces - Herminio Torres | Code BEAM

✨This talk was recorded at Code BEAM Europe 2023. If you're curious about our upcoming event, check https://codebeameurope.com ✨ Abstract: In this talk, we will explore the best practices for using LiveView to build real-time interactive interfaces. We will cover fundamental concepts such as context, live components and function components, a single source of truth, and send_update. Additionally, we will discuss the approach of scoped CSS and its benefits in LiveView applications. Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/CodeBEAMio 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 Linkedin: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync

Watch
ChatGPT as your Erlang coach by Georgiana Chelu | Code BEAM Europe 2023

✨This talk was recorded at Code BEAM Europe 2023. If you're curious about our upcoming event, check https://codebeameurope.com ✨ Abstract: With ChatGPT gaining a lot of popularity, it’s time to rethink the way to learn new concepts. More and more tutorials, projects, libraries are becoming available online and it’s hard to decide how to start. ChatGPT is the 24/7 mentor you need. It is good at explaining specific concepts and answering simple questions. We are going to learn how to use ChatGPT as a more knowledgeable friend to help us grasp the new concepts. Start with the key concepts in Erlang. You get a bunch of things to explore like: concurrency, message passing, pattern patching, immutable data, behaviors, supervision tree, hot code updates. Ask ChatGPT to create a plan with resources and a timeline to cover the Erlang concepts. Show the code generated by ChatGPT for several Erlang concepts and discuss the solutions. Use ChatGPT for finding project ideas, improving pieces of code, discovering other ways of implementing an idea. Show the benefits and the downsides of using ChatGPT with concrete examples. Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/CodeBEAMio 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 Linkedin: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync

Watch
What the shell - Prototyping with LLMs by Fredrik Frantzen | Code BEAM Europe 2023

✨This talk was recorded at Code BEAM Europe 2023. If you're curious about our upcoming event, check https://codebeameurope.com ✨ Abstract: With OTP-26 we've launched a number of improvements to the shell that we hope is appreciated by the Erlang Community. * Multiline expressions * Function definitions * Module creation (26.1) * Type completions * Keyboard shortcut configurations (26.1) This presentation introducers these features by initiating a conversation with ChatGPT erlang module in the shell, to write functions for some kind of app. Copy pasting the function definition response with a -spec into the shell, maybe even a couple of tests. We will iteratively complete the function or app with the help of ChatGPT, tracing, type completions and open an external editor (VSCode) connected to LSP. Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/CodeBEAMio 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 Linkedin: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync

Watch
Empowering Edge Devices with Lightweight Neural Network Inference Framework by Cocoa Xu

TFLiteBEAM: Empowering Edge Devices with Lightweight Neural Network Inference Framework ✨This talk was recorded at Code BEAM Europe 2023. If you're curious about our upcoming event, check https://codebeameurope.com ✨ Abstract: This project aims to create a lightweight neural network inference library, TFLiteBEAM, powered by TensorFlow Lite (TFLite). Firstly, TFLiteBEAM has a small footprint. It sits around 10MBs compared to 500+ MBs when using EXLA or 700+ MBs for torchx, making it a great option for edge devices and resource-constrained systems such as Raspberry Pi. Secondly, TFLiteBEAM is primarily optimised for mobile and embedded devices. It provides optimized model parsers and inference engines for these devices, delivering fast and low-latency inference performance. Thirdly, using TFLiteBEAM also allows us to run models on Edge TPU like Coral, a hardware accelerator. In comparison, it's still nearly impossible to use any desktop GPUs on devices like Raspberry Pi, while adding a Coral edge TPU as the hardware accelerator is relatively more accessible and practical. Lastly, as its name suggests, this library can benefit all BEAM languages (as long as they have support for using Erlang NIF libraries). Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/CodeBEAMio 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 Linkedin: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync

Watch
Erlang Language Platform: Revolutionizing the Erlang Development Experience

✨This talk by Roberto Aloi & Michał Muskała was recorded at Code BEAM Europe 2023. If you're curious about our upcoming event, check https://codebeameurope.com ✨ Abstract: In this talk we unveil the ""Erlang Language Platform"" (in short ""ELP""), a groundbreaking, open-source project poised to transform the development experience for the Erlang programming language. Designed at WhatsApp and inspired by the success of the Rust Analyzer project, ELP is a compiler front-end for Erlang providing a scalable, fully incremental, IDE-first library for the semantic analysis of Erlang code. By implementing support for the LSP protocol, ELP acts as a next-generation language server, revolutionizing the way developers write, debug and maintain Erlang Code. In this talk we provide a high-level introduction to the project, discover what is necessary for a good interactive compiler and how it differs from more traditional compilers. Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/CodeBEAMio 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 Linkedin: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync

Watch
Khepri: Replacing Mnesia in RabbitMQ by Michael Davis | Code BEAM Europe 2023

✨This talk was recorded at Code BEAM Europe 2023. If you're curious about our upcoming event, check https://codebeameurope.com ✨ Abstract: Khepri is a tree-like, replicated database library from the RabbitMQ team using the Raft distributed consensus algorithm. Khepri aims to replace Mnesia for persistent and replicated metadata storage within RabbitMQ. This talk touches on why and how the Rabbit team chose to create Khepri, some basic usage examples and implementation details, recent large changes in Khepri, and updates on Khepri's progress into the RabbitMQ codebase: * A new feature called ""projections"" allows us to match or beat mnesia's read speed in many cases. * We've overhauled the API to be more ergonomic and also made it friendlier for Elixir. * We plan on landing the Khepri branch in the next minor release under a feature flag! Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/CodeBEAMio 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 Linkedin: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync

Watch
How I grew to love Erlang type specs - Marc Sugiyama | Code BEAM Europe 2023

✨This talk was recorded at Code BEAM Europe 2023. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Abstract: Erlang is a typeless language, but our programs have types. Large teams and long running projects need to communicate how our programs work. Typing structures and functions beyond the Erlang base types makes code easier to understand, change, and debug. This talk covers how I grew from finding type specs an annoyance to loving them. Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/CodeBEAMio 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 Linkedin: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync

Watch
Kraken - a Lightning Talk by Anton Mishchuk | Code BEAM Europe 2023

✨This lightning talk was recorded at Code BEAM Europe 2023. If you're curious about our upcoming event check out: https://codebeameurope.com ✨

Watch