Thinking Elixir Podcast ThinkingElixir.com
-
- Utbildning
-
The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community.
Whether you are already experienced with Elixir or just exploring the language, this show is created with you in mind. We discuss community news, Functional Programming, transitioning from OOP, coding conventions, and more.
Guests visit the show to help challenge our assumptions, learn about new developments and grow in the process.
Subscribe to join us on this journey!
-
198: Cade Gets the Last Word
This week's show covers exciting updates in the Elixir world, including the peek at what's coming with Elixir v1.17.0's new "Duration" and "shift" features. We'll also dive into the impressive Kino Benchee integration for Livebook, showcasing benchmarking visualizations. Not to be missed is the release of a fitting Phoenix emoji 🐦🔥 that's set to ignite your dev conversations, as well as the announcement of Ash Framework's v3 Release Candidate. Amidst these powerful tools and features, there's an essential shift in our hosting lineup; Cade will discuss his decision to step back from the show due to the arrival of a new member in the family. Make sure to tune in for these stories, valuable Elixir tips, intriguing alternatives to Redis, and more!
Show Notes online - http://podcast.thinkingelixir.com/198
Elixir Community News
https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md#v1170-dev – Changelog for the forthcoming Elixir v1.17.0 revealing new features like support for the "Duration" type and the "shift" function for date types.
https://github.com/livebook-dev/kino_benchee – Integration of Benchee with Livebook for Elixir benchmarking, known as Kino Benchee.
https://twitter.com/akoutmos/status/1775158490819858542 – Alex Koutmos's tweet showcasing the graphical visualization capabilities of the Kino Benchee integration in Livebook.
https://twitter.com/JLarky/status/1777552462876168549 – Benchmark comparison between Gleam and Go languages in terms of latency and speed, shared on Twitter.
https://emojipedia.org/phoenix-bird – A Phoenix emoji 🐦🔥 was released.
https://emojipedia.org/emoji-15.1 – Page showing new emojis introduced along with the Phoenix, including a reference to the lime emoji.
https://twitter.com/germsvel/status/1777645631533633757 – German Velasco shares an Elixir tip about using the "tap" and "then" functions in pipelines, providing an insight and example.
https://twitter.com/germsvel/status/1775476085624344581 – German Velasco discusses the differences between the '&&/and' and '||/or' in Elixir.
https://dashbit.co/blog/req-api-client-testing – A new blog post about testing with the Req HTTP client library in Elixir on the Dashbit website.
https://elixirforum.com/t/ash-framework-3-0-release-candidates/62684 – The announcement of the Ash Framework v3 Release Candidate on the Elixir Forum, showcasing the ecosystem's growth.
https://github.com/ash-project/ash/issues/943 – The GitHub issue tracking the status of Ash Framework v3 Release Candidate for both core and community packages.
https://twitter.com/sorentwo/status/1777037533366387067 – Parker Selbert shares a git alias command for 'changelog', helpful for maintainers of hex packages.
https://www.linuxfoundation.org/press/linux-foundation-launches-open-source-valkey-community – The announcement of Valkey, an open-source alternative to Redis supported by the Linux Foundation and various industry leaders.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
Cade's family has grown and he needs to step back from the show to prioritize his family's needs.
Find us online
Message the show - @ThinkingElixir
Message the show on Fediverse - @ThinkingElixir@genserver.social
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
Mark Ericksen on Fediverse - @brainlid@genserver.social
David Bernheisel - @bernheisel
David Bernheisel on Fediverse - @dbern@genserver.social
Cade Ward - @cadebward
Cade Ward on Fediverse - @cadebward@genserver.social
Sponsored By:
Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out! -
197: Thinking Elixir News
In this episode, we're diving into the fascinating world of at-home AI with a ready-to-deploy project harnessing Bumblebee and Fly GPUs, unraveling the tale of how an Xz backdoor catastrophe was narrowly sidestepped, and highlighting the power of customizing your Elixir IEx environment. We'll also touch upon the eager anticipation for ElixirConf EU, taking place in Lisbon, where innovations in vehicular tech meet Elixir, and the upcoming NervesConf US - a prime event for embedded systems enthusiasts. Tune in for these buzzworthy topics and more!
Show Notes online - http://podcast.thinkingelixir.com/197
Elixir Community News
https://twitter.com/brainlid/status/1775148526621827548 – Tweet about an easy at-home AI project using Bumblebee and Fly GPUs.
https://fly.io/phoenix-files/easy-at-home-ai-with-bumblebee-and-fly-gpus/ – Blog post detailing the easy deployment of LLM models on Fly.io machines with GPUs.
https://github.com/fly-apps/bumblebee-model-harness – GitHub repository for deploying Llama 2 7B, Mistral 7B, and Zephyr 7B LLMs with Bumblebee.
https://twitter.com/fr0gger_/status/1774342248437813525 – Tweet about the mostly avoided disaster of the Xz backdoor.
https://xkcd.com/2347/ – Related XKCD comic regarding the pressure on open-source developers.
https://en.wikipedia.org/wiki/XZ_Utils_backdoor – Wikipedia article on the XZ Utils backdoor incident.
https://www.wired.com/story/xz-backdoor-everything-you-need-to-know/ – Wired article providing an overview of the Xz backdoor event.
https://diff.hex.pm/ – A resource for Elixir developers to inspect changes between published versions of Hex packages.
https://gist.github.com/brainlid/5cc4944509de87289fb1a1680da22911 – Gist showing an example of an .iex.exs file for customizing IEx behavior.
https://hexdocs.pm/iex/IEx.html#module-the-iex-exs-file – HexDocs documentation on the .iex.exs file.
https://www.elixirconf.eu/ – Website for ElixirConf EU, Europe's largest Elixir Conference.
https://twitter.com/mlainez/status/1773679346328195334 – Tweet teasing a talk about retrofitting a Nissan leaf engine into VWGroup body and using Elixir.
https://twitter.com/NervesConfUS/status/1774473097426370744 – Tweet announcing NervesConf US, a one-day single-track conference.
https://nervesconf.us/ – The official site for NervesConf US with the date and venue information.
https://www.gigcityelixir.com/ – The official site for GigCityElixir with dates and speaker announcements.
https://2024.elixirconf.com/ – The official site for ElixirConf US including dates and location.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Find us online
Message the show - @ThinkingElixir
Message the show on Fediverse - @ThinkingElixir@genserver.social
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
Mark Ericksen on Fediverse - @brainlid@genserver.social
David Bernheisel - @bernheisel
David Bernheisel on Fediverse - @dbern@genserver.social
Cade Ward - @cadebward
Cade Ward on Fediverse - @cadebward@genserver.social
Sponsored By:
Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out! -
196: Thinking Elixir News
This week's news includes the release of OTP 27.0-rc2 featuring the new json module, Phoenix Live reload's insightful update, and Chris McCord's blog post that surfaces server logs directly in your browser console. We're also discussing the streamlined workflows in Oban Pro 1.4.0, and a deeper discussion on recent Redis licensing changes that have sent ripples through the open-source community. If that's not enough, we've got insights into the refactoring Elixir survey that's underway and we share some innovative tools like the Livebook Smart Cell Template. Tune in for this and more!
Show Notes online - http://podcast.thinkingelixir.com/196
Elixir Community News
https://twitter.com/michalmuskala/status/1770748066976424195 – Tweet announcing the release of OTP 27.0-rc2.
https://github.com/erlang/otp/releases/tag/OTP-27.0-rc2 – GitHub link to OTP 27.0-rc2 release which includes the json module proposed by Michał Muskała.
https://twitter.com/chris_mccord/status/1772631567568871575 – Chris McCord's tweet regarding the update to Phoenix Live Reload.
https://fly.io/phoenix-files/phoenix-dev-blog-server-logs-in-the-browser-console/ – Blog post detailing updates to Phoenix Live Reload and server logs in the browser console.
https://twitter.com/sorentwo/status/1771170601153003648 – Tweet announcing the release of Oban Pro 1.4.0.
https://getoban.pro/releases/pro/v1.4 – Official release notes for Oban Pro 1.4.0.
https://twitter.com/elixirfun/status/1770336803280556486 – Public service announcement for Logger users to avoid pipes that may be compiled out.
https://elixirforum.com/t/logging-a-silent-performance-killer/3258 – Forum post discussing how purging loggers can aid in performance.
https://twitter.com/ac_alejos/status/1770642763802952021 – Andrés Alejos shares his template for SmartCells with Vite JS and Tailwind Css support.
https://github.com/acalejos/kino_smartcell_template/ – GitHub link to the SmartCell template for Livebook.
https://hexdocs.pm/liveview_playground/0.1.1/readme.html – Documentation for the "simple setup" LiveView server running library.
https://github.com/lubien/liveview_playground – GitHub repository for the library that simplifies setting up a LiveView server.
https://twitter.com/josevalim/status/1770458542849339646 – José Valim's tweet inviting Elixir developers to participate in a survey on refactoring.
https://docs.google.com/forms/d/e/1FAIpQLSey_cf-gsGSbqJ2un4ySlWv7Y3vzzzwZzexnC8sDr7pNPHQ8Q/viewform – Google Forms survey on refactoring in Elixir conducted by a team of researchers.
https://twitter.com/lucasvegi/status/1770457760469057815 – Additional invitation to Elixir developers to contribute to a survey on refactorings.
https://lwn.net/Articles/966133/ – Article discussing the change in the Redis license, which no longer qualifies as free software.
https://www.gomomento.com/blog/rip-redis-how-garantia-data-pulled-off-the-biggest-heist-in-open-source-history – Blog post exploring the history of the Redis project and its recent licensing changes.
https://andrewkelley.me/post/redis-renamed-to-redict.html – Post announcing a fork of Redis to Redict due to licensing issues.
https://redict.io/ – Official website of Redict, the independent fork of Redis.
http://antirez.com/news/133 – Creator of Redis, Salvatore Sanfillipo, discussing the transfer of IP and trademark rights.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Find us online
Message the show - @ThinkingElixir
Message the show on Fediverse - @ThinkingElixir@genserver.social
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
Mark Ericksen on Fediverse - @brainlid@genserver.social
David Bernheisel - @bernheisel
David Bernheisel on Fediverse - @dbern@genserver.social
Cade Ward - @cadebward
Cade Ward on Fediverse - @cadebward@genserver.social
Sponsored By:
Fly.io: Fly.io is a great place to deploy your next Phoenix applicatio -
195: Migrating from Next.js to Phoenix
In this compelling episode, we sit down with Ben Reinhart who shares his journey of transitioning from the JavaScript ecosystem, specifically migrating off of Next.js and Vercel, to Elixir and Phoenix, with Fly.io as the new host. Ben discusses his frustrations with the complexity and performance issues he faced, and how the switch to Elixir helped streamline operations and improve the efficiency of his AI-focused product at Axflow. He delves into his strategic choice for leveraging the operational simplicity and real-time features of Phoenix, while also acknowledging trade-offs such as rebuilding front-end components. Join us to explore Ben's story, learn about the features of Elixir that helped him, and discover how the move has influenced Axflow's path towards finding product-market fit, and more!
Show Notes online - http://podcast.thinkingelixir.com/195
Elixir Community News
Update on the phoenix_live_reload package to v1.5 containing useful tips.
https://www.elixirstreams.com/tips/stream_server_logs_to_console – Tips on how to stream Elixir server logs to the browser console.
https://github.com/phoenixframework/phoenix_live_reload?tab=readme-ov-file#streaming-serving-logs-to-the-web-console – Documentation on streaming Elixir server logs to the web console using phoenix_live_reload v1.5.
Advise to change Appearance theme to "Dark" in the browser console for better readability of debug-level messages.
https://github.com/phoenixframework/phoenix_live_reload?tab=readme-ov-file#jumping-to-heex-function-definitions – Information on the new feature "Jumping to HEEx function definitions" in phoenix_live_reload v1.5.
https://blog.appsignal.com/2024/03/19/direct-file-uploads-to-amazon-s3-with-phoenix-liveview.html – A new blog post by Joshua Plique about uploading files directly to S3 using Phoenix LiveView.
https://hexdocs.pm/phoenix_live_view/uploads-external.html – Official Phoenix documentation on direct file uploads to external services like S3.
https://x.com/whatyouhide/status/1768345597369532660 – Andrea Leopardi working on integrating Open Telemetry (OTel) with Sentry for the Elixir SDK.
https://github.com/getsentry/sentry-elixir/issues/538 – A Github issue discussing the integration of OTel with Sentry's Elixir SDK.
https://twitter.com/TylerAYoung/status/1769741350126149857 – Tyler Young's tip for keeping Elixir tests running faster and asynchronously by using the Process dictionary instead of Application environment.
https://saltycrackers.dev/posts/bye-bye-async-false/ – An article discussing how to avoid async false in tests by using the Process dictionary.
https://github.com/jbsf2/process-tree – Introduction of a new Elixir library, ProcessTree, to navigate the process ancestry hierarchy and aid in better test configuration.
Advice on using the process dictionary check only in MIX_ENV=test to prevent runtime overhead in production.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://axflow.dev/
https://twitter.com/benjreinhart/status/1758616465589014531
https://exercism.org/tracks/elixir
https://www.youtube.com/watch?v=JvBT4XBdoUE
https://www.typescriptlang.org/
https://nextjs.org/
https://vercel.com/
https://supabase.com/
https://remix.run/
https://inertiajs.com/
https://vitejs.dev/
https://github.com/fidr/phoenix_live_react
https://github.com/geolessel/react-phoenix
https://www.pinterest.com/
https://fly.io/docs/gpus/
Guest Information
https://twitter.com/benjreinhart – Ben on Twitter
https://twitter.com/axflow_dev – AxFlow on Twitter
https://github.com/benjreinhart/ – on Github
https://benreinhart.com/ – Blog
https://axflow.dev/ – AxFlow Website
Find us online
Message the show - @ThinkingElixir
Message the show on Fediverse - @ThinkingElixir@genserver.social
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
Mark Ericksen on Fediverse - @brainlid@genserver.social
Dav -
194: Operational Elixir: Knowing When to Grow Up
In the final installment of our series, we sit down with the creator of the Ash framework, Zach Daniel, to move beyond his expertise in Ash and explore his experiences with the other systems we use to support our Elixir applications. Zach shares his journey from the dynamic environment of startups to the structured world of midsize companies, giving us a glimpse into the strategic timing for scaling monitoring and data collection tools. He emphasizes the value of fostering a blame-free culture and sheds light on his hands-on encounters with deployments, Kubernetes, and more!
Show Notes online - http://podcast.thinkingelixir.com/194
Elixir Community News
https://github.com/erlang/otp/pull/8111 – The json module was merged into Erlang OTP, adding it to the standard library and is expected to be included in OTP 27 RC 2.
https://github.com/elixir-lang/elixir/blob/v1.16/CHANGELOG.md#v1162-2024-03-10 – Release notes for Elixir v1.16.2, detailing bug fixes and minor additions.
https://elixir-lang.org/blog/2024/03/05/veeps-elixir-case/ – A new case study on scaling a streaming service for hundreds of thousands of concurrent viewers using Elixir at Veeps.
https://github.com/elixir-unicode/unicode_string – Kip Cole's Unicode String library release 1.4.0 includes dictionary-based word breaking for several Asian languages.
https://github.com/jonatanklosko/mix_install_watcher/ – Jonatan Kłosko's project, mix_install_watcher, assists with automatic recompilation of path dependencies in Livebook notebooks.
https://twitter.com/germsvel/status/1767499526309347739 – German Velasco shares a video example of an anti-pattern in Elixir documentation related to complex extraction in clauses.
https://hexdocs.pm/elixir/code-anti-patterns.html#complex-extractions-in-clauses – Detailed documentation regarding code anti-patterns in Elixir, specifically "complex extractions in clauses."
https://github.com/abdelaz3r/sparkline_svg – SparklineSVG v0.4 released, providing a simple, zero-dependency Elixir library for generating SVG sparkline charts.
https://hexdocs.pm/sparkline_svg/changelog.html – Changelog for SparklineSVG library showcasing recent updates and features.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://ash-hq.org/
https://alembic.com.au/
https://podcast.thinkingelixir.com/27 – Previous interview with Zach about Ash
https://podcast.thinkingelixir.com/123 – Previous interview with Zach about Ash
https://github.com/spandex-project/spandex
https://opentelemetry.io/
https://www.appsignal.com/
https://www.datadoghq.com/
https://zipkin.io/
https://posthog.com/
https://segment.com/
https://github.com/cabol/nebulex
https://mode.com/
https://www.tableau.com/
https://postmarkapp.com/
Async is the NOT answer you think it is.
Declarative programming is so important and beneficial. It's worth learning more about it.
Guest Information
https://twitter.com/ZachSDaniel1 – Zach on Twitter
https://twitter.com/AshFramework – Ash Framework on Twitter
https://github.com/zachdaniel/ – on Github
https://genserver.social/zachdaniel – on Fediverse
https://zachdaniel.dev/about – Blog
https://ash-hq.org – Ash Framework site
Find us online
Message the show - @ThinkingElixir
Message the show on Fediverse - @ThinkingElixir@genserver.social
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
Mark Ericksen on Fediverse - @brainlid@genserver.social
David Bernheisel - @bernheisel
David Bernheisel on Fediverse - @dbern@genserver.social
Cade Ward - @cadebward
Cade Ward on Fediverse - @cadebward@genserver.social
Sponsored By:
Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out! -
193: Operational Elixir: Observing the Midsize Madness
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!
Show Notes online - http://podcast.thinkingelixir.com/193
Elixir Community News
https://twitter.com/josevalim/status/1762921819776934146 – José Valim has teased a new feature for Elixir 1.17 which may include a mix test flag --breakpoints for debugging failed tests.
https://gleam.run/news/gleam-version-1/ – Gleam v1.0 has been released, marking the language's stability and readiness for production with a commitment to maintain backwards compatibility.
https://github.com/underjord/entrace – Lars Wikman shared his work on the Entrace tracing project, offering easier tracing support to applications.
https://github.com/underjord/entrace_live_dashboard – Entrac LiveDashboard was announced by Lars Wikman to add a tracing page to the LiveDashboard plugin.
https://docs.google.com/forms/d/e/1FAIpQLSeGxJUadP1CaaU6EnTwe7Hv76RnBLIiqT6SJLIBvncHcEzGRg/viewform – The Call for Proposals for talks at ElixirConfUS is open, including information to book hotel rooms for the event taking place from August 28-30, 2024.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://podcast.thinkingelixir.com/75 – Previous interview with Dave Lucia talking about RabbitMQ and Commanded
https://podcast.thinkingelixir.com/97 – Previous interview with Dave Lucia talking about Avro and Elixir
https://podcast.thinkingelixir.com/129 – Previous interview with Dave Lucia talking about Time series data with Timescale DB
https://Sentry.io
https://www.servicenow.com/products/observability.html – Observability tool formerly knowns as LightStep
https://www.honeycomb.io/
https://opentelemetry.io/docs/collector/
https://github.com/open-telemetry
https://opentelemetry.io/docs/concepts/signals/traces/
https://hex.pm/packages/opentelemetry
https://hex.pm/packages/opentelemetry_exporter
https://davelucia.com/ – Dave's personal blog
https://github.com/prometheus/prometheus
https://grafana.com/
https://grafana.com/docs/loki/latest/send-data/promtail/
https://fly.io/docs/reference/metrics/
https://isburmistrov.substack.com/p/all-you-need-is-wide-events-not-metrics
https://amplitude.com/
Custom LiveView admin pages for dashboards
https://postmarkapp.com/
https://sendgrid.com/en-us
https://milkroad.com/ – A newsletter company that Dave Lucia worked at.
https://www.beehiiv.com/ – Newsletters as a service company
https://ahrefs.com/ – Tracking the back links from other sites to yours for SEO
https://search.google.com/search-console/about
https://github.com/dbernheisel/phoenix_seo
https://tvlabs.ai/ – Where Dave Lucia is working now.
Guest Information
https://twitter.com/davydog187 – on Twitter
https://github.com/davydog187/ – on Github
https://davelucia.com – Blog
https://tvlabs.ai – TVLabs company where he works now.
Find us online
Message the show - @ThinkingElixir
Message the show on Fediverse - @ThinkingElixir@genserver.social
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
Mark Ericksen on Fediverse - @brainlid@genserver.social
David Bernheisel - @bernheisel
David Bernheisel on Fediverse - @dbern@genserver.social
Cade Ward - @cadebward
Cade Ward on Fediverse - @cadebward@genserver.social
Sponsore