Gonzalo Rodriguez, a software engineer with expertise in Ruby on Rails and Elixir, discusses his creation, Tower, a tool designed for error tracking in Elixir applications. He shares insights on transitioning from Ruby to Elixir, the challenges faced, and how Tower simplifies error management by decoupling error capturing from notification reporting. The conversation also touches on the importance of open-source contributions, along with the ease of integrating error reporting into applications, enhancing developers' workflows.
Saša Jurić's updated project showcases the advantages of the Beam VM, enhancing educational demonstrations of Erlang and Elixir technologies.
Phoenix LiveView RC8 introduces new Hex syntax and improved DOM targeting, streamlining interactions with JavaScript for better web application development.
The new Error Tracker v0.5 provides valuable error management tools for Elixir applications, greatly improving visibility and resolution of errors in development environments.
Deep dives
Sasha Yurik's Updated GitHub Project
Sasha Yurik has released an updated GitHub project stemming from his popular talk, 'The Soul of Erlang and Elixir,' which showcased the benefits of the Beam VM, including process isolation and a robust error-handling mechanism. This project has been enhanced to use the latest versions of Erlang, Elixir, and Phoenix and is licensed under MIT, making it freely usable for demonstrations and educational purposes. The new code demonstrates LiveView features and includes a live dashboard for visualizing process management and error responses. This resource is especially helpful for developers wanting to illustrate Beam concepts interactively, making it easier to convey the technology's advantages to stakeholders.
Phoenix LiveView Updates
The latest release candidate (RC8) of Phoenix LiveView introduces support for new Hex interpolation syntax, allowing for better integration of Elixir code within templates. Additionally, the update includes features such as a default attribute for the live title component, making it easier to manage page titles dynamically. The release also addresses previous limitations related to targeting elements in the DOM using JavaScript commands, thereby simplifying the interaction between JavaScript and LiveView components. These enhancements contribute to a smoother development experience and improve the overall efficiency of building interactive web applications.
Introduction of Next Error Tracker Version
The new version of the Error Tracker library, version 0.5, has been released, which integrates error tracking into Elixir applications with enhanced mobile experiences and custom breadcrumbs support. This tool creates tables in PostgreSQL for error logs and provides an interface for viewing and managing these errors in an administrative panel. Users have reported significant benefits from this library, especially in local development, where it captures detailed error messages and stack traces. The addition of such a tool is invaluable for anyone wanting to maintain oversight and swift resolution of errors in their Elixir applications.
EMLX: A New Backend for Apple Silicon
A new GitHub repository, EMLX, has been created to provide an NX backend for Apple's MLX, which is designed for flexible and efficient machine learning on Apple Silicon. This initiative allows developers on Mac hardware to experiment with machine learning models without the need for expensive GPUs, thereby expanding accessibility to machine learning resources. Despite some initial setup challenges, the project marks a milestone in the NX ecosystem, offering enhanced performance for AI tasks on consumer hardware. This integration aligns with the trend of democratizing technology, making advanced tools available to a broader developer community.
Introducing the NIF Call Library
The NIF Call library enables Elixir developers to call Elixir functions from inside Native Implemented Functions (NIFs), expanding the capabilities of NIFs beyond just invoking external languages like C or Rust. This library is particularly useful for scenarios where native performance is critical, and being able to call back into Elixir allows for greater flexibility. Created by Coco, who has experience with lower-level programming in computer vision, the library offers a structured approach for integrating native code with Elixir's concurrency model. The potential for interaction between NIFs and Elixir enhances the composability of Elixir applications while still allowing developers to maintain native performance.
News includes Saša Jurić updating his project for "The Soul of Erlang and Elixir" talk with the latest technologies, the release of Phoenix LiveView RC 8 with exciting new features, ErrorTracker v0.5.0's enhancements for Ash applications, and the introduction of the NX MLX backend for Apple Silicon, offering efficient machine learning on Mac hardware. Plus, a new VS Code plugin called "Refactorex" brings robust refactoring capabilities to Elixir. We also interview Gonzalo Rodriguez about Tower, a vendor-agnostic error tracking and reporting tool in Elixir, discussing its creation, functionality, and how it simplifies error management across various services. And more!
https://x.com/sasajuric/status/1863889108449337415 – Saša Jurić updated the project used in his "The Soul of Erlang and Elixir" talk, rewriting it with the latest versions of Erlang, Elixir, & Phoenix.
https://adventofcode.com/2024/ – Advent of Code is active, with people participating using their favorite programming languages.
https://notes.club – A platform that hosts a frontend of Livebooks on GitHub, organized by author, likes, and tags, useful for exploring how people are solving Advent of Code problems in Elixir.
https://github.com/ljgago/kino_aoc – A GitHub repository for a Livebook Smart Cell which aids in solving Advent of Code directly from Livebook.
https://github.com/nettinho/smaoc – Another Livebook Smart Cell repository on GitHub for Advent of Code that facilitates problem interaction within Livebook.