Setting up action auditing for a live view application
For some compliance work, we needed a way to log all actions a user makes in our application’s live view admin interface. Looking under the hood of the LiveView __using__
macro, and then in part mimicking and in part extending those approaches, allowed us to do it in very few lines of code.
https://bego.dev/blog/audit-live-view
Creating a Phoenix app with only a browser using GitHub Codespaces
Makes a case for cloud development environments, experiments with using VS Code for the Web and GitHub Codespaces to create a new web app entirely in a browser, and provides an example for Elixir/Phoenix.
What happens when you type a Phoenix URL into your address bar and press “Enter”?
A classic job interview question is: “What happens when you type a URL into your browser’s address bar and hit Enter?”
You could answer with the basics of DNS, networking and HTTP. But what also happens specifically if the page is served by a Phoenix app?
In my latest post I take you on a journey through the Phoenix stack and show you all the steps via which Phoenix transforms a %Plug.Conn{}
from a request into a response:
Thinking Elixir 221: From Keynotes to Job Listings
Episode 221 of Thinking Elixir. News includes ElixirConf keynotes appearing on YouTube, updates on ErrorTracker’s latest release, José Valim’s deep dive on ChatGPT UX issues with Phoenix LiveView, Dockyard’s announcement of LVN Go to streamline LiveView Native workshops, and Livebook’s newest notebook navigation features. Plus, Nvidia’s job opening that explicitly mentions Elixir, Alchemy Conf 2025 details, NASA’s development of a Lunar timezone, and more!
All videos from Code BEAM Lite Mexico released!
[Talks in Spanish and English] https://www.youtube.com/playlist?list=PLvL2NEhYV4ZsImAG9iMk0rXl5LOtvvCa8
Elixir Friends - Peter Ullrich
First episode of the Elixir Friends podcast is out!
I sat down with Peter Ullrich to talk about life, what he’s working on, camera setup (b/c I look like ghost 😅), and even some of his favorite food!
Check it out! 👇
Website: https://elixirfriends.transistor.fm/episodes/friend-1-peter-ullrich
YouTube (thanks to Peter’s suggestion): https://youtube.com/watch?v=5apHLuFi5JI
And if you just want the raw RSS feed: https://feeds.transistor.fm/elixir-friends
Exciting updates to phx.tools
We’re excited to share the latest updates to phx.tools, the complete development environment for Elixir and Phoenix.
Most significant changes:
- removing unnecessary dependencies
- switching from asdf to mise
- using existing shell instead of forcing Zsh installation
Elixir Macros Demystified: defmacro and require
In part 3 of my series on Elixir macros, we’ll learn about defining macros using defmacro
, handling and returning quoted expressions, and why we need to ‘require’ macros before we can use them.
https://arrowsmithlabs.com/blog/elixir-macros-defmacro-and-require
Elixir Streams |> 🔍 ExUnit 1.17's new flag to find intermittent failures
💜 Loving the ExUnit improvements that came in with Elixir 1.17
mix test –repeat-until-failure N
for those pesky intermittent failures. 👇
Matrjoschka of phoenix communication
I wrote a bit on the layers powering phoenix real time communication capabilities: https://kobrakai.de/kolumne/matrjoschka
Thinking Elixir 220: The EEF Has Your Regulatory Back
Episode 220 of Thinking Elixir. News includes the archiving of the “Phoenix Sync” project, a major update to Gettext that enhances compilation efficiency, the release of ErrorTracker v0.2.6 with new features like error pruning and ignoring, and José Valim highlighting UX issues with ChatGPT’s new UI. We were also joined by Alistair Woodman, a board member of the EEF (Erlang Ecosystem Foundation), who explained the EEF’s recent efforts to stay ahead of legislation and technical regulatory shifts that may impact developers soon. Alistair discussed the changing regulatory landscape in the US and the EU due to high-profile exploits, outages, and nation-state supply chain attacks. We learned how the EEF supports Elixir and BEAM developers and what they need from the community now, and more!
A Complete Guide to Phoenix for Elixir Monitoring with AppSignal
Let’s set up monitoring and error reporting for a Phoenix application using AppSignal: https://blog.appsignal.com/2024/09/17/a-complete-guide-to-phoenix-for-elixir-monitoring-with-appsignal.html
Code navigation with go to definition of modules and functions inside Livebook
We’ve added new features that will make navigating code easier and more intuitive in Livebook.
- Outline panel: easily view all your sections and modules defined
- Go to definition: click to go to definitions of modules and functions
More details in the blog post.
ErrorTracker v0.3.0 has been released
We have just released a new version of ErrorTracker, the Elixir based built-in error tracker. This version adds a few new exciting features:
- Support for MySQL and MariaDB. ErrorTracker now support all major open source relational database engines (PostgreSQL and SQLite were already supported).
- Improved error grouping in the Oban integration. Previously errors from different Oban workers could be incorrectly grouped together.
- Better docs and typespecs. The public API functions are now fully documented.
Take a look at the GitHub repository and the Hex.pm package for the detailed release notes and documentation.
Optimum infrastructure generator for Elixir apps
Setting up your CI/CD pipeline, code checks, and production environment can be simple and efficient using our generator.
Learn how to use it in the blog post:
https://optimum.ba/blog/optimum-infrastructure-generator
Thinking Elixir 219: Coming Out of ElixirConf
Episode 219 of Thinking Elixir. News includes a proof of concept for Phoenix Sync by José Valim, exciting new developments in Elixir’s type system, Algora.tv’s open-source Twitch for developers, Sean Moriarity’s insights on the future of Nx, Axon, and Bumblebee, a powerful new feature in Livebook integrating with Fly.io, and more!
ErrorTracker v0.2.6 has been released
We have just released a new version of ErrorTracker, the Elixir based built-in error tracker. This version adds a few key improvements:
- Global error tracking disable flag: error tracking can now be fully disabled for certain environments.
- Automatic resolved error pruning: errors can be now automatically pruned after they have been resolved for some time.
- Error ignorer: users can now ignore particular errors based on their attributes and context.
Take a look at the GitHub repository and the Hex.pm package for the detailed release notes and documentation.
Learn Phoenix LiveView (now out of Early Access)
Learn Phoenix LiveView is the comprehensive tutorial that teaches you how to build a realistic, complex, fully-featured LiveView app from scratch.
Sign up today at PhoenixLiveView.com.
(Yes, that domain was available. I couldn’t believe it either.)
🎥 Erlang vs Elixir: On the Shoulder of Giants There’s Room for Larger Giants
In this keynote, Francesco Cesarini and Andrea Leopardi explore the symbiotic relationship between the two languages:
🎥 https://youtu.be/qr6VAfCm_QE 🎥
This talk was recorded at Code BEAM Lite Mexico 2023. If you’re curious about our upcoming event, check https://codebeamamerica.com