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.

Elixir Developer Experiences and AI in Elixir

Elixir Developer Experiences and AI in Elixir

In this episode of 'Elixir Mix,' the panelists Adi Iyengar, Allen Wyma, and Sascha Wolf discuss their recent experiences and challenges while working on Elixir projects and the value of AI in the Elixir ecosystem.

Comparing Garbage Collection Strategies in Erlang and JVM/Akka

Comparing Garbage Collection Strategies in Erlang and JVM/Akka

In this episode of Elixir Wizards, the host Dan Ivovich talks with guests Manuel Rubio and Dan Plyukhin about the intricacies and comparisons of garbage collection in Erlang compared to JVM/Akka.

Building Multilingual and Culturally Inclusive Applications with Elixir

Building Multilingual and Culturally Inclusive Applications with Elixir

Petrus Janse van Rensburg presented on using gettext and the Common Locale Data Repository (CLDR) within Elixir to create user interfaces that cater to a globally diverse audience.

Understanding Erlang's 'let it crash' philosophy

Understanding Erlang's 'let it crash' philosophy

Adolfo Neto discusses the 'let it crash' philosophy in Erlang for handling errors, reflecting on the ideas of Joe Armstrong, one of the creators of Erlang.

Building CLI Applications with Elixir – A Comprehensive Guide

Building CLI Applications with Elixir – A Comprehensive Guide

Brewing Elixir provides an overview of command-line interface (CLI) applications and the options for building them in Elixir.

Understanding unique_index Use in Elixir for Business Logic

Understanding unique_index Use in Elixir for Business Logic

Herminio Torres explains how to efficiently use unique_index in Ecto schemas to enforce business logic constraints for ticket purchases in Elixir applications.

Efficiency of Plug.Conn.send_file/5 in Elixir

Efficiency of Plug.Conn.send_file/5 in Elixir

Lucas Sifoni examines the efficiency of the Plug.Conn.send_file/5 function in Elixir, clarifying its use of the Linux syscall to send files.

Simplifying BEAM Clustering for Global Distribution

Simplifying BEAM Clustering for Global Distribution

Jason Stiebs explores the advantages of running Elixir and Phoenix applications globally with minimal setup using Fly.io's integrated WireGuard networking for Erlang distribution and clustering.

Performance Benchmarking of Distributed Elixir Nodes

Performance Benchmarking of Distributed Elixir Nodes

Razvan Draghici discusses performance benchmarking in a distributed Erlang and Elixir environment, specifically targeting scenarios with over 200 nodes.

Innovative Software Development with Managed Risk

Innovative Software Development with Managed Risk

Stephen Bussey presents on taking calculated risks in software development with a focus on Elixir. He discusses the importance of innovation, risk management, and provides insights into software architecture.

Understanding Code Shepherding in Elixir

Understanding Code Shepherding in Elixir

Amos King delivers a talk on 'The Importance of Shepherding' at GigCityElixir 2023. He emphasizes the value of shepherding in software development.

Improving Healthcare Outcomes with Elixir's Actor Model

Improving Healthcare Outcomes with Elixir's Actor Model

Bryan Hunter discusses HCA's Waterpark, a powerful distributed system built with Elixir, focusing on its development and significant impact on healthcare.

Ambivalence Towards Elixir's Distributed System Capabilities

Ambivalence Towards Elixir's Distributed System Capabilities

Software developer Aaron Harpole discusses his experiences with the Elixir programming language, focusing on its capabilities for building distributed systems and areas he believes could benefit from improvement.

Debate on OTP's Role and Evolution in Elixir Software Development

Debate on OTP's Role and Evolution in Elixir Software Development

Dave Thomas, with counterpoints from Brian Mitchell, explores the topic of using OTP (Open Telecom Platform) in modern software development within the Elixir ecosystem.

Understanding Elixir's Metaprogramming

Understanding Elixir's Metaprogramming

Adrian Cruz presents a comprehensive talk on metaprogramming with Elixir, sharing insights from his experience working at Teachers Pay Teachers.

Understanding Process Potential for Concurrency and Fault Tolerance in Elixir

Understanding Process Potential for Concurrency and Fault Tolerance in Elixir

Meryl Dakin discusses the power of OTP in Elixir for enabling multitasking and fault tolerance within applications. She presents a practical example of an app that deploys lessons to Github repositories to showcase how OTP's concurrency tools can help developers efficiently manage tasks, maintain global state, and ensure reliability, even for those transitioning from object-oriented programming backgrounds.

Overview of the Elixir HTTP client Mint

Overview of the Elixir HTTP client Mint

Eric Meadows Jönsson presents Mint, a novel HTTP client for Elixir, which supports both HTTP/1 and HTTP/2. Mint features a process-less architecture that uses pure data structures.

Data Management Strategies in Elixir Applications

Data Management Strategies in Elixir Applications

