Code BEAM Europe 2024

2024

List of videos

Keynote: Hex Then and Now by Wojtek Mach | Code BEAM Europe 2024

✨This talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming events, check: https://codebebeamamerica.com https://codebebeamlondon.com https://codebebeamstockholm.com https://codebebeamnyc.com https://codebebeameurope.com ✨ Hex is the package manager for the Erlang ecosystem. It has been started in 2013 by Eric Meadows-Jönsson and officially announced alongside Elixir v0.13.0 in 2014. What changed about Hex, the package ecosystem, the community over the last decade? What did not change? In this talk we’ll go through major milestones in Hex’s development and ecosystem and see what we can learn from them. ✨ About the Keynote Speaker: Wojtek Mach is a developer based in Kraków, Poland. He works at Dashbit helping organisations adopt and run Elixir in production as well as advance the Elixir Open Source ecosystem. He is a member of Hex, Ecto, and ExDoc core teams. He is also the creator of MyXQL, Livebook Desktop, and Req HTTP client. 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
Keynote: Going Staff - Tobias Pfeiffer | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ What’s up with becoming a Staff Engineer? What does it mean? Is it just for people who want to keep coding? How do you become a Staff Engineer and what does the work entail? What if I told you that being a Staff engineer actually required a lot of communication and collaboration skills? In this talk, let’s answer all those questions! To aid in our journey, we’ll also take a look at what it means to be “glue”, help you navigate organizations to find value and succeed at being a Staff engineer! 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 OTP Team - Ingela Andin | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebeameurope.com ✨ Ingela presents the updates on what the OTP team has done in the last few months, what the projects they’re working on are, and what’s going on on the research side. 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 - Andrea Leopardi | Code BEAM Europe 2024

✨ This talk was recorded on the 15th of October at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebeameurope.com ✨ Andrea will give an update on 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. 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
LT: Using Luerl to Run Spaceships - Robert Virding | Code BEAM Europe 2024

✨ This lightning talk was recorded at Code BEAM Europe 2024. If you're curious about our next event, check https://codebebeameurope.com ✨ This talk will show how the code controlling spaceships can be written in Lua and how it can interact with the Erlang system. 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
LT: erlang (nearly) in space - Dieter Schön | Code BEAM Europe 2024

✨ This lightning talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Introduce a an Erlang application that helps in testing satellites in very diverse domains 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
LT: EctoWatch: Let Your Database Update You - Brian Underwood | Code BEAM Europe 2024

✨ This lightning talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ An introduction to the EctoWatch library which I created recently 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
LT: Confidence in your Options - Daniel Janowski | Code BEAM Europe 2024

✨ This lightning talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Ensure your application has all the configuration it will need at the start so it doesn’t crash later because something is missing. A direct and gradual method to validate, know what’s missing, and provide useful documentation. 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
LT: AI-Driven Crime Alerts - Karlo Šmid | Code BEAM Europe 2024

✨ This lightning talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ In this talk, we will explore how our crime alert application leverages cutting-edge AI and open-source tools to enhance community safety in Zagreb. The application scrapes public event data from the Zagreb police website using the Elixir library Floki and employs ChatGPT to accurately extract key information such as event addresses and types. With Google Maps and Google GeoCoder integration, we then visualize the geolocation of these events on an interactive map. We will focus on the process of refining ChatGPT prompts to improve the precision of address and event type extraction, ensuring more reliable and actionable alerts for users. Join us as we walk through our technical journey and the optimizations that made our solution both practical and effective. 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
LT: Introducing OpenRiak - Nicholas Adams | Code BEAM Europe 2024

✨ This lightning talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Offering the first public insight into the newly formed, community-run OpenRiak in cooperation with the EEF. 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
LT: What the EEF is doing wrt Cyber Security Legislation - Alistair Woodman | Code BEAM Europe 2024

✨ This lightning talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ US and EU regulators are producing rules and regulations that will effect the way the SW industry deals with supply chains and and development 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
LT: Explaining Effects and Effect Handlers with EYG - Peter Saxton | Code BEAM Europe 2024

✨ This lightning talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Algebraic effects are a feature of several academic languages that are rapidly moving into more real world focused functional languages. 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
The Nerves Community Fleet - Lars Wikman | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Underjord is very excited to bring you the latest and greatest in Nerves. Expect practical demos, international participation and hopefully we can blow the lid off of what you thought Nerves can do for you. 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
The One Billion Row Challenge in Elixir: From 12 Minutes to 25 Seconds - Raj Rajhans | Code BEAM

