Thinking Elixir News 165
Episode 164 of Thinking Elixir. In the news, we cover a new Livebook Desktop feature tease, a new daily bite-sized Elixir newsletter, Supabase’s new Supavisor architecture, and Livebook joins the online Spawnfest competition as a sponsor. We also share a PSA about Alpine Docker image troubles with OTP 26 and an Ecto schema introspection tip. Elixir’s errors get more helpful when modules aren’t found, then a new Hex search tool was created and explained, and much more!
Implicit try in Elixir
We wrote about one of numerous features and syntactic constructs that contribute to the language’s elegance and expressiveness. One such hidden gem is the concept of “implicit try”.
Elixir Streams |> Phoenix forms backed by embedded schemas
If you have complex forms that you want to decouple from the database, we can use Ecto’s embedded schemas to back a form.
That gives us all the power of Ecto changesets without having to tie our form to our database schema!
Check it out! 👉 https://www.elixirstreams.com/tips/phoenix-forms-backed-by-embedded-schemas
Blog Post: Simple AI "Agent" using ChatGPT's Functions API
I wanted to see what it would take to expose custom functionality to ChatGPT in my own app, so I built a little sample in Elixir to let the chatbot view and make changes to a user’s (fake) calendar.
https://revelry.co/insights/artificial-intelligence/creating-an-agent-using-openais-functions-api/
Livebook is sponsoring SpawnFest again
Join Spawnfest, the 48-hour BEAM-based app contest, build a Livebook App and have fun.
https://news.livebook.dev/livebook-is-sponsoring-spawnfest-again-hskPC
Thinking Elixir News 164
Episode 164 of Thinking Elixir. News roundup includes the ElixirConf schedule being published, Bumblebee gets streaming text support, Oban Web is getting a big update, Elixir for Cynical Curmudgeons blog post brings broader positive attention, and Elixir Nx being successfully used to follow along with high profile AI examples.
The Phoenix testing pyramid
A look at the tranditional testing pyramid with a Phoenix twist. I think this is a good guideline when adding tests to Phoenix projects.
✍️ https://www.germanvelasco.com/blog/phoenix-testing-pyramid
Thoughts on Elixir, Phoenix and LiveView after 18 months of commercial use
I wrote down my thoughts on developing a commercial web application with Elixir, Phoenix and LiveView. Mostly a very positive experience but of course there are some warts as well: https://korban.net/posts/2023-08-11-thoughts-on-elixir-phoenix-liveview/
Groxio: New Course on Elixir
Elixir is a hot language right now, but it’s more than a series of buzzwords. In this video, Bruce Tate talks about the features in the language that are fueling it’s rapid growth and expansion. We’ll take you through features you will learn in Groxio courses as they unfold. https://youtu.be/uq_4iwWZ998
Phoenix forms without changesets!
I recently used Phoenix 1.7’s to_form/2 helper. It works flawlessly with changesets ✨
But we can also use it with bare maps! And it has a nice way to handle errors too 🤩
That allows us to better separate the UI from our domain layer. Check it out! 👇
https://www.elixirstreams.com/tips/phoenix-forms-without-changesets
The Missing Phoenix LiveView LifeCycle Flow Chart
It’s been found!
The missing Phoenix LiveView LifeCycle Flow Chart!
Tired of trying to explain LiveView’s life cycle to a non-Elixir dev?
Want to have a cheat sheet as a quick reference?
See the flow chart & mermaid code at: https://johnelmlabs.com/posts/liveview-lifecycle-flow-chart
View on Twitter: https://twitter.com/JohnElmLabs/status/1689285958288506880
Groxio OTP Course: Word Ladder Project Video
Elixir’s OTP lends itself particularly well to Groxio’s CRC labeling. In this video, Bruce Tate breaks down our Groxio Word Ladder project into a function with functions that construct, reduce, and convert. https://youtu.be/KTVQtATxivQ
Configuring Phoenix apps: Two small adjustments with big effects
Showcasing two small techniques that improve your happiness when working with Phoenix application configuration. https://bitcrowd.dev/two-small-adjustments-of-phoenix-application-configuration/
