List of videos

Osa Gaius - Why Elixir Matters: A Genealogy of Functional Programming - Code BEAM SF 2018
Members of the Elixir community often receive the question: "why should I use Elixir?" The answer to this nuanced question remains elusive, because the answer is not primarily technical. This talk provides a history of functional programming, of Erlang and Elixir more specifically. This talk argues that the success of Elixir will be marked by how we learn from the mistakes historically made by the functional programming community. More importantly, this talk presents a strategy for the Elixir community, which centers around community-building, based on real-world experiences and historical analysis. More details here: https://codesync.global/speaker/osa-gaius/
Watch
Benoit Chesneau - Building and Integrating A Data Platform - Code BEAM SF 2018
Last year, Benoit and others were busy integrating and customising Barrel, a modern and opensource data platform with master-master replication written in Erlang. This talk will describe the different challenge we faced in building a P2P middle-tier platform in Erlang to persist the data and “actors” states from micro-services in different levels of storage and replicate them between different locations. This talk will also describe the different patterns used for Reads and Writes concurrency but also continuous automated indexation of the data and “actors.” More details here: https://codesync.global/speaker/benoit-chesneau/
Watch
Brett Cameron, David Brinnen - Next Generation SCADA - Code BEAM SF 2018
Supervisory control and data acquisition (SCADA) is a control system architecture that uses computers, networking, and graphical user interfaces for process monitoring and control, operating in conjunction with peripheral devices such as programmable logic controllers, sensors, and actuators to interface with plant and machinery. The SCADA model was originally developed as a universal means of remotely accessing control modules, which could be from different manufacturers, allowing access through standard automation protocols. The Internet of Things is now redefining the role and architecture of SCADA systems, with modern SCADA systems leveraging Internet protocols and cloud services for interaction with connected devices, and controlling environments ranging from smart homes to large-scale processes spanning multiple geographically disperse sites. In this talk, we will discuss this evolution and will describe a novel next-generation SCADA solution that utilizes the capabilities of Erlang to monitor and control a growing network of industrial-scale energy-efficient temperature management systems. The architecture and design of the system with be discussed, along with future plans to expand the role played by Erlang in the overall end-to-end solution and the use of the OpenVMS operating system on embedded devices to optimize reliability and security. Other possible uses for this solution and future enhancements will be considered, including making it more generic and more applicable to a range of Internet of Things scenarios. More details here: https://codesync.global/speaker/brett-cameron/
Watch
Brujo Benavides - Opaque Structures and Other Yerbas - Code BEAM SF2018
Opaque Data Structures provide a very nice technique to structure systems and they are particularly useful within the functional programming paradigm. With the addition of maps and the opaque attribute for modules, Erlang is now perfectly suited to get the best of these structures, if you use it properly. In this talk, Brujo will show what opaque data structures are, how to use them and why they are so useful, even more so if you're developing an open-source library. This talk will be conceptual, but it won't be 100% theoretical. Brujo will also present examples and tools that assist us in making better use of these techiques. More details here: https://codesync.global/speaker/brujo-benavides/
Watch
Richard Kallos - Introducing Wrek; A Library For Executing Dependency Graphs - Code BEAM SF 2018
Dependency graphs are a useful representation for exploring opportunities to introduce concurrency in a larger system. They are hidden all over computing (compilers, build systems) and everyday life (to-do lists, cooking recipes). Users can define a set of tasks, as well as dependencies between them, and wrek will execute the resulting graph as concurrently as possible. OBJECTIVES Introduce/refamiliarize the audience with dependency graphs, explore the conception and design of wrek, showcase how wrek can be used and integrated into larger projects, demonstrate wrek's broad applicability. AUDIENCE Developers interested in seeing where mathematics and everyday life collide. Developers interested in new Erlang/OTP libraries. More details on website: https://codesync.global/speaker/richard-kallos/
Watch
Jay Hayes - Metaprogramming - Programs that Write Programs - Code BEAM SF 2018
Programs that write programs are called metaprograms. They occupy the space between your problem and its solution. When used haphazardly the results can be confusing and cryptic. But when used wisely, they simplify that space and make it possible to solve hard problems in elegant ways. Elixir embraces metaprogramming. In fact, it's fundamental to the implementation of the language itself. This talk will answer questions for you such as: "When should I write a macro?" "What is quote and unquote and when do I use them?" "When and where does this macro code execute?" "Macro.prewalk? What does this have to do with macros?" Along with some practical examples. What's more astonishing is how approachable (and safe!) Elixir makes this complex subject. With this solid foundation, your code will be writing itself in no time! More details here: https://codesync.global/speaker/jay-hayes/
Watch
Mohnish Jadwani - Learning Elixir Better through Collaboration and Giving Back - Code BEAM SF 2018
Learning a new programming language can be intimidating and it doesn’t take too long before impostor syndrome can kick in. Things can even get more challenging if you’re learning includes being exposed to a new programming paradigm. This talk discusses about ways through which the journey of learning Elixir can be made more fulfilling and worthwhile through collaboration. We will explore how the better usage of mediums like Exercism, Slack etc., not only help us identify different ways of getting unstuck as we work towards getting a clearer understanding of the functional concepts in Elixir but also how they empower us to be better programmers in general through thoughtful conversations about code. We will also see how this journey of learning Elixir gives us opportunities through which we can contribute back to the language and community. Slides can be viewed here: https://speakerdeck.com/boddhisattva/learning-elixir-better-through-collaboration-and-giving-back-2 More details here: https://codesync.global/speaker/mohnish-jadwani/
Watch
Jean Rouge - The Magic Behind Immutable Maps - Code BEAM SF 2018
Erlang variables are immutable. But what happens when we do `Map2 = maps:put(Key, Value, Map1)`? Surely the VM doesn't copy all of Map1 to a new Map2 in memory just to add that new Key-Value pair? But then how does it give us the illusion that Map1 still exists, without the new pair? How does it keep track of which erlang map contains which pairs? And which performance costs do our applications pay for that magic? More details here: https://codesync.global/speaker/jean-rouge/
Watch
Duncan Sparrell - Let it Be Hacked - Code Beam SF 2018
Cyber-attacks are increasing in terms of sophistication, speed and dynamics. Defenses are not keeping up. Why does the attacker have such an advantage? Because most software is not designed with 'let it fail' in mind. Our community has a significant advantage in the area and we should capitalize on it. The talk will start with some cybersecurity fundamentals. I'll explain the advantages of OTP from a cybersecurity perspective. There are still pitfalls and I'll cover some of them as well as present some best practices to help your code be more secure. I'll do a survey of the open source software available as well as touch on areas where work is needed. The goal is to promote the "let it be hacked" mentality - which will both promote erlang/elixir and be good for cybersecurity. OBJECTIVES This talk aims to: educate everyone (at least a little bit) in cybersecurity explain why beam/erlang/elixir are great for developing cybersecurity software give some ptifalls to avoid and best practices to follow present a survey of cybersecurity open source software from a BEAM perspective (ie both what is there, and what is needed) an unabashed plea for helping promote beam for cybersecurity
Watch