Alex Peachey, the CTO of Versus Systems.com, discusses the transition from a Ruby stateless system to an Elixir state-based system, providing faster access to data. The talk focuses on various options for managing application state, including GenServer, ETS, and Mnesia, and their respective pros and cons.

Overview of the GRiSP Project for Real-Time Elixir and Erlang Development

Overview of the GRiSP Project for Real-Time Elixir and Erlang Development

Presented by Peer Stritzinger, the talk provides an in-depth look at the GRiSP platform, which enables real-time Elixir and Erlang development on embedded systems.

Elixir for Large-Scale Data Processing in Smart Cities

Elixir for Large-Scale Data Processing in Smart Cities

Jeff Grunewald discusses the utilization of Elixir for handling high-volume data processing for connected vehicles in a smart city environment.

Elucidating the Relationship between Elixir and Erlang

Elucidating the Relationship between Elixir and Erlang

Todd Resudek, from SimpleBet and Hex core team, discusses the importance of embracing Erlang alongside Elixir.

Introduction to the Erlang Ecosystem Foundation by Peer Stritzinger

Introduction to the Erlang Ecosystem Foundation by Peer Stritzinger

Peer Stritzinger discusses the Erlang Ecosystem Foundation, outlining its mission and key objectives, including coordination of languages on the BEAM, support for open-source initiatives, and collaboration outside of Ericsson.

Enhancing Real-Time Interactivity with LiveView and User Experience Design

Enhancing Real-Time Interactivity with LiveView and User Experience Design

Zack Kayser and Beau Heubach, from Gaslight, discuss the integration of user experience (UX) principles with Phoenix LiveView to deliver seamless real-time features in web applications.

Introducing Burrito: A Mix Release Tool for Cross-Platform Elixir Application Deployment

Introducing Burrito: A Mix Release Tool for Cross-Platform Elixir Application Deployment

Digit, a senior firmware engineer, introduced Burrito, a mix release tool for building cross-platform single file binaries for Elixir applications with no requirement for Erlang on the target machine. It simplifies the deployment process, eliminates the need for cross toolchains, and is highly extensible.

Understanding Observability with Elixir Telemetry

Understanding Observability with Elixir Telemetry

Ethan Gunderson presents an overview of using telemetry for observability in Elixir applications, particularly on how it can be employed to better understand and manage production systems.

Understanding Elixir Debugging Tools Based on Erlang Fundamentals

Understanding Elixir Debugging Tools Based on Erlang Fundamentals

Lorena Mireles discusses Elixir's powerful debugging tools, which leverage Erlang's capabilities to manage complex systems and streamline troubleshooting processes.

Data-Driven Software Delivery Optimization with LiveView

Data-Driven Software Delivery Optimization with LiveView

Tom Calloway presents an early-beta LiveView application aimed at quantitatively optimizing software delivery processes, offering a detailed analysis beyond traditional Kanban by integrating comprehensive accounting of team activities and enabling A/B testing for technology and practices.

Adoption and Impact of Elixir at Helvetia Insurance

Adoption and Impact of Elixir at Helvetia Insurance

André Graf discusses the adoption of Elixir at Helvetia Insurance to replace complex Jenkins pipelines, leading to the implementation of self-services for their streaming and API platforms.

Insights on Elixir Development and Learning Experience

Insights on Elixir Development and Learning Experience

José Valim presents a keynote speech on updates and the future of Elixir, including development and learning experience enhancements.

Discussion on Elixir Code Smells at Code BEAM Europe

Discussion on Elixir Code Smells at Code BEAM Europe

Elaine Watanabe will discuss the importance of addressing code smells and refactoring in Elixir for improved maintainability, extensibility, reusability, readability, and clarity at Code BEAM Europe 2023.

Optimizing Phoenix Channels Performance with Erlang Garbage Collection

Optimizing Phoenix Channels Performance with Erlang Garbage Collection

Erik Guzman discusses memory consumption issues with long-lived Phoenix Channels and how to mitigate them using the ERL_FULLSWEEP_AFTER setting.

Exploring Concurrency in Elixir with The Actor Model

Exploring Concurrency in Elixir with The Actor Model

Lars Wikman provides an in-depth look at The Actor Model as it pertains to Elixir and the underlying BEAM VM, debunking the terminology's use in Elixir while covering processes, message passing, GenServers, and architectural patterns.

Securing Software with Elixir: Business and Technical Insights

Securing Software with Elixir: Business and Technical Insights

Michael Lubas discusses the importance of security in Elixir software development, including how the language's design promotes safe concurrency and prevents common vulnerabilities like data races.

Securing Erlang Distribution Protocol in Large-Scale WhatsApp Clusters

Securing Erlang Distribution Protocol in Large-Scale WhatsApp Clusters

