We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Functional Programming
Elixir stands as a dynamic, functional programming language designed for building scalable and maintainable applications. By favoring a functional programming paradigm, it allows developers to write code that is concise, predictable, and easy to test. Developers transitioning from imperative and object-oriented languages like JavaScript or Ruby are often struck by Elixir's elegant syntax and powerful features, such as its robust concurrent processing capabilities.
The language is built on the Erlang VM (BEAM), which gives it access to the powerful concurrency model and fault tolerance for which Erlang is known. The BEAM VM's ability to efficiently handle thousands of processes simultaneously makes Elixir an excellent choice for building high-performance, distributed server-side applications. One of Elixir's most distinctive features is its support for immutable data structures, which ensures that data remains unchanged as it flows through the system, reducing side effects and increasing reliability.
Elixir also boasts a vibrant ecosystem, with frameworks like Phoenix for web development, which includes features like LiveView for real-time communication in web apps. The language offers robust tooling for software development such as the mix build tool, the Hex package manager, and the ExUnit testing framework, all designed to provide a delightful experience for developers. Its metaprogramming capabilities allow for writing code that writes code, enabling high reusability and further reducing boilerplate.
Educational resources, podcasts, and community talks available to Elixir developers cover a wide gamut of topics, from deep learning to embedded systems development. The language's approachable syntax and powerful features, coupled with the thriving community and extensive resources, ensure that both new and experienced programmers can discover and harness the joys and efficiency of functional programming with Elixir.
Understanding and Optimizing Functional Data Structures in Elixir
Zack Kayser presents on reasoning about data structures and runtimes in Elixir compared to imperative languages. Kayser emphasizes the implications of working with immutable data structures and their efficiency in Elixir.
Structured Program Design in Elixir with Bruce Tate
Bruce Tate speaks about layered program design in Elixir, emphasizing the mental model of 'Do Fun Things with Big, Loud Worker Bees', which represents the concepts of Data, Functions, Tests, Boundaries, Lifecycles, and Workers.
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.
Exploring High-Dimensionality in Language Design
Brooklyn Zelenka discusses innovative approaches to language design, advocating for the creation of small, composable DSLs and structured languages to simplify coding complexity.
Elixir for Real-Time Strategy Games in Space
Julian Doherty discusses the challenges and design patterns in building a real-time strategy space battle game with consideration to the speed of light as a gameplay factor.
Exploring Firmware Design in Embedded Systems with Elixir
Jon Carstens delivers a presentation on firmware design, focusing on its relationship with hardware and software and the role it plays in the development for embedded systems. He advocates for the relevance of firmware in a world increasingly dominated by smart devices and embedded technology.
Elixir as the Language of Choice for Large Language Models
Sean Moriarty discusses the challenges and opportunities presented by large language models (LLMs) and advocates for Elixir as an ideal language for developing LLM-powered applications.
Incorporating Functional Programming into Education
Michał Ślaski, co-founder of koderki.pl and Manager at Google Cloud, discusses his experiences with teaching programming in schools and the challenges associated with effectively engaging students, particularly young girls, in the field of computing.
Analysis of SOLID Principles and Embracing Simplicity in Elixir
Chris Keathley discusses the limitations of conventional software design principles and demonstrates how to build simpler systems with Elixir.
Building Wordle in Elixir as a Learning Project
Theo Harris shares his experience of learning Elixir by building the game Wordle as an onboarding project at Alembic.
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
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.
Elixir Implementation of Pion WebRTC Server
Michał Śledź describes the process of rewriting the Pion WebRTC implementation in Elixir, covering the basics of WebRTC and VoIP protocols like STUN, TURN, and ICE.
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.
Comparing Embedded Systems Development in Elixir and Traditional Languages
Connor Rigby from SmartRent and Taylor Barto from Eaton joined Sundi Myint on the Elixir Wizards podcast to compare embedded systems development using Elixir, C, C++, and Java. They discussed the benefits and drawbacks of these languages, focusing on the use of Elixir and the Nerves framework for firmware development.
Discussion on OpenID Connect with Jonatan Männchen
Jonatan Männchen leads technology at Sustema and is a member of ErlEF's security working group. He is featured in this episode to discuss the power of OpenID Connect on the BEAM.
Transitioning to Elixir for Backend Development
Lee Meichin shares their experience of switching to Elixir as the main language on the backend at their new job. They highlight that Elixir offers a fun and functional alternative to object-oriented languages, with no classes or instances, immutability, and support for compile-time DSL macros.
Understanding Elixir's For, Map, and Reduce Functions
Adolfo Neto's article explains the difference between Elixir's 'for' construct and 'for' loops in non-functional programming languages. The article also explores list comprehensions and demonstrates how to use Enum.map/2 and Enum.reduce/2 to achieve similar results.
Discovering the Hidden Value of Elixir Beyond Functional Programming
Owen Bickford discusses why Elixir is his preferred programming language, highlighting its functional paradigm, concurrency, and fault tolerance. He also delves into a lesser talked about feature of Elixir that allows it to solve problems previously considered unfit for the language and the BEAM.
Exploring Functional Domain Modeling Techniques in Elixir
In this blog post, Paweł Świątkowski explores how using techniques from functional modeling can improve the code written in Elixir. He demonstrates how functional modeling can help avoid common pitfalls in Elixir codebases and create more readable and maintainable code.
Discussion with Jenny Bramble on Testing in Software Development
Jenny Bramble joins the panel to discuss testers and developers and shares insights on making code better. Check out Jenny's ElixirConf 2023 talk: Black Box Techniques for Unit Tests.
Methods of State Management in Elixir and BEAM
Isaac Yonemoto presents 11 different ways to store state in the BEAM VM, discussing the dangers of shared state in distributed and concurrent systems. This talk is aimed at both beginners and experienced developers, providing examples and insights to help programmers avoid potential pitfalls.
Uncovering and Addressing Elixir Code Smells
Elaine Watanabe discusses code smells that may arise in Elixir codebase, exploring traditional and Elixir-specific code smells, their impact on Elixir applications, and practical insights into refactoring techniques to eliminate them.
Enhancing Junior Elixir Developer Skills
Savannah Manning explores the power of individualized learning in nurturing high-quality engineers, sharing her firsthand experience as a Junior Elixir developer and her journey of learning the language at a small startup that provided her with the ideal environment to grow and learn.
Discussion on Ash Framework with Zach Daniel
In this episode, Alex Koutmos, Lars, and Zach have a lively discussion about the Ash Framework. They talk about Zach's ElixirConf23 talk, the Ash Framework, and Ash Forum.
Elixir LangChain GitHub Repository Overview
brainlid/langchain is an Elixir implementation of a LangChain style framework. It makes it easier for Elixir applications to connect different processes, integrations, libraries, services, or functionalities together with a Large Language Model (LLM).
Discussion with Guillaume Duboc on Types in Elixir
In this episode, Guillaume Duboc joins the panel to discuss types in Elixir. They explore the benefits and challenges of bringing types to the language and provide valuable resources for further reading. Don't miss this exciting discussion on Beam Radio!
Developing AI Applications Using Elixir
Charlie Holtz discusses prototyping and deploying AI agents with Elixir, highlighting the benefits of using the BEAM + Elixir Agents for building specialized AI models and applications in a distributed, functional, and scalable manner.
Improving Elixir Test Suites with Custom Tricks
Testing in Elixir is pretty great. ExUnit, combined with the functional nature of Elixir, makes it very easy to test almost everything in your codebase. However, it is very easy for boilerplate to creep into your tests. Common setup patterns, similar assertions, and more can quickly make your test suite feel cumbersome.
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.
ElixirConf 2023 Behind the Scenes Episode 59
Beam Radio presents the final ElixirConf bonus episode featuring interviews with speakers and attendees, including Greg Vaughn, Jenny Bramble, Desmond Bowe, José Valim, Ryan Schneck, Razvan Draghici, Sam McDavid, and more.
Understanding Elixir's Low Latency Capabilities
Lars explores how Elixir leverages Erlang's soft real-time capability and consistently low latency to provide a near-realtime experience and enhance user satisfaction.
An Overview of Elixir's Syntax
In this blog post titled "Unpacking Elixir", Lars provides a thorough exploration of the Elixir programming language, explaining its syntax, conventions, features, and interop with Erlang. Lars discusses various aspects of the language, such as modules, functions, pipes, pattern matching, macros, and more, offering insights and observations along the way.
Explained: How Elixir and Erlang Handle Arrays Functionally
Many data structures including arrays don't translate equally from imperative to functional programming languages and there are important reasons why.
Cost Savings and Increased Performance with Elixir
Elixir, a dynamic and functional programming language, has saved businesses millions of dollars per year in server costs. Companies like Pinterest and Bleacher Report have experienced significant reductions in server expenses, with improved reliability and performance, by leveraging the power of Elixir and the underlying Erlang platform.
Insights on Using Elixir and Phoenix for Commercial Projects
Alex Korban shares his thoughts on using Elixir, Phoenix, and LiveView for a commercial project over the past 18 months. He finds Elixir enjoyable with a good combination of functional programming and concurrency, and while there are some areas that could be improved, both Elixir and Phoenix are solid tools with LiveView being an impressive addition for more complex applications.
Overview of Elixir's HTTP Clients
Andrea Leopardi provides an overview of various HTTP clients available in Elixir, including Mint, Finch, Req, and httpc. He discusses the features and use cases of each client, offering recommendations based on different scenarios.
Explanation of syntax for calling anonymous functions in Elixir
In this article by José Valim, he explains why Elixir uses a dot when calling anonymous functions. The main reason for this choice is because functions in Elixir have to be identified by name and arity, and using the dot helps avoid naming conflicts and provides clarity in the code.
© HashMerge 2024