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.

Beam Radio's Discussion with Quinn Wilton on Elixir and Erlang

Beam Radio's Discussion with Quinn Wilton on Elixir and Erlang

The Beam Radio team talks Elixir and Erlang with Quinn Wilton. Follow her on Twitter at @wilton_quinn.

Insights from the EEF's Security Working Group with Bram Verburg

Insights from the EEF's Security Working Group with Bram Verburg

Thinking Elixir Podcast features Episode 134 where Bram Verburg provides insights into the EEF's Security Working Group, discusses existing resources, and hints at future developments.

Discussion on Erlang's Influence on Elixir

Discussion on Erlang's Influence on Elixir

Alex discusses Erlang's influence on Elixir with the BeamRadio panel.

Discussion on RabbitMQ Streams with RabbitMQ Core Team

Discussion on RabbitMQ Streams with RabbitMQ Core Team

Beam Radio panel discusses RabbitMQ Streams with Arnaud Cogoluègnes and Karl Nilsson, RabbitMQ Core Team Members.

Discussion on eqWAlizer with Ilya Klyuchnikov

Discussion on eqWAlizer with Ilya Klyuchnikov

BeamRadio talks with Ilya Klyuchnikov about eqWAlizer, a tool related to the BEAM ecosystem.

Exploring the New Unified Logger in Elixir

Exploring the New Unified Logger in Elixir

Łukasz Jan Niemier discusses the unification of Elixir and Erlang loggers.

Implementing Local-First Development with ElectricSQL in Elixir

Implementing Local-First Development with ElectricSQL in Elixir

James Arthur's talk dives into the paradigm of local-first software and introduces ElectricSQL. He discusses the advantages, such as resilience and improved UX, and the core replication technology of ElectricSQL developed in Elixir. The presentation also covers the challenges of local-first development, such as concurrency, consistency, and the role of Erlang and Elixir in replication.

Discussion on Erlang, OTP, and the Erlang Workshop with Kiko Fernández-Reyes

Discussion on Erlang, OTP, and the Erlang Workshop with Kiko Fernández-Reyes

Adolfo Neto talks with Kiko Fernández-Reyes about Erlang, OTP, and the Erlang Ecosystem. Kiko, an academic turned industry professional, is a core member of the Erlang/OTP team at Ericsson and discusses his role, the Erlang Workshop, and engagement with the broader Erlang community.

Process Naming and Management in Elixir and Erlang

Process Naming and Management in Elixir and Erlang

Tee Teoh explains the benefits and mechanisms of naming long-running background processes, or 'daemons', in Elixir and Erlang applications, and explores using alternative process registries for dynamic process management.

Managing Erlang and Elixir Versions Using vfox

Managing Erlang and Elixir Versions Using vfox

yeshan333 shares insights on using vfox for Erlang and Elixir version management, a faster alternative to asdf-vm with a strong ecosystem.

The Evolution of the BEAM Virtual Machine and Mastering Concurrency

The Evolution of the BEAM Virtual Machine and Mastering Concurrency

Erik Stenman provides an overview of the BEAM virtual machine's 30-year evolution, highlighting its reliable concurrency model and how it shaped robust, fault-tolerant systems. He shares experiences from Klarna, showcasing BEAM's ability to support concurrent programming efficiently.

Exploring Nerves for IoT and Embedded Systems in Elixir

Exploring Nerves for IoT and Embedded Systems in Elixir

Lars Wikman explores the potential of using Elixir in IoT and embedded systems through The Nerves Project.

Exploring Best Practices for Deploying Erlang Applications Using Docker and Ansible

Exploring Best Practices for Deploying Erlang Applications Using Docker and Ansible

Jade Allen discusses the challenges and lessons learned while deploying Erlang applications in operational environments, focusing on Docker containers and Ansible scripting.

Overview of Erlang/OTP 27 Optimizations

Overview of Erlang/OTP 27 Optimizations

A discussion on new record update optimizations in Erlang/OTP 27 and a history of optimizer improvements.

Insight into Erlang's Scheduler Functionality

Insight into Erlang's Scheduler Functionality

Erlang is known for its fault tolerance and ability to handle high concurrency through an efficient scheduler. This article explores the details of the Erlang scheduler, which is instrumental in process management for the Erlang virtual machine (BEAM).

BEAM Languages in European University Academia

BEAM Languages in European University Academia

skwyckl is inquiring about universities in Europe that are involved in teaching and research involving BEAM languages, such as Erlang. They mention ELTE university in Budapest doing significant work with Erlang.

Simulating Recursive Closures in Elixir

Simulating Recursive Closures in Elixir

This article discusses the challenge of implementing recursive closures in Elixir, a feature that is not straightforward due to the language's syntax and semantics.

Gleam v1.1.0 Release Highlights

