Erlang

Erlang

Erlang, a concurrent programming language with a strong emphasis on fault-tolerance and high-availability, forms the foundation upon which the Elixir ecosystem is built. Its underlying runtime, language constructs, and standard libraries empower developers to build scalable applications that excel in environments where uptime and data transport are critical, such as the fintech industry. Renowned for enabling cost savings—significantly reducing server expenses for companies like Pinterest and Bleacher Report—Erlang’s functionalities have been seamlessly integrated into Elixir, providing resilience, real-time processing, and reduced latency for enhanced user experiences.

Experts from the Erlang OTP team at Ericsson continue to expand and refine the language, diving into technical details that ensure Erlang's capabilities are at the cutting edge. Innovations such as Native Implemented Functions (NIFs) and custom libraries like EXGBoost enrich the Elixir landscape, offering powerful extensions for complex, real-world applications. The applicability of Erlang's philosophy, especially the 'let it crash' approach, manifests tangibly in both the creation of the language server solutions for Elixir and in the infrastructure powering globally distributed systems. Elixir’s Phoenix framework, a project thriving on the maturity and stability of Erlang, proves itself time and again as an adaptable platform for web applications, deploying features such as LiveView for real-time interactivity and tailored authentication methods.

Monitoring and diagnostics tools borne from the BEAM runtime offer observability into running systems, making debugging a more streamline process. Tools like Dialyzer promote static code analysis to minimize the introduction of type errors, and the Elixir core team continues to enhance the language with updates for improved performance, like compilation and boot time optimizations. With Erlang infrastructure in use at major tech conferences and implemented in projects from chat applications to health care solutions, its influence reverberates through industries. Further, the exploration of language interop, the use of TDD, the importance of system restart strategies, and the adoption of Elixir in replacing legacy systems all speak to the versatility of Erlang and the BEAM VM. Engagement from key figures such as José Valim and Saša Jurić, alongside contributions from many other developers, ensures the sustained growth and exploration of Erlang's potential in modern software development.

Comparing ETS and Redis for Performance Optimization

Comparing ETS and Redis for Performance Optimization

Anantha Kumaran discusses performance optimizations he made at work that resulted in over 40% CPU savings by analyzing and addressing bottlenecks involving ETS and Redis.

Understanding the Differences Between `pg` and `pg2` in Erlang

Understanding the Differences Between `pg` and `pg2` in Erlang

Samrat Man Singh discusses the Erlang `pg` module as a replacement for the older `pg2` module, highlighting key differences.

Exploring Gleam's Development within the BEAM Ecosystem

Exploring Gleam's Development within the BEAM Ecosystem

This talk discusses how Gleam is evolving the BEAM ecosystem, originally shaped by Erlang, to address new challenges and attract a broader developer community.

Exploring Poka Yoke in Erlang and Elixir with Bryan Hunter

Exploring Poka Yoke in Erlang and Elixir with Bryan Hunter

In this episode, the panel discusses Poka Yoke with Bryan Hunter, covering the concept of mistake-proofing and how it applies to Erlang and Elixir.

Integrating OpenID Connect into Erlang and Elixir Applications

Integrating OpenID Connect into Erlang and Elixir Applications

This talk, recorded at Code BEAM America 2024, focuses on integrating OpenID Connect into web applications and APIs using Erlang and Elixir.

Building a Distributed PubSub System in Elixir

Building a Distributed PubSub System in Elixir

Vince Urag explores how to build a distributed PubSub system in Elixir, starting with local PubSub and expanding to distributed functionality using Erlang's process groups.

Deploying Elixir and Erlang/OTP on Custom Hardware with Nerves

Deploying Elixir and Erlang/OTP on Custom Hardware with Nerves

This talk discusses lessons learned and improvements from using Elixir and Erlang/OTP on custom hardware at SmartRent, a company providing smart home features.

Exploring the Relationship Between Erlang and Elixir

Exploring the Relationship Between Erlang and Elixir

In this keynote from Code BEAM Lite Mexico 2023, Francesco Cesarini and Andrea Leopardi delve into the interconnectedness of Erlang and Elixir and their impact on various domains.

Exploring Behavior Sanitizers in Elixir and Erlang

Exploring Behavior Sanitizers in Elixir and Erlang

This post is adapted from a lightning talk exploring behavior sanitizers in Elixir and their connections to Erlang's tracing system.

Building a Blog Engine Using Erlang's Build Tool

Building a Blog Engine Using Erlang's Build Tool

Fred Hebert discusses the unique blog engine he created using the Erlang compiler infrastructure instead of traditional methods, highlighting its minimalistic approach and the integration of the Rebar3 build tool.

Exploring New Shell Features in OTP-26 with LLM Prototyping

Exploring New Shell Features in OTP-26 with LLM Prototyping

This talk introduces the new shell improvements in OTP-26 focusing on Erlang community enhancements.

Guide to managing multiple Erlang and Elixir versions on Windows

Guide to managing multiple Erlang and Elixir versions on Windows

Serafeim Papastefanos provides a guide on managing multiple Erlang and Elixir versions on Windows without using native support tools like asdf.

