Exploring Erlang, Elixir and Beyond: A Conversation with Professor Laura Castro

In this episode of the Professor Adolfo Neto podcast, join me, Adolfo, as we sit down with Laura Castro.

Laura is a distinguished professor at Universidade da Coruña (UDC), Spain, and the chair of Cátedra CICAS, a collaborative project aimed at advancing Open Science through Software. She is involved in the BEAM (Erlang and Elixir) community and is a member of the Erlang Ecosystem Foundation.

During our conversation, Laura shares her journey into Erlang and Elixir, her role at the University of A Coruña, and her involvement in the BEAM community and the Erlang Ecosystem Foundation. We also delve into the topic of gender diversity in computing and Laura’s thoughts on knowledge sharing within the field. A big thank you to Laura for sharing her expertise with us.

YouTube: https://www.youtube.com/watch?v=m1RgrdTF5B8

Audio platforms: https://podcasters.spotify.com/pod/show/adolfont/episodes/Exploring-Erlang–Elixir-and-Beyond-A-Conversation-with-Professor-Laura-Castro-e2h8btk

Adding OpenTelemetry and custom traces

I’m using OpenTelemetry to get custom data about FIT file decoding in a LiveView app. Includes a custom sampler to drop some redundant traces.

https://arathunku.com/b/2024/notes-on-adding-opentelemetry-to-an-elixir-app/

Idempotent seeds in Elixir

Agathe went on a journey to explore how to “run your database seeds a million times with deterministic UUIDs in Elixir” 🌱

Spoiler: there’s a fun path and a short path 🪧

📚 Idempotent seeds in Elixir

Elixir Streams |> 🔄 Refactoring an anti-pattern: complex extractions in function heads

I use pattern matching in function heads for logic flows OR extracting data. Not both at the same time! ❌

Doing both makes it difficult to follow the code 🤔 🔀

Elixir’s docs call it the “complex extraction in clauses” anti pattern. 👇

🎥 Elixir Streams |> 🔄 Refactoring an anti-pattern: complex extractions in function heads

Operational Elixir: Observing the Midsize Madness

Episode 193 of Thinking Elixir. In this engaging third episode of our series, Dave Lucia returns to delve into the various systems that support small and medium-sized teams and companies for their Elixir systems. Dave shares insights gained from a range of situations including working at startups on up to Series C and D sized companies, with a particular focus on the critical role of observability tools. Drawing on his extensive experience, Dave discusses how these tools can greatly enhance a team’s ability to monitor and troubleshoot applications, ensuring high performance and reliability. Tune in for a comprehensive look at the essential systems and tools that can make a tangible difference in the day-to-day operations of Elixir-powered organizations, and more!

https://podcast.thinkingelixir.com/193

`Keyword.get` Considered Harmful

Keyword.get/3 is often used to fetch named optional arguments in functions. However, this introduces the possibility of a specific class of bugs. There’s a neat way to solve this with Keyword.pop/3 - see examples in the the blog post.

https://lakret.net/blog/2024-03-05-keyword-get-considered-harmful

Andrés Alejos, My First Year with Elixir: Livebook, Machine Learning, and Open Source

Great talk from Andrés on getting started in the Elixir community.

https://www.youtube.com/watch?v=XHxs-INUKz4

Powerful Caching in Elixir with Cachex

Improve the performance of your Elixir application with Cachex, a powerful caching library: https://blog.appsignal.com/2024/03/05/powerful-caching-in-elixir-with-cachex.html

Elixir Streams |> 🛠️ Fix your modal dialog with 2 LiveView helpers!

I love learning things from Phoenix generators. I recently came across a couple of really cool things! 👇

2 🤩 tips on how to make your modals better

  • Use<.focus_wrap/>
  • JS.focus_first

Check it out!

🎥 Elixir Streams |> 🛠️ Fix your modal dialog with 2 LiveView helpers!

Operational Elixir - Scrappy Startups Edition

Episode 192 of Thinking Elixir. In this second installment of our series, we’re joined by Philip Brown, who returns to share his insights on running lean startups in the Elixir ecosystem. We dive into the art of supporting Elixir systems on a shoestring budget. Philip will walk us through his must-haves for MVPs, offering practical advice on how to leverage cost-effective solutions without sacrificing functionality. We’ll discuss the balancing act between delivering a product and managing expenses, and highlight the essential tools that keep a scrappy startup’s Elixir system robust yet affordable. Tune in for a candid look at making the most of limited resources, insights into Prise.com, ElixirMerge.com strategies, and more for the aspiring bootstrapper!

https://podcast.thinkingelixir.com/192

Absinthe with Phoenix Framework

Learn more about using GraphQL in your Elixir projects with our step-by-step guide on Absinthe and Phoenix Framework.

https://curiosum.com/blog/absinthe-with-phoenix-framework-a-guide-to-properly-get-started-with-graphql-using-elixir

An interview with Sophie DeBenedetto at Code BEAM America 2022

In this episode of the Professor Adolfo Neto podcast, Adolfo interviews Sophie DeBenedetto, one of the authors of the “Programming Phoenix LiveView” book and a Board Member of the Erlang Ecosystem Foundation

Links to watch and/or listen: Elixir & Erlang substack

Safer Error Systems in Elixir

I wrote an article to try to raise awareness on how error states can be approached in our applications.

https://learn-elixir.dev/blogs/safer-error-systems-in-elixir

Scenic Goes To Cairo (Nerves Meetup)

Jon Ringle, lead embedded software engineer at GridPoint, shows how the Cairo graphics library is transforming Scenic to deliver high performance graphics to Nerves devices.

https://youtu.be/g_ebUQ3yyLY

Doctest Formatter

Format your doctests with this new formatter plugin: https://github.com/angelikatyborska/doctest_formatter

Dashbit and Oban Pro join as corporate sponsors of Next LS and elixir-tools

I want to give a heartwarming welcome to the two latest corporate sponsors of @elixir_tools…

@dashbit and Oban Pro!

The support by companies in the @elixirlang community has been wonderful! #MyElixirStatus

https://twitter.com/mitchhanberg/status/1762918825350074551

Security Vendors and Elixir Support

A summary of Elixir support from security vendors by Paraxial.io.

https://paraxial.io/blog/elixir-support

Elixir Streams |> 🔍 Focus an input on LiveView mount

Love this 🔥 trick

Ever want to focus an input when LiveView first loads?

Combine a phx-mounted lifecycle binding with JS.focus/1. 🤩

🎥 Elixir Streams |> 🔍 Focus an input on LiveView mount

Operational Elixir: What's Supporting the Apps at Felt.com and SleepEasy.app?

Episode 191 of Thinking Elixir. In this special episode, we kick off a brand-new series that dives into the world of Elixir—but with a twist. We’re exploring the systems surrounding the language and what it takes to support and run a company or team that uses Elixir. Join us as we engage in insightful conversations with various industry voices, starting with Tyler Young, about the practical systems and solutions used by businesses like Felt.com and SleepEasy.app. This series promises to be an enlightening journey for anyone curious about the behind-the-scenes workings of an Elixir-based product. Tune in to hear the unique challenges and successes experienced by others in the field and more!

https://podcast.thinkingelixir.com/191

Enhancing user experience in LiveView applications with Alpine.js

How integrating Alpine.js with LiveView can significantly enhance the user experience in your applications.

https://curiosum.com/blog/enhancing-user-experience-in-liveview-applications-with-alpinejs

Next page