List of videos

Remote Debugging with Livebook by Luca Dei Zotti | ElixirConf EU 2023
✨This talk was recorded at ElixirConf EU 2023. If you're curious about our upcoming event, check https://elixirconf.eu ✨ Abstract: Livebook is useful for a wide range of applications. The BEAM ships with a lot of playful goodies for managing distribution but also for manipulating the software itself. Sometimes happens that you have partial access to the software that is running on some premise and partial power over the release lifecycle of the software itself. Still, you need to understand what’s going on there, possibly without disrupting the entire system. Who you gonna call? In this session I’ll show, with an example application, how I managed to debug a remote Elixir instance using Livebook, some smartcells and the BEAM’s love for developers. Talk objectives: 👉Basic understanding of OTP distribution 👉Basic understanding of module reloading 👉Livebook+Smartcells for debugging purposes 👉eprof, Flamegraphs and other debugging tools
Watch
Phoenix Beyond Cowboy by Mat Trudel | ElixirConf EU 2023
✨This talk was recorded at ElixirConf EU 2023. If you're curious about our upcoming event, check https://elixirconf.eu ✨ As part of the 1.7 release, Phoenix gained full support for web servers other than Cowboy, including complete support for WebSockets, Channels and LiveView. Phoenix has gone from being fundamentally tied to Cowboy to being a fully standalone, entirely Plug-powered project. Accomplishing this required extensive refactoring of much of the foundational code within the project, which in addition to supporting webservers such as Bandit, also unlocks a number of exciting new potential features with the Phoenix router. This talk will go into the details of what’s now possible in 1.7, what changes were needed to make this possible, and what’s in store for the future. Along the way we’ll also dive into a few related topics: What is a WebSocket anyway? Introducing WebSock: a Plug-like API for WebSockets How a request makes its way into & through Phoenix Cool Phoenix.Router tricks Strategies for tackling large-scale changes in popular Open Source projects Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/ElixirConfEU 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 LinkedIn: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync
Watch
Understanding Elixir Compilation by Tim Gent | ElixirConf EU 2023
✨This talk was recorded at ElixirConf EU 2023. If you're curious about our upcoming event, check https://elixirconf.eu ✨ Abstract: Struggling with slow Elixir compile times? Do you change just a single file and re-run your test, but it compiles tens of files and takes ages? This interactive talk will go through a number of examples to help you understand which files get recompiled and why. After the talk, you’ll be able to better understand compile-time dependencies in your own codebase and follow some common practices to reduce your compile-time dependencies. Talk objectives: Help you understand how Elixir’s compiler decides which files need to be recompiled when you update a file Help you understand ways to reduce your compile-time dependencies and speed up your compilation time Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/ElixirConfEU 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 LinkedIn: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync
Watch
How to Describe Robust NIFs by Susumu Yamazaki | ElixirConf EU 2023
✨This talk was recorded at ElixirConf EU 2023. If you're curious about our upcoming event, check https://elixirconf.eu ✨ This talk shows three points to describe robust NIFs: Appropriately set a conditional branch where each function call may return an uncertain value. Perform error handling according to general conventions. Make assertions that specify implicit preconditions and raise exceptions for Supervisor to handle. This talk also shows how to improve performance even with such robustness and fault tolerance and build NIFs for various platforms.
Watch
Building a Framework - Membrane's Journey to 1.0 by Mateusz Front | ElixirConf EU 2023
✨This talk was recorded at ElixirConf EU 2023. If you're curious about our upcoming event, check https://elixirconf.eu ✨ Abstract: Building a framework is an exciting, but also challenging job. Our team knows that well after years of development of Membrane, and the upcoming core 1.0 release is an excellent opportunity to talk about what we learned. Organising work, choosing tradeoffs and priorities, creating abstractions, organising code, designing API, going open source - these challenges must be tackled in various projects. Still, when creating a framework they sometimes show up in an unusual way. In this talk, I’ll discuss some of them taking Membrane as an example. Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/ElixirConfEU 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 LinkedIn: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync
Watch
Quantum Doodle: Digital Twins for Everyday Activities by Paul Valckenaers | ElixirConf EU 2023
✨This talk was recorded at ElixirConf EU 2023. If you're curious about our upcoming event, check https://elixirconf.eu ✨ This talk covers the development and implementation of a digital assistant for humans in everyday life. It is based on digital twins for resources, activities and intentions. The assistants deliver an advanced situational awareness while leaving the decision-making with the humans. The assistants continuously interact to update this shared awareness of future interaction. Digital assistants interact through quantum doodles. Quantum doodles are not limited to organizing a meeting. Benefiting from Elixir’s expressive power, a quantum doodle may coordinate parking space, staffing a reception desk, … It also supports ‘entanglement’ where the information reflects how one doodle is affected by other doodles. This talk provides a demonstration, which addresses concrete test cases in everyday life. To implement digital twins for everyday activities, a software tool needs expressive power that matches this. Elixir is unbeatable in this respect, which the presentation discusses. Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/ElixirConfEU 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 LinkedIn: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync
Watch
Phoenix LiveView Test Driven Development By Example by Joshua Plicque | ElixirConf EU 2023
✨This talk was recorded at ElixirConf EU 2023. If you're curious about our upcoming event, check https://elixirconf.eu ✨ You’ve heard it rumored that you can code faster and more confidently with test driven development. But everytime you try…those claims let you down. With strong test coverage, you can refactor without fear. You can deploy with confidence and assurance. You get feedback on whether your code works instantaneously, in development, not in production. This talk is a 30 minute live coding session where we build an Phoenix LiveView application from the ground up test-first, with maximum confidence and maximum speed! See with your own eyes the power of test-driven-development. Let's keep in touch! Follow us on: 💥 Twitter: https://twitter.com/ElixirConfEU 💥 Facebook: https://www.facebook.com/CodeSyncGlobal 💥 LinkedIn: https://www.linkedin.com/company/code-sync 💥 Mastodon: https://genserver.social/codesync
Watch
Rob Ashton - Purescript on the BEAM; Typed OTP for greatness | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- PURESCRIPT ON THE BEAM; TYPED OTP FOR GREATNESS by Rob Ashton THIS TALK IN THREE WORDS: Erlang Purescript OTP TALK LEVEL: Intermediate ABSTRACT After nearly a decade of writing our software in Erlang, our codebases have started getting unwieldy despite our best efforts to manage this through other disciplinary methods. (That and dialyzer, but there are limits!) So we did what any sensible company would do, and hired """"the Purerl guy"""" and set about working out how we could use the Purescript to Erlang compiler he'd written to help us with this. To that end since, we have already shipped two products and quietly open sourced a selection of the libraries we have built on top of Purerl to support those endeavours. In this session we'll start by looking at the super happy path (our ideal world) for end-to-end Purescript before going into detail on how some of it is implemented, the weak spots and pitfalls currently present and some of the huge hacks that are possible when using Purescript FFI to bind against "native Erlang" libraries. Slides & full abstract: https://codesync.global/speaker/rob-ashton/ --- THE SPEAKER - ROB ASHTON (Barely) Functional Developer Rob has spent about a decade of building software commercially in a plethora of languages and technologies as well as leading enterprise teams, engaging in the odd spot of consultancy and travelling around as a jobless wanderer whilst learning all the way along. Now he can be found mostly writing Erlang and Purescript, building distributed media delivery systems for a small b2b company in the UK and also helping to develop an ecosystem around Purerl for the masses. More on Rob Ashton: https://codesync.global/speaker/rob-ashton/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Purescript #Erlang #OTP
Watch
Jeremy Gibbons - What You Needa Know About Yoneda | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- WHAT YOU NEEDA KNOW ABOUT YONEDA by Jeremy Gibbons THIS TALK IN THREE WORDS: Categories Functional programming Lenses TALK LEVEL: Advanced ABSTRACT Profunctor optics are a neat and composable representation of bidirectional data accessors, such as lenses (a "getter" and a "setter", for example onto a field of a record), and their dual, prisms. The profunctor representation exploits higher-order functions and higher-kinded type constructor classes. The relationship with the ""getter"" and ""setter"" functions is not at all obvious; it turns out to be a fairly direct application of the Yoneda Lemma, arguably the most important result in category theory. This talk will explain the Yoneda Lemma, with many concrete examples, including profunctor optics. Slides & full abstract: https://codesync.global/speaker/jeremy-gibbons/ --- THE SPEAKER - JEREMY GIBBONS Jeremy Gibbons is Professor of Computing at the University of Oxford, where he teaches on the part-time professional master's programme in software engineering. He has been devoted to functional programming since the late eighties; he is Editor-in-Chief of the Journal of Functional Programming, and his particular interests are in patterns in functional programming and in reasoning about programs. More on Jeremy Gibbons: https://codesync.global/speaker/jeremy-gibbons/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #FunctionalProgramming #Yoneda
Watch