Gleam v1.1.0 Release Highlights

Louis Pilfold announces the release of Gleam v1.1.0, introducing a host of new features and improvements such as language server enhancements, support for Bun JavaScript runtime, rebar support for Erlang, formatter improvements, and more.

Understanding GenServer Name Registration Techniques in Elixir

Understanding GenServer Name Registration Techniques in Elixir

In this comprehensive guide, Meraj Molla explores the various methods of registering GenServer names in Elixir to facilitate inter-process communication and management within local and distributed Erlang systems.

Improving Erlang Code Maintainability with Codemods

Improving Erlang Code Maintainability with Codemods

Alan Zimmerman's talk discusses how codemods and a new framework can simplify refactoring Erlang code bases.

Integrating Elixir Structs with Erlang

Integrating Elixir Structs with Erlang

In this Code BEAM Europe 2023 lightning talk by Robert Virding, he discusses the interoperability challenges between Erlang and Elixir, particularly in using Elixir's structs in Erlang, and explores a solution.

Discussing Elixir's Role in Developing the Erlang Ecosystem

Discussing Elixir's Role in Developing the Erlang Ecosystem

The discussion features insights from Francesco Cesarini, founder of Erlang Solutions, and Andrea Leopardi, a member of the Elixir Core Team. They delve into the evolution of Erlang from a singular language to a diverse ecosystem, detailing the emergence of various languages on the BEAM and the influence of Elixir on Erlang's ongoing development.

Exploring Elixir Application Clustering

Exploring Elixir Application Clustering

Mark Ericksen explains the concept of clustering Elixir applications from a local environment to the cloud, particularly using Fly.io's platform.

In-depth Guide to Elixir GenServer Functionality

In-depth Guide to Elixir GenServer Functionality

An extensive guide on GenServer, a behavior module in Elixir for creating concurrent, stateful processes based on the Erlang OTP framework.

Introduction of Labeling BEAM Processes for Improved Observability

Introduction of Labeling BEAM Processes for Improved Observability

Nathan Long discusses the introduction of a new feature in Erlang/OTP 27.0, which allows BEAM processes to be labeled for enhanced observability in Elixir applications.

Invalidate Cache in Erlang Clusters Using Postgres WAL

Invalidate Cache in Erlang Clusters Using Postgres WAL

Chase Granberry discusses how to effectively utilize the Postgres Write-Ahead Log (WAL) to invalidate cache within an Erlang cluster using Elixir and the BEAM virtual machine.

Exploring Erlang Tracing and an Elixir Library for Easier Usage

Exploring Erlang Tracing and an Elixir Library for Easier Usage

Lars Wikman presents on the capabilities of Erlang's tracing mechanisms and his own experimental Elixir library aimed at simplifying its use for Elixir developers.

Leveraging Technology for Fintech Success

Leveraging Technology for Fintech Success

This article discusses the crucial role that the underlying technology plays in enabling financial services success, highlighting how Erlang and Elixir are well-suited for the fintech industry.

Advancement Strategies for an Elixir Developer

Advancement Strategies for an Elixir Developer

An individual expressing a desire to advance their career as an Elixir developer seeks advice on how to 'level up' their skills, considering the creation of OTP clusters, LiveView web applications, learning Erlang, and understanding AWS.

Stable Release of Gleam v1.0.0

Stable Release of Gleam v1.0.0

Louis Pilfold announces the release of Gleam v1.0.0, marking the language's first stable version suitable for production systems.

Deep Dive into Erlang OTP with Ericsson Developers

Deep Dive into Erlang OTP with Ericsson Developers

In this episode of Beam Radio, the hosts engage with Ingela Anderton Andin and Kiko Fernandez-Reyes from the Erlang OTP team at Ericsson. They discuss the inner workings of the runtime, language, and standard libraries central to the Erlang ecosystem.

Test Driven Development (TDD) with Erlang

Test Driven Development (TDD) with Erlang

Brujo Benavides provides an in-depth look into using Test Driven Development (TDD) for writing code in Erlang. He emphasizes that TDD is not only about writing tests, but about letting tests guide the development process. The talk covers the application of TDD from the basics to more complex systems, including building GenServers and applications while maintaining test coverage.

Elixir in Production: How Felt.com and SleepEasy.app Utilize Elixir Systems

Elixir in Production: How Felt.com and SleepEasy.app Utilize Elixir Systems

Mark Ericksen, David Bernheisel, and Cade Ward discuss the use of Elixir in supporting applications at Felt.com and SleepEasy.app, including industry insights with guest Tyler Young.

How to Add Slack Notifications to Elixir Log System

How to Add Slack Notifications to Elixir Log System

Romario López describes a method for integrating Slack notifications into Elixir's logging system utilizing new Erlang/OTP log handlers.