Optimizing Hyper-Q for High Throughput Database Virtualization

Optimizing Hyper-Q for High Throughput Database Virtualization

G. Mitra and M. Pope discuss their experience improving Hyper-Q, a database virtualization application, to handle high volumes of data efficiently.

Exploring Gleam Language Through a Hands-On Project

Exploring Gleam Language Through a Hands-On Project

An introductory experience with the Gleam programming language, including project setup, dependencies, and concurrency.

Exploring the Influences Behind Elixir

Exploring the Influences Behind Elixir

Flora Petterson presents a tour of the programming languages and historical developments leading to Elixir, drawing parallels between technological evolution and her favorite singer's tour.

Improving Software Reliability with Poka Yoke, STAMP, and the BEAM

Improving Software Reliability with Poka Yoke, STAMP, and the BEAM

Bryan Hunter discusses methods to improve software reliability and robustness by employing concepts from Japanese manufacturing (Poka Yoke) and systems safety analysis (STAMP), emphasizing their implementation using the BEAM (Erlang virtual machine).

Using ChatGPT to Learn Erlang

Using ChatGPT to Learn Erlang

Georgiana Chelu discusses the use of ChatGPT to facilitate learning Erlang, outlining potential methods, benefits, and limitations.

An Introduction and Demonstration of Erlfuzz: A Fuzzing Tool for Erlang

An Introduction and Demonstration of Erlfuzz: A Fuzzing Tool for Erlang

Robin Morisset discusses Erlfuzz, a tool to generate random Erlang programs to test the Erlang compiler (erlc), Beam VM, and other tools effectively, having identified over 80 bugs.

Introducing the Erlang Language Platform for Enhanced Development

Introducing the Erlang Language Platform for Enhanced Development

Roberto Aloi and Michał Muskała introduce the Erlang Language Platform (ELP), showcasing its capabilities and benefits for Erlang developers.

Approaching Telecom Protocols with Erlang and Binary Analysis

Approaching Telecom Protocols with Erlang and Binary Analysis

Sebastian Weddmark Olsson describes how to tackle new domains, focusing on building a telecom codec. He explains why Erlang is well-suited for processing arbitrary bitstrings and presenting his library for decoding telecom protocols.

Security Improvements for BEAM Using Static Analysis

Security Improvements for BEAM Using Static Analysis

In this talk from Code BEAM Europe 2023, Melinda Tóth and Dániel Horpácsi explore how static analysis can improve security in BEAM applications by identifying vulnerabilities in Erlang and Elixir code bases.

A Young Developer's Journey in the Erlang Ecosystem

A Young Developer's Journey in the Erlang Ecosystem

Benjamin Philip's talk at Code BEAM America 2024 explores his transition from an individual contributor to a maintainer in the Erlang ecosystem.

Understanding TLS Implementation and Challenges in Erlang/OTP

Understanding TLS Implementation and Challenges in Erlang/OTP

Ignela Andin discusses the implementation of TLS in the Erlang/OTP team, focusing on the authenticity aspect and the various challenges and tradeoffs faced.

The Journey and Technological Evolution of Elixir

The Journey and Technological Evolution of Elixir

José Valim discusses the history and evolution of Elixir, the language he developed starting in 2012, with insights into its design choices, challenges, and future.

Introduction to Elixir: Key Reasons to Choose This Dynamic Language

Introduction to Elixir: Key Reasons to Choose This Dynamic Language

This article presents an introduction to Elixir, explaining its creation, core strengths, use cases, and features.

Managing multiple versions of Erlang/OTP and Elixir using vfox on Windows

Managing multiple versions of Erlang/OTP and Elixir using vfox on Windows

yeshan333 explains how to use vfox to manage multiple versions of Erlang/OTP and Elixir on Windows.

The Symbiotic Relationship Between Erlang and Elixir Explored

The Symbiotic Relationship Between Erlang and Elixir Explored

Francesco Cesarini and Andrea Leopardi discuss the interdependence of Erlang and Elixir, detailing how each language has contributed to the success and evolution of the other.

Resolving Compilation Errors for the Erlang USB Library

Resolving Compilation Errors for the Erlang USB Library

mrmarbury discusses issues encountered when trying to compile the Erlang usb library, including a missing header file `erl_nif.h` and steps taken to address the problem.

Best Programming Languages to Learn Alongside Elixir

Best Programming Languages to Learn Alongside Elixir

Author jamesjajaja asks for recommendations on which programming languages are worth learning along with Elixir. The community suggests Rust, Typescript, Erlang, Gleam, and Haskell as beneficial complements.

Scaling Real-Time Applications with BEAM and Elixir

Scaling Real-Time Applications with BEAM and Elixir

Discover the secrets behind handling millions of concurrent users using the Erlang Virtual Machine (BEAM) and Elixir, with insights into their origins, core features, and real-life case studies from WhatsApp and Discord.

Transitioning from Elixir Umbrella Projects to Microservices

Transitioning from Elixir Umbrella Projects to Microservices

Artur Sulej explains a strategy for converting Elixir umbrella monoliths into scalable microservices with minimal effort, leveraging built-in Erlang and Elixir mechanisms, at Code BEAM Europe 2023.

