ErrorTracker v0.2.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 key improvements:
- SQLite 3 compatibility - including a better way to track database schema versions
- Telemetry events - can be used to integrate your own notifications
- UI improvements - more refined styles and UX
- A better test suite - including testing in both RDBMS and different Elixir/Erlang versions in the CI
Take a look at the GitHub repository and the Hex.pm package for the detailed release notes and documentation.
What language modeling is all about?
How does AI “speak” and “understand”? Check our latest blog to learn all about language modeling—the technology behind how AI interprets and generates human language.
State (Machine) of Enlightenment [Nerves Meetup]
Ben Murphy explores how Erlang OTP’s :gen_statem can outperform GenServer in managing complex, unpredictable systems. Learn how this state-machine-based approach offers cleaner transitions and more powerful directives, simplifying even the toughest system designs.
Bun 1.3.1 released
This new version of the Bun installer fixes a problem with the bun run
command and allows you to replace the default Phoenix frontend stack (esbuild + tailwind packages) with just Bun.
Take a look at the GitHub repository and the Hex.pm package for detailed release notes and documentation.
Building analytics systems with Elixir | Code BEAM Europe 2023 recording
🎥 https://www.youtube.com/watch?v=1eYIo55dgf0
This is a case study and discussion about state of the art for developing analytical systems with Elixir. Multiple years we are working on Process Mining products with Elixir, using and experimenting with different technologies (Clickhouse, MariaDB column storage, DuckDB, KDB+, Polars). This talk is about problems, design decisions and challenges on the way, like developing in-house ecto-like framework, explaining what you can’t achieve with SQL and why you might look into lower-level technology like Polars & KDB+, ending with trying to show-case some example functionalities on top of Elixir Explorer and comparing them with Python.
This talk by Dmitry Russ was recorded at Code BEAM Europe - The Erlang and Elixir Conference 🎥 https://www.youtube.com/watch?v=1eYIo55dgf0
Sam McDavid, Machine Learning for Stock Trading in Elixir
Sam McDavid, Machine Learning for Stock Trading in Elixir
Thinking Elixir 214: Stack Overflow Results
Episode 214 of Thinking Elixir. News includes the latest Stack Overflow survey highlighting Elixir and Phoenix as highly admired technologies, a Reddit discussion on what makes Phoenix and Elixir so revered, the release of Lexical LSP 0.7.0, and Gleam v1.4.0-rc1 available for testing. Additionally, there’s a spotlight on a new library called LiveScript for local script development with code-reloading, a new website showcasing projects built with Phoenix, and more!
Multitenancy in Elixir
How to efficiently manage multiple clients within a single application? Or how to keep different users’ data isolated while still leveraging shared resources? Enter multi-tenancy!
Custom Instrumentation for a Phoenix App in Elixir with AppSignal
In the second part of this two-part series, we’ll set up custom instrumentation for a Phoenix application using AppSignal: https://blog.appsignal.com/2024/08/06/custom-instrumentation-for-a-phoenix-app-in-elixir-with-appsignal.html
So you want to develop a product with Nerves...
Learn key strategies for developing Nerves firmware products, from architecture to team resourcing. Discover tools, storage solutions, and hiring tips for success.
https://redwirelabs.com/blog/so-you-want-to-develop-a-product-with-nerves
How to update multiple records with different values in Ecto.Repo.update_all
The article shows how to use PostgreSQL unnest() to update multiple records with different values in Ecto.Repo.update_all/2
https://geekmonkey.org/updating-multiple-records-with-different-values-in-ecto-repo-update_all/
Building a Table of Contents Component for a Phoenix Blog
The article shows how to parse MDEx-generated HTML into a nested data structure that can be used to build a table of contents component for a Phoenix blog.
https://farens.me/blog/building-a-table-of-contents-component-for-a-phoenix-blog
Building Multiplayer Tetris from scratch with OTP, Elixir, and Phoenix
Let’s play Tetris together! - Building Multiplayer Tetris from scratch with OTP, Elixir, and Phoenix - a talk by Merlin Webster https://youtu.be/87iFws4c78s
✨This talk was recorded at Code BEAM Europe 2023. Early Bird tickets for Code BEAM Europe 2024 are still available: https://codebeameurope.com ✨
Drag-and-Drop with Phoenix LiveView
In this episode, we’ll learn how to implement a drag-and-drop feature that uses Phoenix LiveView. When elements are dragged between lists we’ll update their properties to match the new list.
ErrorTracker: an Elixir-based built-in error tracking
Announcing ErrorTracker, an Elixir-based built-in error tracking solution.
Features
- Basic, free, built-in error tracking solution. Tracking errors in your application should be a requirement for almost any project and it helps to improve quality and maintenance.
-
Easy to set up. Includes plug-and-play integrations that work automatically such as:
- Plug integration
- Phoenix integration
- Oban integration
- Minimalistic. You just need a relational database to store errors. It can be your application’s database or a separate one.
- Web UI. Includes a LiveView dashboard that allows you to search, manage and resolve recorded errors.
- Extra context. Recorded errors include additional context such as the request path or the LiveView event for the Phoenix integration and the job ID and parameters for the Oban integration. You can also add your additional context.
Useful links
Thinking Elixir 213: Can Mnesia remember using CRDTs?
Episode 213 of Thinking Elixir. News includes Chris McCord’s speedrun video on adding a self-hosted llama2-7b to an existing application, Tyler Young’s release of parameterized_test v0.2.0, major updates in Oban Pro’s new launch week, potential for CRDTs being added to Mnesia DB, Zach Daniel’s blog post on Igniter for code generation, and a preview of ElixirConf 2024 with exciting speakers and topics, and more!
AI powered app (with open-source LLMs like Llama) with Elixir, Phoenix, LiveView, and TogetherAI
TLDR; two processes, one for liveview and another process that will handle HTTP call with streams. LiveView will send the prompt and its pid (process id) to the handler, that in turn will spawn a separate process that will make HTTP call and send the chunks of LLM output to the LiveView as the chunks arrive. When the last chunk arrives, we then notify the LiveView that the text generation has finished.
https://dev.to/azyzz/ai-powered-app-with-llms-with-elixir-phoenix-liveview-and-togetherai-4ei1
Learn Phoenix LiveView - new LiveView tutorial
I’m George Arrowsmith and I’m really pleased to announce my new course, Learn Phoenix LiveView. It’s a written tutorial that will teach you how to build a Slack clone in LiveView.
Check it out at https://phoenixliveview.com.
I previously created Phoenix on Rails which is a tutorial teaching Elixir and Phoenix to devs who already know Ruby on Rails. This new tutorial is for everyone, not just Rails devs.
My goal is to create a completely thorough and comprehensive resource that teaches people everything they know to build a rich, fully-featured LiveView app. So the course isn’t just about LiveView - it teaches the full Phoenix stack including Ecto.
I really wanted to create a realistic app for this tutorial. So many existing courses teach you only how to create silly, contrived micro-apps that don’t have any of the complexity and trade-offs of a real production app.
The course is currently available in early access. 67 lessons are currently complete and published. Another 10 to 15 are still in development. Until then the course is available at a 40% discount. Needless to say, if you purchase now then you’ll get full access to all future lessons when they’re published.
I really hope people enjoy this tutorial and that I can help more people experience the power of Phoenix LiveView!
🎥 Do you really need processes in Elixir? 🎥
A talk by Brian Underwood from Code BEAM Europe 2023
A demo of a ride-sharing application Briand created to understand what is possible with a standard Phoenix + PostgreSQL application. He explores what performance and resiliency gains can (or can’t) be achieved by designing various process and supervision architectures using an external database, process state, ETS tables, and combinations therein.