List of videos

Craft your domain-specific query language with NimbleParsec and Ecto - R. Binetti | Code BEAM Europe

"✨This talk was recorded at Code BEAM Europe 2023. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Imagine you want to ask your API ""List all devices which are not located in Europe and are currently connected or are either tagged 'maintenance' or 'retired'"". Expressing this kind of selection with query parameters quickly becomes unwieldy, and even a more structured query language like GraphQL can feel clunky to express this, especially if the target user is not a technical one. Ideally, we'd want users to be able to write something like: (not attributes[""continent""] == ""EU"") and (connected or (""maintenance"" in tags or ""retired"" in tags)) In this talk I will show you how this can be achieved with the power of Elixir, NimbleParsec and Ecto. We will use NimbleParsec to parse the domain-specific language into an Abstract Syntax Tree represented using Elixir structs, and then we will traverse that AST to produce a valid query using the power of Ecto dynamic queries. 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
Update from the Elixir Core Team - José Valim | 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 ✨ What the Elixir team has done in the last few months, what projects they’re working on, what’s going on on the research side, and what features will be in the next release.

Watch
Introducing Bondy: The IoT, Web and Mobile Platform by Alejandro Ramallo | 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: Bondy is an open source, always-on and scaleable application networking platform connecting all elements of a distributed application—offering service and event mesh capabilities combined such as service authentication, fine-grained authorisation, service discovery, routed remote procedure calls (RPC) and publish/subscribe. From web and mobile apps to IoT devices and backend microservices, Bondy allows everything to talk using an open, simple and secured application networking protocol that provides two-way communications and peer-2-peer programming model (WAMP - the Web Application Messaging Protocol). Bondy is written in Erlang and uses Partisan for scalable clustering and distribution.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
Reimplementing technical debt with state machines by Nelson Vides & Paweł Chrząszcz | Code BEAM

✨This talk was recorded at Code BEAM Europe 2023. If you're curious about our upcoming event, check https://codebeameurope.com ✨ Abstract: An extensible protocol implementation means that its core code has to be extensible, right? But it also means the core is the first piece of code ever written for this project, and which everything else will depend on, which means, well, highly likely future technical debt. Fast-forward over a decade, and this code might have become not just intractable, but also impossible to understand. What's next? Incremental improvements, top-bottom or bottom-up, a full rewrite and replug, experiment with a mysterious and not fully tested spaghetti? In our chat’s backend service, we kept coming back to this topic, until one day that looked like it’d be just a boring day, we came up with a prototype for a remorseless full rewrite that immediately looked promising. Based on the OTP’s gen_statem behaviour, we wrote a new core set of extensible rules where everything can gracefully plug in. Let's solve the quagmire putting together old code, RFCs, state machines and a telemetry-like event mechanism. 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
Want to hear about code smells in Elixir? See you at Code BEAM Europe 2023!

Why should you work on code smells and refactoring? For better maintainability, extensibility, reusability, code readability, and clarity! 🙌 Learn more about all that from Elaine Watanabe at Code BEAM Europe - the Erlang and Elixir Conference, 19-20 Oct 2023. You can join us in Berlin or online: book your ticket here: 💥 https://codebeameurope.com 💥

Watch
Exploring code smells in Elixir by Elaine Watanabe | 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: Code smells are indicators of potential design problems in software code. They can impact maintainability, readability, and overall code quality. While code smells have been extensively studied in object-oriented programming languages, their applicability and identification in functional programming languages like Elixir remain a fascinating area of exploration. In this talk, we will dive into the world of Elixir and uncover code smells that may arise in its codebase. We will explore the traditional code smells (including the newly cataloged Elixir-specific code smells), discuss their impact on Elixir applications, and provide practical insights into refactoring techniques to eliminate 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
Do You Really Need Processes? by Brian Underwood | 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: You probably know that the power of the BEAM comes from processes which operate concurrently and supervisors which, in many cases, allow service to continue. Maybe you’ve thought that your application needs to use more GenServers and Supervisors to become the best that it can be. But then again, maybe everything is fine. In this talk, Brian will present a demo of a ride-sharing application which he created to understand what is possible with a standard Phoenix + PostgreSQL application. He will explore what performance and resiliency gains can (or can’t) be achieved by designing various process and supervision architectures using an external database, process state, ETS tables, and combinations therein. 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
End-to-end types: full-stack Web apps with Gleam by Hayleigh Thompson | 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: Gleam is a friendly statically typed language that runs on both the BEAM and in the browser. In this talk we'll see a brief tour of the language, before taking a look at how it was used to build a fun interactive audio application. We'll explore a typed Phoenix-like setup and demo a multi-user Web Audio app to show off. 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
Building Trust in Open Networks by Ingela Andin | 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: TLS ( Transport Layer Security previous known as SSL) is used widely to accomplish privacy, integrity and authenticity over open networks. This talk focuses on the authenticity part and the challenges, tradeoffs and pitfalls we faced in the Erlang/OTP team implementing and testing this functionality providing it for a wide range of users in many different business areas. 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