Introduction to Bondy, an Open Source Application Networking Platform

Introduction to Bondy, an Open Source Application Networking Platform

Alejandro Ramallo discusses Bondy, a scalable, always-on networking platform designed for distributed applications, integrating various messaging protocols like RPC and publish/subscribe.

Introduction to etylizer: A Static Type Checker for Erlang

Introduction to etylizer: A Static Type Checker for Erlang

Annette Bieniusa and Albert Schimpf discuss etylizer, a static type checker for Erlang based on set-theoretic types. They present its features, challenges, and current status in enhancing Erlang's type system.

Understanding How Kubernetes and the Erlang VM Interact

Understanding How Kubernetes and the Erlang VM Interact

José Valim discusses the complementary functionalities of Kubernetes and the Erlang VM, focusing on self-healing, service discovery, automated rollouts, and configuration management.

Debugging Elixir/Erlang Compiler Performance

Debugging Elixir/Erlang Compiler Performance

José Valim discusses a recent issue with the Gettext project related to slow compilation in Erlang/OTP 23 and outlines steps taken to debug and improve compiler performance.

Using Benchee for Microbenchmarking in Elixir

Using Benchee for Microbenchmarking in Elixir

Christian Alexander explains how to use Benchee, a microbenchmarking package for Elixir and Erlang, with real examples such as the new OTP 27 JSON support, sorting algorithms, and more.

Discussion on Gleam and Static Typing in BEAM with Louis Pilfold

Discussion on Gleam and Static Typing in BEAM with Louis Pilfold

Louis Pilfold discusses creating Gleam, a statically-typed language for the BEAM, and shares challenges and ideas for static typing on BEAM.

Exploring Pri-Queue and raft_erl with Shanti Chellaram

Exploring Pri-Queue and raft_erl with Shanti Chellaram

Shanti Chellaram discusses her Erlang libraries Pri-Queue and raft_erl, detailing her motivations, coding philosophies, and advice for newcomers.

Discussion on Lambda Days and Elixir

Discussion on Lambda Days and Elixir

Mark Ericksen and team discuss Lambda Days, learning and teaching Elixir, its strengths over Erlang, and more.

New Mix Install Feature and ExDocs for Erlang in Elixir 1.12

New Mix Install Feature and ExDocs for Erlang in Elixir 1.12

Wojtek Mach discusses the new Mix.install/2 feature and other significant updates in Elixir 1.12, including ExDocs support for Erlang libraries.

Chris Keathley Discusses Performance, Functional Programming, and Elixir at Bleacher Report

Chris Keathley Discusses Performance, Functional Programming, and Elixir at Bleacher Report

Chris Keathley shares insights on functional programming, his new data validating interface Norm, and how Bleacher Report leverages Elixir.

Podcast about Benchee, Performance, and Training with Devon Estes

Podcast about Benchee, Performance, and Training with Devon Estes

Devon Estes discusses the Elixir community, performance tuning, and the benchmarking library Benchee.

Crossover Episode Between Elixir Wizards and Elixir Outlaws

Crossover Episode Between Elixir Wizards and Elixir Outlaws

In this special crossover episode recorded at Lonestar Elixir 2020, Elixir Outlaws and Elixir Wizards discuss fun and learning in development, highlights from day one of the conference, and homage to Joe Armstrong.

Discussing the Zig Language and Zigler Elixir Library

Discussing the Zig Language and Zigler Elixir Library

Isaac Yonemoto discusses Zig and his Zigler Elixir library, covering Zig's origins, its growing interest, and the benefits of cross-compiled NIFs in Elixir. He also touches on his OpenAPI Elixir project.

Discussion with Viktória Fördős on Erlang and its Applications at Cisco

Discussion with Viktória Fördős on Erlang and its Applications at Cisco

In this podcast episode, Viktória Fördős discusses her journey into coding, her role at Cisco, and the utilization of Erlang in their NSO team.

Exploring GraphQL with Ben Wilson

Exploring GraphQL with Ben Wilson

In this episode, Ben Wilson discusses GraphQL, Absinthe, and their applications in Elixir projects.

Exploring Erlang's Origins with Robert Virding

Exploring Erlang's Origins with Robert Virding

Robert Virding discusses the history and development of Erlang, the BEAM virtual machine, and the connection to Elixir in the inaugural episode of a new season of Elixir Wizards.

Introduction to Beam Radio and Lars Wikman

Introduction to Beam Radio and Lars Wikman

In this episode, Lars Wikman discusses how the BEAM can manage entire applications. The hosts of Beam Radio are introduced.

Exploring Erlang Languages with Josh Adams

Exploring Erlang Languages with Josh Adams

In Episode 2 of Beam Radio, Josh Adams discusses various languages in the Erlang ecosystem and related technologies.

Francesco Cesarini's Journey and Erlang Solutions' Growth Journey

Francesco Cesarini's Journey and Erlang Solutions' Growth Journey

Francesco Cesarini shares his journey in the tech industry, from his early days in coding to founding Erlang Solutions, and discusses the company's growth and contributions to the community.

© HashMerge 2024