An Agent Skill for Updating Elixir Dependencies
✏️ New blog: I wrote up a blog post talking about the first skill I made, one that does a detailed Elixir dependency update.
More than Dependabot, it reviews changelogs and looks for code call sites that might be impacted by the changes. It also presents a full list of diff links for the main and transitive dependencies.
https://mikezornek.com/posts/2026/8/elixir-dependency-update-skill/?utm_source=elixirstatus&utm_campaign=elixir-dependency-update-skill
WeaveScope: native Elixir tracing for production AI agents
We built WeaveScope for Elixir teams running AI agents on the BEAM.
Its native Elixir library, BeamWeaver, captures complete trace trees for agent runs, model calls, tool calls, errors, inputs, and outputs - plus waterfall timing, latency, token usage, and model cost. When an agent is slow, expensive, or wrong, you can see exactly which step caused it, including concurrent work across BEAM tasks.
Our goal is simple: give Elixir developers the best tracing experience for AI applications, without a Python sidecar or a generic observability stack bolted on afterward.
It’s free to try. The Free plan includes 100,000 span events, 14-day retention, and one project. Add the native library, create an API key, and inspect your first trace at weavescope.com.
Evolving a string with a genetic algorithm
Breeding random bytes into the One Ring poem using Petri, an Elixir library for genetic algorithms.
https://sylvesterroos.com/blog/evolving-a-string-using-a-genetic-algorithm/
Privacy-Safe Phoenix Request Logging Without Changing Controller Params
A Phoenix request can have a correctly redacted assign while the default telemetry logger still reads the original conn.params. This article explains Obscura’s opt-in logging boundary, how controllers retain original data while logs receive only a sanitized representation, and how the integration handles routes, failures, and work budgets without falling back to raw request data.
https://hfiguera.github.io/obscura/blog/privacy-safe-phoenix-request-logging/
Calculating P&L When a Trade Spans Multiple Sessions
What happens when an external event arrives after the process context that created it is gone — the record gets filed twice, and a FIFO matcher scoped to that context produces a confidently wrong number instead of an error.
Taking Ash Framework’s DSL on a Spin for RPC Fun
I have been lately looking into more and more Ash framework’s code and exploring the DSL package — Spark that Ash uses to write pretty much all it’s DSLs. While writing DSL in Spark eliminates many macro magic from Elixir metaprogramming, code generation using Manifest takes it to a whole new level. I wanted to write up the process I followed from writing extension, to generating code using Manifest, and sending RPC calls to a remote BEAM node to execute remote code.
https://meraj-gearhead.ca/taking-ash-frameworks-dsl-on-a-spin-for-rpc-fun-3db7393405dc
Goatmire Elixir - Last chance in a while
As vacations wind down. Your spot of joy before the winter sets in is of course Goatmire Elixir. It is high time to get tickets and travel sorted. All the information is on the website. Phenomenal speakers, legendary free workshops and with us skipping the year 2027 this is your last chance for a while to see what Goatmire is all about.
(WIP) PON-BEAM re-architecture of the Erlang/OTP
(WIP) PON-BEAM is a complete re-architecture of the Erlang/OTP Virtual Machine (ERTS — Erlang Run-Time System) using the Notification-Oriented Paradigm (PON) https://github.com/matheuscamarques/pon_beam
Hologram v0.11: Regular Expressions, Client Stacktraces, and More
Elixir regexes now run in the browser, through a PCRE2 parser, translator and interpreter, so they return what the BEAM returns. Client errors now carry the same messages and stacktraces as errors raised on the server. Plus dynamic component and element tags, attribute and prop spread, and umbrella project support.
Security Vendor's AI Best Practices Labels Critical Elixir RCE Safe
A post about the dangers of AI generated SEO spam, especially as it relates to modern cybersecurity.
Running Obscura on an NVIDIA GPU with Elixir, EXLA, and Lightning AI
Loading EXLA is not proof that an Elixir workload used an NVIDIA GPU.
I documented how I validated Obscura, Nx, and EXLA on a Linux Tesla T4 through Lightning AI, including an NVSHMEM ABI mismatch, CUDA backend proof, warm inference latency, and the BEAM process’s GPU memory allocation.
https://hfiguera.github.io/obscura/blog/running-obscura-on-nvidia-exla/
Shimming Your Way Off a Dead Elixir Dependency
Two ways to retire a stuck dependency in a long-lived Elixir project: a hard replacement when the footprint is small, and a two-phase shim when it’s large. Framed with seams, characterization tests, and the strangler-fig pattern.
https://mikezornek.com/posts/2026/7/shim-off-a-dead-elixir-dependency/?utm_source=elixirstatus&utm_campaign=shim-off-a-dead-elixir-dependency
The Contract Roll State Machine in Elixir
How a production GenServer encodes a four-state machine in three struct fields, drives every transition off a handle_cast, a pattern-matched handle_info clause, and a timeout message, and refuses to resume ambiguous state after a crash rather than guess.
Protecting PII in Elixir Before It Reaches Logs, APIs, and LLMs
I released Obscura 0.1, an Elixir library for detecting and anonymizing PII in plain text and nested structured data.
This practical guide covers protecting application boundaries, Logger metadata, outbound API payloads, structured data, and reversible LLM pseudonymization. It also explains when deterministic detection is sufficient and when local Nx/Bumblebee model-backed recognition is useful.
https://hfiguera.github.io/obscura/blog/protecting-pii-in-elixir/
Hologram Works. Sponsor What Comes Next.
Where Hologram’s funding stands after its most productive stretch yet - four feature releases, first production apps - and why the local-first roadmap depends on company sponsors stepping in. https://hologram.page/blog/backing-hologram
Guarding Against AI Drift: My Automated Elixir Quality Checks
The full set of automated Elixir guardrails I run so AI-generated code doesn’t drift toward the median, each linked to how it’s wired in a real repo.
https://mikezornek.com/posts/2026/7/guarding-against-ai-drift/?utm_source=elixirstatus&utm_campaign=guarding-against-ai-drift
cronstrue_ex – Human-readable cron expressions in Elixir
I just published cronstrue_ex, an Elixir port of the widely used NPM package cronstrue.
It parses cron expressions and converts them into human-readable strings, bringing the same functionality from the Node.js ecosystem straight into Elixir with zero external dependencies.
Features:
-
Based on NPM’s
cronstruedesign & test cases -
Multi-language support (
:en,:es, etc.) - Zero external dependencies
Usage example:
CronstrueEx.to_string("*/5 * * * *", locale: :en)
# => {:ok, "Every 5 minutes"}
Belay: a Postgres-backed durable job engine for Elixir (step-level retries, budgets, Oban migrator)
Belay runs background jobs as sequences of memoized steps. When a job retries, it reads the finished steps back from the journal and continues from the first one that did not complete, so a crash halfway through does not repeat earlier work or the API calls it already paid for.
It also handles per-job spend budgets, human-in-the-loop waits, workflow DAGs, and a built-in dashboard, with Postgrex, Jason, and telemetry as the only dependencies (no Ecto or Redis). If you are on Oban, workers convert with small changes and mix belay.migrate_oban moves your pending jobs. Apache-2.0, currently at 1.0.0-rc.
Monolith juice that looks like Lambda and tastes like fast booting machines
Presentation I did in July 3rd at Python Norte 2026.
I took the opportunity to talk about how we scaled our main monolith at https://fly.io using Fly.io primitives itself and how process groups can help scaling different parts of the same app both horizontally and vertically as demands can be different. I’ve also plugged in a bit on how to have predictable charges each month so you dont go bankrupt.
Hologram: The Journey to Local-First Elixir in the Browser (ElixirConf EU 2026 talk)
Bart Blast’s ElixirConf EU 2026 talk. A year of Hologram in review, then a deep dive into local-first Elixir in the browser - what the term means, why CRDTs guarantee convergence but not invariants, and the structural advantages Elixir has for building a sync layer that JS-first stacks can’t copy. https://www.youtube.com/watch?v=qqpNovT7cys
