Thinking Elixir News 172
Episode 172 of Thinking Elixir. The latest news features a compelling blog post on the Dashbit blog focusing on the advances in Machine Learning with Elixir, intriguing tips on how to get the most out of ExDocs for offline browsing, and using a new Phoenix LiveView 0.20.x feature. Additionally, a transition story from Serverless to Elixir, resulting in significant cost savings, got attention and was shared by “Prime Reacts”, further spreading Elixir awareness. With more exciting announcements around ElixirConf 2023 Videos and the opening of proposals for CodeBEAM America 2024 and more!
Elixir Streams |> LiveView's Async Assigns
LiveView 0.20 ships with async assigns! 🥳
I tested them and they’re a breeze to use 😎
Check out this short intro on how to use assign_async/3
Speech-to-text with Whisper: timestamping, streaming, and parallelism, oh-my! - Launch Week 2
Thanks to advancements in the overall Numerical Elixir ecosystem, Livebook v0.11 includes a highly improved integration with Whisper.
Today is about the improved integration with Whisper, using Livebook’s Neural Network Smart cell.
New features:
- Timestamping
- Streaming
- Parallelism
Validate Data in a Phoenix Application for Elixir
In the first of a two-part series, we’ll explore how to avoid bad data and validate data at the boundary of a Phoenix application: https://blog.appsignal.com/2023/10/10/validate-data-in-a-phoenix-application-for-elixir.html
Permit - authorization library for Elixir, Ecto, Phoenix, LiveView
Permission-based authorization is a universal and flexible authorization model practically applicable in many applications. Permit was made out of the need to make permission management in Elixir applications more efficient and consistent. Introducing the new library from Curiosum, Michal in his latest post outlines the way the new library works and helps developers plug in resource preloading and authorization easily into Phoenix controllers and LiveViews.
Remote execution Smart cell - Livebook Launch Week 2
Our 2º Launch Week has just started!
Today is about our newest built-in Smart cell: Remote execution.
It comes with the following features:
- generates boilerplate code for connecting a Livebook notebook to another Elixir node
- stores the remote node’s cookie as a Livebook secret
- autocompletion and docs preview of the modules defined in the remote node
https://news.livebook.dev/remote-execution-smart-cell—launch-week-2—day-1-m3dv2
Authorize access to your Phoenix app with Permit
Introducing ‘Permit’, your new best friend for smooth sailing through app authorization. 😎 Elevate your Phoenix development game and ensure your data remains in the right hands. Perfect for those looking to add a splash of easy-going security to their app.
https://curiosum.com/blog/authorize-access-to-your-phoenix-app-with-permit
Nerves Project Update 2023
Frank Hunleth, creator of Nerves, gives an overview of the latest updates to the Nerves project at the Nerves Meetup.
Introducing http_cache, a BEAM-native standard-compliant HTTP caching library
In this article, we explore the features of http_cache and associated libraries released earlier last year
A quick SFTP server in Elixir
SFTP is still widely used, especially by corporations. Thankfully, incorporating an SFTP server in your development / testing setup is straight forward. Thanks to the Erlang ecosystem. A quick SFTP server in Elixir by Max Mulatz and Andreas Knöpfle shows you how.
Check it out!
Strong Arrows
🤩 I loved the blog post on strong arrows that José recently shared. It helped clarify what they are and why they’re needed.
I made a short video of my understanding. Hope it helps others understand them too! 🥳
v0.13 of Next LS released
I released v0.13 of Next LS @elixir_tools, which includes local variable support for go to definition and find references. #MyElixirStatus @elixirlang
This work was done by Dmitry Biletskyy (https://biletskyy.com), he’s been killing it!
Check it out!
Thinking Elixir News 171
Episode 171 of Thinking Elixir. News includes José Valim’s blog post about Elixir’s “strong arrows” that expands on his keynote, the release of LiveView 0.20.0 with its myriad of updates and improvements, and a sneak peek into the upcoming Livebook features with a new “Authentication” section. Additionally, Wojtek Mach shares a success story using beammachine.cloud for a quick Erlang check, Sundi Myint shares a tip for 404 pages in LiveView when URLs are tweaked, and Lionel Aimerie demonstrates how to integrate Chart.js into Elixir Phoenix for visual impact in LiveView. All these, along with newly released ElixirConf videos, the upcoming SpawnFest contest, and more!
Unpacking Elixir: Observability
Some of the coolest tools in the BEAM ecosystem are things you can do at runtime. They also hide behind relatively mild names. Such as tracing, observability, introspection.
This is the stuff no other runtime I’ve heard of can do.
Exploring various approaches for testing external calls in Elixir
In this article, we will summarize what we discovered and provide an overview (albeit not an exhaustive one) of various Elixir methods for testing payment API calls, ranging from the simplest to the most intricate. https://medium.com/wttj-tech/exploring-various-approaches-for-testing-external-calls-in-elixir-4f22e8c8fdae
Elixir Streams |> LiveView 0.20 HEEX Debug Annotations
LiveView 0.20 comes with a nice improvement to debug HEEX templates.
Just add config :phoenix_live_view, debug_heex_annotations: true to your dev config, and you’ll see HTML annotations in your browser inspector!
Check it out!
Announcing LangChain for Elixir
I created an Elixir LangChain library called “langchain” on Hex.pm. I didn’t invent the idea of LangChain. In fact, it was originally created in Python and JS/TS. I wanted something similar to exist for Elixir and Phoenix applications.
This is to announce the initial release of the project and explain a bit more about it.
https://fly.io/phoenix-files/announcing-langchain-for-elixir/
How To Reduce Reductions in Elixir
In this article, we’ll show how you can use Elixir’s profile.eprof mix task to evaluate and improve code performance in your Elixir application.
https://blog.appsignal.com/2023/09/28/how-to-reduce-reductions-in-elixir.html
JSON API Auth with Plug
In this episode we’ll use Plug to restrict access to our JSON API unless the request includes a valid API key.
