Thank you for joining and see you at our next event!
+
+Code BEAM America is the only North American event designed to bring the Erlang and Elixir communities together.
+
+This was our second American VIRTUAL event for the year with a brand new line up of world-class speakers sharing the latest use cases, coolest new frameworks and challenging you to improve your programming and the entire Erlang Ecosystem.
+
+Code BEAM America was held at Pacific Daylight Time (PDT) to suit attendees on both the US West and East Coast.
Code BEAM V is a top-notch conference for meeting and learning from the best in the Elixir and Erlang community!
+ Code BEAM V America Attendee
The toucan app was a choice above all others. It helped it feel like a community again.
+ Code BEAM V America Attendee
It honestly was the best online conference I've seen this year. The community engagement was great and the talks were excellent. The format worked, we all understand zoom etc better than we did at the beginning of the pandemic. It really went off with out a visible hitch! Well done!
+ Code BEAM V America Attendee
I loved the Toucan app. Of any electronic solution I have used during the pandemic it came the closest to making it feel like I was in the same room with other actual people. I also really enjoyed the one-day tutorial with Steven Nuñez and Sophie DeBenedetto. It was one of the best 1-day trainings I have done in my career.
The number of adopters of Elixir is growing including some of the world’s biggest eCommerce giants while Erlang continues to underpin some of the biggest fintechs and messaging platforms in the world.
+
Created by developers, Code BEAM America is dedicated to bringing the best minds in the Erlang and Elixir communities together to SHARE. LEARN. INSPIRE. Over 3 half days you will learn from 30+ cutting-edge talks and our in-depth training program, how BEAM languages are used in production and revolutionising areas like eCommerce, Engineering, IoT, Gaming, Blockchain, Fintech, Security, Machine Learning and more!
+
As always, community and social interaction will be at the core of the event to enable everyone to connect and interact to share the same experience as with our physical conferences. We offer the opportunity to mingle and meet naturally during coffee breaks and after show virtual party.
+
Let’s stay connected!
+
+
+
Keep up with Code BEAM America
+
- Grab cheaper tickets while you can. Virtual tutorial tickets are selled as combo with conference tickets.
+
GROUP TICKETS - Contact us for special group discounts for group bookings.
+
ACADEMIC TICKETS - We love students and academics. Erlang Ecosystem Foundation again is sponsoring tickets - apply earlier than later!
+
DIVERSITY SCHEME - We're committed to diversity at Code BEAM America. The application process closes on 22 October 2021.
+
VOLUNTEER - Join the Code BEAM America family and get free access to the virtual conference!
+
Sign up to the for the latest updates, or follow @CodeBEAMio to be reminded of all of our key dates, speaker announcements, and ticket news.
+
+
+
+
+
+
+
+
THEMES
+
+
+
INTRODUCTION TO ERLANG AND ELIXIR
+
If you're new to the languages there's no better place to start. The community is super helpful and supportive. And with the co-creator of Erlang and creator of Elixir in attnedance you'll be learning with the best.
+
+
+
LATEST ON THE BEAM ERLANG VM
+
Come and speak with Erlang committers about what's new in the Erlang eco-system.
+
+
+
SCALING AND RELIABILITY
+
Once you learn the potential of the BEAM, it's time to learn how to put it to good use in the real world. Join us to hear the stories of Erlang and Elixir in production and share your own experiences.
+
+
+
PRODUCTION USE CASES
+
In this track, we'll learn from other's experience, where things have been peachy and where they haven't been so much. The conferecne is set-up for you to ask the questions you want and to help others with the answrs to theirs.
+
+
+
FRAMEWORKS, TOOLS, LIBRARIES
+
In the frameworks track, you will discover what's coming next with frameworks like Phoenix, Nerves and more. This is the conference where people choose to share their new projects and releases.
+
+
+
WEB AND API
+
The BEAM is suitable for rapid web application development. There is much to learn about the technology's potential and we provide the time and space at our virtual conference to dig a little deeper.
We offer workshop-style, one or half-day TUTORIALS that provide hands-on learning experiences. All courses are run online in Pacific Standard time zone.
As part of our efforts to grow the community, the Education working group at the Erlang Ecosystem Foundation would like to invite students, underrepresented groups in tech, people with disabilities or people who could otherwise not afford to, to attend the Code Beam America virtual conference for free.
We are always looking to improve diversity at our conferences. To help achieve this, we are providing free diversity places to under-represented groups in tech. Applications close on 22 October 2021.
In spirit, we will be in San Francisco, the original location of the Code BEAM SF event originally scheduled at the time of this event!
+
Log in details will be sent to all attendees one day ahead of the event.
+
+
+
+
+
+
+
+
+
+
+
+
+
Call for Talks - CLOSED!
+
+
+
Calling all #Erlang and #Elixirlang devs! We want to see you share your amazing work at #CodeBEAM this November! We’re accepting talks to be delivered virtually from anywhere in the world. Deadline: 25th July!
Want to join one of the most exciting IT conferences in America free of charge? Join our team as a volunteer! Helping us means access to the coolest talks, most interesting people, chats, BEAM quiz and hallway Toucan lounge!
While Erlang first became commercially available in 1990, the language boasts a rich history leading up to that point, and many of the ideas we consider to be unique to the ecosystem instead trace their lineage back to far older technologies.
+
+
Using that history as a guide, this talk attempts to recontextualize our present understanding of the language, so that we're able to look toward some of the futures that may lie ahead.
There are many trends, fads, and movements that sweep through the world of software. Yet somehow, the underlying fundamentals have remained largely unchanged for the past 30 years. The rapidly advancing cyber-attack environment combined with the use of networked computers in critical infrastructure, are causing a reckoning with the way computers, and all software is built.
+
Strong isolation, from the top to the bottom of the stack is foundational. Erlang and the BEAM, as with so many other things, was way ahead of its time and pointed this direction many years ago. We are going to look at some of those lessons and show how they can used as a first-principle to design a fast, robust, and secure that is positioned for the next 30 years of computing.
+
Strong Isolation is an inevitable shift that will reverberate through the industry. Understanding it now is essential to navigating the next round of scaled out software and computer deployments.
A world of distributed, persistent memory is on its way. Our programming models traditionally operate on short-lived data representations tied to ephemeral contexts such as processes or computers. In the limit, however, data lifetime is infinite compared to these transient actors. We discuss the implications for programming models raised by a world of large and potentially persistent distributed memories, including the need for explicit, context-free, invariant data references. We present a novel operating system that uses wisdom from both storage and distributed systems to center the programming model around data as the primary citizen, and reflect on the transformative potential of this change for infrastructure and applications of the future. We focus in particular on the landscape of data sharing and the consequences of globally-addressable persistent memory on existing consistency models and mechanisms.
Senior Software Engineer/Architect; Elixir, TDD & Open Source Advocate
+
Adi is a Senior Software Engineer/Architect who is passionate about Test Driven Development and functional programming. He was extremely lucky to start off as an Elixir developer and has been using Elixir in production since 2015. Over those years, he has worked across a wide array of applications, and authored / contributed to several open source libraries. He enjoys finding ways of making software more deterministic and easy to work on.
+
+Adi is also currently working on a book for Packt which talks through building a web framework in Elixir. He also spends his time organizing Boston Elixir meetups, mentoring people new to Software development, and selling Elixir to them.
+
+In his free time, he can be seen playing Billiards, Ping Pong or Breakdancing. He is also very passionate about Theoretical Physics and spends a good amount of his time keeping up with advancements in that field.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Adi Iyengar
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 11.45 - 12.10
+
+
+
+
+
Writing a well-tested & deterministic Elixir book
+
+
In this talk I will cover how I am using Elixir to build a tool to help me write a well-tested and deterministic Elixir book. These tips and tricks can be used for any technical writing in Elixir including blog posts. I will talk about how I use EEx and Metaprogramming to ensure all the code-snippets and command-line outputs in the book behave the way they should.
+
OBJECTIVE
+
Through this talk I want to share my experiences writing an Elixir book and encourage people to approach technical writing the same way they approach Software Development, by testing their code and making it as deterministic as they can.
+
AUDIENCE
+
People interested in/passionate about:
+- Technical writing using Elixir
+- Learning some testing tricks
+- Using EEx to write Elixir books/blog posts
+- Leveraging Metaprogramming to automate CLI outputs
Elixir relies heavily on metaprogramming. We use metaprogramming features in Elixir regularly, sometimes without even knowing. In this talk, we will cover some of the low level constructs in Elixir, which will help you better understand how metaprogramming works in Elixir. We will finish up by using some of those constructs to build a Domain-Specific Language to compose music using Elixir.
Paved the way for diversity, inclusion, mental health and social issues at tech events
+
Designer with over 20 years of career. Graduated in Graphic Design, Information Architecture and Astronomy at IAG at USP. Today she's Designer lead in an important national pharmaceutical retail product and leading a team of 10 designers. In her spare time, founded the project @codamos which focuses on the inclusion of underrepresented groups in technology and created the event @elixir_brasil, one of the most inclusive programming events in Brazil.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Alda Rocha
+ Code BEAM America 2021
+
+
+
+ 05 Nov 2021
+ 09.05 - 09.50
+
+
+
+
+
How community can change people's lives.
+
+
A brief look at how the Elixir language has changed the life of a community
+
OBJECTIVE:
+
Engagement, support and collaboration in inclusive and social agendas with technology as the engine of this change
CEO @ Binary Noggin, @TheErlef member, Co-Host of Elixir Outlaws
+
Amos is an Agile practitioner who loves writing great code and teaching teams to ship quality instead of choosing between shipping or quality. Agile podcast host who values starting with trust and working into a strong team. Conference speaker, and meet up organizer.
+ Frank Hunleth / Amos King / Justin Schneck
+ Code BEAM V America
+
+
+
+ 12 Mar 2021
+ 11.55 - 12.35
+
+
+
+
+
Fireside chat on Nerves with Frank Hunleth, Justin Schneck and Amos King
+
+
Join us for a fireside chat with Frank Hunleth and Justin Schneck where Amos King leads a “how it started...how it’s going” interview with the two co-authors of the Nerves project. Nerves uses the BEAM to help both industrial and recreational users create robust and fault tolerant embedded systems while enjoying the friendly environs of the Elixir and Erlang languages. Come enjoy and participate in a discussion of what makes the Nerves community great and get all the inside jokes.
Mexican Software Engineer living and working in Sweden. Co-creator of CodigoyFika Youtube channel focussed on delivering tech content in Spanish. Currently, she works at SoundTrackYourBrand, and she has experience working on Elixir apps. Loves teaching and mentoring and considers it a work of heart.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Manuel Rubio / Laura M. Castro / Brujo Benavides / Anayeli Malvaez / Raúl Chouza / Carlo Gilmar /
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.00 - 10.40
+
+
+
+
+
Panel discussion on Beamer's modern life ó La vida moderna de un Beamer
+
+
This session will host an all spanish-speaking panel to talk about the BEAM; how the platform is currently used and what the future holds for anyone invested in it. Note that this panel will be delivered 98% in spanish.
+
Esta sesión tendrá como invitados a destacados miembros de la comunidad hispanohablante para discutir sobre BEAM; cómo es que aprovechamos la plataforma al día de hoy y qué es lo que el futuro aguarda para todos los interesados en ella. Manejaremos español durante gran parte de la sesión para la comunidad.
+ Pedro Hernandez / Anayeli Malvaez
+ Code BEAM STO 2019
+
+
+
+ 17 May 2019
+ 10.35 - 11.20
+
+
+
+
+
Building the tomorrow classroom with Elixir
+
+
Bunsan is Mexican software company running with 100% remote employees. We care about continuous learning and found out that remote working platforms and collaboration tools won't cover all the features we expected, because they are too broad or too specific. So we are building Tich to bring the best experience for students and instructors into a virtual classroom using awesome technologies like Elixir, Phoenix Channels, Janus WebRTC, Vue.js, Elm and Apple Pencil.
+
OBJECTIVES
+
+
Show how Bunsan built a real-time education platform with Elixir/Phoenix
+
Show the power of Phoenix Channels in mobile and web platforms
+
Explain the challenges to building a real-time whiteboard using The Apple Pencil
+
Show how the application communicates with RabbitMQ and Janus
+
Share our experience working with Elixir along with Elm and Vue.js
+
+
TARGET AUDIENCE
+
Developers interested in building video-conference platforms with Elixir or interested in see phoenix channels in action.
Andyi started his proffesional programming adventure from coding in Erlang over 10 years ago. Since then he also worked with C++, Python, Elm, JS and Elixir.
+
+Currently he is on course to fulfill his dream to make it to retirement without a need to touch any language other than Erlang.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Nicholas Adams / Andrei Zavada
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 13.15 - 13.40
+
+
+
+
+
Fireside chat on Riak
+
+
A fireside chat covering recent updates in the Riak community, an in depth look into challenges presented in the OTP uplift process from OTP16 to OTP22 and a special announcement.
Researching better systems for IoT at the University of Glasgow.
+
Anna Lito Michala (http://www.dcs.gla.ac.uk/~amichala/) is an Assistant Professor in Understandable Autonomous Systems at the School of Computing Science, University of Glasgow. She has expertise in safety-critical systems software engineering, system/sub-system prognostics in extreme and resource constrained environments and particularly vessel condition monitoring. She has acquired her MSc in 2008 on Biomedical Engineering at the University of Strathclyde and Bachelor degree is in Computer Science from the University of Crete where she had worked at the FORTH instituted of research at the Computer Architecture and VLSI Systems Laboratory. Her research interests are in cyber-physical systems engineering, Industrial IoT, machine learning for decision support. Funded projects include RSE/SE CH12, EPSRC AnyScale Apps EP/L000725/1, EU FP7 INCASS 605200.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Anna Lito Michala
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 13.15 - 13.40
+
+
+
+
+
Machine learning, IoT and Erlang: is this the right mix for reliable federated learning?
+
+
Edge computing and has ground-breaking potential to impact in IoT. Porting Machine Learning capabilities to the IoT device is highly desirable to reduce cloud dependency. Attempts to standardise IoT stacks have not yet gained significant acceptance due to introducing the issues of large incoming data flows, trust, privacy and security, and these are prohibitive for many scenarios. New resilient IoT stacks are necessary to address the problems at the source. That is to enable federated de-centralised solutions, and to maintain accuracy, low computational and power consumption.
+
OBJECTIVE
+
Bounce the idea of the wall and get feedback from the community. Identify other projects working in this domain and explore collaborations.
+
AUDIENCE
+
Anyone working on Embedded systems using Erlang with a keen interest on supporting data driven decision support.
Anna Neyzberg is a San Francisco native who has done a lot of work in the ruby community in SF and currently sits on the board of RailsBridge. She has taken this community organizing experience and last year co-founded ElixirBridge in SF- an organization that offers free weekend long workshops, with the goal of creating an inclusive welcoming space for underrepresented populations in tech to learn elixir. By day she works as a Developer at Carbon Five. When not in front of a keyboard, she is trying to get better at climbing rocks.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Anna Neyzberg / Amos King / Chris Keathley / Sean Cribbs
+ Code BEAM America 2021
+
+ Anna Neyzberg / Hannah Howard
+ Code BEAM SF 2019
+
+
+
+ 01 Mar 2019
+ 16.15 - 17.00
+
+
+
+
+
Go vs Elixir: A concurrency comparison
+
+
As software engineer we often are looking for the best tool for the job. Yet what about when languages appear similar? What then?
+
In this talk, we will compare Go and Elixir. These languages have similar principles but make core tradeoffs that affect when one might use them. We will specifically compare their concurrency paradigms to see what we might use when.
+
OBJECTIVES
+
The goal of this talk is to have the audience walk away with a better understanding of the concurrency models in Go and Elixir and what the advantages and tradeoffs of each one are.
+
TARGET AUDIENCE
+
Mid to senior level devs with some experience in concurrent programming (basically everyone at Code BEAM SF).
What is Crypto? Why should we care? And why Elixir? This talk explains how Cryptocurrencies work and why they are valuable. Then we build are own cryptocurrency in Elixir - gaining insight into why Elixir is an interesting option for the blockchain.
+
TALK OBJECTIVES
+
Explaining Cryptocurrency, and explaining how some of the powerful features of OTP lend themselves well to the blockchain
+
AUDIENCE
+
Individuals that are new to cryptocurrency and are new to Elixir
Ayanda is an Erlang engineer and RabbitMQ specialist, leading research on running BEAM systems on the cloud. He’s worked with companies such as 8x8 Inc, on their messaging platform. He also led the RabbitMQ Engineering team at Erlang Solutions, and contributed a number of significant features to the RabbitMQ product. His journey with Erlang dates back 12 years ago, at Pharos Avantgard, where he spent a while building Telco/GSM core network nodes in Erlang.
+
He's done some research at the University of Leeds on router/ATM switch fabric design. He's also a trainer, speaker, and part-organizer of the annual RabbitMQ Summit.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Ayanda Dube
+ Code BEAM Europe 2022
+
+
+
+ 20 May 2022
+ 10.35 - 11.20
+
+
+
+
+
Designing BEAM Systems for the Cloud (Amazon AWS)
+
+
System designers are now turning to cloud infrastructure for deploying and running BEAM systems at scale. But how can BEAM systems be designed to exploit cloud infrastructure such as Amazon AWS? In this talk, we look at some of the aspects to look out for when designing and architecting Erlang/Elixir systems for the cloud, with focus on Amazon AWS.
+
OBJECTIVES
+
Help Erlang/Elixir engineers better design systems for the cloud, (Amazon AWS).
+ Sophie DeBenedetto / Ayanda Dube / Paweł Chrząszcz / Dylan Kennedy
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 11.15 - 11.55
+
+
+
+
+
Panel Discussion: Message Protocols and The BEAM
+
+
In an increasingly connected technological landscape, message passing between applications, organizations, and devices is more critical than ever before. We'll be joined by Pawel Chrzaszcz, Architect of MongooseIM at Erlang Solutions, RabbitMQ contributor Ayanda Dube, and Emqx.io Global VP Dylan Kennedy. These XMPP, AMQP, and MQTT experts will chat about when to reach for these protocols and why, share their thoughts on why these technologies were built, and tell us about their own experiences building on top of these protocols. Whether you're focused on IoT messaging, message passing within the infrastructure of your business, or super secure messaging between organizations, you'll have a chance to ask questions and dive into the wide world of messaging on the BEAM and beyond.
+ Ayanda Dube / Karl Nilsson
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.50 - 11.15
+
+
+
+
+
Fireside chat on RabbitMQ
+
+
Discussion on RabbitMQ, it’s usage, design and Erlang implementation aspects. We discuss supported protocols (e.g. AMQP, MQTT) as well as different queue types and their purpose, along with consensus and HA/scalability matters. We discuss the available RabbitMQ toolkits and libraries which the community can adopt for building their own distributed systems.
Innovative unorthodox design patterns used in RabbitMQ
+
+
RabbitMQ messaging broker is over 10 years old, with it's codebase having matured significantly over the past decade. Within it's implementation, we find some of the most innovative usage of the Erlang OTP which attribute to it's well trusted performance, stability and ergonomic friendliness for operators. In this talk, Ayanda illustrates, explains and shares some of these creative internal design patterns used within RabbitMQ. Components such as mirrored-supervisors, decorators, gen_server2, delegates, and much much more!
+
OBJECTIVES
+
Introduce the Erlang and Elixir community to innovative, unorthodox design patterns and concepts used in RabbitMQ, which they may learn from, adopt and even make use of in their own system designs.
+
AUDIENCE
+
Erlang and Elixir developers, and any other developers building systems on the BEAM.
Benoît is a French entrepreneur, owner of Enki Multimedia, a French Company providing consulting & development in decentralised data and (tele)communication platforms. Most of the work provided by Enki Multimedia is done in primarily done in Erlang. Benoît is best known for his work in open-source with many libraries and tools successfully used in Erlang and Elixir applications. Among them Hackney, but others as well. Benoît has been committed to the Erlang community for a long time. It all started by joining the CouchDB project, one of the oldest databases written in Erlang. You may have met him in a number of conferences and meetups around the world (San Francisco, Stockholm, Milan, Munich, Moscow, Tokyo, Paris, …). He also organises the French Erlang Paris meetup.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Benoit Chesneau
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 10.40 - 11.05
+
+
+
+
+
Building a Serverless platform for Edge Computing
+
+
After the feedback from our customers at Enki Multimedia, I started in Erlang a new opensource "On-Premise Serverless" platform with an emphasis on moving the data and its application, next to the consumer in a P2P manner. Based on barrel it allows you to build a P2P messaging and data platform using replication and synchronisation mechanisms. Eg. a multi-homing application, a decentralised message hub, a signalling platform, … .
+I will present the platform and how to extend it in Erlang but not only.
+
OBJECTIVE
+
I will present some key mechanisms of the platform and how it can be extended in Erlang but not only. At the end the audience should understand how Erlang is useful in such platform and how to use and customise the platform to fit their needs.
+
AUDIENCE
+Anyone interested in edge commuting and serverless platforms
Barrel, keep your data in sync in your Erlang application
+
+
Barrel is a database Benoit wrote from scratch in Erlang that can be used embedded in an Erlang or Elixir application like Mnesia or standalone over HTTP from any applications or service. With Barrel, you can easily bring and keep a view of your data inside your application and replicate it between your different machines.
+
After briefly describing the architecture of barrel and its key features, the talk will show how we use it to create a custom data platform in Erlang or Elixir for a consumer-oriented product, mixing local and remote storages and different peer-to-peer replications strategies.
+
OBJECTIVES
+
Present Barrel as an alternative of Mnesia to build a modern data platform in Erlang or Elixir mixing different storage backends and locations using the replication and different peer-to-peer strategies.
+
TARGET AUDIENCE
+
Any developer interested in database and peer-to-peer technologies.
gen_persistence: persist the state of your processes
+
+
Often we want to persist the state of our Erlang processes so that it can be recovered after a crash, started/restarted on demand (via a supervisor or manually) or migrated in the cluster via a storage provider. To solve it Benoit has created a new small opensource library.
+
With gen_perstistence all events coming to your modules are stored to the disk and replayed on restart but it’s also possible to store a snapshot of the state to reduce the recovery time. An implementation of gen_statem and gen_server with persistence is also provided.
+
OBJECTIVES
+
This talk will describe the usage of gen_persistence and how to create custom plugins to store the events and the snapshots.
+
TARGET AUDIENCE
+
Any developer interested in discovering an intuitive way to build a stateful middle-tier using Erlang.
Barrel, keep your data in sync in your Erlang application
+
+
Barrel is a database Benoit wrote from scratch in Erlang over the past two years that can be used embedded in an Erlang or Elixir application like Mnesia or standalone over HTTP from any applications or service. With Barrel, you can easily bring and keep a view (complete or partial) of your data inside your application and replicate it between your different machines.
+
After briefly describing the architecture of barrel and its key features, the talk will show how we mix local and remote storages and different peer-to-peer replications strategies to create a custom data platform. This data platform with thousands of nodes in Erlang or Elixir will be be used in a new application for general public.
+
OBJECTIVES
+
Present barrel as an alternative to mnesia for building a modern data platform in Erlang or Elixir, mixing different storage backends and locations, using replication and different peer-to-peer strategies.
Creator of Scenic and lead engineering for Xbox Live, XNA
+
Boyd’s near 30-year career spans the range of software projects, from desktop publishing, to web servers, to game consoles, to low-level operating systems. For the past four years, he has been independently exploring and building a full stack for Connected Devices that heavily leverages the BEAM.
+
+Previously, Boyd spent 18 years at Microsoft running engineering for things such as Xbox Live, XNA (game developer program), and everything OS for Xbox One. This work includes large scaled-out datacenter services, VMs, and the layout of the hypervisor/kernel.
+
+His most recent release is the open-source Scenic libraries, which is a functional UI stack built on the BEAM. Its primary goal is for use in connected devices, but it is already being used for desktop apps and more. His current work takes the foundation laid with Scenic and is attempting to answer deeper questions about the future of client-side operating systems.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Boyd Multerer
+ Code BEAM V America
+
+
+
+ 11 Mar 2021
+ 11.50 - 12.30
+
+
+
+
+
The Kry10 Operating System: Security and the BEAM
+
+
After years of work, we are finally ready to start discussing the upcoming Kry10 Operating System, which is designed for both high security and running the BEAM as a first-class application. In his talk, Boyd will give a preview, discuss goals, directions and show working code. Whilst we will get an update on the Scenic UI framework, emphasis will be on the OS and where it fits into the larger ecosystem.
There are many trends, fads, and movements that sweep through the world of software. Yet somehow, the underlying fundamentals have remained largely unchanged for the past 30 years. The rapidly advancing cyber-attack environment combined with the use of networked computers in critical infrastructure, are causing a reckoning with the way computers, and all software is built.
+
Strong isolation, from the top to the bottom of the stack is foundational. Erlang and the BEAM, as with so many other things, was way ahead of its time and pointed this direction many years ago. We are going to look at some of those lessons and show how they can used as a first-principle to design a fast, robust, and secure that is positioned for the next 30 years of computing.
+
Strong Isolation is an inevitable shift that will reverberate through the industry. Understanding it now is essential to navigating the next round of scaled out software and computer deployments.
Get to know Scenic, the first fully functional UI system built directly for and on the BEAM.
+
Boyd will show the high-level concepts and functionality of Scenic, including latest developments. Building a UI system on the BEAM is also a great way to understand supervision trees.
+
This talk will demonstrate software isolation, recovery, concurrency and more using Scenic to directly see what is going on.
+
OBJECTIVES
+
+
Get to know Scenic.
+
Learn about why functional UI is great and what can be done with it.
+
Understand when and where to build functional UI and why it is particularly good for connected devices.
+
Gain a deeper understanding of supervision trees through visual demonstrations with Scenic.
+
Layout where Scenic is going in the next releases.
+
+
TARGET AUDIENCE
+
Everybody interested in building connected devices (IoT) with the BEAM. Also good for beginner to intermediate developers who want a visual understanding of supervision trees.
Bram is a developer, architect and security advocate with more than 20 years experience delivering complex software platforms for the telecom and financial industries, meeting their stringent security and reliability requirements. He has been using Erlang, and later Elixir, for more than 10 years.
+
+As a security advocate he has taken an interest in the security aspects of the Erlang/OTP ecosystem, as a blogger (at https://blog.voltone.net/), trainer, speaker, and open source contributor. Bram is a founding member of the Security WG of the Erlang Ecosystem Foundation.
Join Maxim Fedorov and Bram Verburg to discuss security for BEAM-based applications. How can industry best-practices for secure coding, testing and deployment hardening be applied to the Erlang ecosystem? What has been achieved over the last few years and what challenges remain? How can the community collaborate on moving things forward? Audience participation, through questions/comments in the session chat, is encouraged!
The BEAM platform lets us develop uniquely robust systems for mission critical applications. But in the presence of malicious users, even a BEAM application is only as strong as its weakest link.
+
In this talk Bram will look at best practices for secure coding specifically for the BEAM ecosystem. He will cover Erlang, Elixir and several popular 3rd party frameworks and libraries.
+
THIS TALK IN THREE WORDS
+
BEAM
+
Security
+
Practices
+
OBJECTIVES
+
Help people identify potential weaknesses in their applications early in the product lifecycle and offer actionable advice.
+
TARGET AUDIENCE
+
Anyone developing applications that may be subject to malicious users or random attacks.
+ Viktória Fördős / Bram Verburg
+ Code BEAM V Europe 2021
+
+
+
+ 19 May 2021
+ 13.20 - 14.00
+
+
+
+
+
Fireside chat on security for practitioners and academics
+
+
Let’s talk about what keeps you awake at night... and about what should keep you awake at night.
+
Join Bram and Viktória and learn about the threats targeting BEAM users, the solutions that exist today and the unsolved challenges that await brilliant minds.
Erlang/OTP's built-in 'ssl' application forms the basis of many client and server packages. Unfortunately it has quite a few quirks, potentially leading to weak (or even broken) security. Many higher layer packages expose the 'ssl' application's socket options directly, with no additional defaults and little guidance on how to use them.
+
This talk highlights the most important client and server settings for 'ssl' sockets, how the defaults have evolved across OTP versions, and how popular libraries build on them. Topics include cipher suite selection, server hostname verification, known certificate issues (wildcard SAN, cross-signed CA), revocation checks, ECDSA servers, and more.
+
Practical code samples are given in Erlang and/or Elixir, as applicable.
+
OBJECTIVES
+
Learn to apply secure TLS configurations to clients and servers, either directly with the OTP 'ssl' application or through the many libraries that rely on it: Ranch, Cowboy, Plug, Phoenix, httpc, Hackney, HTTPoison, etc.
Brujo is a long-time Erlang developer, blogger, and trainer.
+
Currently working for NextRoll, from sunny Barcelona, Spain.
+
As an active member of the Education WorkGroup at the EEF, Brujo provides mentorship through diverse platforms.
+
Brujo consistently won every BEAM Quiz on CodeBEAM conferences, until they removed the contest 😎
+Find more about him at http://about.me/elbrujohalcon.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Brujo Benavides
+ Code BEAM V Europe 2021
+
+
+Tutorial/
+
+ 18 May 2021
+ 10.00 - 14.00
+
+
+
+
+
Working Effectively with Erlang Legacy Code
+
+
+
So you just joined a massive project with tons of poorly-maintained Erlang code. DON'T PANIC! This tutorial will teach you all the tools and techniques you need to start working on it confidently and productively.
+
You will learn how to use tools like the compiler, common_test, xref, dialyzer, elvis, hank, the formatter and others in large codebases which are generally hard to work on. These tools and some of the techniques will increase your confidence and help you work more efficiently.
+
+
EXPERTISE
+
+
Intermediate
+
+
+
COURSE DURATION
+
+
4 hours
+
+
+
TARGET AUDIENCE
+
+
Erlang developers that work (or plan to work) in legacy systems.
+
+
+
PREREQUISITES
+
+
Erlang/OTP 22 (or newer), github, and a text editor
+
+
+
+
COVERS THE FOLLOWING TOPICS
+
+
Improving systems in an iterative way
+
Testing Frameworks: Common Test, Eunit
+
Cross-reference Analyzers: Xref
+
Discrepancy Analyzers: Dialyzer / Gradualizer
+
Linters: Elvis / rebar3_lint
+
Dead Code Removers: Hank / rebar3_hank
+
Security Analyzers: PEST
+
+
+
WHY YOU SHOULD ATTEND THIS COURSE
+
+
Increases your confidence in dealing with large and complex systems.
+
Gives you tools to help you build better applications.
+
Gets you thinking in maintainability.
+
Helps you follow Joe’s recommendation of writing Beautiful Code.
+ Paulo F. Oliveira / Brujo Benavides
+ Code BEAM Europe 2022
+
+
+Tutorial/
+
+ 17 May 2022
+ 09.30 - 17.00
+
+
+
+
+
Building a maintainable open-source library with Erlang/OTP - A Speedrun
+
+
+
LOCATION
+
Virtual
+
TRAINING DESCRIPTION
+
You will learn how to go from an empty folder to a maintainable open-source library hosted on GitHub, ready to be published on Hex.pm and built with Erlang/OTP, using rebar3 and a host of plugins that will help you get there.We will guide you through this interactive process that will involve starting from a template, writing in-source documentation, creating and executing tests, performing static analysis, setting up continuous integration using Github Actions, and finally publishing your library on Hex.pm.
+
DURATION
+
7 Hours
+
+
+
TRAINING OBJECTIVES
+
To learn how to build a fully releasable open-source library and get it ready to be published in Hex.pm,
+To prepare it to be easily maintainable, through the use of tests, static checks, and other tools.
+
TARGET AUDIENCE
+
People who would like to contribute to the Erlang Ecosystem.
So you just joined a massive project with tons of poorly-maintained Erlang code. DON'T PANIC! This talk will give you many tools and techniques that you will need to start working on it confidently and productively.
+You will learn multiple tips and tricks to incrementally start using the compiler, Common Test, Xref, Dialyzer, Elvis, Hank, the Formatter, and others in large codebases. A task that's generally hard to do but usually produces enormous benefits in terms of maintenance. These tools and techniques will increase your confidence, and they'll help you and your team work more efficiently.
+
OBJECTIVES
+The goal of the task is to reduce the pain developers feel when faced with large poorly-maintained projects written in Erlang, by showing how the tools that they would use from day 0 on new projects can be introduced gradually even when they were never used before.
+
AUDIENCE
+Almost any Erlang developer, maybe except for those who had worked with me in the past:)
+ Manuel Rubio / Laura M. Castro / Brujo Benavides / Anayeli Malvaez / Raúl Chouza / Carlo Gilmar /
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.00 - 10.40
+
+
+
+
+
Panel discussion on Beamer's modern life ó La vida moderna de un Beamer
+
+
This session will host an all spanish-speaking panel to talk about the BEAM; how the platform is currently used and what the future holds for anyone invested in it. Note that this panel will be delivered 98% in spanish.
+
Esta sesión tendrá como invitados a destacados miembros de la comunidad hispanohablante para discutir sobre BEAM; cómo es que aprovechamos la plataforma al día de hoy y qué es lo que el futuro aguarda para todos los interesados en ella. Manejaremos español durante gran parte de la sesión para la comunidad.
Working with legacy code can be very frightening sometimes. That's why most of us tend to touch as little as possible every time we need to make a change, particularly when we're removing stuff. That leads to lots and lots of "dead code" (pieces of code that are no longer needed but never removed… just in case). That piling of dead code makes debugging and maintaining systems harder and harder, and the cycle starts again…
+
That's why, at NextRoll, we created Hank, the Dead Code Killer.
+
Our latest open-source tool that you need to start using today!
+
OBJECTIVES:
+
To help developers lose the fear to delete code from large systems using Hank to help them.
One of the first things every newcomer faces when they meet OTP are behaviours. The general explanation for them is usually along the lines of "they're like interfaces for OOP". While that's somewhat accurate, it's also misleading and introduces a lot of confusion on how and when to use the existing behaviours and when it's reasonable to define your own ones. In this talk, Brujo will explain what behaviours are, how they should be used and how to create and expose new ones if you ever need to.
+
OBJECTIVES
+
To help newcomers get familiar with OTP behaviours and to help experienced devs rediscover them.
+
TARGET AUDIENCE
+
Developers willing to understand what they really do when they implement a generic server or a supervisor. Also folks considering the creation of their own behaviours with the desire to do it right. If you don't know what a behaviour is at all, you're welcome here too.
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.
+
OBJECTIVES
+
The main goal of the talk is to showcase a way to structure Erlang systems based on strong type definitions and explain why and how that structure is beneficial to Erlang developers.
+
AUDIENCE
+
Everyone, but it might be of particular interest for those building open-source libraries and/or big applications with lots of modules.
GitHub Campus Expert, ilustration and founder of Visual Partnership
+
Carlo is a software developer at Erlang Solutions based on CDMX. He's the founder of Visual Partnership, a project to combine visual thinking and software development. He use to record technical talks in real time into a graphic recordings. He likes to share his passion working with Elixir and the BEAM ecosystem with the community.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Manuel Rubio / Laura M. Castro / Brujo Benavides / Anayeli Malvaez / Raúl Chouza / Carlo Gilmar /
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.00 - 10.40
+
+
+
+
+
Panel discussion on Beamer's modern life ó La vida moderna de un Beamer
+
+
This session will host an all spanish-speaking panel to talk about the BEAM; how the platform is currently used and what the future holds for anyone invested in it. Note that this panel will be delivered 98% in spanish.
+
Esta sesión tendrá como invitados a destacados miembros de la comunidad hispanohablante para discutir sobre BEAM; cómo es que aprovechamos la plataforma al día de hoy y qué es lo que el futuro aguarda para todos los interesados en ella. Manejaremos español durante gran parte de la sesión para la comunidad.
Dynamic Language Apologist, Elixir hacker, Senior Engineer
+
Chris is a senior software engineer at Frame.io. Although he started out writing C for embedded systems, these days he spends his time in Elixir, Haskell, Go, and Rust. When not writing code for work, Chris can be found writing code for fun, talking about the joys of functional programming, playing pinball, roasting coffee or building Lego with his kids.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Amos King / Chris Keathley / Anna Neyzberg
+ Code BEAM V America
+
In the BEAM world, we typically focus on the ways to make our system's fault tolerant, faster, or generally more reliable. This is great when you're building software for work or for a company. But there's an entirely separate class of projects out there. The kind of projects with no tests, no business plan, and only one user; yourself. Unfortunately, we typically don't share these sorts of projects, even though they often include some of our best ideas.
+
+In this talk, we'll take a closer look at these small projects, and we'll see the profound effect they have on the way that we think about programming.
Co-founder of Nova with many years of experience in building web services.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Daniel Widgren / Niclas Axelsson / Jesse Gumm
+ Code BEAM V Europe 2021
+
+
+
+ 20 May 2021
+ 14.20 - 15.00
+
+
+
+
+
Fireside chat about Nova and Nitrogen
+
+
The leads for one of the oldest and one of the newest Erlang web frameworks discuss each project's vision, their experiences, and making Erlang appealing to wider audiences.
+ Daniel Widgren / Niclas Axelsson
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 11.15 - 11.55
+
+
+
+
+
Getting around with NOVA
+
+
NOVA is an Erlang framework for building scalable web applications with realtime connectivity across all your devices. In this talk we will talk about what NOVA is and concepts around it. Also go from basics, to building our own realtime applications. You will learn the foundations, core components and ideas how to use NOVA.
+ Daniel Widgren / Niclas Axelsson
+ Code BEAM STO V
+
+
+
+ 11 Sep 2020
+ 16.25 - 16.50
+
+
+
+
+
Nova: a web framework for Erlang
+
+
TALK LEVEL: BEGINNER / INTERMEDIATE/ ADVANCED
+
Nova is a framework that started a long time ago but now is gathered as a package. With influences from Chicago Boss and Phoenix, we wanted an Erlang framework that was easy to use.
+
THIS TALK IN THREE WORDS
+
Simplify
+
Web
+
Development
+
OBJECTIVES
+
To show a new way to build web applications with Erlang.
+
TARGET AUDIENCE
+
Everyone who is interested in web development with Erlang.
Macaroons allow decentralized authorization in the cloud, making them a fantastic fit for web applications built in Elixir. We'll take a look at what Macaroons are, the benefits they offer, and how they are a perfect authorization construct in a Phoenix based web application.
+
OBJECTIVE:
+
Everyone who attends the talk should leave with a general idea about what Macaroons are, how they work and why they'd be useful in the context of an Elixir web API/Application.
+
AUDIENCE:
+
Experienced Elixir/Phoenix developers who may be familiar with authorization constructs such as JWTs.
Senior developer at Erlang Solutions, refactoring terrible software to be pretty and readable
+
Erlang and C++ professional, Rust, C# and Python enthusiast, 9 years of Erlang experience, 20+ years of C and C++.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Dmytro Lytovchenko
+ Code BEAM V Europe 2021
+
+
+Tutorial/
+
+ 18 May 2021
+ 09.30 - 17.30
+
+
+
+
+
BEAM VM under the Hood
+
+
+
Everything you wanted to know about the BEAM but were too afraid to ask.
+
Join us for a guide for operations and development teams. Through examples and hands-on exercises, we will showcase how to manage the BEAM VM in operational environments, optimising for memory utilisation and performance when using Erlang or Elixir.
+
+
OBJECTIVES
+
Understand how the BEAM works under the hood Fine-tune it and optimise its settings for throughput and memory use.
+
+
PREREQUISITES
+
Experience in developing and supporting languages running on the BEAM including Erlang and Elixir.
+
+
TARGET AUDIENCE
+
The course is aimed at experienced developers and devops engineers, helping them pre-empt and address behaviours which arise as the result of VM specific settings, be it disruption of soft real time properties as a result of garbage collection or bottlenecks in the scheduler.
+
+
+
COURSE OUTLINE
+
Introduction to the BEAM
+
The highlights of the BEAM Virtual Machine, highlighting the features which make it stand out in comparison to other VMs.
+
Processes under the hood
+
Explore at processes, how memory is allocated, managed and garbage collected. We look at some of the bottlenecks in the BEAM caused by concurrency, describe how they manifest themselves, and how to avoid them.
+
The process scheduler
+
Understand how the schedulers work, how it scales on multi-core architectures and what its limitations are. We cover how the run queues can be monitored and manipulated, and how process priorities can backfire.
+
Memory management
+
In this section, we look at different memory types including system, atom, binary, code and ets tables. We will cover how (and why) you should monitor memory, and how issues can arise. We will also cover how the garbage collector works, focusing if, and when optimizations are necessary.
+
Tweaking and fine-tuning
+
How can the BEAM VM be tweaked and what possible areas for fine-tuning are available to you? We'll look at some of the most obscure flags which can come in hand, allowing for specific optimisations on a VM level, be it to increase I/O or throughput in virtualised environments.
A guide for operations and development teams Everything you wanted to know about the BEAM but were afraid to ask. Through examples and hands on exercises, we will showcase how to manage the BEAM VM in operational environments, optimizing for memory utilisation and performance when using Erlang or Elixir.
+
+
OBJECTIVES
+
Understand how the BEAM works under the hood Fine-tune it and optimize its settings for throughput and memory use.
+
+
PREREQUISITES
+
Experience in developing and supporting languages running on the BEAM including Erlang and Elixir.
+
+
TARGET AUDIENCE
+
The course is aimed at experienced developers and devops engineers, helping them pre-empt and address behaviour which arise as the result of VM specific settings, be it disruption of soft real time properties as a result of garbage collection or bottlenecks in the scheduler.
+
+
+
COURSE OUTLINE
+
Intro to the BEAM
+
The highlights of the BEAM Virtual Machine, highlighting the features which make it stand out in comparison to other VMs.
+
Processes under the hood
+
Explore at processes, how memory is allocated, managed and garbage collected. We look at some of the bottlenecks in the BEAM caused by concurrency, describe how they manifest themselves, and how to avoid them.
+
The Process Scheduler
+
Understand how the schedulers work, how it scales on multi-core architectures and what its limitations are. We cover how the run queues can be monitored and manipulated, and how process priorities can backfire.
+
Memory Management
+
In this section, we look at different memory types including system, atom, binary, code and ets tables. We will cover how (and why) you should monitor memory, and how issues can arise. We will also cover how the garbage collector works, focusing if, and when optimizations are necessary.
+
Tweaking and fine-tuning
+
How can the BEAM VM be tweaked and what possible areas for fine-tuning are available to you? We'll look at some of the most obscure flags which can come in hand, allowing for specific optimisations on a VM level, be it to increase I/O or throughput in virtualized environments.
A guide for operations and development teams Everything you wanted to know about the BEAM but were afraid to ask. Through examples and hands on exercises, we will showcase how to manage the BEAM VM in operational environments, optimizing for memory utilisation and performance when using Erlang or Elixir.
+
+
OBJECTIVES
+
Understand how the BEAM works under the hood Fine-tune it and optimize its settings for throughput and memory use.
+
+
PREREQUISITES
+
Experience in developing and supporting languages running on the BEAM including Erlang and Elixir.
+
+
TARGET AUDIENCE
+
The course is aimed at experienced developers and devops engineers, helping them pre-empt and address behaviour which arise as the result of VM specific settings, be it disruption of soft real time properties as a result of garbage collection or bottlenecks in the scheduler.
+
+
+
COURSE OUTLINE
+
Intro to the BEAM
+
The highlights of the BEAM Virtual Machine, highlighting the features which make it stand out in comparison to other VMs.
+
Processes under the hood
+
Explore at processes, how memory is allocated, managed and garbage collected. We look at some of the bottlenecks in the BEAM caused by concurrency, describe how they manifest themselves, and how to avoid them.
+
The Process Scheduler
+
Understand how the schedulers work, how it scales on multi-core architectures and what its limitations are. We cover how the run queues can be monitored and manipulated, and how process priorities can backfire.
+
Memory Management
+
In this section, we look at different memory types including system, atom, binary, code and ets tables. We will cover how (and why) you should monitor memory, and how issues can arise. We will also cover how the garbage collector works, focusing if, and when optimizations are necessary.
+
Tweaking and fine-tuning
+
How can the BEAM VM be tweaked and what possible areas for fine-tuning are available to you? We'll look at some of the most obscure flags which can come in hand, allowing for specific optimisations on a VM level, be it to increase I/O or throughput in virtualized environments.
Everything you wanted to know about the BEAM but were too afraid to ask.
+
Join us for a guide for operations and development teams. Through examples and hands-on exercises, we will showcase how to manage the BEAM VM in operational environments, optimising for memory utilisation and performance when using Erlang or Elixir.
+
+
OBJECTIVES
+
Understand how the BEAM works under the hood Fine-tune it and optimise its settings for throughput and memory use.
+
+
PREREQUISITES
+
Experience in developing and supporting languages running on the BEAM including Erlang and Elixir.
+
+
TARGET AUDIENCE
+
The course is aimed at experienced developers and devops engineers, helping them pre-empt and address behaviours which arise as the result of VM specific settings, be it disruption of soft real time properties as a result of garbage collection or bottlenecks in the scheduler.
+
+
+
COURSE OUTLINE
+
Introduction to the BEAM
+
The highlights of the BEAM Virtual Machine, highlighting the features which make it stand out in comparison to other VMs.
+
Processes under the hood
+
Explore at processes, how memory is allocated, managed and garbage collected. We look at some of the bottlenecks in the BEAM caused by concurrency, describe how they manifest themselves, and how to avoid them.
+
The process scheduler
+
Understand how the schedulers work, how it scales on multi-core architectures and what its limitations are. We cover how the run queues can be monitored and manipulated, and how process priorities can backfire.
+
Memory management
+
In this section, we look at different memory types including system, atom, binary, code and ets tables. We will cover how (and why) you should monitor memory, and how issues can arise. We will also cover how the garbage collector works, focusing if, and when optimizations are necessary.
+
Tweaking and fine-tuning
+
How can the BEAM VM be tweaked and what possible areas for fine-tuning are available to you? We'll look at some of the most obscure flags which can come in hand, allowing for specific optimisations on a VM level, be it to increase I/O or throughput in virtualised environments.
typed_erlc: Prototype of a safe and fast compiler for Erlang
+
+
Presenting a new compiler, which consumes classic Erlang syntax and outputs standard BEAM files. Explaining reasoning behind the project and what problems it is designed to solve, and what problems it may potentially solve in the future. Comparing to other compilers and other languages on the BEAM. This opens possibilities for new safety and style checks, new optimizations, new code generation backends (did i hear someone say WASM?), etc.
+
OBJECTIVES
+
Show the project in the making. Explain why it exists and how it is good for an average presentation listener. Explain how it will plug in into their tool chain and will help improve their code quality.
+
AUDIENCE
+
Erlang developers, mostly working/maintaining heaps of legacy code.
The BEAM is the standard virtual machine implementation in use by the Erlang Ecosystem, powering Erlang, Elixir and 30 other languages which run on it. It was specially designed just to run Erlang, but as we know, that has changed. But what is the BEAM and what makes it special? We will have a quick tour of the BEAM, visiting major highlights including concurrency, resilience, and its soft real time properties, understanding how it all looks internally and functions. There will be no need for a towel on this short tour.
+
AUDIENCE
+
Developers and system architects who want to get a better understanding of how their applications will run.
The talk briefly explains Daniel Kahneman's fast and slow thinkers concept, where every person can operate in easy-going and cheap mode, making mistakes and enjoying the distractions, while harder tasks require switching to slow and expensive thinker mode where the smart decisions and judgements can be made, at the cost of getting tired real quick.
+
The talk goes in detail how it is beneficial to accept your human nature, prone to errors, and instead trust your Erlang & Elixir language, available tools, and tests more than you would trust yourself.
+
Letting your inner monkey drive the development and allowing it to make mistakes on the way is an acceptable and winning strategy. Highlighting the importance of human in, sometimes idealized, world of the software development, while the human is prone to errors.
+
THIS TALK IN THREE WORDS
+
Human
+
Trust
+
Monkey
+
OBJECTIVES
+
Highlighting the role of human nature prone to errors in software development and how the available tools and programming techniques can mitigate these risks allowing to get more reliable results.
The talk briefly explains Daniel Kahneman's fast and slow thinkers concept, where every person can operate in easy-going and cheap mode, making mistakes and enjoying the distractions, while harder tasks require switching to slow and expensive thinker mode where the smart decisions and judgements can be made, at the cost of getting tired real quick.
+
The talk goes in detail how it is beneficial to accept your human nature, prone to errors, and instead trust your Erlang & Elixir language, available tools, and tests more than you would trust yourself.
+
Letting your inner monkey drive the development and allowing it to make mistakes on the way is an acceptable and winning strategy. Highlighting the importance of human in, sometimes idealized, world of the software development, while the human is prone to errors.
+
THIS TALK IN THREE WORDS
+
Human
+
Trust
+
Monkey
+
OBJECTIVES
+
Highlighting the role of human nature prone to errors in software development and how the available tools and programming techniques can mitigate these risks allowing to get more reliable results.
The time is long overdue to rewrite the technology, which we all use, in a safe and strongly typed language, such as Rust. Started with a small mailing list discussion in September 2017, the implementation is marching towards having a working Erlang shell and running Common Test suites from Erlang OTP source.
+
OBJECTIVES
+
Presenting a project to advanced audience, sparking a discussion and collecting the feedback.
+
TARGET AUDIENCE
+
Intermediate/pro BEAM users and enthusiasts, who are interested in seeing another BEAM virtual machine in works.
Dylan is the Global VP at Emqx.io and he will be representing the MQTT perspective.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Sophie DeBenedetto / Ayanda Dube / Paweł Chrząszcz / Dylan Kennedy
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 11.15 - 11.55
+
+
+
+
+
Panel Discussion: Message Protocols and The BEAM
+
+
In an increasingly connected technological landscape, message passing between applications, organizations, and devices is more critical than ever before. We'll be joined by Pawel Chrzaszcz, Architect of MongooseIM at Erlang Solutions, RabbitMQ contributor Ayanda Dube, and Emqx.io Global VP Dylan Kennedy. These XMPP, AMQP, and MQTT experts will chat about when to reach for these protocols and why, share their thoughts on why these technologies were built, and tell us about their own experiences building on top of these protocols. Whether you're focused on IoT messaging, message passing within the infrastructure of your business, or super secure messaging between organizations, you'll have a chance to ask questions and dive into the wide world of messaging on the BEAM and beyond.
Eric studied molecular biology at university. His career meandered, though, until he finally made his way to programming.
+
+Now he focuses on the intersection of code and process, using processes such as TDD, agile, XP, and devops to build resilient software as a part of cross-functional teams. He finds it most interesting when code fails, and why.
+
"I’ve failed at a lot of things in my life. One thing I have been incredibly fortunate to succeed at is connecting with wonderful, empathetic, caring people inside and outside of my career."
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Eric Saxby
+ Code BEAM V America
+
+
+
+ 10 Mar 2021
+ 11.10 - 11.50
+
+
+
+
+
Using Elixir to fight Covid-19
+
+
“Luck is what happens when preparation meets opportunity.”
+
+I had the opportunity in 2020 to power Covid-19 contact tracing. Tools built in Elixir provided a data backbone that worked faster, was changed easier, and was more resilient than the systems we replaced.
+
+In this story we’ll meet a cast of characters including Phoenix, Broadway, Oban, as well as Lambda, NodeJS, Ruby on Rails. Some worked well. Some were confusing. Some were both.
+
+Some I would use again.
+
+
OBJECTIVE:
+
+The big takeaway that I would like people to take away is that Elixir and other BEAM languages provide a solid basis for resilient, critical infrastructure, perhaps more so than tools which might have better traction in enterprise companies.
+
AUDIENCE:
+
Software engineers, engineering managers, software architects. This would be better suited for intermediate to advanced practitioners.
When choosing programming languages, “scalable,” “resilient,” and “performant” are often said. Less often heard: “elegant,” “beautiful,” or (my favorite) “human.” In this talk I contend that code is written not for the benefit of computers, but for humans—and that Erlang/Elixir are not only scalable and resilient, but elegant. Join me on a whirlwind tour of tools, frameworks, and practices that make code by _and_ for humans, whether it’s you in 6 months or one of your customers.
+
OBJECTIVES
+
+
I recently had an unsettling conversation with a friend, who tried to convince me that I shouldn’t be so excited about Elixir—that being overly invested in any particular toolset put me in danger of getting passed by in the future when the next awesome technology makes everything I do now irrelevant.
+
I was incredibly bothered.
+
I admit that there will be new technologies invented in the future, and those may eventually supplant our current toolchains. If these eventual new technologies are _better_ for humans and bring people _more_ joy, then that would be a great thing. That would only happen if the creation of these theoretical tools bubbled out of real human needs, and was built to solve human problems. Based on my experience throughout my career, I fear that this will not be the case—that new things will be built, replacing the current ecosystem without bothering to understand that ecosystem or its blind spots.
+
I want more people to talk about these things, so that the next best shiny programming thing might actually be built to make human lives better.
+
+
AUDIENCE:
+
+
Elixir programmers will hopefully find the talk technically useful, if they want to use linters and static analysis tools haven’t successfully made the jump. Maybe they can point unconvinced coworkers at this talk, and help to convince them.
+
I really want to provide a compelling message for language and framework developers.
Coercing and validating user input can lead to painful code. Casting language primitives is done by Ecto, and storage problems that once required thought are solved by convention—time is stored in UTC, money without floating points. Managing our own types often gets ugly, though: standard vs metric; currency conversion; jsonb.
+
Extending Ecto is simple. With custom types, we can separate casting from formatting and dramatically improve the readability and maintainability of applications.
+
OBJECTIVES
+
The audience will come away with concrete examples of how to improve their applications. Specifically, this talk will help people in making their applications less complicated, easier to understand, and easier to test.
+
Beginners to Elixir, Phoenix, and Ecto will come away more able to dive into Ecto internals, thinking about principles of code isolation and separation of view concerns from data persistence concerns.
+
TARGET AUDIENCE
+
This would be best suited to people who already have experience with both Phoenix and Ecto. It may also appeal to developers experienced with other web frameworks and languages, who are evaluating Phoenix.
Co-author of Designing for scalability with Erlang/OTP
+
Founder of Erlang Solutions Ltd. Francesco has used Erlang on a daily basis since 1995, starting as an intern at Ericsson’s computer science laboratory, the birthplace of Erlang. He moved on to Ericsson’s Erlang training and consulting arm working on the first release of OTP, applying it to turnkey solutions and flagship telecom applications. In 1999, soon after Erlang was released as open source, he founded Erlang Solutions, who have become the world leaders in Erlang based consulting, contracting, training and systems development.
+
Francesco has worked in major Erlang based projects both within and outside Ericsson, and as Technical Director, has led the development and consulting teams at Erlang Solutions.
+
He is the co-author of 'Erlang Programming' and 'Designing for Scalability with Erlang/OTP' both published by O'Reilly. Francesco is also a lecturer at the University of Oxford, and has participated in the Future Learn Erlang MOOC, O'Reilly and University of Kent online Master Classes and is a regular conference speaker and tutor.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Francesco Cesarini
+ Code Mesh V
+
+
+Tutorial/
+
+ 05 Nov 2020
+ 20.00 - 23.30
+
+
+
+
+
Architecting Reactive Systems for Scalability and Availability
+
+
+
Learn how to architect fault-tolerant, scalable, soft, real-time systems with requirements for high availability.
+
In this tutorial, we will look at the steps needed to design scalable and resilient systems. The lessons learnt apply to the Erlang ecosystem, Elixir included, but are in fact technology agnostic and could be applied to most stacks, including Scala/AKKA, .net and others.
+
It has to be event driven and react to external stimulus, load, and failure. It must always be responsive. You have heard many success stories that suggest Erlang is the right tool for the job. And indeed it is—but while Erlang is a powerful programming language, on its own, it’s not enough to group these features together and build complex reactive systems. To get the job done correctly, quickly, and efficiently, you also need middleware, reusable libraries, tools, design principles, and a programming model that tells you how to architect and distribute your system.
+
+
EXPERTISE
+
Intermediate
+
+
TARGET AUDIENCE
+
Software Developers and architects
+
+
DURATION
+
3,5 hours
+
+
PREREQUISITES
+
Software development experience is a must, as is the understanding of data consistency models. Experience or exposure to designing and architecting systems is a benefit, but not a prerequisite.
+
+
+
OBJECTIVES
+
We will focus on:
+
+
Distribution: This section covers how to break up your system into manageable microservices. How do you collect these micro services into nodes, which together form distributed architectural patterns, giving you your end-to-end system? What network connectivity do you use to let them communicate with each other?
+
Interfaces and state: This section covers how you define your service interfaces. What data and state do you distribute across your nodes, clusters, and data centers? And if requests fail across nodes, what is your recovery strategy?
+
Availability: You need at least two computers to make a fault-tolerant system. When dealing with fault tolerance, you have to make decisions about resilience and reliability. This section covers techniques needed to make sure your system never fails and the trade-offs you need to make in your design.
+
Scalability: When you picked your distributed pattern, decided how to distribute your data, and made choices on fault tolerance, resilience, and reliability, you also made trade-offs on scalability. This section covers the decisions you have to make and how they affect scalability, as well as how to deal with capacity planning, load regulation, and back pressure.
+
Observability: This section covers the importance of visibility on both a business level and a system level. To achieve five-nines availability, you need preemptive support and automation. To trigger automation, you need to know the state of your system and be able to react to it as quickly as possible. This includes metrics, alarms, and notifications.
+
+
The tutorial is based on the last four chapters of Designing for Scalability with Erlang/OTP by Francesco Cesarini.
Architecting Reactive Systems for Scalability and Availability
+
+
+
Learn how to architect fault-tolerant, scalable, soft, real-time systems with requirements for high availability.
+
In this tutorial, we will look at the steps needed to design scalable and resilient systems. The lessons learnt apply to the Erlang ecosystem, Elixir included, but are in fact technology agnostic and could be applied to most stacks, including Scala/AKKA, .net and others.
+
It has to be event driven and react to external stimulus, load, and failure. It must always be responsive. You have heard many success stories that suggest Erlang is the right tool for the job. And indeed it is—but while Erlang is a powerful programming language, on its own, it’s not enough to group these features together and build complex reactive systems. To get the job done correctly, quickly, and efficiently, you also need middleware, reusable libraries, tools, design principles, and a programming model that tells you how to architect and distribute your system.
+
+
EXPERTISE
+
Intermediate
+
+
TARGET AUDIENCE
+
Software Developers and architects
+
+
DURATION
+
3,5 hours
+
+
PREREQUISITES
+
Software development experience is a must, as is the understanding of data consistency models. Experience or exposure to designing and architecting systems is a benefit, but not a prerequisite.
+
+
+
OBJECTIVES
+
We will focus on:
+
+
Distribution: This section covers how to break up your system into manageable microservices. How do you collect these micro services into nodes, which together form distributed architectural patterns, giving you your end-to-end system? What network connectivity do you use to let them communicate with each other?
+
Interfaces and state: This section covers how you define your service interfaces. What data and state do you distribute across your nodes, clusters, and data centers? And if requests fail across nodes, what is your recovery strategy?
+
Availability: You need at least two computers to make a fault-tolerant system. When dealing with fault tolerance, you have to make decisions about resilience and reliability. This section covers techniques needed to make sure your system never fails and the trade-offs you need to make in your design.
+
Scalability: When you picked your distributed pattern, decided how to distribute your data, and made choices on fault tolerance, resilience, and reliability, you also made trade-offs on scalability. This section covers the decisions you have to make and how they affect scalability, as well as how to deal with capacity planning, load regulation, and back pressure.
+
Observability: This section covers the importance of visibility on both a business level and a system level. To achieve five-nines availability, you need preemptive support and automation. To trigger automation, you need to know the state of your system and be able to react to it as quickly as possible. This includes metrics, alarms, and notifications.
+
+
The tutorial is based on the last four chapters of Designing for Scalability with Erlang/OTP by Francesco Cesarini.
Frank has built embedded Linux-based software for products in many industries including medical, consumer, telecommunications and defense. He is a coauthor of the Nerves project and maintains several projects used in embedded Elixir-based devices such as the Elixir Circuits set of libraries, toolshed, fwup, and erlinit.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Peer Stritzinger / Frank Hunleth
+ Code BEAM SF 2020
+
+
+Tutorial/
+
+ 04 Mar 2020
+ 09.00 - 17.00
+
+
+
+
+
Tour the embedded BEAM with GRiSP and Nerves
+
+
+
If you're considering using Erlang or Elixir for your next IoT device or just wanting to learn more about embedded systems, this class will give you a tour of the two major BEAM-powered embedded system projects. Both projects build on the rock solid reliability and productivity of the Erlang VM, and are used in industrial projects around the world.
+
+
OBJECTIVES
+
+
To get real practical experience with embedded systems
+
Know why the BEAM virtual machine is a good fit for such projects
+
Understand the basic concepts and characteristics of embedded systems
+
Familiarity with Nerves and GRiSP platforms, including the foundation to keep developing your own project
+
Have fun!
+
+
+
PREREQUISITES
+
+
A Mac or Linux laptop. Windows laptops with a Linux VM can work, but verify USB connectivity
+
Have a working installation of Erlang and Elixir
+
Working USB ports - check if blocked by a corporate firewall or if you have USB C, bring an adapter
+
No hardware needed! We'll provide a software installation checklist a week before the training
+
+
+
TARGET AUDIENCE
+
This tutorial is for those with: * basic knowledge of Erlang or Elixir * familiarity with gen_server/GenServer * none or only a little experience with either GRiSP or Nerves)
+
+
+
COURSE OUTLINE
+
This is a unique class led by the creators of both Nerves and GRiSP that will not only get you started with both projects, but will also help you understand the differences and tradeoffs. The class is hands-on.
+
We'll provide hardware and labs for you that cover the basics, interacting with low level hardware, networking devices, and interoperability.
+ Frank Hunleth / Peer Stritzinger
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 10.40 - 11.05
+
+
+
+
+
Fireside chat of Embedded programming on the BEAM
+
+
Peer and Frank talk discuss what’s happening with embedded systems in the GRiSP and Nerves communities. This will cover current challenges and exciting developments to watch for in 2022.
+ Robert Virding / Frank Hunleth
+ Code BEAM SF 2020
+
+
+
+ 06 Mar 2020
+ 09.05 - 09.50
+
+
+
+
+
BEAM on the edge - Innovation through problem solving
+
+
"BEAM on the Edge” explores designing innovative solutions under ambiguous circumstances. Robert Virding discusses how the core Erlang team took a different path from the rest of the software world in the design and reason of the BEAM itself. Frank Hunleth describes the burgeoning world of IoT, problems that the BEAM is well suited to solve, and now Nerves makes those solutions a reality. Frank Savage takes us to the world of functional GUI, why http isn’t appropriate to solve all problems and how Scenic uses the BEAM to explore solutions in this space.
+ Frank Hunleth / Amos King / Justin Schneck
+ Code BEAM V America
+
+
+
+ 12 Mar 2021
+ 11.55 - 12.35
+
+
+
+
+
Fireside chat on Nerves with Frank Hunleth, Justin Schneck and Amos King
+
+
Join us for a fireside chat with Frank Hunleth and Justin Schneck where Amos King leads a “how it started...how it’s going” interview with the two co-authors of the Nerves project. Nerves uses the BEAM to help both industrial and recreational users create robust and fault tolerant embedded systems while enjoying the friendly environs of the Elixir and Erlang languages. Come enjoy and participate in a discussion of what makes the Nerves community great and get all the inside jokes.
You'd think we'd be able to take network connectivity for granted. IoT devices, in particular, are dependent on connectivity as functionality moved to the cloud. How do devices recover unattended? How do you reduce cost via multiple network technologies?
+
The Nerves project has a new open-source network configuration library for IoT devices called VintageNet. This talk introduces the project and describes how companies are using it for reliable connectivity via multi-homing, LTE-fallback, and mesh networking.
+
THIS TALK IN THREE WORDS
+
Nerves
+
Network
+
Reliability
+
OBJECTIVES
+
The talk's goals are to illustrate IoT network reliability issues and discuss ways of addressing them on embedded systems using Elixir and Nerves.
+
TARGET AUDIENCE
+
Nerves, embedded systems, and IoT developers and technologists.
Hideki Takase is an Associate Professor at The University of Tokyo, and also a PRESTO researcher at Japan Society and Technology Agency. His research interest includes runtime platform and system-level design methodology for embedded/real-time/IoT computing. He belongs to some tech communities, such as NervesJP, ROS Japan Users Group, IoT ALGYAN, hls-friends, TOPPERS project. He is a member of Embedded and EPC Working Groups in Erlang Ecosystem Foundation.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Hideki Takase
+ Code BEAM America 2021
+
+
+
+ 05 Nov 2021
+ 10.30 - 10.55
+
+
+
+
+
Rclex: A Library for Robotics to meet Elixir
+
+
How do we install the magic of Elixir into robot systems? One of the solutions is "Rclex", that is a client library for ROS 2 platform. ROS (Robot Operating System) provides publish/subscribe based messaging mechanism between robot modules with the DDS (Data Distribution Service) stack. We suggest that the force of Erlang/Elixir can power up the scalability of ROS 2 communication. This talk will introduce how did we integrate ROS 2 and Elixir by using NIFs, and discuss the possibility of this library in the IoT field.
+
OBJECTIVE:
+
The audience will learn about a new library that bridges robotics and Elixir, and will be able to practice a new development style of robot systems.
+
AUDIENCE:
+
+
An alchemist who wants to construct robot systems.
+
A robotics engineer who thinks the robot development should be functional.
Engineering Manager and seasoned Full Stack software engineer at Mux
+
Jacqueline Manzi is an Engineering Manager at Mux and seasoned Full Stack software engineer. She has been enjoying web development with Elixir for over four years.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Jacqueline Manzi
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.50 - 11.15
+
+
+
+
+
Practical uses for Metaprogramming in a highly trafficked web API
+
+
Metaprogramming can often be more confusing than it is beneficial. In this talk, we will explore the basics of metaprogramming in Elixir and how it can be used in practical ways within layers of a highly trafficked web API.
+
OBJECTIVES:
+
+
Introduction to metaprogramming basics in Elixir
+
Pros and Cons
+
Examples of practical use cases in layers of a highly trafficked API
+
+
AUDIENCE:
+
Developers that want to know more about metaprogramming in Elixir and various use cases that can be applied to web API layers.
In this talk, Jacqui will explore using the core features of Erlang’s OTP and Phoenix to manage large real-time data sets across many channel topics. She will be taking a closer look at Phoenix Presence, Channels, and the PubSub layer for our WebSocket delivery and using DynamicSupervisors, Supervisors, GenServer workers, Process Monitors, and globally registered processes to manage channel subscriptions across nodes.
+
OBJECTIVES
+
+
Identify the problem this talk solves
+
Understand WebSocket connections with Phoenix
+
Discuss creating process driven subscription supervision trees for getting analytic information for specific channel topics
+
Understand the various problems Jacqui ran into while attempting this across nodes in a cluster and the solutions she used
+
Understand trade-offs benefits of this approach and testing/benchmark information
+
+
TARGET AUDIENCE
+
Engineers curious about using Elixir in production to build real-time systems that scale according to WebSocket connections across nodes in a cluster.
MongooseIM developer, bringing scalability and reliability to FinTech industry
+
Network Consultant turned Software Developer. Jan is an Erlang enthusiast part of the Erlang Solutions team. MongooseIM developer now brining scalability and reliability to FinTech industry.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Jan Cieśla
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 10.40 - 11.05
+
+
+
+
+
Survivor bias in software testing, observability and monitoring.
+
+
Drop out from college to become a millionaire! This is an example of a Survivor Bias which is a logical error in our understanding of the world, the assumption that success tells us the whole story about the process. Real world examples help us see how prone we are to it. During this presentation I want to talk about it with respect to testing, observability and monitoring. We will learn the techniques on dealing with it to make tools that are more reliable and exhibit our internal biases to lower extent.
+
OBJECTIVES:
+
Bring the phenomenon of survivor bias closer to the audience. Help realise how it can impact our judgement and what we can do about it.
Jeff is a software engineer building backend systems for Bleacher Report. In his free time, Jeff leads a double-life as a jazz double bassist.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Jeffery Utter
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.50 - 11.15
+
+
+
+
+
Fables and Foibles of Observability and Monitoring
+
+
Observability and monitoring are crucial pieces to keeping your services reliable for your users and preventing them from being a burden on your team. The BEAM ecosystem has powerful tools for observability and monitoring, from built-in SASL alarm handlers to telemetry and APM integration.
+
+We’ll learn about the tools at our disposal in OTP as well as some common libraries and services to make observability and monitoring easy. Additionally, we’ll discuss some tales of how observability and monitoring have lead to great success and great failure.
+
OBJECTIVES:
+
Attendees will learn key approaches for getting the most of observability and monitoring on the BEAM. We’ll cover key performance metrics how to correlate and interpret them. Additionally, attendees will learn about a few tools available in the BEAM ecosystem for observability and monitoring.
+
AUDIENCE:
+
This talk is useful for any engineers responsible for keeping their production systems running and reliable.
Joel is a self-taught, full-stack web engineer with experience in different industries.
+
+Fan of Elixir, he shifted his career to work with Elixir and the BEAM ecosystem for its superior capabilities and overall development experience.
+
+He's also the founder and host of Elug CE, one of the most active local meetups in Brazil.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Rachel Curioso / Joel Jucá / Renan "Milhouse" Ranelli
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 11.45 - 12.10
+
+
+
+
+
Fireside chat on how to grow your local community / Como criar sua comunidade local
+
+
This will be a Chat in Portuguese with the organizers and moderators of the biggest Elixir communities in Brazil: Elug-CE, Elug-SP and the telegram group Elixir Brasil.
+Why local communities are important? How to start? What are the challenges?
+
+Esse será uma conversa em Português, com os organizadores e moderadores das maiores comunidades brasileiras de elixir: Elug-CE, Elug-SP e o grupo do telegram "Elixir Brasil".
+Porque comunidades locais são importantes? Como começar? Quais são os desafios?
John is a member of the Erlang/OTP team at Ericsson, working mainly with the compiler and runtime system. A few of his most notable contributions are the compiler’s type optimization pass, the new file module backend, and large parts of the JIT compiler.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Kenneth Lundin / John Högberg
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 10.05 - 10.30
+
+
+
+
+
Ask me anything about OTP
+
+
Short update from the OTP Team and then you will be able to ask them any question you like about their work.
+ Lukas Larsson / John Högberg / Stavros Aronis
+ Code BEAM V Europe 2021
+
+
+
+ 21 May 2021
+ 13.10 - 13.50
+
+
+
+
+
Fireside chat on JIT compiler
+
+
"Good things come to those who wait" goes the saying, and indeed, after 10 years and several interesting attempts and research, Erlang 24.0 finally comes out of the box with a JIT (i.e. Just-In-Time) compiler that is impressive both in its performance, as well as its simplicity, and has gotten the entire BEAM community talking about it!
+
+In this fireside chat, hosted by Stavros Aronis, Lukas Larsson and John Högberg will answer all your questions about the new JIT.
Creator of the Elixir programming language, Chief Adoption Officer at Dashbit
+
José Valim is the creator of the Elixir programming language. He and his team at Dashbit help startups and enterprises adopt and run Elixir in production while contributing to the ecosystem through sustainable Open Source.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ José Valim
+ Code BEAM America 2021
+
+
+
+ 05 Nov 2021
+ 09.55 - 10.20
+
+
+
+
+
Ask me anything about Elixir
+
+
Open meeting with Elixir Core Team. Unmute yourself and ask the guest any question about his work you like.
Jose will give updates on what the Elixir team has done in the last few months, what are the projects they're working on, what's going on in the research side, and what features will be in the next release.
+ José Valim / Miriam Pena / Peer Stritzinger / Francesco Cesarini
+ Code BEAM STO 2019
+
+
+
+ 16 May 2019
+ 17.45 - 18.30
+
+
+
+
+
Introducing the Erlang Ecosystem Foundation
+
+
Thursday evening keynote is extra special this year, you can hear all about the newly formed Erlang Ecosystem Foundation. Founding members of the Erlang Ecosystem Foundation will join us to share the journey and goals of the foundation!
+
The Erlang Ecosystem Foundation's goal is to grow and support a diverse community around the Erlang and Elixir ecosystem, encouraging the continued development of technologies and open source projects based on/around its runtime and languages.
Jose will give updates on what the Elixir team has done in the last few months, what are the projects they're working on, what's going on in the research side, and what features will be in the next release.
+ José Valim / Miriam Pena / Fred Hebert / Francesco Cesarini / Peer Stritzinger
+ Code BEAM SF 2019
+
+
+
+ 28 Feb 2019
+ 17.45 - 18.30
+
+
+
+
+
Introducing the Erlang Ecosystem Foundation
+
+
Thursday evening keynote at the Code BEAM SF where you can hear all about the newly formed Erlang Ecosystem Foundation. A talk from Jose Valim, Peer Stritzinger, Fred Hebert, Miriam Pena and Francesco Cesarini who are sharing the journey and goals of the foundation that we've all waited for!
+
The Erlang Ecosystem Foundation's goal is to grow and support a diverse community around the Erlang and Elixir ecosystem, encouraging the continued development of technologies and open source projects based on/around its runtime and languages.
Broadway is a new open source project by Plataformatec that aims to streamline data processing pipelines. It allows developers to consume data efficiently and concurrently from many systems, such as Amazon SQS, RabbitMQ, Google Cloud PubSub and others.
+
In this talk, we will discuss how the Broadway architecture connects multiple stages and producers, how it leverages GenStage to provide back-pressure, how we rely on OTP for fault-tolerance, and other features such as batching, rate-limiting, partitioning and more.
Karl comes from a .NET background (C# / F#) where he worked mostly on distributed systems. He is an avid proponent of functional programming. He is now a Senior Member of Technical Staff at VMware.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Karl Nilsson / Ayanda Dube / John Samuel
+ Code BEAM V America
+
+
+
+ 12 Mar 2021
+ 10.15 - 10.55
+
+
+
+
+
Ask me anything about RabbitMQ
+
+
Open session with RabbitMQ contributors - a chance to ask them questions you always wanted about their work.
+ Ayanda Dube / Karl Nilsson
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.50 - 11.15
+
+
+
+
+
Fireside chat on RabbitMQ
+
+
Discussion on RabbitMQ, it’s usage, design and Erlang implementation aspects. We discuss supported protocols (e.g. AMQP, MQTT) as well as different queue types and their purpose, along with consensus and HA/scalability matters. We discuss the available RabbitMQ toolkits and libraries which the community can adopt for building their own distributed systems.
Ra is an implementation of the Raft consensus protocol by Team RabbitMQ. In RabbitMQ, Ra is used to implement a consistent replicated queue but that isn't all that Ra can be used for. This talks will be a practical session on how to implement consistent distributed system essentials, such as replicating a key-value stores, leader election processes, lock servers and other coordination services on top of the Ra library.
+
OBJECTIVES
+
Share knowledge of the Ra library and how to achieve common distributed system patterns using it.
+
AUDIENCE
+
People who write distributed systems and are interested in strong consistency and the trade-offs involved in writing and maintaining such systems.
Kenneth Lundin has been working with SW development since the late 70s. As a curiosity it can be mentioned that Kenneth was one of the pioneers in the use of C++ at Ericsson. He joined the Erlang/OTP project in it's early stages 1996 and has been working both with application components and the run-time system since then. Has been a technical leader and manager for the OTP team since 1998.
+ Hans Elias B. Josephsen / Maxim Kharchenko / Kresten Krab Thorup / Kenneth Lundin / Brian Cardarella
+ Code BEAM STO V
+
+
+
+ 11 Sep 2020
+ 16.55 - 17.40
+
+
+
+
+
Panel Discussion on Erlang Virtual Machines
+
+
Whilst the BEAM is the predominant virtual machine used in the Erlang Ecosystem, effort has been put into alternative implementations addressing alternative problems ranging from low powered embedded hardware, paravirtualized implementations, compilation to Web Assembly and ports which run on the JVM. In this panel discussion, we will meet the creators, maintainers and researchers of the BEAM, the LING Erlang on Xen VM, the Lumen WASM implementation and Erjang, running Erlang and Elixir on the JVM. The goal is to compare and contrast these implementations whilst understanding the aspirations, visions, challenges and achievements.
Kenneth will give updates on what the OTP team has done in the last few months, what are the projects they're working on, and what's going on on the research side.
Kenneth will give updates on what the OTP team has done in the last few months, what are the projects they're working on, and what's going on on the research side.
Kenneth will give updates on what the OTP team has done in the last few months, what are the projects they're working on, and what's going on on the research side.
Professor and lead researcher @ University of A Coruña
+
Laura became fascinated with Erlang during her studies in Software Engineering and has been an advocate of our beloved technology ever since. Nowadays, this means she introduces the BEAM to the next generations of CS graduates, preaches it to local developer groups and FP-related events, introduces it in new projects with local companies, and exploits it as a research tool in collaboration with colleagues all around the world.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Laura M. Castro / Natalia Chechina / Viktória Fördős
+ Code BEAM STO V
+
+
+
+ 10 Sep 2020
+ 16.45 - 17.25
+
+
+
+
+
Ask me anything about Research
+
+
Unmute yourself and ask the guest any question about his work you like.
+ Manuel Rubio / Laura M. Castro / Brujo Benavides / Anayeli Malvaez / Raúl Chouza / Carlo Gilmar /
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.00 - 10.40
+
+
+
+
+
Panel discussion on Beamer's modern life ó La vida moderna de un Beamer
+
+
This session will host an all spanish-speaking panel to talk about the BEAM; how the platform is currently used and what the future holds for anyone invested in it. Note that this panel will be delivered 98% in spanish.
+
Esta sesión tendrá como invitados a destacados miembros de la comunidad hispanohablante para discutir sobre BEAM; cómo es que aprovechamos la plataforma al día de hoy y qué es lo que el futuro aguarda para todos los interesados en ella. Manejaremos español durante gran parte de la sesión para la comunidad.
+ Natalia Chechina / Laura M. Castro / Viktória Fördős
+ Code BEAM STO V
+
+
+
+ 10 Sep 2020
+ 13.10 - 13.55
+
+
+
+
+
Unite and conquer
+
+
TALK LEVEL: KEYNOTE
+
Divisions are popular in our days often comparing “them” and “us”: be it research vs industry, men vs women, Erlang vs Elixir... but unity is what makes us stronger and enables us to aim for new horizons.
+
In this talk, Natalia, Laura, and Viktória will discuss their vision on creating fault-tolerant, scalable opportunities together to achieve diverse ambitions.
Manuel is a developer since he was 12 years old (30 years ago) and he started with Basic, like others, but later also with Modula-2, Pascal, C, Assembler and these before 20 years old. In his professional career, he used Perl, PHP, Python, Ruby, Java, JavaScript, and last 14 years he was more on Erlang and 8 years ago he started with Elixir and Go. He can be considered a polyglot programmer and he loves to teach and mentor others.
+
+He is also a fan of creating crazy projects like myproto, ephp or skirnir and helping with others like lambdapad.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Manuel Rubio
+ Code BEAM STO 2019
+
+
+Training/
+
+ 13 May 2019
+ 09.00 - 17.00
+
+
+
+
+
ELIXIR BOOTCAMP: from apprentice to alchemist
+
+
+
OBJECTIVES
+
+
Basic/Sequential/Concurrent Elixir
+
Parallel programming
+
Building, Documenting and Testing Systems using Mix
+
+
+
PREREQUISITES
+
+
Good programming skills in another language such as Java, Perl, Python, node.js, or Ruby
+
Familiarity with server-side software development helpful
+
+
+
TARGET AUDIENCE
+
Software Developers and Engineers without prior experience in Elixir/Erlang/LFE.
+
+
+
COURSE OUTLINE
+
Students will start by learning the basics of the Elixir language. Following that, the course turns to concurrency and students will learn the details of writing parallel and concurrent Elixir applications and the underlying concurrency capabilities provided by BEAM (the Erlang virtual machine).
+
The course contains the following topics:
+
+
Background Erlang/Elixir
+
Elixir Shell
+
Sequential Elixir
+
Concurrent Elixir
+
Basic Mix
+
Process Design Patterns
+
Process Error Handling
+
System introspection
+
Funs and High-order functions
+
Data structures (Maps, Structs, Binaries, Protocols)
So you've built and deployed a Phoenix application backed by Ecto and Postgres, and come to the conclusion that you love it. If you are looking at progressing to the next level, this hands-on training will help you get to the next level. In it, we will focus on building applications using OTP behaviours and architecture guidelines. Learn about the battle-tested abstractions needed to build back-end, fault-tolerant systems that will run for years and scale to billions of users.
+
+
OBJECTIVES
+
When you've completed this class, you'll have a deeper understanding of how to architect back-end systems and micro-services that you can access and use from Phoenix. Learn why we need behaviours such as Generic Servers, Generic Finite State Machines and others, when to use them, and how to integrate them into supervision trees.
+
+
PREREQUISITES
+
You should have basic knowledge of Elixir, and whilst not necessary, it would be useful if you have developed a Phoenix application.
+
+
TARGET AUDIENCE
+
This is an intermediate level class scheduled to get you up and running with OTP.
+
+
+
COURSE OUTLINE
+
Topics included:
+
+
Life before OTP
+
OTP architecture
+
Behaviours
+
Supervision
+
GenServer
+
GenStateMachine
+
Other behaviours (GenStage, GenFlow, Event Handlers, etc)
+
Optimizing for performance
+
ETS (a Redis in your beam)
+
Load regulation and back-pressure (fuse, safety valve)
Lambdapad, Static Websites with Elixir (or Erlang)
+
+
Lambdapad was an effort performed by Garreth Smith to provide to the BEAM community (and Erlang mainly) a way to create a static site generator like Jekyll or Octopus from Ruby. Last year I take the code and using the "power of meta-programming" I performed my own vision about it and created a way to perform websites in an easier way, indeed, I'm using it for my blog (+300 posts) and different websites successfully.
+
OBJECTIVES
+Introduce Lambdapad to the community and reach people who want to be involved in the project or support it.
+
AUDIENCE
+People who want to create/maintain a website like a blog, landing page or similar.
+ Manuel Rubio / Laura M. Castro / Brujo Benavides / Anayeli Malvaez / Raúl Chouza / Carlo Gilmar /
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.00 - 10.40
+
+
+
+
+
Panel discussion on Beamer's modern life ó La vida moderna de un Beamer
+
+
This session will host an all spanish-speaking panel to talk about the BEAM; how the platform is currently used and what the future holds for anyone invested in it. Note that this panel will be delivered 98% in spanish.
+
Esta sesión tendrá como invitados a destacados miembros de la comunidad hispanohablante para discutir sobre BEAM; cómo es que aprovechamos la plataforma al día de hoy y qué es lo que el futuro aguarda para todos los interesados en ella. Manejaremos español durante gran parte de la sesión para la comunidad.
+ Manuel Rubio / Robert Virding
+ Code BEAM STO V
+
+
+
+ 10 Sep 2020
+ 14.20 - 15.00
+
+
+
+
+
Programming Languages on top of the BEAM
+
+
Talk about the implementation of languages on top of BEAM which have not the same semantics as Erlang so, it is not going to be a talk about languages like LFE or Elixir but also others like Lua or PHP which are implemented in an interpreted way. The talk is going to review the issues that can occur, solutions to them and also give some examples about how in the end they can be done.
Manuel started to develop this crazy idea back in 2013 when he was playing with PEG and Neotoma to parse another crazy idea to build a MySQL server simulator to access to Erlang and gather information (myproto). After the first try, Manuel realised that he can perform something, which with PHP could be impossible to do, like better resources control, real-time coverage or even use websockets. In 2016 Bragful project was created.
+
OBJECTIVES
+
Give the whole vision about what is Bragful and ephp and why it was created.
+
How to integrate into your projects in the way you can embed PHP code and what's next.
Manuel started to develop this crazy idea back in 2013 when he was playing with PEG and Neotoma to parse another crazy idea to build a MySQL server simulator to access to Erlang and gather information (myproto). After the first try, Manuel realised that he can perform something, which with PHP could be impossible to do, like better resources control, real-time coverage or even use websockets. In 2016 Bragful project was created.
+
OBJECTIVES
+
Give the whole vision about what is Bragful and ephp and why it was created.
+
How to integrate into your projects in the way you can embed PHP code and what's next.
Experienced Erlang engineer, consultant, and trainer
+
Marc Sugiyama is a software engineer at Datometry where he works on HyperQ an Adaptive Data Virtualization(TM) technology that enables enterprises to run their existing applications on modern cloud data warehouses, without rewriting or reconfiguring them. Prior to joining Datometry, Marc was a senior architect at Erlang Solutions, Inc., where his projects included developing an OpenFlow controller and sample applications for the IvanOS project, design and code reviews, and providing training at conferences and for clients. A Bay Area native, Marc has more than 30 years of software development experience and has worked on everything from testing frameworks at Sybase and Cisco to SMP relational database engines at Sybase, an MMO engine for Pixverse (a company he co-founded), and a large-scale real-time chat system for hi5 Networks. A published author, Marc wrote his first magazine articles and books while still in high school. Marc holds a BS in engineering and a masters of engineering from Harvey Mudd College. He currently serves on the College Preparatory School Advisory Council and the board of directors of the Heart Mountain Wyoming Foundation.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Marc Sugiyama / Niko Tsikoudis
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 11.15 - 11.55
+
+
+
+
+
When you have to make it faster
+
+
Our product, Hyper-Q, enables modern cloud data warehouses to emulate Teradata, aiding with the migration of on-premises solutions to the cloud. Hyper-Q translates existing applications' queries in real-time to run natively in the cloud and converts data received from the cloud into the format needed by the application.
+
+We recently missed service level agreements with a customer because our product, Hyper-Q, added significant overhead to a data warehouse application. Through careful investigation, using profilers, continuous improvement, and focused engineering considering Erlang characteristics, we doubled our performance and improved system scalability. This talk describes the steps and techniques we used to understand where to focus our engineering efforts and beat our service level agreements.
Coding for global languages: Unicode, charsets, strings and binaries
+
+
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
+
Unicode
+
Character encoding
+
World languages
+
OBJECTIVES
+
Demystify character set encoding, unicode, and the related Erlang APIs.
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.
+
+
TARGET AUDIENCE
+
Erlang developers working on internationalised software.
Erlang's binary pattern matching and finite state machine behaviors make it easy to write network server protocol handlers. At Datometry, we added our own ODBC-driver and corresponding server-side protocol handler to allow our customers to replace ODBC drivers from their previous database vendor. We used Postgres v3 as a starting point. To better understand the protocol, we created a simple server using gen_statem. We'll cover the motivation for building our designing our own network protocol, and the design and implementation details of our prototype server.
+
OBJECTIVES
+
Demonstrate the power of binary pattern matching and using a finite state machine to track the protocol state, tying all of the pieces together into a server.
Interested in programming language development, distributed systems and making computing accessible to everyone. Co founder of instadeq.com and event-fabric.com, creator of the Efene Programming Language, emesene instant messenger, author of the Little Riak Core Book.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Mariano Guerra
+ Code BEAM SF 2018
+
+
+Tutorial/
+
+ 17 Mar 2018
+ 20.19 - 18.00
+
+
+
+
+
BUILDING DISTRIBUTED SYSTEMS WITH RIAK CORE
+
+
+
Riak core is the battle-hardened library that powers the popular open-source distributed key/value store Riak. Not many people are aware of how easily it can be used outside Riak to power your own horizontally scalable Erlang applications be they session storage, message routing or distributed computation.
+
This course explores the practical aspects of implementing such applications.
+
+
+
The course aims to achieve the following goals:
+
+
To introduce participants to riak_core and provide an overview of its general characteristics and architecture
+
To demonstrate the use of rebar3 in building modern riak_core based projects
+
To demonstrate implementation considerations
+
To enable you to determine if riak_core is right for your application
+
To demonstrate how webmachine can be used to integrate with riak_core
+
You will build and take away your own riak_core application by the end of the day
The talk will go through different categories and patterns in distributed systems, compare them and explore them applying each to the case of a distributed key value store.
+
OBJECTIVES
+
Get an high level picture of the different aspects in distributed systems and how they apply to a real use case.
+
AUDIENCE
+
People interested in architecture, patterns and distributed systems.
+ Mariano Guerra / Robert Virding
+ Code BEAM America 2021
+
+
+
+ 05 Nov 2021
+ 10.30 - 10.55
+
+
+
+
+
Fireside chat on BEAM Languages with Erlang co-inventor Robert Virding
+
+
In this fireside chat, Mariano Guerra and Robert Virding, creators of many languages on the BEAM including Erlang(!!), Effene, LFE and LuErl will discuss past, present and future of languages on the BEAM, current and future challenges and opportunities. Join them, prepared with your own questions.
Maxim Fedorov is a software engineer at WhatsApp, the largest messaging app. Maxim’s work is focused on performance and scalability of the server side.
+
+Before WhatsApp, Maxim has been developing low-latency TCP/IP applications at NetAlliance (Sydney, Australia), designing Kaspersky Enterprise Security Endpoint (Moscow, Russia), improving Parallels Virtual Automation, called Odin now, at Parallels (former SWsoft), and developing network security software before.
Join Maxim Fedorov and Bram Verburg to discuss security for BEAM-based applications. How can industry best-practices for secure coding, testing and deployment hardening be applied to the Erlang ecosystem? What has been achieved over the last few years and what challenges remain? How can the community collaborate on moving things forward? Audience participation, through questions/comments in the session chat, is encouraged!
Erlang/OTP is a live and breathing repository containing over two million lines of code. Over 4,300 commits were made between R23 and R24. Five years ago we started with heavily patched OTP 16 fork powering our servers. Now we run the latest version before it’s officially released, getting the most out of Erlang. This talk is about the road we took, how we ended up running OTP tests in out CI pipeline, and how we made it faster & friendlier for developers.
We spent countless hours and sleepless nights bringing and keeping up server side of the most successful messaging service in the world. Looking back, how many choices we'd change? And how to ensure we make the right one next time? "The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil" (Donald Knuth). But why does it happen? Why did we do something we didn't really want? Because we acted on assumptions. This talk will guide through a number of war stories where assumptions were made and acted on. There were regrets and disappointments, and we learned to challenge assumptions the hard way. Now it's time to share what we learnt so far.
+
OBJECTIVES
+
+
identify sources of human errors in software development
+
discuss instruments and routines helping to challenge assumptions
+
provide advice for improved decision making process
+
+
AUDIENCE
+
Tech leads, software architects, systems designers and everyone else involved in making technical decisions and facing the consequences.
Mid-air airplane repair: troubleshooting at WhatsApp
+
+
Simple, reliable messaging. It takes a lot to support this statement. For 10 years WhatsApp demonstrated unprecedented reliability and availability, serving over 1.5B users. There is absolutely no way to reproduce interactions between all of them, within the cluster spanning over 10,000 nodes and multiple datacenters. Investigations must be done on a live system without disturbing connected users. If there are repairs needed, it has to be done on the fly.
+
+This talk will guide through debugging and troubleshooting techniques used at WhatsApp. Maxim will share a few case studies, explain monitoring, introspection, performance analysis, and tools.
+
+Some knowledge of Erlang and C is necessary.
OBJECTIVES
Share processes, best practices, tools and war stories about 10 years of reliable messaging service.
TARGET AUDIENCE
Software developers, DevOps, Site Reliability Engineers, System Administrators and everyone else interested in troubleshooting live production system.
Growing user population beyond 1.5B does not leave a chance to keep server footprint as small as it used to be. Adding new capabilities requires more and more processing power. When it gets impossible to keep everything on just ten servers, we have to scale the cluster to a hundred. When a hundred gets too tight, we expand it to 1,000. What’s next? 10,000? And how is it possible, considering current scalability limits of a single Erlang cluster?
+
This talk will guide you along the way we took to improve Erlang scalability, remove bottlenecks and increase the efficiency of our Erlang-based applications.
+
OBJECTIVES
+
Demonstrate an example of live Erlang cluster being scaled from just a few nodes to 10,000 machines with no service interruption.
+
TARGET AUDIENCE
+
Scalability engineers, people interested in optimising Erlang for large-scale server applications.
+
A growing user population beyond 1.7B, whilst simultaneously adding new capabilities, does not leave much chance to keep the server footprint as small as it used to be.
One of the authors of WebRTC implementation in Elixir
+
Michał is one of the developers working on the first WebRTC implementation in Elixir. He is interested in multimedia and network stuff.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Michał Śledź
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.00 - 10.40
+
+
+
+
+
WebRTC redefined - a new SFU API for Elixir from Membrane Framework.
+
+
Creating video conferencing systems has always been challenging. While the most used standard - WebRTC requires from the user quite a deep understanding of what is going on under the hood, the new abstraction layer created in Membrane Framework allows us to hide all the low level, network connected things.
+
During this talk, I will go through the new SFU API and how it makes the developer experience much easier, both when creating a new Phoenix application and integrating with existing systems.
+
OBJECTIVES:
+
Presentation of the new SFU API and its usage.
+
AUDIENCE:
+
Everyone who is interested in designing APIs, abstraction layers or is willing to create or integrate a video conferencing platform with its existing system.
With a few lines of code and in a visual way, I'm going to introduce the basic concepts of LiveView and consequently of OTP, above all: engage students and teachers in LiveView's potential as an educational and inclusive tool.
+LiveView was my first contact with Elixir, and as counterproductive as that sounds, it was the best decision I could have made.
+
OBJECTIVE:
+
My main aim with this talk is to show people who want to learn or teach Elixir that LiveView is a powerful tool to achieve this goal in a visual, enjoyable and inclusive way
+
AUDIENCE:
+
Beginners who wish to learn elixir and people teaching or wishing to teach elixir using LiveView as an educational and inclusive tool
Director of global support operations at T.I Tokyo
+
Nicholas is a British IT engineer living in Japan, early adopter of tech, early discarder of tech, legacy user and Head of Global Support for TI Tokyo, running the team that provides 24/7/365 Enterprise Grade support for Riak.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Nicholas Adams / Andrei Zavada
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 13.15 - 13.40
+
+
+
+
+
Fireside chat on Riak
+
+
A fireside chat covering recent updates in the Riak community, an in depth look into challenges presented in the OTP uplift process from OTP16 to OTP22 and a special announcement.
How not to fail at distributed systems with examples from Riak
+
+
In this talk, we reflect on our years of supporting the Erlang based distributed key/value store, Riak, and share stories of how our clients' best intended configurations have come back to bite them in ways they did not foresee. This talk is intended as edutainment. We showcase some common pitfalls of distributed systems as taken from our Riak helpdesk history, explain why things went wrong and how to avoid making the same mistakes. Disclaimer: no client names are used in this talk and any logs or config files used have been anonymised. All characters and impressions used in this talk are entirely fictitious ones of my own creation and any resemblance to real persons, dead or alive, or other real-life entities, past or present, is purely coincidental.
+
+AUDIENCE: This talk is recommended for helpdesk veterans, people interested in distributed systems and anybody who has ever touched Riak.
How not to fail at distributed systems with examples from Riak
+
+
In this talk, we reflect on our years of supporting the Erlang based distributed key/value store, Riak, and share stories of how our clients' best intended configurations have come back to bite them in ways they did not foresee. This talk is intended as edutainment. We showcase some common pitfalls of distributed systems as taken from our Riak helpdesk history, explain why things went wrong and how to avoid making the same mistakes. Disclaimer: no client names are used in this talk and any logs or config files used have been anonymised. All characters and impressions used in this talk are entirely fictitious ones of my own creation and any resemblance to real persons, dead or alive, or other real-life entities, past or present, is purely coincidental.
+
+AUDIENCE: This talk is recommended for helpdesk veterans, people interested in distributed systems and anybody who has ever touched Riak.
A look at the new Riak KV 3.0 distributed NoSQL key-value store, how it compares to its predecessors and does the 4 version jump of OTP justify it being in your data center today?
+
THIS TALK IN THREE WORDS
+
Riak
+
Upgrade
+
OTP
+
OBJECTIVES
+
Increase industry awareness of Riak KV 3.0 and its improvements of both existing and upcoming features.
+
Touch on when you should and should not use Riak in your business.
+
TARGET AUDIENCE
+
People interested in key/value stores, existing Riak users, people interested in how updating OTP can affect the performance of software.
This talk will cover the death of Basho, the rescue of the "Enterprise Edition" and dead code, and the resurgence of Riak as a viable distributed NoSQL database and cloud storage service thanks to an active development community
+
OBJECTIVES
+
To inform people of how Riak is developing, what has improved, and how they can get involved.
+
TARGET AUDIENCE
+
General audience with an interest in NoSQL/key-value stores, distributed systems, cloud storage and existing Riak users.
It all started after Niclas was introduced to Erlang at the university in 2009. Since then he has been using Erlang for both backend and frontend.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Daniel Widgren / Niclas Axelsson / Jesse Gumm
+ Code BEAM V Europe 2021
+
+
+
+ 20 May 2021
+ 14.20 - 15.00
+
+
+
+
+
Fireside chat about Nova and Nitrogen
+
+
The leads for one of the oldest and one of the newest Erlang web frameworks discuss each project's vision, their experiences, and making Erlang appealing to wider audiences.
+ Daniel Widgren / Niclas Axelsson
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 11.15 - 11.55
+
+
+
+
+
Getting around with NOVA
+
+
NOVA is an Erlang framework for building scalable web applications with realtime connectivity across all your devices. In this talk we will talk about what NOVA is and concepts around it. Also go from basics, to building our own realtime applications. You will learn the foundations, core components and ideas how to use NOVA.
+ Daniel Widgren / Niclas Axelsson
+ Code BEAM STO V
+
+
+
+ 11 Sep 2020
+ 16.25 - 16.50
+
+
+
+
+
Nova: a web framework for Erlang
+
+
TALK LEVEL: BEGINNER / INTERMEDIATE/ ADVANCED
+
Nova is a framework that started a long time ago but now is gathered as a package. With influences from Chicago Boss and Phoenix, we wanted an Erlang framework that was easy to use.
+
THIS TALK IN THREE WORDS
+
Simplify
+
Web
+
Development
+
OBJECTIVES
+
To show a new way to build web applications with Erlang.
+
TARGET AUDIENCE
+
Everyone who is interested in web development with Erlang.
Niko is enjoying coding in Erlang for Hyper-Q, a hypervisor platform for databases that make existing applications instantly interoperable with modern cloud data warehouse technology. Prior to joining Datometry Niko got a Ph.D. in computer science from Brandeis University where he designed and developed efficient techniques for scalable, high-performance snapshot analysis for data stores.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Marc Sugiyama / Niko Tsikoudis
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 11.15 - 11.55
+
+
+
+
+
When you have to make it faster
+
+
Our product, Hyper-Q, enables modern cloud data warehouses to emulate Teradata, aiding with the migration of on-premises solutions to the cloud. Hyper-Q translates existing applications' queries in real-time to run natively in the cloud and converts data received from the cloud into the format needed by the application.
+
+We recently missed service level agreements with a customer because our product, Hyper-Q, added significant overhead to a data warehouse application. Through careful investigation, using profilers, continuous improvement, and focused engineering considering Erlang characteristics, we doubled our performance and improved system scalability. This talk describes the steps and techniques we used to understand where to focus our engineering efforts and beat our service level agreements.
Omer is an embedded systems engineer who works at the various intersections of hardware and software engineering practices, product development and manufacturing.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Omer Kilic
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 12.20 - 12.45
+
+
+
+
+
MQTT for Home/Building Automation Hardware Interfacing
+
+
Isn't it great when abstractions just work?
+
The countless interpretations of the term Internet of Things erased the boundaries of software / firmware / middleware / hardware and anyone embarking on an IoT project now has to understand the full stack. This is great engineering fun but harsh realities of project delivery, timelines and costs require creative thinking on how the “plumbing” of an IoT deployment should work.
+
+This brief talk will introduce the ubiquitous Zigbee wireless protocol and the ecosystem surrounding it, with a quick demo of zigbee2mqtt and some hardware in action.
Bare metal from a hardware perspective: embedded frameworks and build systems
+
+
It's an exciting time to be interested in programming languages as the abundance of computing power, even in the smallest devices around us, makes almost every language a viable choice for implementation. Almost.
+
While it is true that we have quad-core Raspberry Pi computers and the term "bare metal" gets thrown around a lot, the reality of chips and architectures used in commercial embedded devices often create friction between the hardware and software world.
+
THIS TALK IN THREE WORDS
+
Embedded
+
Software
+
Frameworks
+
OBJECTIVES
+
To present a bottom-up approach in breaking down the software components of embedded devices.
+
TARGET AUDIENCE
+
Engineers interested in understanding what is inside commercial embedded devices around us all.
Paweł is a Team Lead and Architect of MongooseIM at Erlang Solutions.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Sophie DeBenedetto / Ayanda Dube / Paweł Chrząszcz / Dylan Kennedy
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 11.15 - 11.55
+
+
+
+
+
Panel Discussion: Message Protocols and The BEAM
+
+
In an increasingly connected technological landscape, message passing between applications, organizations, and devices is more critical than ever before. We'll be joined by Pawel Chrzaszcz, Architect of MongooseIM at Erlang Solutions, RabbitMQ contributor Ayanda Dube, and Emqx.io Global VP Dylan Kennedy. These XMPP, AMQP, and MQTT experts will chat about when to reach for these protocols and why, share their thoughts on why these technologies were built, and tell us about their own experiences building on top of these protocols. Whether you're focused on IoT messaging, message passing within the infrastructure of your business, or super secure messaging between organizations, you'll have a chance to ask questions and dive into the wide world of messaging on the BEAM and beyond.
GRiSP Inventor, Distributed Computing in IoT and everywhere
+
Peer discovered Erlang in 2007 and has been relying on it ever since. Fascinated by all its emergent properties which are quite non-obvious from afar. Around it he found the best developer community one could wish for being part of.
+
+He is Founder and Director of Peer Stritzinger GmbH which created GRiSP www.grisp.org, a platform to run Erlang on small embedded systems and focusses on building Automotive, Industrial IoT and Smart Cities applications and tries to use Erlang technology wherever useful. Participating in several EU funded research projects, he is trying to push the envelope for what can be done with Erlang and the other languages on the BEAM.
+
+Peer’s previous experience ranges from low level device drivers to functional languages in industrial and automotive applications. He initially mastered in physics at the Technical University Munich. He has been working self-employed as a developer since 1987 and also consulted in applied cryptography and protocol design and implementation. He is since ever living and working in the idyllic countryside west of Munich, Bavaria.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Peer Stritzinger / Frank Hunleth
+ Code BEAM SF 2020
+
+
+Tutorial/
+
+ 04 Mar 2020
+ 09.00 - 17.00
+
+
+
+
+
Tour the embedded BEAM with GRiSP and Nerves
+
+
+
If you're considering using Erlang or Elixir for your next IoT device or just wanting to learn more about embedded systems, this class will give you a tour of the two major BEAM-powered embedded system projects. Both projects build on the rock solid reliability and productivity of the Erlang VM, and are used in industrial projects around the world.
+
+
OBJECTIVES
+
+
To get real practical experience with embedded systems
+
Know why the BEAM virtual machine is a good fit for such projects
+
Understand the basic concepts and characteristics of embedded systems
+
Familiarity with Nerves and GRiSP platforms, including the foundation to keep developing your own project
+
Have fun!
+
+
+
PREREQUISITES
+
+
A Mac or Linux laptop. Windows laptops with a Linux VM can work, but verify USB connectivity
+
Have a working installation of Erlang and Elixir
+
Working USB ports - check if blocked by a corporate firewall or if you have USB C, bring an adapter
+
No hardware needed! We'll provide a software installation checklist a week before the training
+
+
+
TARGET AUDIENCE
+
This tutorial is for those with: * basic knowledge of Erlang or Elixir * familiarity with gen_server/GenServer * none or only a little experience with either GRiSP or Nerves)
+
+
+
COURSE OUTLINE
+
This is a unique class led by the creators of both Nerves and GRiSP that will not only get you started with both projects, but will also help you understand the differences and tradeoffs. The class is hands-on.
+
We'll provide hardware and labs for you that cover the basics, interacting with low level hardware, networking devices, and interoperability.
Showing you the current state of a smart industrial transport system project we are building using. For this, we are currently developing a new “Industrial GRiSP” hardware which will be shown for the first time in public. Based on the same hardware architecture as GRiSP2 I’ll show how we use custom-built PMODs and GRiSP2 boards to prototype while the new hardware was designed.
+
+The final goal is to make a modular conveyor system with distributed built-in intelligence to prove what we call “Plug & Produce” operation.
+
+There will be a demo of a Digital Twin with animated visualisation of the manufacturing conveyor transport system in Erlang. If the timing allows it, it will be connected live to a real conveyor system in a producing factory. The digital twin is connected to the sensors and actuators via an Erlang-based open-source OPC-UA protocol stack we have been developing.
+
+Outlook: Using the complete state of the real world through this digital twin as starting point for a distributed planning algorithm in Erlang allows distributed online (while the world is moving) optimal planning of the material flow on the conveyor.
+
OBJECTIVES
+
Introduce digital twins, the manufacturing use case with an outlook to distributed planning algorithms.
+ Peer Stritzinger / Adam Lindberg
+ Code BEAM Lite Berlin
+
+
+Tutorial/
+
+ 10 Oct 2019
+ 09.00 - 17.00
+
+
+
+
+
Hands on Embedded-Systems with GRiSP - Sensors, Actuators and Robots!
+
+
+
COURSE OUTLINE
+
The one day GRiSP tutorial will get you familiar with the GRiSP hardware boards and its capabilities running embedded Erlang and Elixir applications. We'll learn how to set up an Elixir or Erlang application for the GRiSP board, deploy it and interact with different hardware components directly from Erlang. After the tutorial, there will be a workshop where you can develop prototype embedded applications together with the group, having access to the GRiSP hardware and many sensors and actuators and we’ll also bring some robotics hardware to work with! We have tasks for every level.
+
Embedded Hardware will be provided and the tutorial price includes a GRiSP board to take with you.
+
More information at https://www.grisp.org/
+
+
+
+
+
+
+
AUDIENCE
+
+
Elixir and Erlang developers who want to learn about the platform and embedded systems development
+
Embedded systems engineers who want to try out Erlang or Elixir for systems
+
+
+
OBJECTIVES
+
+
Learn how to use our rebar3 and mix based advanced development tools to develop embedded or IoT systems for the GRiSP board
+
Interact and work with real hardware
+
Develop example embedded applications together
+
+
+
PREREQUISITES
+
Programming skills in Erlang or Elixir.
+
Please bring your laptop. Micro USB cables and Micro SD-card readers are helpful but not necessary (we will bring some).
+ Sébastien Merle / Peer Stritzinger
+ Code BEAM V Europe 2021
+
+
+
+ 20 May 2021
+ 12.20 - 13.00
+
+
+
+
+
Managing a tera of networking flows using Erlang
+
+
As part of the 2021 TeraFlow research group, we are developing a distributed Software-Defined Network (SDN) controller targeting a tera of managed flows in beyond 5G networks.
+
+After an overview of what an SDN controller is and the protocols involved, we will introduce our architecture, the concerns, constraints, and challenges. Then we will perform a live demo showing the progress so far. Finally, we will present the open-source projects created or improved as part of the development.
+
OBJECTIVES
+
Give the audience a good idea of what is a Software-Defined Network (SDN) controller, and some of the challenges of developing a scalable one.
+
AUDIENCE
+
Developers and decision-makers interested in Software-Defined Networking.
+ Frank Hunleth / Peer Stritzinger
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 10.40 - 11.05
+
+
+
+
+
Fireside chat of Embedded programming on the BEAM
+
+
Peer and Frank talk discuss what’s happening with embedded systems in the GRiSP and Nerves communities. This will cover current challenges and exciting developments to watch for in 2022.
Jumping gen_servers! A new way of building distributed applications
+
+
Distributed applications in Erlang have been static, limited and manual. Couldn't they be dynamic, limitless and automatic instead? Heterogenous large networks with interesting topology and varied properties of nodes and links call for a new way of building such applications.
+
We will together explore building blocks made out of processes, messages, links and monitors sprinkled with practical experiments. Distributed self managing computation and communication, seeking new emergent behaviours.
+
OBJECTIVES:
+
Kick off a new way of building distributed computing showing code everyone can understand and see what new properties emerge. Giving an outlook how we can get further into the rabbit hole of Erlang Distributed possibilities.
+
AUDIENCE:
+
Distributed computing practitioners, interested in scalable, reliable self managing systems.
The Erlang VM does a lot of work loading and transforming many little BEAM files before it is ready to go. When starting Elixir even more beam files have to be loaded. Doing this work over and over again leads to unfavourable startup time. Most clearly this shows on embedded systems with weak CPUs, inefficient files systems and storage and no way to cache the filesystem when switched on. But this extra work also shows up everywhere the Erlang VM is started again and again, e.g. during development and in CI/CD systems.
+
In this talk, we explore what exactly is done by the BEAM loader and how we can move this work to release build time so it doesn't have to be done again and again on startup.
+
Transforming all the little BEAM files into normal object files a static or dynamic linker can use and relocate gives us several benefits at the same time:
+
+
Ready to run in place beam code - reduced startup time
+
Faster cloud spin uptime with standard Erlang VMs
+
Single executable releases - wouldn't it be nice to deploy just a single-file executable that contains the Erlang VM and the complete relates BEAM files?
+
Deploy complete Erlang releases on System on Chip Micro-Controllers by running everything directly in firmware flash
+
+
In this talk, you will get a clear explanation of how all this works and demos of the implementation.
+
THIS TALK IN THREE WORDS
+
Fast
+
BEAM
+
Start
+
OBJECTIVES
+
+
Learn what happens during code loading in BEAM
+
Learn about ELF object files and relocation
+
Understand how beam files can be preloaded to run in place
+
+
TARGET AUDIENCE
+
+
People who want to learn about the inner workings of the BEAM
+
People who are interested in startup time speedup
+
People who care about single executable release+VM deployment
+ Peer Stritzinger / Barbara Chassoul
+ Code BEAM SF 2020
+
+
+
+ 06 Mar 2020
+ 11.25 - 12.10
+
+
+
+
+
Building a IDE, compiler and runtime for a graphical distributed data flow language in Erlang
+
+
Control systems have their own programming languages and paradigms. Progammable Logo Controllers (PLCs) are used to control everything from a garage door opener to a whole factory. We have built a compiler for a distributed variant of PLC programming language (IEC 61499) that compiles to BEAM files which run in Erlang VMs. As a web frontend to a Erlang node we built a IDE for the textual and graphical representation. PLC programme run distributed from small embedded systems to the cloud unchanged.
+
THIS TALK IN THREE WORDS
+
IoT
+
PLC
+
IDE
+
OBJECTIVES
+
Show how a complete graphical IDE, compiler and runtime can be built with Erlang and run in a small embedded system.
+
TARGET AUDIENCE
+
Elixir and Erlang devs interested in web based IDE's, PLCs and IoT
+ José Valim / Miriam Pena / Peer Stritzinger / Francesco Cesarini
+ Code BEAM STO 2019
+
+
+
+ 16 May 2019
+ 17.45 - 18.30
+
+
+
+
+
Introducing the Erlang Ecosystem Foundation
+
+
Thursday evening keynote is extra special this year, you can hear all about the newly formed Erlang Ecosystem Foundation. Founding members of the Erlang Ecosystem Foundation will join us to share the journey and goals of the foundation!
+
The Erlang Ecosystem Foundation's goal is to grow and support a diverse community around the Erlang and Elixir ecosystem, encouraging the continued development of technologies and open source projects based on/around its runtime and languages.
+ Peer Stritzinger / Adam Lindberg
+ Code BEAM STO 2019
+
+
+
+ 17 May 2019
+ 10.35 - 11.20
+
+
+
+
+
Erlang distribution: going beyond the fully connected mesh
+
+
In our search to improve Erlang distribution as cluster sizes grow and topologies become more dynamic, we have tried many things: prototyping solutions to ahead-of-line blocking using fragmented packages, using UDP for distribution, and experimenting with Time Sensitive Networking (TSN) for real-time Erlang in industrial settings.
+
+We will talk about our experiences so far and build upon the work of the OTP team by experimenting with a generic behaviour to make custom Erlang distribution implementations easier.
+
OBJECTIVES
+
Give a brief overview of the history and problems with Erlang distribution, look at the current state of the art and propose areas for further work and research.
+
AUDIENCE
+
People interested in Erlang internals, improved distribution protocols and who want to participate in enhancing Erlang's distribution.
Erlang Distribution via UDP combined with Ethernet TSN
+
+
After some initial experiments we now are looking at using UDP for Erlang Distribution. Ethernet TSN (=Time Sensitive Networking) is a set of new standards that extends Ethernet by controlling latency and redundancy on Layer-2 making it possible to implement hard real-time reliable datagram service.
+
TARGET AUDIENCE
+
These topics have IoT and Industrial use cases in mind. Attendees can learn about the technology described.
+ José Valim / Miriam Pena / Fred Hebert / Francesco Cesarini / Peer Stritzinger
+ Code BEAM SF 2019
+
+
+
+ 28 Feb 2019
+ 17.45 - 18.30
+
+
+
+
+
Introducing the Erlang Ecosystem Foundation
+
+
Thursday evening keynote at the Code BEAM SF where you can hear all about the newly formed Erlang Ecosystem Foundation. A talk from Jose Valim, Peer Stritzinger, Fred Hebert, Miriam Pena and Francesco Cesarini who are sharing the journey and goals of the foundation that we've all waited for!
+
The Erlang Ecosystem Foundation's goal is to grow and support a diverse community around the Erlang and Elixir ecosystem, encouraging the continued development of technologies and open source projects based on/around its runtime and languages.
Computer Science Assistant Professor at the University of California
+
Peter Alvaro is an Assistant Professor of Computer Science at the University of California Santa Cruz, where he leads the Disorderly Labs research group (disorderlylabs.github.io). His research focuses on using data-centric languages and analysis techniques to build and reason about data-intensive distributed systems, in order to make them scalable, predictable and robust to the failures and nondeterminism endemic to large-scale distribution. Peter earned his PhD at UC Berkeley, where he studied with Joseph M. Hellerstein. He is a recipient of the NSF CAREER Award, the Facebook Research Award, the USENIX ATC Best Presentation Award, and the UCSC Excellence in Teaching Award.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Peter Alvaro
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 09.05 - 09.50
+
+
+
+
+
What not where: Sharing in a world of distributed, persistent memory
+
+
A world of distributed, persistent memory is on its way. Our programming models traditionally operate on short-lived data representations tied to ephemeral contexts such as processes or computers. In the limit, however, data lifetime is infinite compared to these transient actors. We discuss the implications for programming models raised by a world of large and potentially persistent distributed memories, including the need for explicit, context-free, invariant data references. We present a novel operating system that uses wisdom from both storage and distributed systems to center the programming model around data as the primary citizen, and reflect on the transformative potential of this change for infrastructure and applications of the future. We focus in particular on the landscape of data sharing and the consequences of globally-addressable persistent memory on existing consistency models and mechanisms.
Quinn is a frequent contributor to open-source Elixir libraries, enjoys hacking away on programming languages in her free time, and watches far too many old movies for someone her age. Originally from Canada, she's spent most of her adult life in the San Francisco Bay Area.
While Erlang first became commercially available in 1990, the language boasts a rich history leading up to that point, and many of the ideas we consider to be unique to the ecosystem instead trace their lineage back to far older technologies.
+
+
Using that history as a guide, this talk attempts to recontextualize our present understanding of the language, so that we're able to look toward some of the futures that may lie ahead.
+ Quinn Wilton / Robert Virding
+ Code BEAM Europe 2022
+
+
+
+ 20 May 2022
+ 09.05 - 09.50
+
+
+
+
+
Backtracking through Time and Space in Erlang
+
+
Erlang grew out of experiments in logic programming in the 80s, but very little of that heritage remains today. This talk revisits those early days to explore the ideas that were borrowed from Prolog, the ideas that were forgotten, and the ideas that we may yet revisit in the future.
+
We'll discuss the connections between the earliest implementations of Erlang and modern metaprogramming techniques, how Elixir's pipe operator relates to parsing, and what declarative programming can teach us about distributed shared memory. All of these ideas will come together in an exploration of how the BEAM ecosystem can leverage these techniques today to shape the way we might write code in the future!
Atlas: Flexible Software Composition using Protocols
+
+
Last year, my team delivered an application that aggregated data from multiple remote services, and we produced it in a third of the time allocated.
+
+To facilitate this pace of development, I modeled our services using Norm, composed those models using protocols, and then used property testing to verify them against the real services: enabling us to concurrently develop the frontend, backend, and upstream services.
+
+I'll explore these patterns through an example application that demonstrates them in action.
Software consultant at Erlang Solutions and Elixir Lab Co-Host
+
Rachel Curioso is a developer with 4 years of experience and found in elixir her place in the dev world. She was impacted by the dev community early on in her career and tries to contribute to its growth, whether by creating more elixir content or informally mentoring people because she thinks that being part of it positively impacts people's lives.
+
+She uses emoji as punctuation, reads a lot of sci-fi, and she's been playing video games since she could hold a controller.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Rachel Curioso / Joel Jucá / Renan "Milhouse" Ranelli
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 11.45 - 12.10
+
+
+
+
+
Fireside chat on how to grow your local community / Como criar sua comunidade local
+
+
This will be a Chat in Portuguese with the organizers and moderators of the biggest Elixir communities in Brazil: Elug-CE, Elug-SP and the telegram group Elixir Brasil.
+Why local communities are important? How to start? What are the challenges?
+
+Esse será uma conversa em Português, com os organizadores e moderadores das maiores comunidades brasileiras de elixir: Elug-CE, Elug-SP e o grupo do telegram "Elixir Brasil".
+Porque comunidades locais são importantes? Como começar? Quais são os desafios?
While in a desk Raúl spends time programming elixir and experimenting with the language; he developed a crave for "contract programming" and has been exploring the paradigm in elixir; wants to learn a new medium-low level language, but is yet undecided.
+
Otherwise he's a recent dad; enjoys playing solo videogames and collecting board game conflict simulations; loves trying out traditional food and having friends over dinner. Operates from Tijuana, México from where he was born and lives.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Manuel Rubio / Laura M. Castro / Brujo Benavides / Anayeli Malvaez / Raúl Chouza / Carlo Gilmar /
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.00 - 10.40
+
+
+
+
+
Panel discussion on Beamer's modern life ó La vida moderna de un Beamer
+
+
This session will host an all spanish-speaking panel to talk about the BEAM; how the platform is currently used and what the future holds for anyone invested in it. Note that this panel will be delivered 98% in spanish.
+
Esta sesión tendrá como invitados a destacados miembros de la comunidad hispanohablante para discutir sobre BEAM; cómo es que aprovechamos la plataforma al día de hoy y qué es lo que el futuro aguarda para todos los interesados en ella. Manejaremos español durante gran parte de la sesión para la comunidad.
How can we ensure that the data we pipe through a system passes the checks? Has the expected shape? Behaves correctly? The Elixir language already ships with some niceties to keep our interactions safe, but when this is not enough the library ecosystem offers a wide range of tactics.
+
+This is an exploration of what is available, and what can we look up to.
+
OBJECTIVE
+
Leverage the "fail fast" and "let it crash" philosophy of erlang to contracts and explore its possibilities within the BEAM.
+
AUDIENCE
+
Beginner, Intermediate; individuals interested in specification, correctness or handling errors in programs.
Renan is a Brazilian software developer focused on backend, operations and databases and has been working with Elixir since 2015. He is also a co-organizer of ElugSP. He has worked in companies both very large and very small. He is a frequent speaker at technology events in Brazil and abroad. He has spoken numerous times about Elixir.
+
When not talking about software, Renan likes to cook, make cocktails and dance.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Rachel Curioso / Joel Jucá / Renan "Milhouse" Ranelli
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 11.45 - 12.10
+
+
+
+
+
Fireside chat on how to grow your local community / Como criar sua comunidade local
+
+
This will be a Chat in Portuguese with the organizers and moderators of the biggest Elixir communities in Brazil: Elug-CE, Elug-SP and the telegram group Elixir Brasil.
+Why local communities are important? How to start? What are the challenges?
+
+Esse será uma conversa em Português, com os organizadores e moderadores das maiores comunidades brasileiras de elixir: Elug-CE, Elug-SP e o grupo do telegram "Elixir Brasil".
+Porque comunidades locais são importantes? Como começar? Quais são os desafios?
Robert Carbone has always had an affinity for keyboards - acoustic & digital. Fluent in music theory, graphic design and armed with a Masters of Accountancy, his passion lies in the valuation of intangibles, more specifically, analyzing & graphically representing them in conceptual frameworks.
+
+His journey to develop wearable tech led him to Erlang. Once he got deeper into coding, he recognized a need to make the wxErlang Libraries more accessible to the community.
+
+Robert is currently spearheading the hack of wxErlang's 230+ modules. His recurring code and tutorial publications can be found on ScriptCulture.com. ScriptCulture was founded to elevate awareness of Erlang code & the art of calligraphy and, ultimately, to introduce both into academic curriculum.
+
+When he isn't being an evangelist for Erlang you will find him longboarding around a city, snagging a disc(frisbee) or composing, at a keyboard.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Robert Carbone
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 12.20 - 12.45
+
+
+
+
+
Stack to the Future
+
+
The BEAM/Rust stack offers unparalleled fault-tolerance that can grant us true reliably. We'll explore the newly written Erlang-SDK for interacting with Rust/WASM SmartContracts on a permissionless, decentralized, public blockchain(Casper Network).
+The goal will be understanding:
+- Basics of API through Erlang, Rust & WebAssembly
+- Writing, Testing & Deploying SmartContracts
+- Calling & Querying SCs
+- Dealing with Errors
+- Working with Cryptography
+- Serialization
+This is the Stack to the Future.
+
OBJECTIVES:
+
+
Teach the Erlang Community about interacting with Blockchains.
+
Promotes the Erlang/Elixir--Rust--WebAssembly--Blockchain Stack.
+
Introduce an Erlang SDK for the Proof-of-Stake, Rust based BlockChain, CSPR.
+
Showcase the power of fault-tolerance & generic behavior abstractions.
Composing in style: an introduction to wxErlang's StyledTextCtrl
+
+
Can you remember typing into a text box?
+
What would you build if you had the ability to create your own?
+
WxErlang's most sizable module, wxStyledTextCtrl(wxSTC), is equipped to fashion the powerful & colorful text box you desire. With 400+ functions & 26 events, wxSTC is the entire Scintilla source-code-editor neatly (text)boxed up. This talk simplifies this maze of a module by showcasing features & discussing their design. By the end, you'll be line-marking, autocompleting & of course, stylin' text.
+
OBJECTIVES
+
+
Help the audience get started using wxStyledTextCtrl (wxSTC)
+
Showcase key features of wxSTC
+
Demonstrate code needed to get a wxSTC working smoothly
+
Give away useful tools for code beautification that utilize a wxSTC
+
Empower the community, so we can start building some long-awaited suites that involve text boxes, such as text messaging apps
+
+
TARGET AUDIENCE
+
+
Erlangers
+
Alchemists (for those who know how to use WxErlang)
+
Those interested in GUI development in wxErlang
+
Those interested in constructing simple text box apps, like chat applications
+
Those interested in creating more complicated apps, like Erlang/Elixir IDEs
If you take the word graph out of graphic, all you have is 'ick'.
+
+For even a savvy Erlanger, becoming proficient with our digraph libraries can be a mountainous trek. Mentally traversing data sets is arduous, especially when one keystroke slip can sink it all down a ravine. This talk's aim is to be a source of guidance that breaks the cycle. By the end, you'll be armed with methods & visualization techniques. The path up to the vertex of the mountain will be filled with fewer edges than you thought.
+
THIS TALK IN THREE WORDS
+
Connecting
+the
+Dots
+
OBJECTIVES
+
+
Hand-out edited libraries.
+
Review the functionality provided by the standard library
+
Furnish tools for safe graph creation in the shell
+
Sink our teeth into the art of wxErlang Graph visualization techniques
+
Provide the community with the legendary A*(AStar) search algorithm
+
+
TARGET AUDIENCE
+
+
Any level of Erlanger interested in the digraph libraries
+
But especially beginners who have had frustration with digraphs
+
Overall, anyone interested in beam data visualization through digraphs
For over a decade, Erlang's cross-platform GUI interface, wxErlang, has sat dormant without a meaningful & practical guide. This talk is wxErlang's long-awaited tutorial.
+
+As one of the first presentations on the subject, we have an opportunity to discuss
+best-practices surrounding the understandability & comparability of the code we shall ultimately write for each other.
+
+To do so, we draw on knowledge from the accounting profession, in particular Conceptual Statement 8 (CON 8).
+
+CON 8 is the central framework in the worldwide 'Harmonization' effort: principles set forth by the FASB¹ & IASB² to guide the internationalization of accounting standards.
+
+Whether you find this surprising or not, Accountants and Erlangers both deal with very similar issues; such as what, where, and when to log information, and in our case of WxErlang, how to ultimately present data to the user.
+
+From there we shall promptly delve into the gears of wxErlang.
+
+By the end of this talk, not only will you be able to craft a basic wxErlang application, but also be well equipped to participate in writing code that can help harmonize the community.
+
+FASB¹ Financial Accounting Standards Board
+IASB² International Accounting Standards Board
Robert Virding is Principal Language Expert at Erlang Solutions Ltd. While at Ericsson AB, Robert was one of the original members of the Ericsson Computer Science Lab, and co-inventor of the Erlang language. He took part in the original system design and contributed much of the original libraries, as well as to the current compiler. While at the lab he also did a lot of work on the implementation of logic and functional languages and on garbage collection. He has also worked as an entrepreneur and was one of the co-founders of one of the first Erlang startups (Bluetail). Robert also worked a number of years at the Swedish Defence Materiel Administration (FMV) Modelling and Simulations Group. He co-authored the first book (Prentice-Hall) on Erlang, and is regularly invited to teach and present throughout the world.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Robert Virding
+ Code BEAM V Europe 2021
+
+
+Training/
+
+ 24 May 2021
+ 10.00 - 14.30
+
+
+
+
+
OTP for Erlang Programmers
+
+
+
OTP is the middleware, libraries and tools used to design and architect Erlang systems. The Basic OTP course covers the main principles, including process design patterns, supervisors, applications and release handling. It will give the participants the ability to develop and architect Erlang systems. Completion of the Basic or Compete Erlang courses are necessary to enroll in this intermediate course. Basic OTP can be complemented with the one day addons focusing on architecting Erlang systems and Erlang in operations.
+
+
EXPERTISE
+
+
Intermediate
+
+
+
COURSE DURATION
+
+
5 days
+
+
+
TARGET AUDIENCE
+
+
Software developers & engineers
+
+
+
PREREQUISITES
+
+
Intermediate user of Erlang, preferably followed by three months of practical experience.
+
Ideally you already know about about Erlang Term Storage, concurrent Erlang, error handling and maps and records
+
+
+
+
WHAT WILL THE ATTENDEE LEARN
+
+
Understand the design principles of OTP
+
Understand OTP behaviours
+
Understand OTP system configuration
+
Awareness of the available OTP applications
+
+
+
COVERS THE FOLLOWING TOPICS:
+
+
Introduction
+
Behaviours
+
Generic Servers
+
State Machines
+
Supervisors
+
Event Handlers
+
Applications
+
System Architecture Support Libraries
+
System Principles
+
+
+
WHY YOU SHOULD ATTEND THIS COURSE
+
+
Helps you get over the hurdle of efficiently learning how to build systems with OTP
+
Allows you to avoid the pitfalls and borderline cases handled in its libraries
+
A cost effective approach to increasing productivity whilst reducing mistakes
+
Allows you to design and develop systems using the globally recognised Erlang approach
OTP is the middleware, libraries and tools used to design and architect Erlang systems. The Basic OTP course covers the main principles, including process design patterns, supervisors, applications and release handling. It will give the participants the ability to develop and architect Erlang systems. Completion of the Basic or Compete Erlang courses are necessary to enroll in this intermediate course. Basic OTP can be complemented with the one day addons focusing on architecting Erlang systems and Erlang in operations.
+
+
EXPERTISE
+
+
Intermediate
+
+
+
COURSE DURATION
+
+
5 days
+
+
+
TARGET AUDIENCE
+
+
Software developers & engineers
+
+
+
PREREQUISITES
+
+
Intermediate user of Erlang, preferably followed by three months of practical experience.
+
Ideally you already know about about Erlang Term Storage, concurrent Erlang, error handling and maps and records
+
+
+
+
WHAT WILL THE ATTENDEE LEARN
+
+
Understand the design principles of OTP
+
Understand OTP behaviours
+
Understand OTP system configuration
+
Awareness of the available OTP applications
+
+
+
COVERS THE FOLLOWING TOPICS:
+
+
Introduction
+
Behaviours
+
Generic Servers
+
State Machines
+
Supervisors
+
Event Handlers
+
Applications
+
System Architecture Support Libraries
+
System Principles
+
+
+
WHY YOU SHOULD ATTEND THIS COURSE
+
+
Helps you get over the hurdle of efficiently learning how to build systems with OTP
+
Allows you to avoid the pitfalls and borderline cases handled in its libraries
+
A cost effective approach to increasing productivity whilst reducing mistakes
+
Allows you to design and develop systems using the globally recognised Erlang approach
An introductory course introducing the key concepts in Erlang. They include its functional heritage, concurrency and error handling. The course provides most prerequisites to attend the OTP course and a range of follow up courses which can be used to guide developers through advanced topics focusing on Erlang architectures and operations. Together, they are great for those that need to be introduced to Erlang and use it in commercial projects.
+
+
EXPERTISE
+
+
Beginner
+
+
+
COURSE DURATION
+
+
3 days
+
+
+
TARGET AUDIENCE
+
+
Software developers, engineers and architects
+
+
+
PREREQUISITES
+
+
+
Good programming skills in another language
+
+
+
+
+
+
OBJECTIVES
+
+
Understanding of the basics of Erlang
+
Read/Write/Design and observe Erlang Programs
+
Learn how to think concurrently and handle errors
+
Get an understanding of best development and design practices
+
Provides foundation needed to attend the OTP course
+
+
+
COVERS THE FOLLOWING TOPICS
+
+
Why should you be using Erlang?
+
The Shell, Types and Constructs
+
Sequential Programming
+
Unit Testing
+
Thinking Concurrently
+
Process Design Patterns
+
Process Error Handling and Fault Tolerance
+
Functional Programming Constructs
+
Maps and Records
+
ETS tables, the Redis of the Erlang world
+
Good Design Practices
+
+
+
WHY YOU SHOULD ATTEND THIS COURSE
+
+
Helps you get over the hurdle of efficiently learning Erlang
+
Gives you all of the knowledge you need to dive deeper in advanced subjects
+
Stops you from doing the typical beginner errors
+
Gets you up to speed with the development workflow
You will learn the prevailing Erlang design patterns called OTP behaviours. We will cover Erlang design patterns such as generic behaviours, finite state machines and event handlers. You will also learn how to develop systems using the supervisor and application behaviours patterns, so you can construct maintainable and fault tolerant software. Upon completion of this course, you will be able to extend it all, by devising your very own behaviours.
+
+
OBJECTIVES
+
+
Use existing design patterns supported by Erlang and OTP
+
Apply generic behaviours, finite state machines and event handler patterns
+
Use the supervisor and application behaviours patterns
+
Write your own design patterns.
+
Structure large Erlang based systems
+
+
+
PREREQUISITES
+
Existing experience using sequential and concurrent programming with Erlang on projects.
+
+
TARGET AUDIENCE
+
This course is aimed at experienced Erlang software developers and designers who need to understand behaviours.
+
+
+
COURSE OUTLINE
+
This course introduces the need and advantages of using middleware in the development of massively concurrent, distributed, fault-tolerant real-time systems in Erlang. It looks at Erlang's evolution, and how it helped form OTP. Further, this gives an overview of the components that make up OTP. They are Erlang, a set of behaviours, and rules and design principles to use them. OTP comes with many ready built applications and tools useful for large scale software design. They are introduced in this course.
+
BEHAVIOURS
+
Erlang processes display similar properties. In the Open Telecom platforms, these properties have been abstracted in a group of generic library modules, also called OTP behaviours. This section introduces the concept of behaviours, and through examples of abstraction, shows their need and advantages.
+
GENERIC SERVERS
+
Generic servers implement the Client-Server behaviours in OTP. This section introduces the most commonly used behaviour in Erlang based applications.
+
FINITE STATE MACHINES
+
The finite state machines behaviour in Erlang is used to implement state transitions in processes based on incoming events. This behaviour is commonly used when implementing protocol stacks.
+
SUPERVISORS
+
Supervisors are a behaviour whose only task is to start other Erlang behaviours and monitor them for abnormal termination. This is a vital section in understanding start and restart strategies in Erlang.
+
EVENT HANDLERS
+
Erlang has ready-built event managers. Event handlers are behaviours who subscribe to events sent to specific managers, allowing several actions to take place based on one single event. Event handlers can be changed on the fly, as well as added or deleted from a specific manager.
+
APPLICATIONS
+
This section introduces the application behaviour, used for packaging Erlang resources. Resources can vary from libraries to process clusters and can be configured to run on a single processor or be distributed on a set of nodes.
+
COMPLIANT PROCESSES
+
There will be times where we want to implement our own behaviours, or for efficiency reason, use simple Erlang processes. This section looks behind the scenes on how behaviours are implemented and explain how to implement your own.
+
SYSTEM PRINCIPLES
+
The System Principles section describes how Erlang applications are coupled together in a release and started as a whole. Sections include creating release files, bundling up the software including the virtual machine, and running Erlang on target and embedded hosts.
+ Sam Aaron / Jeremy Ruston / Robert Virding
+ Code Mesh LDN
+
+
+
+ 08 Nov 2019
+ 16.30 - 17.30
+
+
+
+
+
TBD: be inquisitive, share and inspire
+
+
In many conversations and talks given after the late Joe Armstrong retired, he rarely talked about Erlang, and instead focused on the different expressions of the ideas that had driven it: models of concurrency based on the realities of physics, the importance of self contained code and applications, and perhaps most important of all, the importance of designing by prototyping.
+
For this special keynote, one of Erlang’s co-inventors and the creators of Sonic Pi and TiddlyWiki reflect on what they have learned while collaborating with Joe.
You will learn the prevailing Erlang design patterns called OTP behaviours. We will cover Erlang design patterns such as generic behaviours, finite state machines and event handlers. You will also learn how to develop systems using the supervisor and application behaviours patterns, so you can construct maintainable and fault tolerant software. Upon completion of this course, you will be able to extend it all, by devising your very own behaviours.
+
+
OBJECTIVES
+
+
Use existing design patterns supported by Erlang and OTP
+
Apply generic behaviours, finite state machines and event handler patterns
+
Use the supervisor and application behaviours patterns
+
Write your own design patterns.
+
Structure large Erlang based systems
+
+
+
PREREQUISITES
+
Existing experience using sequential and concurrent programming with Erlang on projects.
+
+
TARGET AUDIENCE
+
This course is aimed at experienced Erlang software developers and designers who need to understand behaviours.
+
+
+
COURSE OUTLINE
+
This course introduces the need and advantages of using middleware in the development of massively concurrent, distributed, fault tolerant real time systems in Erlang. It looks at Erlang's evolution, and how it helped form OTP.
+
Further, this course gives an overview of the components that make up OTP. They are Erlang, a set of behaviours, and rules and design principles to use them. OTP comes with many ready built applications and tools useful for large scale software design.
+ Duncan McGreggor / Robert Virding
+ Code BEAM V America
+
+
+
+ 11 Mar 2021
+ 11.50 - 12.30
+
+
+
+
+
Fireside chat on LFE with Robert Virding and Duncan McGreggor
+
+
In this session we will seek Robert's advice on practical matters when creating applications and services in OTP on the BEAM, design decisions that face every implementor sooner or later, how creating software in LFE may or may not affect such decisions, and common misconceptions that must be overcome when building distributed solutions for customers. If time allows, we will take the opportunity to hear Robert's thoughts on best practices for BEAM language designers.
+ Mariano Guerra / Robert Virding
+ Code BEAM America 2021
+
+
+
+ 05 Nov 2021
+ 10.30 - 10.55
+
+
+
+
+
Fireside chat on BEAM Languages with Erlang co-inventor Robert Virding
+
+
In this fireside chat, Mariano Guerra and Robert Virding, creators of many languages on the BEAM including Erlang(!!), Effene, LFE and LuErl will discuss past, present and future of languages on the BEAM, current and future challenges and opportunities. Join them, prepared with your own questions.
+ Manuel Rubio / Robert Virding
+ Code BEAM STO V
+
+
+
+ 10 Sep 2020
+ 14.20 - 15.00
+
+
+
+
+
Programming Languages on top of the BEAM
+
+
Talk about the implementation of languages on top of BEAM which have not the same semantics as Erlang so, it is not going to be a talk about languages like LFE or Elixir but also others like Lua or PHP which are implemented in an interpreted way. The talk is going to review the issues that can occur, solutions to them and also give some examples about how in the end they can be done.
+ Bjarne Däcker / Mike Williams / Robert Virding / Garrett Smith
+ Code BEAM V America
+
+
+
+ 12 Mar 2021
+ 09.05 - 10.05
+
+
+
+
+
History and philosophy of Erlang with its creators
+
+
Garrett Smith will host a fireside chat with Erlang co-inventors Mike Williams and Robert Virding, and the co-founder and former head of the Ericsson Computer Science Lab Bjarne Dacker. In his fireside, Garrett will be exploring the Erlang rationale, understanding how to drive innovation aimed at solving specific problems, and moving the results from a research institution to a commercial entity. As with previous fireside chats with Erlang-co inventors, expect lots of nuggets, anecdotes and stories explaining how, 30 years on, Erlang is still leading the way in the space of concurrency, distributed programming, resilience and scale.
+ Robert Virding / Frank Hunleth
+ Code BEAM SF 2020
+
+
+
+ 06 Mar 2020
+ 09.05 - 09.50
+
+
+
+
+
BEAM on the edge - Innovation through problem solving
+
+
"BEAM on the Edge” explores designing innovative solutions under ambiguous circumstances. Robert Virding discusses how the core Erlang team took a different path from the rest of the software world in the design and reason of the BEAM itself. Frank Hunleth describes the burgeoning world of IoT, problems that the BEAM is well suited to solve, and now Nerves makes those solutions a reality. Frank Savage takes us to the world of functional GUI, why http isn’t appropriate to solve all problems and how Scenic uses the BEAM to explore solutions in this space.
How do systems built in Erlang, Elixir or any other BEAM Language differ from other systems? To start with: They are designed from the bottom up to run 'forever.’ They are designed from the bottom up to expect, and recover from errors. They are expected to evolve. They scale seamlessly.
+
How is all of this achieved? - the answer is simple - by making systems from sets of isolated communication processes, and by treating errors and code as first class objects that can be sent in messages over a network.
+
In this tutorial, Robert will introduce what he calls the "Erlang way of thinking." He will cover:
+
+
Basic data types
+
Sequential programming
+
Concurrent programming
+
+
In Basic data types & sequential Erlang, he’ll introduce the foundations and talk about Modules, Functions and Pattern Matching. Once you've understood the basic pattern matching mechanism the rest is easy.
+
In concurrent programming, we'll talk about processes and their life span. You will look at sending and receiving messages, selective reception, and passing data in the messages. Robert will conclude this section by introducing the simple but powerful error handling mechanisms in processes which help detect and isolate failure.
+
Time permitting, we will cover distribution, showing you how by doing it right from the start or with very few changes, you can write a program intended to run on a single VM and distribute it in a cluster.
+
+
+
+
OBJECTIVES
+
To learn the Erlang way of thinking when architecting and developing systems.
+
+
PREREQUISITES
+
Programming experience in at lease a couple of programming languages.
+
+
TARGET AUDIENCE
+
Developers and architects who are interested in the principles which make Erlang, Elixir or other BEAM-based languages unique.
+ Quinn Wilton / Robert Virding
+ Code BEAM Europe 2022
+
+
+
+ 20 May 2022
+ 09.05 - 09.50
+
+
+
+
+
Backtracking through Time and Space in Erlang
+
+
Erlang grew out of experiments in logic programming in the 80s, but very little of that heritage remains today. This talk revisits those early days to explore the ideas that were borrowed from Prolog, the ideas that were forgotten, and the ideas that we may yet revisit in the future.
+
We'll discuss the connections between the earliest implementations of Erlang and modern metaprogramming techniques, how Elixir's pipe operator relates to parsing, and what declarative programming can teach us about distributed shared memory. All of these ideas will come together in an exploration of how the BEAM ecosystem can leverage these techniques today to shape the way we might write code in the future!
OTP: middleware for concurrent, distributed, scalable architectures
+
+
+
While Erlang is a powerful programming language used to build distributed, fault tolerant systems with requirements of high availability, these complex systems require middleware in the form of reusable libraries, release, debugging and maintenance tools together with design principles and patterns used to style your concurrency model and your architecture.
+
In this tutorial, Robert will introduce the building blocks that form OTP, the defacto middleware that ships with the Erlang and Elixir distributions. He will cover OTP’s design principles, describing how they provide software engineering guidelines that enable developers to structure systems in a scalable and fault-tolerant way, without the need to reinvent the wheel.
+
Note: We recommend you take this tutorial in conjunction with the one on Thinking Concurrently.
+
+
+
+
OBJECTIVES
+
To learn the Erlang way of thinking when architecting and developing systems.
+
+
TARGET AUDIENCE
+
Developers and architects who are interested in the principles which make Erlang, Elixir or other BEAM based languages unique.
+
+
PREREQUISITES
+
Either:
+
+
Having attended the Thinking Concurrently tutorial in the morning
+
Basic coding experience in Erlang or Elixir through side projects or self-learning
+
+
Come with a laptop and the latest version of Erlang installed. If you have time, get the Erlang mode working on your editor of choice.
Sean Cribbs is a software engineer and leader at BlockFi, focusing on product architecture, scalability, and observability. Previously, he held positions at Postmates, Comcast Cable and Basho Technologies. A decade-long enthusiast of the BEAM, Sean has contributed to both Erlang/OTP and Elixir, worked for five years on Riak, and created the parsing tool Neotoma.
+
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Sean Cribbs
+ Code BEAM America 2021
+
+
+
+ 05 Nov 2021
+ 11.05 - 11.45
+
+
+
+
+
Rearchitecting Toward Resilience
+
+
BlockFi recently experienced explosive growth as cryptocurrency markets got red-hot. By leveraging Elixir and the BEAM, we were able to weather many challenging times; however, the company's needs also outgrew our original monolithic application. In order to sustain our growth, we needed to literally divide and conquer.
+
+In this talk, we'll cover how BlockFi used OTP patterns and classic resilience techniques to rearchitect systems so that scalability and reliability are built-in and easy to use.
+
OBJECTIVES:
+
+
Discuss the context within which we were compelled to decompose our monolithic application.
+
Introduce the distributed systems problems we encountered while decomposing and the principles and techniques we applied to resolve them.
+
Highlight tools and libraries in the BEAM ecosystem that we employed in our resilience efforts.
+
+
AUDIENCE:
+
Engineers and tech leaders who want to build reliable multi-service architectures
No one wants to ship bugs in a production system, especially embarrassing ones! Dialyzer is a post-compilation type-checker that has found more bugs in my code than I can count, saving me a lot of time and frustration. This talk will discuss briefly what Dialyzer is, how to use it in Elixir projects, and go in-depth on three bugs it helped me find in the Elixir compiler and standard library.
+
OBJECTIVES
+
Encourage developers to use Dialyzer in their Elixir projects and improve the ecosystem.
+
TARGET AUDIENCE
+
Developers who want to improve the correctness and robustness of their Elixir code.
Simon Unge is an on again/off again Erlang developer who always strive to work with Erlang, but for reasons always ends up working with other stuff. He is finally on the wagon again as a full blown Erlang developer working on Zooms ejabberd server.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Simon Unge
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 11.45 - 12.10
+
+
+
+
+
EDBG: Your TTY debugger
+
+
This is yet another "Yet another" talk about EDBG, a TTY tool built on top of Erlang debugger and tracer. Now, there are plenty of really good debugging tools for Erlang out there, so why is this one written? I have no idea, but I can say it is a simple enough tty debugger for me to finally stop using the graphical debugger. No more WX build issues on OSX. Just plain text, accessible through the shell. In this talk, I will introduce the tool and show you how to use it, highlighting its advantages and hopefully convince you to give it a try.
How Cisco is using Erlang for intent-based networking
+
+
Cisco is shipping 2 million devices per year with Erlang in them, thanks to its use of ConfD and NSO, products acquired by Cisco when they acquired the Swedish company Tail-F in 2014. This talk would introduce what NSO and CONFD are, how Erlang is used within them, as well as new products Cisco is building using Erlang ontop of NSO and ConfD
+
THIS TALK IN THREE WORDS
+
Strong
+Typing
+Propaganda
+
OBJECTIVES
+
Raise awareness that Cisco is using Erlang in key products in its portfolio, and new development and products are constantly being build using Erlang.
+
TARGET AUDIENCE
+
Anyone curios in how/why/if the big dinosaur companies in the Bay are using Erlang.
Senior Engineer at Github and Co-author of Programming Phoenix LiveView
+
Sophie is an engineer at GitHub and co-author of Programming Phoenix LiveView. She is a graduate of, and former teacher at, The Flatiron School and has a passion for coding education. That passion, plus her love of Elixir, has also led her to become a maintainer of Elixir School, a free, open-source Elixir curriculum. She also participates in an Elixir mentoring program and is always seeking opportunities to help others learn and grow. Historically she is a cat person but will admit to owning a dog.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Sophie DeBenedetto / Steven Nunez
+ Code BEAM V Europe 2021
+
+
+Tutorial/
+
+ 17 May 2021
+ 14.30 - 18.30
+
+
+
+
+
Shipping Greenfield Elixir in a Legacy World
+
+
+
You’ve built a monolith, but the constraints of your legacy system are slowing you down. You love working with Elixir---Supervisors, built-in distribution, and fault tolerance make it a great fit for the needs of your team and your product---but a rewrite would be expensive and time consuming. If only there was a way to seamlessly integrate a new Elixir application into your ecosystem. Well, there is a way to do exactly that! In this course, we’ll show you how to build autonomous, event-driven systems with Elixir, RabbitMQ and Google Protobuf that let you decouple the data your ecosystem creates from the systems that create them. This opens the path to greenfield applications, and Elixir, in your legacy world.
+
EXPERTISE
+
+
Moderate Elixir experience
+
Advanced Elixir experience
+
No experience with RabbitMQ or Google Protobuf required
+
+
+
COURSE DURATION
+
+
1 day
+
+
+
TARGET AUDIENCE
+
+
This course is for anyone that wants to bring Elixir into your existing tech stack.
+
Those interested in event-driven design.
+
Those interested in working with message brokers like RabbitMQ
+
+
+
PREREQUISITES
+
+
Moderate Elixir experience is a plus but no prior knowledge of RabbitMQ or Google Protobuf is assumed.
+
+
+
+
OBJECTIVES
+
+
Elixir and Inter-Process Communication create the blueprint for integrating Elixir into your existing tech stack. By the end of the day, you’ll understand when and why to reach for IPC and how to leverage Elixir’s fault-tolerance and concurrency capabilities to create an event-driven system that seamlessly brings Elixir into your existing ecosystem.
+
You’ll learn how to identify scenarios that can benefit from IPC, and then we’ll dive right into building an IPC system. Starting with the basics of RabbitMQ and how to interact with it in Elixir, we’ll move on to discussing the challenges of message synchronization and how Google Protobuf solves some of these problems.
+
You'll see how Elixir's concurrency and fault tolerance features--in particular supervision trees and the "let it crash" mentality--make Elixir the perfect fit for building IPC. We'll wrap up with a look at some deployment concerns and strategies.
+
+
+
COVERS THE FOLLOWING TOPICS
+
+
Inter-Process Communication (IPC) and event-driven design
+
Working with RabbitMQ and Elixir
+
Working with Google Protobuf and Elixir
+
+
+
WHY YOU SHOULD ATTEND THIS COURSE
+
+
You’ll have a path forward to integrating greenfield Elixir applications into your legacy system, in a way that your team can deliver on, while still meeting the needs of your business.
+
You’ll learn how to think about event-driven systems, by creating an ecosystem of rich messages whose utility extends beyond their source application, moving you towards a Microservice-Oriented Architecture.
+
You’ll see all the ways in which Elixir is the perfect fit for such a system.
+ Sophie DeBenedetto / Steven Nunez
+ Code BEAM V America
+
+
+Tutorial/
+
+ 09 Mar 2021
+ 09.00 - 17.00
+
+
+
+
+
Shipping Greenfield Elixir in a Legacy World
+
+
+
You’ve built a monolith, but the constraints of your legacy system are slowing you down. You love working with Elixir---Supervisors, built-in distribution, and fault tolerance make it a great fit for the needs of your team and your product---but a rewrite would be expensive and time consuming. If only there was a way to seamlessly integrate a new Elixir application into your ecosystem. Well, there is a way to do exactly that! In this course, we’ll show you how to build autonomous, event-driven systems with Elixir, RabbitMQ and Google Protobuf that let you decouple the data your ecosystem creates from the systems that create them. This opens the path to greenfield applications, and Elixir, in your legacy world.
+
EXPERTISE
+
+
Moderate Elixir experience
+
Advanced Elixir experience
+
No experience with RabbitMQ or Google Protobuf required
+
+
+
COURSE DURATION
+
+
1 day
+
+
+
TARGET AUDIENCE
+
+
This course is for anyone that wants to bring Elixir into your existing tech stack.
+
Those interested in event-driven design.
+
Those interested in working with message brokers like RabbitMQ
+
+
+
PREREQUISITES
+
+
Moderate Elixir experience is a plus but no prior knowledge of RabbitMQ or Google Protobuf is assumed.
+
+
+
+
OBJECTIVES
+
+
Elixir and Inter-Process Communication create the blueprint for integrating Elixir into your existing tech stack. By the end of the day, you’ll understand when and why to reach for IPC and how to leverage Elixir’s fault-tolerance and concurrency capabilities to create an event-driven system that seamlessly brings Elixir into your existing ecosystem.
+
You’ll learn how to identify scenarios that can benefit from IPC, and then we’ll dive right into building an IPC system. Starting with the basics of RabbitMQ and how to interact with it in Elixir, we’ll move on to discussing the challenges of message synchronization and how Google Protobuf solves some of these problems.
+
You'll see how Elixir's concurrency and fault tolerance features--in particular supervision trees and the "let it crash" mentality--make Elixir the perfect fit for building IPC. We'll wrap up with a look at some deployment concerns and strategies.
+
+
+
COVERS THE FOLLOWING TOPICS
+
+
Inter-Process Communication (IPC) and event-driven design
+
Working with RabbitMQ and Elixir
+
Working with Google Protobuf and Elixir
+
+
+
WHY YOU SHOULD ATTEND THIS COURSE
+
+
You’ll have a path forward to integrating greenfield Elixir applications into your legacy system, in a way that your team can deliver on, while still meeting the needs of your business.
+
You’ll learn how to think about event-driven systems, by creating an ecosystem of rich messages whose utility extends beyond their source application, moving you towards a Microservice-Oriented Architecture.
+
You’ll see all the ways in which Elixir is the perfect fit for such a system.
+ Sophie DeBenedetto / Bruce Tate
+ Code BEAM V Europe 2021
+
+
+
+ 19 May 2021
+ 15.50 - 16.30
+
+
+
+
+
Fireside Chat on LiveView, the Future of Phoenix Web Development
+
+
Join Bruce Tate and Sophie DeBenedetto, authors of Programming Phoenix LiveView, for a fireside chat on LiveView and its impact on the future of web development.
+
LiveView will change the way you develop single-page apps and increase Elixir and Phoenix adoption. It gives teams the ability to move fast while focusing brain power purely on the server-side, using the power of Elixir and Phoenix to support fault-tolerant single-page flows.
+
Bruce and Sophie will talk about some of the basic building blocks that make LiveView so powerful, including discussions of how LiveView lets you build complex interactive flows without writing any JavaScript, how this differs from traditional SPA development, what it's like to test LiveView, what the Surface component library brings to the table, and how you can design a beautiful, layered UI with one simple pattern.
+
This chat will be an interactive conversation not only between Sophie and Bruce, but also with you, the audience. Bring your LiveView questions so we can have a lively discussion about what LiveView brings to web development, and where it needs to go next.
+ Sophie DeBenedetto / Ayanda Dube / Paweł Chrząszcz / Dylan Kennedy
+ Code BEAM America 2021
+
+
+
+ 03 Nov 2021
+ 11.15 - 11.55
+
+
+
+
+
Panel Discussion: Message Protocols and The BEAM
+
+
In an increasingly connected technological landscape, message passing between applications, organizations, and devices is more critical than ever before. We'll be joined by Pawel Chrzaszcz, Architect of MongooseIM at Erlang Solutions, RabbitMQ contributor Ayanda Dube, and Emqx.io Global VP Dylan Kennedy. These XMPP, AMQP, and MQTT experts will chat about when to reach for these protocols and why, share their thoughts on why these technologies were built, and tell us about their own experiences building on top of these protocols. Whether you're focused on IoT messaging, message passing within the infrastructure of your business, or super secure messaging between organizations, you'll have a chance to ask questions and dive into the wide world of messaging on the BEAM and beyond.
+ Bruce Tate / Sophie DeBenedetto
+ Code BEAM V America
+
+
+
+ 10 Mar 2021
+ 12.00 - 12.40
+
+
+
+
+
Fireside chat on Live view with Bruce Tate and Sophie DeBenedetto
+
+
Bruce Tate and Sophie DeBenedetto, co-authors of Pragmatic Bookshelf's LiveView book, discuss what's so great about LiveView and how it will change web development forever.
+
+LiveView will change the way you develop single-page apps. By allowing you to focus your brain power purely on the server, and use the power of Elixir and Phoenix to support fault-tolerant single-page flows, you and your team will be more productive than ever before.
+
+Our host, Sophie, will pose some questions for our guest, Bruce, that dig into what LiveView is and how it differs drastically from traditional SPA development frameworks, how you can leverage LiveView to solve almost any problem a typical SPA needs to address, what this means for the future of web development and where LiveView is going next. Bruce will also have a chance to ask Sophie some questions.
Vanessa is a software engineer, avid reader, mother of three sons, and student of forensic genealogy. She's been developing s/w since the 90s and is currently an Elixir developer at Interfolio. Vanessa began working in the Erlang Ecosystem in 2011.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Vanessa Lee
+ Code BEAM SF 2020
+
+
+
+ 06 Mar 2020
+ 14.30 - 15.15
+
+
+
+
+
What are the best tools for browser testing? Click to find out
+
+
Writing end-user tests helps us think critically about how our application functions in the real world, but browser testing is time-intensive. Vanessa will analyse two specific to Elixir: Wallaby & Hound by covering their history, identifying pitfalls, and anticipating their future. She'll look at similarities and differences and compare performance, concurrency, & asynchronicity. Vanessa will devise a strategy for choosing the best framework for you and how to use the time you save by giving back to the toolset.
+
THIS TALK IN THREE WORDS
+
Automated
+
Browser
+
Testing
+
OBJECTIVES
+
The talk objective is to dig deeply into the two available Elixir libraries for automated testing.
Synonymity and homonymity make name disambiguation difficult. To ease this difficulty, I combined two unmaintained Elixir string comparison libraries and added preprocessing and a double metaphone algorithm. The result is a comprehensive map of scores for pattern identification and machine learning. This talk will address the pre-processing, algorithms, and scoring as well as the strengths and limitations. A live demonstration of scoring will allow us to identify patterns. We end with a discussion of how to gain further benefits from the scores.
+
OBJECTIVES:
+
To introduce the problem of name disambiguation and string comparison by looking at two existing string comparison libraries before addressing the process of combining them into a single repository. I hope attendees will leave understanding the problem as well as the strengths, limitations, and possibilities of the new library and how it can be used to address the challenges of name disambiguation.
Whether you call it UI testing, End-to-End Testing, End-to-User Testing, or Acceptance Testing--it is often an intensely manual and time-consuming process.
+
Hound, an Elixir library, can carry some of the load through browser automation. Browser automations means that developers can automate their user interactions — clicks, fill inputs, file uploads, selecting options, radio buttons, etc.
+
Hound tests saved Vanessa days of manual end-user testing on a project, and she will be sharing this knowledge in her talk.
Software Engineer and creator of Neo4Ecto an Ecto adapter for Neo4j
+
Software Developer focused in building solutions using Elixir and currently mixing elixir with graphs
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Victor Caciquinho / Willian Frantz
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 12.20 - 12.45
+
+
+
+
+
Using Neo4j and the BEAM to evaluate Students' Proficiency
+
+
Trybe is a Web Development school, where we teach people into programming, and support them to find a good job position as Developers.
+
+We intend to explain how we managed to evaluate our students proficiency using Elixir and Neo4j, through a Micro-Services & Event-Driven Architecture.
+
OBJECTIVE:
+
Show the case of how we've managed to use elixir with neo4j to accomplish a really hard evaluation process.
Distributed systems engineer and co-founder of JumpWire
+
William is an engineer and co-founder of JumpWire. He greatly enjoys working with distributed systems to solve problems (and create new ones). He’s been working with Elixir since 2015 and loves helping people dive deeply into the Elixir ecosystem.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ William Huba
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 10.00 - 10.40
+
+
+
+
+
Ditch the DB: Using In-Memory Replicated Distributed State
+
+
When data needs to be accessible from every node on a cluster, a DB is often a necessary choice. But what if you want to avoid that extra dependency and keep everything in-memory? The library Horde utilizes a technique called delta CRDTs for distributed supervisors and registries.
+
In this talk you’ll learn how delta CRDTs work (using Horde as an example), how to leverage delta CRDTs for your own synchronized state, and the tradeoffs for doing so versus a traditional database.
+
OBJECTIVE:
+
+
Explain the concept of Delta State Replicated Data Types
+
Detail the tradeoffs between using the DeltraCrdt library and an external database
+
Teach how to use delta CRDTs as a building block for application state, using Horde and other custom code examples for illustration
+
+
AUDIENCE:
+
Experienced software engineers who have at least some Elixir experience and work with (or are interested in) the distributed properties of the BEAM.
Software Alchemist, love to create and maintain distributed bugs.
+
Software Developer and Elixir Enthusiast, catlover, worst gamer ever.
+
+
+
+
+
+
+
+
+
+ Past Activities
+
+
+
+
+
+
+
+ Victor Caciquinho / Willian Frantz
+ Code BEAM America 2021
+
+
+
+ 04 Nov 2021
+ 12.20 - 12.45
+
+
+
+
+
Using Neo4j and the BEAM to evaluate Students' Proficiency
+
+
Trybe is a Web Development school, where we teach people into programming, and support them to find a good job position as Developers.
+
+We intend to explain how we managed to evaluate our students proficiency using Elixir and Neo4j, through a Micro-Services & Event-Driven Architecture.
+
OBJECTIVE:
+
Show the case of how we've managed to use elixir with neo4j to accomplish a really hard evaluation process.
DISCOVER THE FUTURE OF THE ERLANG AND ELIXIR ECOSYSTEM
+
Join the only North American conference to cover all of the BEAM languages, including Erlang and Elixir.
+
+Created for developers, by developers, Code BEAM SF is dedicated to bringing the best minds in the Erlang and Elixir communities together to SHARE. LEARN. INSPIRE. over two days.
+
+Learn from 50+ cutting-edge talks and our in-depth training program, how BEAM languages are revolutionising areas like IoT, Blockchain, Fintech, Security, Machine Learning and more!
+
+See you in San Francisco!
+
+
+
+
+
+
+
+
+
+
ABOUT CODE BEAM SF
+
+
+
2
+
DAYS
+
+
6
+
THEMES
+
+
5+
+
TRAININGS
+
+
50+
+
SPEAKERS
+
+
+
+
+
+
+
+
Code BEAM SF is the only conference in North America to bring all the languages that run on the BEAM together, including Erlang and Elixir.
+
Learn from 50+ cutting-edge talks and our in-depth training program, how BEAM languages are revolutionising areas like IoT, Blockchain, Fintech, Security, Machine Learning and more.
+
+
+
+
+
Our newly launched Code BEAM SF, formerly the Erlang Factory San Francisco (organised since 2008), is all about discovering the future of the Erlang Ecosystem and bringing together developers as a community to share knowledge and ideas, learn from each other and inspire to invent the future.
+
+
+
+
+
+
+
+
Themes
+
+
+
Introduction to Erlang and Elixir
+
New to Erlang and/or Elixir? Interested, but don't know quite where to dig in? We've all been there! In this track you will learn from other's experience, get a sense of the lay of the software ecosystem, get help from the community and contribute back for everyone's benefit.
+
+
+
Tools
+
Erlang and Elixir's popularity is growing but it's not always clear what off-the-shelf software is useful in production quality systems. In this track you will learn what existing production systems' maintainers are using to monitor and test their systems. This track will include the war stories and experience reports of novice and expert users alike.
+
+
+
Case Studies
+
Every new domain that Erlang and Elixir pushes into brings a new class of problems and a new class of solutions. In this track we'll learn from other's experience, where things have been peachy and where they haven't been so much. We'll all walk away with a more clear idea of how to build highly reliable software.
+
+
+
BEAM
+
In this track you will learn from the leading experts and Erlang committers about new language constructs, virtual machine implementations and powerful libraries which together form the Erlang eco-system. Esoteric VM implementations are presented, alongside improvements and enhancements to the existing ones. You will learn how many of its features work and how to best use them to write fast and efficient code.
+
+
+
Frameworks
+
In this track, you will learn from the leading experts and committers about new and leading frameworks such as (but not limited to) Phoenix, MongooseIM, Nerves and RabbitMQ. You will find out how these frameworks work, how to best use them and where not to use them.
+
+
+
Distribution, Concurrency, Multicore & Functional
+
Scaling vertically by adding more powerful hardware is a thing of the past. We scaled horizontally, by adding more commodity hardware. With the coming of age of mega-core architectures, we have the choice of either adding more hardware or more cores, or both. Erlang style concurrency puts us ahead of the game when it comes to scaling with both approaches.
RabbitMQ (http://www.rabbitmq.com) is a popular 100% Erlang-based Open Source message queuing system that implements the Advanced Message Queuing Protocol (AMQP)...
LPWAN and Cellular IoT explained - How to connect devices in the wild
+
In this talk, Brian will explain the differences between Low Power Wide Area Networks and Cellular IoT, and how to use them when deploying a real-world IoT solution in the wild, whether it is for remote wind and solar farms, rail, smart power poles, or real-time asset tracking for supply chain.
GraphQL, a data query language released by Facebook in 2015, has been growing steadily in popularity, with GraphQL APIs supplementing (and in many cases supplanting) REST APIs for use in modern client-side web and mobile applications.
Unreachable Code - A Conversation about Safety and Human Factors
+
If I were to ask you what is your safety culture, what would that look like? Devops and continuous delivery and the tools that support it can offer us a measure of safety, but only against the things we think might go wrong. The importance of more dialogue on the nature of the relationship of humans and machines becomes apparent as twitter judges the UX of the Hawaii incident, while Equifax thinks email is a patching strategy.
+
+ Beginner
+
+
+
+
+
+
+
+
+
+
+
+
+
17.50
+ - 18.00
+
+
+
+
CLOSING NOTES
+
+
+
+
+
+
+
+
18.00
+ - 19.00
+
+
+
+
LEAVING DRINKS
+
+
+
+
+
+
+
+
+
+
+
+
+
VENUE
+
+
+
MARINES' MEMORIAL CLUB & HOTEL
+
609 SUTTER STREET
+SAN FRANCISCO
+CA 94102
+(415) 673-6672
+
+
+
+
BOOK A ROOM AT CONFERENCE HOTEL
+
Discounted rate of $205 (+Taxes) for a standard room inc breakfast, book now. Offer available only until 19 Feb.
+
DRIVING
+
From the Peninsula & San Francisco International Airport (SFO) or From the East Bay/Bay Bridge & Oakland International Airport (OAK).
+
AIRPORT TRANSFER TIMES
+
Peninsula & San Francisco International Airport (SFO): TIME TBC
+
Eest Bay/Bay Bridge & Oakland International Airport (OAK): TIME TBC
+
PUBLIC TRANSPORT
+
All Metro routes to Powell Street Station. Exit station and walk up Powell Street to Sutter Street. Turn left and go one block west to 609 Sutter Street (at Mason St.). By Cable Car, use Powell & Mason or Powell & Hyde routes, disembark at Sutter Street.