Erlang

Showing 11 out of 11 results

ARTICLE

Erlang, Elixir, Blockchain & Serverless... Wait, What?

Join Eric Johnson, principal developer advocate at AWS Serverless, as he takes a deep dive into the BEAM languages Elixir & Erlang, along with the help of two experts in the field Saša Jurić, a well-known, independent Elixir mentor, and Ulf Wiger, first paying customer or Erlang and senior specialist in the architecture and design of carrier-class systems. They explore the relationship between the two languages and when they should be used, and they focus on specific use cases such as Erlang in blockchain or bringing the two languages into the serverless space.

June 1, 2021
ARTICLE

Erlang: Solving Problems at Scale for 30+ Years

There is an entire language ecosystem behind Erlang programming, and Francesco Cesarini, founder and technical director at Erlang Solutions, has been using it to solve problems at scale for more than 30 years. Find out how you can leverage Erlang to your own benefit.

January 18, 2022
SESSION

The Robustness of Go

Go was designed with Google's needs in mind, and when you're running software at the scale that Google does robustness is of prime importance. In this talk we will cover what design decisions of Go help building robust programs, but also those parts of the language can cause problems that one needs to be aware and what techniques to apply to avoid risks. We will also compare Go robustness to Erlang, probably the most robust runtime out there, and see how its "let it crash" principle can be brought into Go.

SESSION

The Do's and Don'ts of Error Handling

Handling errors in programs is tricky. We want to write systems that work reasonable well even if there are errors in the code. This is possible, and the results have been used in production systems for many years. This talk outlines the do's and don'ts of error handling. Things you should do if you want to write fault tolerant code, and things you should not do. I will argue that making fault-tolerant and scalable systems is possible if you have got the system architecture right, bit very difficult otherwise. I'll share some examples of my favorite programming languages showing how things should be done, and how they should not be done.

SESSION

The Soul of Erlang and Elixir

Whether you're developing a small web site or a large-scale distributed system, Erlang and Elixir are great tools for building server-side systems. Both languages can help you start quickly and deal with highly complex problems at a large scale. This talk aims to explain what makes Erlang and Elixir suitable for such tasks. We'll look past the syntax and the ecosystem, focusing instead on the concurrency model of these languages. Combining a bit of high-level theory and a couple of demos, we'll examine some important properties of Erlang/Elixir concurrency, with a special emphasis on why these properties are very relevant when building highly available systems. The talk targets experienced backend developers, but no knowledge of Erlang or Elixir is required. You will walk away from the talk with a better understanding of what distinguishes Erlang and Elixir from the rest of the pack, and why these languages are very compelling choices to power your next software system. **Who should attend this talk:** This talk targets software development who are interested in building server-side systems. Some prior experience in building such software will be helpful, but no knowledge of Erlang or Elixir is required. **Academic level:** Intermediate **What is the take away in this talk:** After the talk the audience will be better informed about what makes BEAM languages, such as Erlang and Elixir, such a great fit for building server-side systems. This will help them make more informed decision when choosing a technology for their next project

SESSION

Building a Blockchain in Erlang

The Aeternity Blockchain is an ambitious Open Source venture, developing a system where the most exciting features in the blockchain space come together as first-class objects. In this talk, we will illustrate with architecture highlights and implementation details what this means, and how we chose to build it in Erlang. **This talk in three words** 1. Erlang 2. Blockchain 3. Architecture **What will the audience learn from this talk?** The talk gives an introduction to blockchain technology, seen through the eyes of an Erlang programmer. In particular, som lesser known aspects of state channels are covered. **Does it feature code examples and/or live coding?** Some code examples - not essential for understanding. **Prerequisite attendee experience level:** Level [200](https://gotocph.com/2019/pages/experience-level)

SESSION

The Soul of Erlang and Elixir

Whether you're developing a small web site or a large-scale distributed system, Erlang and Elixir are great tools for building server-side systems. Both languages can help you start quickly and deal with highly complex problems at a large scale. This talk aims to explain what makes Erlang and Elixir suitable for such tasks. We'll look past the syntax and the ecosystem, focusing instead on the concurrency model of these languages. Combining a bit of high-level theory and a couple of demos, we'll examine some important properties of Erlang/Elixir concurrency, with a special emphasis on why these properties are very relevant when building highly available systems. The talk targets experienced backend developers, but no knowledge of Erlang or Elixir is required. You will walk away from the talk with a better understanding of what distinguishes Erlang and Elixir from the rest of the pack, and why these languages are very compelling choices to power your next software system. Who should attend this talk: This talk targets software development who are interested in building server-side systems. Some prior experience in building such software will be helpful, but no knowledge of Erlang or Elixir is required. **What will the audience learn from this talk?** The audience will gain a better understanding about what makes BEAM languages, such as Erlang and Elixir, such a great fit for building server-side systems. This will help them make more informed decision when choosing a technology for their next project. **Does it feature code examples and/or live coding?** The talk will feature a couple of live demos (but not a lot of live coding) **Prerequisite attendee experience level:** [200](https://gotocph.com/2019/pages/experience-level) (intermediate)

SESSION

Concurrency Abstractions for Application Security

Automatic memory management all but eliminated entire classes of security vulnerabilities through high-level abstractions for application developers. Statically typed languages aim to reduce exploitable bugs even further. Can additional abstractions around concurrency, isolation and fault-tolerance provide similar benefits? In this talk we explore ideas from the Erlang virtual machine and how they compare to other languages and runtimes in meeting the security requirements of modern networked applications. Do the benefits outweigh the lack of statical type checking? And what challenges remain?

WORKSHOP

Thinking Concurrently

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 masterclass, Robert will introduce what he calls the "Erlang way of thinking." He will cover:  * Basic data types * Sequential programming * Concurrent programming & Error Handling * OTP and Supervision Trees * Distribution for resilience and scalability 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. In the section on supervision trees, we introduce the let it crash philosophy. It will cover how processes are grouped together in hierarchies, with recovery strategies allowing us to program for the correct case. All this without the need for defensive programming. 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 least a couple of programming languages. **TARGET AUDIENCE** Developers who are interested in the principles which make Erlang, Elixir or other BEAM-based languages unique.

EXPERT

Francesco Cesarini

Founder of Erlang Solutions, O'Reilly Author

Erlang Solutions

EXPERT

Ulf Wiger

Erlang old-timer and opera singer (tenor)

Freelance Consultant