Elixir Alchemy Newsletter
A true alchemist is never done exploring. And neither are we.
In our Elixir Alchemy email series, we share tips & tricks about performance optimization, monitoring, and observability for your Elixir apps.
Previously in Elixir Alchemy
We’ve written 126 high-quality Elixir articles to date.
- AppSignal’s Top 5 Elixir Posts in 2024
- Distributed Phoenix: Deployment and Scaling
- How to Track Errors in Oban for Elixir Using AppSignal
- Managing Distributed State with GenServers in Phoenix and Elixir
- Find and Fix N+1 Queries Using AppSignal for a Phoenix App in Elixir
- A Complete Guide to Phoenix for Elixir Monitoring with AppSignal
- Scaling Your Phoenix App in Elixir with FLAME
- LiveState for Elixir: An Overview and How to Build Embeddable Web Apps
- Custom Instrumentation for a Phoenix App in Elixir with AppSignal
- Enhancing Your Elixir Codebase with Gleam
- Track Errors in Phoenix for Elixir with AppSignal
- Leverage Concurrency Efficiently When Managing Multiple Tasks in Elixir
- Advanced Dependency Injection in Elixir with Rewire
- Using Dependency Injection in Elixir
- Deep Diving Into the Erlang Scheduler
- How to Use Flume in your Elixir Application
- Direct File Uploads to Amazon S3 with Phoenix LiveView
- Powerful Caching in Elixir with Cachex
- Creating Custom Exceptions in Elixir
- How to Build a Memory-efficient Elixir App with Streams
- Build A Simple Tracing System in Elixir
- AppSignal’s Top 5 Elixir Posts in 2023
- What's New in Elixir 1.16
- Advanced Multi-tenancy for Elixir Applications Using Ecto
- Setting Up a Multi-tenant Phoenix App for Elixir
- Validating Data in Elixir: Using Ecto and NimbleOptions
- How To Use Zig for Elixir NIFs
- Validate Data in a Phoenix Application for Elixir
- How To Reduce Reductions in Elixir
- An Introduction to Exceptions in Elixir
- Phoenix 1.7 for Elixir: Edit a Form in a Modal
- Writing a Custom Credo Check in Elixir
- A Deep Dive into Subscriptions with Absinthe
- Add a Form to a Modal in Phoenix 1.7
- Observe Your Phoenix App with Structured Logging
- A Deep Dive into Mutations with Absinthe
- Create and Open a Modal in Phoenix 1.7
- Absinthe for Large Elixir Applications
- Tackling Performance Issues in Ecto Applications
- An Introduction to Absinthe
- Test Data Libraries for Elixir
- An Introduction to Mocking Tools for Elixir
- Debugging Phoenix LiveView with open_browser/2
- Generating Data Functions in Your Elixir App
- An Introduction to Test Factories and Fixtures for Elixir
- Under the Hood of Ecto
- How To Instrument Your Elixir Application with AppSignal
- Debugging and Tracing in Erlang
- AppSignal’s Top 5 Elixir posts in 2022
- How to Cache Locally in Elixir with Nebulex
- Debugging in Elixir and Erlang: An Introduction
- Parser Combinators in Elixir: A Deeper Dive
- Sanitize Strings in Elixir with Pattern Matching and Recursion
- Parser Combinators in Elixir: Taming Semi-Structured Text
- Phoenix LiveView 0.18: New Special HTML Attributes
- Faster XML Parsing with Elixir
- Fix Process Bottlenecks with Elixir 1.14's Partition Supervisor
- Elixir 1.14: Better Debugging with dbg/2 and More
- Benchmark Your Elixir App's Performance with Benchee
- Predictable Code in Elixir: Expressions as Reducers and Macros
- Write a Standalone CLI Application in Elixir
- How to Write a Functor in Elixir
- Writing Predictable Elixir Code with Reducers
- LiveView Assigns: Three Common Pitfalls and Their Solutions
- A Guide to Phoenix LiveView Assigns
- Algebraic Data Types in Elixir
- Livebook for Elixir: Just What the Docs Ordered
- A Guide to Event-Driven Architecture in Elixir
- Using Profiling in Elixir to Improve Performance
- Phoenix LiveView Under The Hood: The Form Function Component
- A Guide to Secure Elixir Package Updates
- Functional Programming in Elixir with Witchcraft
- Securing Your Phoenix LiveView Apps
- Build Interactive Phoenix LiveView UIs with Components
- Pitfalls of Metaprogramming in Elixir
- Authorization and Policy Scopes for Phoenix Apps
- How to Use Macros in Elixir
- How to Do Live Uploads in Phoenix LiveView
- Under the Hood of Macros in Elixir
- Real-Time Form Validation with Phoenix LiveView
- Application Code Upgrades in Elixir
- An Introduction to Metaprogramming in Elixir
- LiveView Integration Tests in Elixir
- Using Supervisors to Organize Your Elixir Application
- An Introduction to Testing LiveView in Elixir
- A Guide to Hot Code Reloading in Elixir
- Building Aggregates in Elixir and PostgreSQL
- How to Test WebSocket Clients in Elixir with a Mock Server
- How Absinthe Uses Compilation Callbacks for Schema Validation in Elixir
- Top 5 Elixir Blog Posts in 2020 from AppSignal
- Understanding Associations in Elixir's Ecto
- Capabilities of Elixir's Logger
- Monitoring Any System with StatsD and AppSignal's Standalone Agent
- Testing the Tricky Parts of an Absinthe Application
- The State of Elixir HTTP Clients
- Building State Machines in Elixir with Ecto
- Best Practices for Background Jobs in Elixir
- Using Mnesia in an Elixir Application
- Configuring your Elixir Application at Runtime with Vapor
- How to Use gRPC in Elixir
- Building Compile-time Tools With Elixir's Compiler Tracing Features
- Migrating Production Data in Elixir
- Monitoring the Erlang VM With AppSignal's Magic Dashboard
- How to Get Your Elixir Application Ready for CI/CD
- Top 10 AppSignal Blog Posts in 2019
- How to Use Broadway in Your Elixir Application
- Caching with Elixir and ETS
- Typespecs and Behaviours in Elixir
- Flags, Seeds and Idempotency: Database Tooling with Elixir
- Multiplayer Go with Elixir's Registry, PubSub and dynamic supervisors
- Metaprogramming: From C Preprocessing to Elixir Macros
- Building the Go Game in Elixir - Time Travel and the Ko Rule
- Building and Playing the Go Game with Phoenix LiveView
- Doing Background Work Using a Native Elixir Approach
- Routing in Phoenix Umbrella Apps
- Iteration, Recursion, and Tail-call Optimization in Elixir
- Pouring Protocols in Elixir
- Serving Plug - Building an Elixir HTTP server from scratch
- Understanding Elixir’s GenStages - Querying the Blockchain
- Hot Code Reloading in Elixir
- How OTP Applications are structured
- Lists vs Tuples in Elixirs
- Parsing Numbers in Elixir
- Deconstructing Elixir's GenServers
- Supervisors: Building fault-tolerant Elixir applications
- Demystifying processes in Elixir
AppSignal monitors your apps
AppSignal provides insights for Ruby, Rails, Elixir, Phoenix, Node.js, Express and many other frameworks and libraries. We are located in beautiful Amsterdam. We love stroopwafels. If you do too, let us know. We might send you some!