In his talk at ElixirConf 2023, Andrew Bennett discusses WhatsApp's experience managing a large Erlang/OTP cluster and the challenges they faced with the Erlang Distribution Protocol. He highlights the development of a Native Implemented Function (NIF) called "erldist_filter_nif" that allows them to control and reduce the potential impact of certain operations on the cluster. This session provides insights into innovations pushing the boundaries of Erlang and Elixir in massive-scale production environments.

Color Hashing in Elixir Using Erlang's phash2 Function

Color Hashing in Elixir Using Erlang's phash2 Function

Andrew Ian explains how to easily hash colors using Erlang's phash2 function, highlighting its ability to work with any data type and allow for constraining the hash output to a specific range. He also shares an example of how this can be used to generate unique colors for user names in a chat application.

Guide to Displaying All Telemetry Events in Elixir and Erlang Systems

Guide to Displaying All Telemetry Events in Elixir and Erlang Systems

Trevor Brown shares his blog post on how to show all telemetry events in Erlang and Elixir, offering a solution for developers to capture all events emitted and speed up debugging.

Understanding Distributed Elixir and Erlang

Understanding Distributed Elixir and Erlang

Connecting Elixir nodes (a node can be either a Phoenix app or a simple Elixir mix project) together in a distribution is deceivingly simple: pass awhen you start the application andanother node and you're set. But there are a lot of moving parts in order to support that.

Optimizing Phoenix LiveView for Enhanced Latency and Rendering Performance

Optimizing Phoenix LiveView for Enhanced Latency and Rendering Performance

José Valim discusses the performance benefits and optimizations in Phoenix LiveView, including rendering trees, change tracking, and LiveComponents.

An Overview of http_cache for BEAM

An Overview of http_cache for BEAM

Introducing http_cache, a BEAM-native standard-compliant HTTP caching library. Tangui explains the motivation and features behind the Erlang library along with 2 Elixir libraries that make use of it.

Implementing Magic Link Authentication in Phoenix LiveView

Implementing Magic Link Authentication in Phoenix LiveView

John Elm Labs shows you how to add magic link authentication to a Phoenix LiveView App. This step-by-step guide will help you implement this popular sign-in flow easily and securely.

Setting Up an SFTP Server Using Elixir and Erlang

Setting Up an SFTP Server Using Elixir and Erlang

Max Mulatz and Andreas Knöpfle show how to set up a quick SFTP server in Elixir utilizing the Erlang ecosystem. They explain why an SFTP server is still relevant and explain the process of building one.

Enhancing Elixir Performance using NIFs

Enhancing Elixir Performance using NIFs

Andres C Alejos discusses the power of Native Implemented Functions (NIFs) in Elixir and shares tips for working with them. He also provides real-world examples of using NIFs and showcases the EXGBoost library.

Exploring Elixir's Unique Observability Features

Exploring Elixir's Unique Observability Features

Lars Wikman shares insights on the observability features unique to the BEAM runtime and how Elixir has excellent tools for monitoring and debugging applications.

Understanding Exception Handling in Elixir

Understanding Exception Handling in Elixir

Pulkit Goyal gives an introduction to exceptions in Elixir, discussing how to handle and recover from errors using Elixir's API, the 'let it crash' strategy, and various exception handling techniques. He also emphasizes the importance of monitoring exceptions in real-world applications.

Understanding Set-Theoretic Types and Strong Arrows in Elixir's Gradual Typing

Understanding Set-Theoretic Types and Strong Arrows in Elixir's Gradual Typing

José Valim expands on the topic of gradual set-theoretic typing and discusses how the proposed type system will tackle gradual typing and how it relates to set-theoretic types, with the goal of providing an introduction to the ideas presented in their paper.

Exploring Elixir's Process Restart Strategies

Exploring Elixir's Process Restart Strategies

Herminio Torres explains the importance of process restart strategies in Elixir and how they ensure system reliability and resilience.

Summary of Elixir News from Thinking Elixir Podcast Episode 169

Summary of Elixir News from Thinking Elixir Podcast Episode 169

News covers the conclusion of ElixirConf US 2023 with key highlights being Chris McCord's keynote on improved Phoenix debugging tools, and Jose Valim's keynote introducing the "Strong Arrows" concept for handling dynamic types.

Discussion and Insights on Elixir Development

Discussion and Insights on Elixir Development

Adi, Allen, and Sascha dive deep into observability and tracing in the Beam, discussing the advantages of using open telemetry and exploring different levels of observability, from Phoenix Live View to telemetry and tracing operations in large pipelines.

Fundamentals of Elixir's Upcoming Type System

Fundamentals of Elixir's Upcoming Type System

José Valim delivers the closing keynote at ElixirConf 2023, discussing the foundations of the Elixir type system.

Kanta: A New Translation Management Tool for Elixir and Phoenix Web Applications

Kanta: A New Translation Management Tool for Elixir and Phoenix Web Applications

Artur Ziętkiewicz introduces Kanta, an open source solution to translations in Elixir & Phoenix web apps. Kanta simplifies the process of managing translations, saving time and reducing errors.

© HashMerge 2024