List of videos

Cotonic: browser coroutines with an universal MQTT message bus | Marc Worrell | Code BEAM V 2020
This video was recorded at Code BEAM V 2020 - https://codesync.global/conferences/code-beam-v Cotonic: browser coroutines with an universal MQTT message bus | Marc Worrell - ABSTRACT Cotonic is infrastructure for the browser. It manages webworkers, provides an universal MQTT message bus, and access to the DOM. Cotonic is the new companion of Zotonic, the Erlang web framework and content management system. In this talk we will see how MQTT is used as an universal communication bus. Providing webworkers access to server side Erlang code, and Erlang direct access to models in the browser. Covered will be MQTT bridges, topic mapping, access control, and message encryption. • Follow us on social: Website: http://www.codesync.global Twitter: https://www.twitter.com/CodeBEAMio Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ • 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
Watch
Unicode, Charsets, Strings, and Binaries | Marc Sugiyama | Code BEAM V
This video was recorded at Code BEAM V 2020 - https://codesync.global/conferences/code-beam-sto/ Unicode, Charsets, Strings, and Binaries | Marc Sugiyama - Software Engineer @ Datometry ABSTRACT Writing global software means our programs need to speak global human languages, but writing programs that work correctly with non-Western European languages is at best a confusing affair. UTF8, latin1, Unicode? What do these terms mean and how are they related to one another? And what does Erlang do? This talk demystifies the terminology around character encoding, explains how to retrofit your Erlang program for Unicode using Datometry HyperQ as a case study, and gives some best practices to help you break the one-byte/one-character assumption. THIS TALK IN THREE WORDS Character sets Character encoding Clarity OBJECTIVES Demystify terminology around character sets and character set encoding. Provide best practices to avoid common pitfalls. • Follow us on social: Website: https://codesync.global/conferences/code-beam-sto/ Twitter: https://twitter.com/CodeBEAMio • 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
Watch
Deploying Elixir on Docker | Vasu Adari & Harsh Balyan | Code BEAM V
This video was recorded at Code BEAM V 2020 - codesync.global/conferences/code-beam-sto/ Deploying Elixir on Docker | Vasu Adari & Harsh Balyan - Product Engineer at Scripbox & Senior software engineer @ Scripbox ABSTRACT TALK LEVEL: INTERMEDIATE Deploying Elixir application has always had its complexities. But with the 'releases' support introduced in Elixir v1.9, it has become seamless. Since everybody likes containerising their apps, we'll also try to containerise our releases and deploy on to our most loved cloud service(AWS). THIS TALK IN THREE WORDS Deploy Elixir (on) Docker OBJECTIVES How to Dockerise an Elixir application Using Docker multi-stage builds to reduce the final image size How to create Elixir releases using `Distillery` How to create Elixir releases using `mix release` introduced in v1.9 How to deploy with zero-downtime on vanilla AWS EC2 instances • 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 • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOwThis video was recorded at Code BEAM V 2020 - codesync.global/conferences/code-beam-sto/ Safety in numbers, securing our BEAM | Christopher Price - Head of Ericsson Software Technology ABSTRACT This talk will discuss the growing utility of the BEAM and how it is being used to support a broad industry landscape. Further discussing security concepts and the things we take for granted, how implied security does not always result in security and how further conversation around tooling and dependencies in our ecosystem will only serve to increase adoption.. • 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
Watch
Flamegraph and heatmap profiling | Edmond Begumisa & Roshan Giri | Code BEAM V
This video was recorded at Code BEAM V 2020 - codesync.global/conferences/code-beam-sto/ Flamegraph and heatmap profiling | Edmond Begumisa & Roshan Giri ABSTRACT TALK LEVEL: INTERMEDIATE / ADVANCED Profiling Erlang systems is tricky due to their concurrent nature - many things going on at the same time. We introduce a new open-source low-overhead profiler which samples callstacks and graphically categorises them by process status, reductions, memory and message queue length over time making it easy to identify code where time and memory is being spent. We illustrate how we used this tool to identify both sequential and concurrency bottlenecks in our Erlang Healthcare HL7 message processing system. THIS TALK IN THREE WORDS Profiler Heatmaps Flamegraphs OBJECTIVES Show how to effectively use sub-second heatmaps and process status flamegraphs to isolate performance issues during both development and production. Illustrate how focusing on locating and eliminating concurrency bottlenecks tends to reap bigger rewards than optimising sequential code. Impart why it's critical to profile Erlang systems at different levels of load. TARGET AUDIENCE This talk is suitable for intermediate and advanced Erlang developers who are responsible for identifying performance issues and locating their causes. • Slides: https://drive.google.com/file/d/1Ou8YwtTsOttmEJQcQhYoTYsqBct03X2T/view?usp=sharing • 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 • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOwThis video was recorded at Code BEAM V 2020 - codesync.global/conferences/code-beam-sto/
Watch
Mnesia as a complete production database system | Chaitanya Chalasani | Code BEAM V
This video was recorded at Code BEAM V 2020 - codesync.global/conferences/code-beam-sto/ Mnesia as a complete production database system | Chaitanya Chalasani - Senior Cloud Application Architect at Access Europe GmbH TALK LEVEL: INTERMEDIATE / ADVANCED Mnesia is often underplayed as an in-memory cache and is seldom used alone in production. The first part of the talk is to present a few case studies of using only Mnesia as the production database engine for large throughput services. The second part of the talk is to present an open-sourced framework for Mnesia (Tivan) which is a collection of utilities and behaviours that enriches its role as a prime database engine. THIS TALK IN THREE WORDS The Understated Mnesia OBJECTIVES The prime objective of the talk is to look beyond general perception of Mnesia as an in-memory cache database to an apt contender as a complete robust database system through case studies and presenting an open-source framework of utils and behaviours to enrich its features and functionality. TARGET AUDIENCE Programmers with a certain exposure in using Erlang/OTP and Mnesia. Architects who are aware of Erlang/OTP, Mnesia and its capabilities. • 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 • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOwThis video was recorded at Code BEAM V 2020 - codesync.global/conferences/code-beam-sto/
Watch
Graceful shutdown in Elixir - try not to drop the ball | Pawel Szafran | Code BEAM V
This video was recorded at Code BEAM V 2020 - codesync.global/conferences/code-beam-sto/ Graceful shutdown in Elixir - try not to drop the ball | Pawel Szafran ABSTRACT TALK LEVEL: BEGINNER / INTERMEDIATE In this talk, we'll go over the concept of graceful shutdown, how important it is when you want to ship often or auto-scale, and how to implement it in Elixir. We'll start with a simple demo app, deploy it on Kubernetes, and then step-by-step implement graceful shutdown for HTTP traffic, asynchronous tasks and buffers, demonstrating on every step how it improves the success-rate of the system. THIS TALK IN THREE WORDS graceful-shutdown Supervision Signals OBJECTIVES Explain the importance of graceful shutdown, show how to implement it in Elixir and demonstrate how it improves the success-rate of the system. •Slides https://drive.google.com/file/d/1if857DY_tuG4CUyARS8zP0ft6S2pUl0-/view?usp=sharing • 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 • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOwThis video was recorded at Code BEAM V 2020 - codesync.global/conferences/code-beam-sto/
Watch
TLS the OTP way | Ingela Anderton Andin | Code BEAM V
This video was recorded at Code BEAM V 2020 - codesync.global/conferences/code-beam-sto/ TLS the OTP way | Ingela Anderton Andin - Software Engineer ABSTRACT TLS-1.3 is a major upgrade of the TLS-1.2 protocol. A lot of legacy is thrown out and new mechanisms will replace old flawed ones. Most of the TLS handshake will be encrypted as opposed to earlier when most of the first handshake was in plain text and encryption started first when sending the final handshake confirmation message. TLS-1.3 also puts new requirements on TLS-1.2 to pave the way for migration. Supervisors, generic behaviours, logger, gb_trees, ets, queue models, maps, try catch, binaries, records how are they used and why. OBJECTIVES Spread good design principles with Erlang/OTP and security knowledge by sharing design decisions, trade-offs and optimisations that we have done implementing TLS (all versions from SSL 3.0 to TLS 1.3 but with the biggest focus on TLS-1.3) in Erlang. TARGET AUDIENCE People interested in using Erlang/OTP to its full potential, and also people interested in TLS-1.3 in particular and security in general. • 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
Watch
Consensus Protocols in OTP | Dániel Szoboszlay | Code BEAM V
This video was recorded at Code BEAM V 2020 - codesync.global/conferences/code-beam-sto/ Consensus Protocols in OTP | Daniel Szoboszlay - Lead Software Engineer at Klarna ABSTRACT Klarna runs its business on Mnesia from day one. 16 years later we're still together... but we’re heading towards a break up. How did we get here? What’s the way forward? Over the years problems hit us for sure, but as we’re about to part we also found good in Mnesia we'd taken for granted and never appreciated before. Are you just launching on Mnesia? Come and learn how not to corner yourself by the time you grow to a Unicorn. Already stretching limits? See how we made Postgres a viable replacement. OBJECTIVE Mnesia has some superpowers, but you won’t realise they exist until you try to live without them. Become aware of them, and you will be able to make conscious choices on whether to fully utilize them or to keep your options open. AUDIENCE Developers using Mnesia - or even Postgres, if they’re interested in our journey towards performant serializable transactions on this database. • 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
Watch
A Beginner's Guide to TLA+ Exploring State Machines & Proving Correctness | Jeff Weiss | Code BEAM V
This video was recorded at Code BEAM V 2020 - codesync.global/conferences/code-beam-sto/ A Beginner's Guide to TLA+ Exploring State Machines & Proving Correctness | Jeff Weiss - Senior Software Engineer at Enbala Power Networks ABSTRACT TALK LEVEL: BEGINNER / INTERMEDIATE / ADVANCED This talk introduces TLA+ by taking a small package from hex, examining its properties, modeling its behaviour as a state machine, creating TLA+ correctness and liveness specifications for it, and then using the TLA+ model checker to prove correctness. No prior exposure to formal methods like TLA+ or PlusCalc are necessary. A passing familiarity with state machines is recommended, but not required. OBJECTIVES Introduce TLA+ and its value Illustrate conversion of a state machine to a TLA+ specification Building and checking correctness and liveness models of that TLA+ specification TARGET AUDIENCE Developers interested in adding more rigour to their problem solving and more quickly surfacing design errors. • 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
Watch