✨ This talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ The talk presents a case study on optimizing Elixir code for demanding tasks. The challenge is to read a file containing one billion lines of weather data and generate a report with minimum, average, and maximum temperatures for each station. Through this talk, the audience will learn how to benchmark and profile Elixir code, how to model problems in order to make the best use of concurrency in Elixir, and implement performance-tuning strategies effectively. The talk unfolds as a story of performance transformation. Starting with code that initially took over 10 minutes to process the data, we’ll see how the runtime went down to just 25 seconds. By the end of this talk, attendees will gain a deeper understanding of performance optimization in Elixir and leave equipped with practical tools and techniques to enhance their own 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
Hey ELP, fix the return type for this function! - Robert Aloi | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ In this talk, we delve into the capabilities of ELP beyond its role as a language server. ELP offers a powerful lint and refactoring engine capable of upholding Erlang/OTP best practices and guidelines within your codebase. The engine is type-aware and can revolutionize the way you write and think about Erlang code, by suggesting and applying better versions of the code. Learn how ELP can streamline your development process, detecting and fixing code quality issues, ensuring consistency and boosting overall code quality. From the risk of atoms exhaustion, to Common Test and meck foot guns, ELP got you covered. Whether you are a seasoned Erlang developer or just starting out, this session will equip you with the tools and the knowledge to elevate your Erlang code to new heights. 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
Parenting - Saša Jurić | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ This is a tutorial on managing process hierarchies with OTP, with a special focus on “smart parents”, i.e. worker processes which start their own children. The talk will present not-so-obvious pitfalls of naive start-linking, and explain proper steps to handle the children. You’ll also learn about the library, which, by including a missing layer between GenServer and Supervisor, makes the parenting job much easier. Finally, the talk will present a fully reimplemented and reimagined supervisor behaviour 🙈 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
Scaling Dialyzer - Tom Davies | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe in October 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Dialyzer is a powerful tool for finding bugs in Erlang code, and as a codebase grows, it becomes harder for humans to keep track of everything themselves, so we need to increasingly lean on our tooling to get the job done. In OTP 26, Dialyzer's incremental mode became widely available, allowing Dialyzer's performance to scale to larger codebases by avoiding redundant analysis between code changes. In this talk, I will cover the next steps in scaling Dialyzer's performance which I have been working on: including finer-grained incrementality, micro-optimisations, ETS performance, and more. Whilst the talk is primarily about Dialyzer, the performance considerations and optimisations may be of wider interest to other people working on the BEAM. 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
Benefits of Reinventing the Wheel - Dylan Blakemore | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe in October 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ One of the biggest hurdles to adopting a new language within an established organisation is the available tooling. Not just the open source ecosystem, but also internal tools and libraries that have been built and refined for years. While some will see this as a reason to avoid adoption, it can also be an opportunity! With no existing tooling, it's up to you to build it. My team at Zappi came from a mature, well-standardised Ruby on Rails ecosystem. When we moved to Elixir, we had to rebuild all of our internal tooling from scratch - which eventually led to the company's first open-source project. We all learned a lot along the way and came out better, more well-rounded engineers. 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
Same same but different: Static type checkers for Erlang - Annette Bieniusa & A. Schimpf | Code BEAM