Proposed JSON Library for Erlang/OTP

Proposed JSON Library for Erlang/OTP

Lukas Larsson introduced a new Erlang Enhancement Proposal (EEP-68) to include a JSON encoding/decoding library in the upcoming Erlang/OTP releases, inviting community feedback.

Compilation of BEAM Devroom Talks from FOSDEM 2024

Compilation of BEAM Devroom Talks from FOSDEM 2024

Riccardo Binetti announced that all the talks from the BEAM Devroom at FOSDEM 2024 are now available, expressing gratitude to all the participants and presenters, and hopes to continue the event next year.

Overview of Fullstack Web Development with Nitrogen in Erlang

Overview of Fullstack Web Development with Nitrogen in Erlang

David Cao's talk on full stack web development using the Nitrogen framework in Erlang featured at Elixir Fortaleza Conf 2023.

Overcoming Global State in Tests with Localized State for Async Elixir ExUnit Tests

Overcoming Global State in Tests with Localized State for Async Elixir ExUnit Tests

JB Steadman discusses strategies to avoid using `async: false` in ExUnit tests by localizing global state, allowing tests to run asynchronously and independently.

Tigris: A Global Key Value Database with S3-like Capabilities

Tigris: A Global Key Value Database with S3-like Capabilities

Jason Stiebs discusses Tigris, a globally synced, S3-like key-value database built on Fly.io, and its potential applications.

Latest Updates and Libraries in the Elixir Ecosystem

Latest Updates and Libraries in the Elixir Ecosystem

This episode covers Phoenix LiveView's progress towards 1.0, the introduction of the example_test utility for Elixir, and Erlang's proposed JSON standard library integration.

Understanding the High-Level Overview of OTP in Erlang

Understanding the High-Level Overview of OTP in Erlang

This article offers a comprehensive overview of the high-level aspects of the Erlang/OTP architecture and how it enables the development of stable and scalable systems.

Discussion on Real-Time Product Development Using Elixir and Phoenix

Discussion on Real-Time Product Development Using Elixir and Phoenix

Filipe Cabaco, along with hosts Allen Wyma and Adi Iyengar, delve into the real-time product development at Supabase using Elixir and Phoenix channels, covering topics such as load testing, scalability, and Postgres optimizations.

Implementing Observability in Phoenix Applications with Grafana

Implementing Observability in Phoenix Applications with Grafana

This article explains the process of setting up observability in Phoenix applications using the Grafana stack: Loki, Mimir, and Tempo with Docker Compose.

Integrating Mutable Data in Elixir Projects with Rust and Rustler

Integrating Mutable Data in Elixir Projects with Rust and Rustler

The article discusses how mutable state management, normally not a fit for Elixir, can be incorporated into Elixir projects by using Rust through Rustler.

Exploring the Full Potential of the BEAM Runtime

Exploring the Full Potential of the BEAM Runtime

In a discussion at Code BEAM Europe 2023, Lars Wikman interviews both Saša Jurić, author and advocate for the Elixir programming language, and José Valim, the creator of Elixir, to discuss the untapped potential of the BEAM virtual machine. They explore what the community could be doing beyond the current applications and utilize the BEAM more fully.

Examining the Synergy Between Transactional Systems and Erlang/Elixir Technologies

Examining the Synergy Between Transactional Systems and Erlang/Elixir Technologies

Lee Sigauke discusses the natural fit of Erlang and Elixir for transactional systems and their inherent advantages such as fault tolerance and real-time processing capabilities.

Seeking In-Depth NIFs Resources and Best Practices

Seeking In-Depth NIFs Resources and Best Practices

drolenc is in search of comprehensive resources or books specifically focused on the creation of NIFs (Native Implemented Functions) in Elixir.

Development of the ElixirConf Chat Application using LiveView Native

Development of the ElixirConf Chat Application using LiveView Native

Cynthia Gandarilla outlines the journey of creating a chat application for ElixirConf 2023 using LiveView Native, showcasing the technology's ability to save time and money in mobile app development.

Integrating Python Libraries with Elixir

Integrating Python Libraries with Elixir

Maksymilian Jodłowski explores the utilization of Python libraries in the Elixir application by using ErlPort, which facilitates communication between Elixir and Python. This approach is helpful when specific libraries are missing in Elixir or when a developer prefers to use the abstractions from Python libraries they are more familiar with.

Elixir Newcomer's Struggle with Erlang Documentation

Elixir Newcomer's Struggle with Erlang Documentation

The author, a novice Elixir/Erlang programmer, shares their experience with Erlang's documentation after attempting to use the Erlang standard library for socket and gen_tcp operations. Finding it challenging compared to the more approachable Elixir docs, they question if the difficulty is a universal issue or a personal skill gap.

© HashMerge 2024