Thinking Elixir 241: A LiveView Debugger and Gigalixir
Episode 241 of Thinking Elixir. News includes the release of LiveDebugger, an exciting new browser-based debugging tool for Phoenix LiveView applications and the announcement of Artifix for creating private Hex registries on S3 and CloudFront. We are also joined by Tim Knight, the CTO at Gigalixir, to get a peek inside the machine that is Gigalixir and learn more about how the platform specializes in providing an excellent Elixir deployment experience, and more!
Better Elixir diffs with difftastic
Difftastic is a structural diffing tool that understands syntax:
Difftastic is a CLI diff tool that compares files based on their syntax, not line-by-line. Difftastic produces accurate diffs that are easier for humans to read.
Unfortunately, Difftastic did not understand HEEx templates syntax well, so changes were not highlighted properly. I’ve submitted a pull request to fix this which is now merged, so any Elixir dev using Difftastic should see improved diffing for HEEx templates.
https://crbelaus.com/2025/02/10/better-elixir-diffs-with-difftastic
5 Must-Attend Talks at ElixirConf EU on AI, Security & Scale!
Here’s a preview at just FIVE of the amazing talks happening at 1️⃣ Code Intelligence and RAG in Elixir with rag.ex by Chris Beck ➡️ https://www.elixirconf.eu/talks/code-intelligence-and-rag-in-elixir-with-rag-ex/ 2️⃣ Meta-Programming in Elixir: Dynamic Function Calling with LLMs by Conor Sinclair ➡️ https://www.elixirconf.eu/talks/meta-programming-in-elixir-dynamic-function-calling-with-llms/ 3️⃣ Elixir for Automated Reasoning by David Fuenmayor ➡️ https://www.elixirconf.eu/talks/elixir-for-automated-reasoning/ 4️⃣ Developing Secure Web Applications with Phoenix by Eli Kroumova ➡️ https://www.elixirconf.eu/talks/developing-secure-web-applications-with-phoenix/ 5️⃣ How Elixir Powers the BBC: From PoC to Production at Scale by Ettore Berardi ➡️ https://www.elixirconf.eu/talks/how-elixir-powers-the-bbc-from-poc-to-production-at-scale/
Introducing Contexted – Phoenix Contexts, Simplified
One of the most unproductive activities an Elixir software developer can engage in is determining which module should implement a given function and how to maintain complex business logic.
Contexted is an open-source library that solves these problems, and this article presents scenarios where it can be useful.
Normalize chart data using Ecto and PostgreSQL
How to produce good chart data using Ecto and PostgreSQL.
https://danschultzer.com/posts/normalize-chart-data-using-ecto-postgresql
DaisyUIComponents - A Phoenix LiveView + DaisyUI library
DaisyUIComponents is a library that integrates DaisyUI into your Phoenix LiveView project.
It replaces Phoenix’s default CoreComponents with pre-styled DaisyUI components. It also have 30+ components built in. Check it out!
Alchemy Conf - Talks, workshops & community – all in one place!
👩💻 March 31 - April 1: Hands-on workshops
🎤 April 2 - 3: Talks from Elixir experts
🤝 Side-events to network & have fun in Braga, Portugal
Tickets at https://alchemyconf.com
Women in BEAM: survey results
https://www.erlang-solutions.com/blog/women-in-beam/ Lorena Mireles shares the insights from her Women in BEAM survey
Interactive Data Tables in Phoenix LiveView: AG Grid Integration Made Simple
Learn how to build fully interactive and efficient data tables in Phoenix LiveView & AG Grid - from dynamic content loading, to sorting and filtering, to scalability and easy extensibility.
https://curiosum.com/blog/interactive-data-tables-in-phoenix-liveview
Elixir and Phoenix Security Checklist: 11 Best Practices
Best practices to prevent a security incident in Elixir!
Don't let the last word to the Logger
In Elixir a logger statement returns :ok always, whatever level you use, even with Logger.error and it makes total sense, that’s a deliberately choice inherited from Erlang. And this implicit return value can trick you. Let’s see how to write a custom Credo check to prevent this.
Thinking Elixir 240: Standards and Security
Episode 240 of Thinking Elixir. News includes Erlang/OTP achieving OpenChain ISO certification for open source license compliance, the release of the new “Elixir Patterns” book by Hugo Barauna and Alex Koutmos, a security audit of Oban Web and Pro by Paraxial.io showing excellent results, upcoming Alchemy Conf in Portugal, and a major rewrite of the asdf version manager to Go, and more!
ElixirConf EU Tickets are available now with Early Birds discount
Learn more about: Learn more about:
- the speakers
- the training
- call for volunteers
- Diversity & Inclusion program All details here: https://www.elixirconf.eu
💜📘 The Elixir Book Club has chosen our next book: Engineering Elixir Applications
This book is about skilling up on DevOps to help you deploy your Elixir app with confidence.
We meet on Discord for an hour every other week. Our first meeting is Sunday, February 23, 2025, and we will discuss chapters 1 and 2.
Artifix: A batteries included template for creating a private Hex Registry on top of S3 and CloudFront
Introducing Artifix: a batteries included template for creating a mono-repo that contains Hex packages that can be distributed, either internally (i.e. privately with your team) or externally (i.e. to any subscribers, or to just anyone in the world). It has ready to run actions that run with GitHub actions to deploy a fully build static Hex Registry to S3, with CloudFront as a CDN on top of it. Also included is an automatic way to add auth-keys via a CloudFront Function, which let’s you add authentication if you want to ensure nobody is using your registry without your approval. https://github.com/probably-not/artifix
Tooltips in Phoenix LiveView
There are a few options to integrate tooltip functionality into Phoenix LiveView. This article covers integrating a Phoenix LiveView with one popular library tippy.js, ensuring any dynamic updates are reflected in tooltip state.
Making Elixir Recompile when External Files Change
In this post we go into the inner workings of how we can force our code to recompile when we have changes to external files or folders that the code is dependant on.
https://learn-elixir.dev/blogs/making-elixir-recompile-when-external-files-change
Soleil: Open source power management hardware [Nerves Meetup]
Join Gus Workman as he discusses the recent launch of Soleil, an open source power management and sleep control board for Raspberry Pi and Nerves.
Thinking Elixir 239: Scaling to Unicorn Status
Episode 239 of Thinking Elixir. News includes an impressive case study from Remote showing how they scaled Elixir to support nearly 300 engineers and reach unicorn status, Tailwind CSS 4.0’s major release with Phoenix integration in progress, Chris McCord teasing an exciting AI code generator project on Fly.io, the release of Elixir LangChain v0.3.0 with expanded support for multiple AI providers, ElixirConfEU 2025 tickets going on sale in Kraków, and more!