✨ This talk was recorded at Code BEAM Europe in October 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Though Erlang’s type annotations were originally intended for documentation purposes, static analysis tools soon utilized them for semantic checks. However, due to a need for more semantic agreement on Erlang’s type annotations, their results differ in ways that can be challenging for users to interpret. In our session, we cross-compare four state-of-the-art tools (Dialyzer, Gradualizer, eqWAlizer, etylizer) regarding their expressivity and performance. Their unified test suites provide a good starting point to understand their respective capabilities and limitations. Insights into the underlying approaches can help Erlang developers make an educated choice which analysis tool to use for their projects and how to interpret the result of a type check. 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
Latin America and the Elixir of Life - Andres Ruiz | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe in October 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Do you feel like you can’t contain your excitement when someone mentions Elixir? Like you can’t stop talking and want to teach everyone about it? Like the world must know there’s a better way to do things? Well, Andres felt the same way. That’s why he decided to start traveling around Colombia and Latin America to teach everyone that wanted to listen. From Costa Rica, to Uruguay, Andres has given multiple talks, created online and in-person courses and organized multiple bootcamps, all revolving around Elixir. In this session, He will be talking about his love for the language and his mission to teach the world about it. From the 2-men shop that increased productivity by switching to Elixir, to the programmer who was bored and depressed with their React job and now are happier than ever in BEAM-world, Andres will share his experience and how anyone can do the same. 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
Talking Alchemist: Implementing Azure Speech in Elixir - Ygor Castor | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe in October 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ An insightful journey into the implementation of the Azure Speech SDK in Elixir. We'll explore how the Elixir implementation resulted in cleaner, more concise, and easier-to-read code compared to the original TypeScript version. Learn about the challenges faced, the development flow, and the significant improvements in maintainability and performance. 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
Supercharge your Tests with Snapshot Testing - Giacomo Cavalieri | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe in October 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Unit tests are a fundamental defence line to prevent subtle bugs from sneaking into our code base. The problem is that writing them can sometimes feel like a tedious, repetitive and error-prone chore. That's when snapshot testing comes into play. It makes an alluring promise: completely rid the developer of the boring task of having to manually write and manage unit tests' assertions! While it may sound too good to be true, there's no magic trick and we'll discover the ins and outs of snapshot testing in Gleam: what it is, how it works and, most importantly, how to use it effectively. 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
Native Code Coverage - Björn Gustavsson | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe in October 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Erlang/OTP 27 introduced efficient support in the JIT (Just-In Compiler) for collecting code coverage. This talk gives an overview of the new coverage functionality and its implementation, showing that it is not only faster, but that it can also handle code that it was not previously possible to collect coverage for. 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
Developing a UoM Library in Erlang and Overcoming Personal Challenges - Barbara Chassoul | Code BEAM

✨ This talk was recorded at Code BEAM Europe in October 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ Erlang’s lack of a standardized approach to unit management poses challenges for developers. This project addresses this by developing a versatile UoM library. I will explore core functionalities, including unit definitions, conversion mechanisms, and consistency checks. The library’s integration within the GRiSP ecosystem will be showcased, providing practical insights into its architecture and documentation. This talk also offers a human perspective on using this project to confront personal fears and validate my worth beyond utilitarian productivity. By sharing my journey of battling depression and burnout, I aim to inspire others facing similar challenges and foster a supportive community dialogue about mental health in the tech industry. This session is ideal for developers interested in improving code quality and handling measurement units in Erlang, as well as those interested in the intersection of mental health and professional development. 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
Mailboxer:Early Detection of Erlang Communication Errors- Phil Trinder & Duncan P. Attard |Code BEAM

✨ This talk was recorded at Code BEAM Europe in October 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ The talk presents and demonstrates a new communication checking tool for Erlang codebases: Mailboxer. If a developer annotates parts of an Erlang codebase with expected message types Mailboxer can statically detect many communication errors in the annotated processes. So errors like unreceived messages, some deadlocks, protocol violations, typos in message tags etc. Finding errors early in development reduces debugging and development times. Existing session type checkers for Erlang and Elixir enforce channel, rather than mailbox, based communication. In contrast, Mailbox types check communication using idiomatic mailbox communication. Currently, Mailboxer targets Erlang, but the type theory and checking technology apply to other actor languages with mailboxes, so Elixir, Scala/Akka and others. Erlang will be the first production language to benefit from a radically new communication-checking tool. 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
Exploring BEAM European Community - Icia Carro & Maria Jose Gavilan | Code BEAM Europe 2024

✨ This talk was recorded at Code BEAM Europe 2024. If you're curious about our upcoming event, check https://codebebeameurope.com ✨ This talk focuses on analyzing the profiles of European BEAM developers, companies and academia. We will delve into BEAM developer profiles, uncovering how they discovered and adopted these languages and the diverse contexts in which they utilize them. Furthermore, we will consider factors such as work experience, gender, demographics, LGBTI representation, and other relevant elements to understand the diversity within the BEAM development community. Moreover, we will explore the motivations behind companies and academia adopting BEAM languages, addressing the challenges they face in this process, from resistance to change to training needs and integration with existing systems. Additionally, we will assess the impact these languages have on organizations, including improvements in productivity, software quality, and scalability. 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