Thinking Elixir News 187
Episode 187 of Thinking Elixir. In this episode, we celebrate the incredible ten-year journey of the Phoenix framework, marvel at the new interactive language tour by Gleam, explore the latest features of ElixirLS v0.19.0 designed to enhance the developer experience, and delve into Erlang’s big leap towards adopting ExDoc for its documentation. Stay tuned for these exciting developments in the Elixir ecosystem and more!
Elixir Streams |> Easy, Concurrent Temp Dirs with ExUnit ✅
Easy, Concurrent Temp Dirs with ExUnit ✅
Sometimes we need a temp directory in tests.
Our first inclination might be to reach for System.tmp_dir!/0
. And that works, but ExUnit has a really nice helper just for us.
Check it out!
🎥 Elixir Streams |> Easy, Concurrent Temp Dirs with ExUnit ✅
Phoenix framework - the world's most loved web framework based on Elixir
Phoenix framework constantly ranks as the most loved web framework in the world in Stack Overflow annual survey.
My ambition with this article is to explain why it became the top pick in web development, as well as why developers and decision-makers who are still considering using this technology should try it out.
One Billion Record Challenge in Elixir - faster
1BRC again. With some optimizations, I am able to process 1bn lines (using 10k different cities) on a 16 vcpu cloud machine in ~40 seconds using pure Elixir w/o dependencies (288 LoC)! As a comparison, on the same machine, a solution using Explorer.DataFrame’s would give me a runtime of ~20 seconds. Not too bad for pure Elixir!
https://www.ntecs.de/posts/2024-01-29-one-billion-record-challenge-in-elixir-faster/
Product Management SaaS
Hello, I’ve been working on something for about a year and a half. I was fed up with Jira and other software in that category so I made my own with LiveView/Elixir. There is a free mode for one hour, but it can be restarted as much as you want.
Give it a look and let me know what you think! I made a coupon code in case anyone is interested past the free trial: ELIXIRSTATUS2024 It gives -25% for the first 3 months.
Making Phoenix LiveView Sing!
Sound effects are frequently used in games and media to make the experience more believable, and tangible. Sound effects also communicate information and can make an experience much more immersive. Phoenix LiveView is already highly responsive and dramatically simplifies the developer experience of creating real-time web applications. What would it be like to add sound effects to a LiveView page? This post and demo project covers how to do it and why it’s worth considering for your application. LiveView was already awesome, now let’s make it really sing!
The Elixir Book Club has chosen our next book!
📘👨💻💜 The Elixir Book Club has chosen our next book!
Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans
Our next meeting is Sunday, February 11th, and we will discuss chapters 1, 2, and 3.
Join our Discord to participate!
Thinking Elixir News 186
Episode 186 of Thinking Elixir. In today’s episode, we peek into Elixir’s impact on operational costs and developer experience, highlighted by Amplified’s move to Elixir and insights from José Valim. Learn about the latest community discussions, including a tip for Elixir package maintainers. Plus, there’s a buzz about the upcoming NervesConf US. Join us for these stories and more!
From Next.js to Rails then Elixir: My journey through React.js burnout
After getting burned out by the React.js ecosystem, I tried multiple languages and frameworks, but ultimately, I decided to stick with Elixir and Phoenix.
Elixir Strams |> ⚡️ Quick Access to Repo Config
Sometimes you want to find out information about your Repo configuration.
You can dive into the config files and ENV variables to sort out what’s being used… or you can take the easier path!
Build A Simple Tracing System in Elixir
Let’s add tracing to an Elixir application using OpenTelemetry and streamline the process: https://blog.appsignal.com/2024/01/23/build-a-simple-tracing-system-in-elixir.html
Elixir programming language guide - learn why it's so admired
Elixir needs more newcomers and businesses to boost its presence in IT world. My ambition with this article is to provide a deep overview of Elixir for devs and decision makers. Things I covered here includes: history, ecosystem, adoption (companies, industries) and its benefits.
Unpacking Elixir: Phoenix
A post covering a lot of ground on trying to explain Phoenix without necessary delving deep into using it. Is it really the Rails of Elixir?
What is Phoenix LiveView? An introductory overview
Learn more about what makes Phoenix Framework’s younger sibling stand out and how it compares against other contemporary counterparts.
Thinking Elixir 185: InstructorEx for LLMs
Episode 185 of Thinking Elixir. Dive into the world of structured LLM prompting with our latest guest who shares insights on their innovative project, InstructorEx. We’ll explore how this tool is pushing the boundaries of large language models to return structured data, particularly JSON, and the benefits it offers when integrated into existing systems. The conversation takes a deep dive into the challenges and solutions of forcing LLMs to output data in desirable formats using Elixir technology, like Ecto schemas, and what it means to treat an LLM like a digital human, even applying it to tasks like spam detection in emails. Discover the intriguing concept of using a local database as a cache for LLM results. If you’re curious about the intersection of structured data, Python experience transition to Elixir, and the future of LLM integration, this is an episode not to miss. Tune in for these engaging topics and more!
Elixir Streams |> 🔍 Debug Ecto queries in tests
Sometimes, it’s helpful to see what queries our tests make.
Thanksfully, there’s a quick and easy config change to do that!
Check it out! 👉 Elixir Streams |> 🔍 Debug Ecto queries in tests
Elixir Streams |> 🔥 ok/1 & noreply/1 LiveView helpers!
I’m not a fan of writing {:ok, socket}
/{:noreply, socket}
in all of my LiveViews. Can’t pipe into them!
So, I typically introduce ok
/noreply
helpers in every single LiveView.
But my colleague had the brilliant idea to introduce them to the web module!
Check it out 🤩👇
IntelliJ Elixir v17.0.0
I released v17.0.0 of my Elixir plugin for JetBrains IDEs
Changelog
v17.0.0
Breaking changes
- Drop support for <= 2023.2 IDEs.
Enhancements
- Support 2023.3 IDEs.
Bug Fixes
-
Add
displayName
inplugin.xml
for configurables for faster menu loading.-
org.elixir_lang.facet.configurable.Project
- “Elixir” -
org.elixir_lang.facets.sdks.erlang.Configurable
- “Internal Erlang SDKs” -
org.elixir_lang.facets.sdks.elixir.Configurable
- “SDKs”
-
You might not need gradual typing in Elixir
This week José Valim announced that Elixir’s long-awaited gradual typing system is finally coming to fruition. But if dynamic typing was the reason you’re avoiding Elixir, I’d argue that your fears are overblown anyway.
Learn why Elixir’s lack of static types isn’t as big a problem as you might think:
https://phoenixonrails.com/blog/you-might-not-need-gradual-typing-in-elixir