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.
Similar Podcasts
Elixir Outlaws
Elixir Outlaws is an informal discussion about interesting things happening in Elixir. Our goal is to capture the spirit of a conference hallway discussion in a podcast.
The Cynical Developer
A UK based Technology and Software Developer Podcast that helps you to improve your development knowledge and career,
through explaining the latest and greatest in development technology and providing you with what you need to succeed as a developer.
Linux For Everyone
A show about the thrilling world of desktop Linux, open-source software, and the community creating it. For beginners and veterans alike! Hosted by Jason Evangelho, Jerry Morrison and Schykle.
215: Bob gets busy and Google's in trouble
News includes a new video by German Velasco explaining quote and unquote in Elixir macros, updates on the Hex.pm “Bob” project for pre-built Elixir and Erlang binaries, Sonic Pi sponsorships and support from Dashbit, the release of ElixirLS v0.23.0, and Google's recent antitrust ruling. We also cover new developments with the Error Tracker library, Florian Arens' guide to building a Phoenix HEEx component, and upcoming events at ElixirConf 2024, and more! Show Notes online - http://podcast.thinkingelixir.com/215 (http://podcast.thinkingelixir.com/215) Elixir Community News - https://x.com/germsvel/status/1820765760630706343 (https://x.com/germsvel/status/1820765760630706343?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco has a new short Elixir video explaining quote and unquote in macros. - https://github.com/hexpm/bob/pull/193 (https://github.com/hexpm/bob/pull/193?utm_source=thinkingelixir&utm_medium=shownotes) – The Hex.pm “Bob” project creates pre-built binaries of different Elixir and Erlang versions. This PR adds an Erlang build for MacOS. - https://x.com/wojtekmach/status/1819378019644936595 (https://x.com/wojtekmach/status/1819378019644936595?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach shared his recent work on Twitter about the now merged PR for MacOS Erlang build. - https://x.com/josevalim/status/1820799818089836940 (https://x.com/josevalim/status/1820799818089836940?utm_source=thinkingelixir&utm_medium=shownotes) – Sonic Pi's creator, Sam Aaron, is seeking sponsorships as his Patreon support halved. José Valim shared that Dashbit supports him. - https://podcast.thinkingelixir.com/106 (https://podcast.thinkingelixir.com/106?utm_source=thinkingelixir&utm_medium=shownotes) – Episode 106 discusses SonicPi and its move to Elixir. - https://sonic-pi.net/ (https://sonic-pi.net/?utm_source=thinkingelixir&utm_medium=shownotes) – Sonic Pi allows writing Ruby code to generate live music. - https://x.com/lukaszsamson/status/1820384249054175636 (https://x.com/lukaszsamson/status/1820384249054175636?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirLS v0.23.0 released, announcement on Twitter/X. - https://elixirforum.com/t/elixirls-the-elixir-language-server/5857/225?u=lukaszsamson (https://elixirforum.com/t/elixirls-the-elixir-language-server/5857/225?u=lukaszsamson?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirLS v0.23.0 release announced with detailed information on ElixirForum. - https://github.com/elixir-lsp/elixir-ls/blob/v0.23.0/CHANGELOG.md (https://github.com/elixir-lsp/elixir-ls/blob/v0.23.0/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Detailed changelog for ElixirLS v0.23.0. - https://elixirforum.com/t/errortracker-an-elixir-based-built-in-error-tracking-solution/65245 (https://elixirforum.com/t/errortracker-an-elixir-based-built-in-error-tracking-solution/65245?utm_source=thinkingelixir&utm_medium=shownotes) – New Error Tracker library for Elixir that adds a built-in error tracking solution. - https://github.com/elixir-error-tracker/error-tracker (https://github.com/elixir-error-tracker/error-tracker?utm_source=thinkingelixir&utm_medium=shownotes) – Error Tracker library allows inserting exceptions into the database and resolving them. - https://farens.me/blog/building-a-table-of-contents-component-for-a-phoenix-blog (https://farens.me/blog/building-a-table-of-contents-component-for-a-phoenix-blog?utm_source=thinkingelixir&utm_medium=shownotes) – Florian Arens wrote about building a Phoenix HEEx component to create a Table of Contents for a Markdown blog post. - https://github.com/leandrocp/mdex (https://github.com/leandrocp/mdex?utm_source=thinkingelixir&utm_medium=shownotes) – Uses MDEx to parse Markdown to HTML and Floki to parse HTML for headers. - https://x.com/wojtekmach/status/1819141239788523703 (https://x.com/wojtekmach/status/1819141239788523703?utm_source=thinkingelixir&utm_medium=shownotes) – Req gets file upload support with form uploads, including streaming files. - https://x.com/wojtekmach/status/1819119285920243803 (https://x.com/wojtekmach/status/1819119285920243803?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach shows how Req now works as a distributed HTTP client with upload support. - https://x.com/bcardarella/status/1819431997179109792 (https://x.com/bcardarella/status/1819431997179109792?utm_source=thinkingelixir&utm_medium=shownotes) – New LiveView Native release candidate 0.3.0-rc.3 announced. - https://github.com/liveview-native/liveviewnative/blob/main/CHANGELOG.md (https://github.com/liveview-native/live_view_native/blob/main/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Release mostly includes changes on configuration and setup. - https://finance.yahoo.com/news/us-judge-describes-google-built-224025324.html (https://finance.yahoo.com/news/us-judge-describes-google-built-224025324.html?utm_source=thinkingelixir&utm_medium=shownotes) – US court rules that Google illegally used monopoly powers in antitrust case. - Judge says, "Google is a monopolist, and it has acted as one to maintain its monopoly." - https://x.com/ElixirConf/status/1820510964481175736 (https://x.com/ElixirConf/status/1820510964481175736?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 weekly hangouts at 11am CDT to discuss with speakers. - https://x.com/i/lists/1819858270737268846 (https://x.com/i/lists/1819858270737268846?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter list of ElixirConf speakers to follow. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 - August 28-30, featuring multiple speakers and sessions on Elixir. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
214: Stack Overflow Results
News includes the latest Stack Overflow survey highlighting Elixir and Phoenix as highly admired technologies, a Reddit discussion on what makes Phoenix and Elixir so revered, the release of Lexical LSP 0.7.0, and Gleam v1.4.0-rc1 available for testing. Additionally, there's a spotlight on a new library called LiveScript for local script development with code-reloading, a new website showcasing projects built with Phoenix, and more! Show Notes online - http://podcast.thinkingelixir.com/214 (http://podcast.thinkingelixir.com/214) Elixir Community News - https://survey.stackoverflow.co/2024/technology (https://survey.stackoverflow.co/2024/technology?utm_source=thinkingelixir&utm_medium=shownotes) – Stack Overflow survey released showing Elixir and Phoenix are highly admired technologies. - https://x.com/DockYard/status/1816592108595367982 (https://x.com/DockYard/status/1816592108595367982?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir's admiration and usage metrics by developers. - Elixir maintained its position as the second most admired language, although its usage slightly dropped. - https://www.reddit.com/r/elixir/comments/1edjqbn/whatmakesitthatproductivewhyisitthe_most/ (https://www.reddit.com/r/elixir/comments/1edjqbn/what_makes_it_that_productive_why_is_it_the_most/?utm_source=thinkingelixir&utm_medium=shownotes) – Discussion on Reddit about why Phoenix and Elixir are so admired, highlighting various features. - https://github.com/lexical-lsp/lexical/releases/tag/v0.7.0 (https://github.com/lexical-lsp/lexical/releases/tag/v0.7.0?utm_source=thinkingelixir&utm_medium=shownotes) – Lexical LSP 0.7.0 update released with new features and a note for OTP 27 users to wait for 0.7.1. - https://github.com/gleam-lang/gleam/blob/v1.4.0-rc1/CHANGELOG.md (https://github.com/gleam-lang/gleam/blob/v1.4.0-rc1/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam v1.4.0-rc1 released for testing with impressive features, including a built-in Language Server. - https://x.com/louispilfold/status/1817870737165664604 (https://x.com/louispilfold/status/1817870737165664604?utm_source=thinkingelixir&utm_medium=shownotes) – Louis Pilfold, creator of Gleam, requesting sponsors due to a decline in sponsorships. - https://github.com/thmsmlr/livescript (https://github.com/thmsmlr/livescript?utm_source=thinkingelixir&utm_medium=shownotes) – New library called LiveScript helps develop scripts locally with code-reloading. - https://builtwithphoenix.com/ (https://builtwithphoenix.com/?utm_source=thinkingelixir&utm_medium=shownotes) – New website to showcase projects built with Phoenix. - https://x.com/mmmykolas/status/1817620188264538477 (https://x.com/mmmykolas/status/1817620188264538477?utm_source=thinkingelixir&utm_medium=shownotes) – Progress update on the "Built with Phoenix" website. - https://getoban.pro/articles/pro-1-5-launch-week-day-5 (https://getoban.pro/articles/pro-1-5-launch-week-day-5?utm_source=thinkingelixir&utm_medium=shownotes) – Oban Pro finished their launch week with several new features. - https://x.com/ElixirConf (https://x.com/ElixirConf?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf is holding weekly Twitter Spaces sessions discussing topics like LiveView native and conference attendance. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Preview of ElixirConf 2024 including highlights of scheduled talks and speakers. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
213: Can Mnesia remember using CRDTs?
News includes Chris McCord's speedrun video on adding a self-hosted llama2-7b to an existing application, Tyler Young's release of parameterized_test v0.2.0, major updates in Oban Pro's new launch week, potential for CRDTs being added to Mnesia DB, Zach Daniel's blog post on Igniter for code generation, and a preview of ElixirConf 2024 with exciting speakers and topics, and more! Show Notes online - http://podcast.thinkingelixir.com/213 (http://podcast.thinkingelixir.com/213) Elixir Community News - https://x.com/chris_mccord/status/1815409966611648705 (https://x.com/chris_mccord/status/1815409966611648705?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord does a YouTube video speedrun of adding a self-hosted llama2-7b to an existing application. He's running it against Ollama and making REST API calls to it, showing how to run the Ollama server on a private Fly.io IPv6 network using auto-stop and auto-start features. - https://x.com/TylerAYoung/status/1815391743484870980 (https://x.com/TylerAYoung/status/1815391743484870980?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler Young shared a new release of his library parameterizedtest, version v0.2.0, which includes support for longer test names, comments in tables, and Obsidian markdown table format. - https://github.com/s3cur3/parameterized_test (https://github.com/s3cur3/parameterized_test?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Tyler Young's parameterizedtest library that makes it easier to create tests using multiple combinations in markdown tables. - https://x.com/Exadra37/status/1815694986345611683 (https://x.com/Exadra37/status/1815694986345611683?utm_source=thinkingelixir&utm_medium=shownotes) – The Mnesia database may receive native support for automated conflict resolution via CRDTs, sponsored by ErlangSolutions and developed by Vincent Lau. - https://www.youtube.com/watch?v=tHdPRyMjmW8 (https://www.youtube.com/watch?v=tHdPRyMjmW8?utm_source=thinkingelixir&utm_medium=shownotes) – Vincent Lau spoke at Code BEAM Europe 2023 about his work on adding CRDTs to Mnesia for automated conflict resolution. - https://www.erlang.org/doc/apps/mnesia/mnesia.html (https://www.erlang.org/doc/apps/mnesia/mnesia.html?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation on Mnesia, a distributed key-value DBMS built into Erlang. - https://x.com/sorentwo/status/1791166342034255938 (https://x.com/sorentwo/status/1791166342034255938?utm_source=thinkingelixir&utm_medium=shownotes) – Oban Pro's launch week introduces unified migrations, worker aliases, better support for distributed databases, faster unique job checks, and the @job decorator for small jobs. - https://x.com/sorentwo/status/1807155900609904973 (https://x.com/sorentwo/status/1807155900609904973?utm_source=thinkingelixir&utm_medium=shownotes) – Improvements in Oban Pro include better batch workflows with mermaid visualizations. - https://getoban.pro/articles/pro-1-5-launch-week-day-1 (https://getoban.pro/articles/pro-1-5-launch-week-day-1?utm_source=thinkingelixir&utm_medium=shownotes) – Article on Oban Pro's launch week, detailing new features and improvements. - https://getoban.pro/articles/pro-1-5-launch-week-day-2 (https://getoban.pro/articles/pro-1-5-launch-week-day-2?utm_source=thinkingelixir&utm_medium=shownotes) – Second day of Oban Pro's launch week article series. - https://getoban.pro/articles/pro-1-5-launch-week-day-3 (https://getoban.pro/articles/pro-1-5-launch-week-day-3?utm_source=thinkingelixir&utm_medium=shownotes) – Third day of Oban Pro's launch week article series. - https://alembic.com.au/blog/igniter-rethinking-code-generation-with-project-patching (https://alembic.com.au/blog/igniter-rethinking-code-generation-with-project-patching?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post by Zach Daniel about Igniter, a tool for rethinking code generation with project patching, useful for installing libraries into existing Phoenix applications. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 Preview with details on scheduled speakers and topics. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
212: Dueling with Wizards over ElixirConf!
In this episode of the Thinking Elixir Podcast, we dive into the exciting new Metal support in Nx, thanks to Paulo Valente's hard work, and discuss Chris McCord's impressive demo on deploying a distributed Elixir app with YugabyteDB. We also cover Paraxial.io's new free tier, the release of the REST client Polo, and the latest updates from the Peep library. Plus, a special collaboration with the Elixir Wizards crew previews ElixirConf 2024 with insights on training classes, talks, and strategies to make the most of the event. Tune in for tips on networking, keynotes, and all the reasons why this conference is a must-attend for Elixir enthusiasts! Show Notes online - http://podcast.thinkingelixir.com/212 (http://podcast.thinkingelixir.com/212) Elixir Community News - https://x.com/polvalente/status/1811268492580024511 (https://x.com/polvalente/status/1811268492580024511?utm_source=thinkingelixir&utm_medium=shownotes) – Paulo Valente has done the work to make Nx work on Metal. - https://developer.apple.com/metal/ (https://developer.apple.com/metal/?utm_source=thinkingelixir&utm_medium=shownotes) – Metal is Apple's graphics and compute API and implementation layer for working with the AI/ML features of their M-series chips. - https://groups.google.com/a/openxla.org/g/openxla-discuss/c/DnPUmpyk4y0 (https://groups.google.com/a/openxla.org/g/openxla-discuss/c/DnPUmpyk4y0?utm_source=thinkingelixir&utm_medium=shownotes) – Google Groups discussion that covers OpenXLA's overall architecture & components. - https://x.com/chris_mccord/status/1811055874930028870 (https://x.com/chris_mccord/status/1811055874930028870?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord was a guest on the YugabyteDB YouTube channel demonstrating deploying a distributed Elixir app and distributed YugabyteDB from scratch. - https://en.wikipedia.org/wiki/YugabyteDB (https://en.wikipedia.org/wiki/YugabyteDB?utm_source=thinkingelixir&utm_medium=shownotes) – YugabyteDB is a distributed SQL database that aims to be strongly transactionally consistent across failure zones (i.e. ACID compliance). - https://www.youtube.com/watch?v=_utOXl3eWoA (https://www.youtube.com/watch?v=_utOXl3eWoA?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord's demonstration video on deploying distributed Elixir app and YugabyteDB. - https://www.youtube.com/live/_utOXl3eWoA?si=Si04BP4WnqPk5vcs&t=877 (https://www.youtube.com/live/_utOXl3eWoA?si=Si04BP4WnqPk5vcs&t=877?utm_source=thinkingelixir&utm_medium=shownotes) – Video timestamp where Chris joins the show. - https://paraxial.io/blog/paraxial-free (https://paraxial.io/blog/paraxial-free?utm_source=thinkingelixir&utm_medium=shownotes) – Paraxial.io now has a free plan for non-commercial use, no credit card required. - https://rfp.dev/blog/a-rest-client-for-browsers?utm_source=elixir-merge (https://rfp.dev/blog/a-rest-client-for-browsers?utm_source=elixir-merge?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about Polo, a new REST client. - https://github.com/readyforproduction/polo (https://github.com/readyforproduction/polo?utm_source=thinkingelixir&utm_medium=shownotes) – Polo, a REST client similar to Postman but built in LiveView. - https://x.com/germsvel/status/1813160145557283263 (https://x.com/germsvel/status/1813160145557283263?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco's tip of using :timer.minutes(5) for a more readable way of setting a timer value in milliseconds. - https://github.com/rkallos/peep (https://github.com/rkallos/peep?utm_source=thinkingelixir&utm_medium=shownotes) – Peep is an alternative OpenTelemetry metrics reporter that supports StatsD and Prometheus. - https://elixirforum.com/t/peep-efficient-telemetrymetrics-reporter-supporting-prometheus-and-statsd/55901 (https://elixirforum.com/t/peep-efficient-telemetrymetrics-reporter-supporting-prometheus-and-statsd/55901?utm_source=thinkingelixir&utm_medium=shownotes) – Peep 3.0 released with minor change to use maps instead of keyword lists. - Personal Update from Mark - recently left working at Fly.io to pursue a full-time project. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://ti.to/elixirconf/2024 (https://ti.to/elixirconf/2024?utm_source=thinkingelixir&utm_medium=shownotes) – Use code ELIXIRPODCAST at checkout to get a $50 discount on your tickets to ElixirConf in Orlando August 27-30, 2024 - Favorite moments and experiences from previous ElixirConf events - How to network and make the most of your conference attendance - Training classes and talks we're looking forward to this year - Keynotes from prominent Elixir community figures - Chris McCord's keynote - TBD (Could it be a LiveView 1.0 announcement?!) - Benefits of attending ElixirConf - learning, networking, community immersion - Virtual attendance options for those unable to attend in person - Why you should step out of your comfort zone and engage with others - Passion and energy of Elixir community members at ElixirConf - Mentorship opportunities - connect with experienced Elixir developers - Exploring Orlando attractions during ElixirConf 2024 downtime - An invitation to join us at ElixirConf 2024 and immerse yourself in the Elixir community - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/ecto/Ecto.html (https://hexdocs.pm/ecto/Ecto.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://fly.io/ (https://fly.io/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.meetup.com/austin-elixir/ (https://www.meetup.com/austin-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) - https://grox.io/ (https://grox.io/?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/phoenixliveview/Phoenix.Component.html (https://hexdocs.pm/phoenix_live_view/Phoenix.Component.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://opentelemetry.io/docs/languages/erlang/ (https://opentelemetry.io/docs/languages/erlang/?utm_source=thinkingelixir&utm_medium=shownotes) - https://ash-hq.org/ (https://ash-hq.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://alembic.sqlalchemy.org/en/latest/ (https://alembic.sqlalchemy.org/en/latest/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.youtube.com/watch?v=mrpQHZcy3CI (https://www.youtube.com/watch?v=mrpQHZcy3CI?utm_source=thinkingelixir&utm_medium=shownotes) – Functional IoT with Elixir and Nerves - Justin Schneck | Craft 2019 - https://docs.nerves-hub.org/ (https://docs.nerves-hub.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://nerves-project.org/ (https://nerves-project.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://getoban.pro/ (https://getoban.pro/?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/broadway/Broadway.html (https://hexdocs.pm/broadway/Broadway.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://developer.farm.bot/v15/docs/farmbot-os.html (https://developer.farm.bot/v15/docs/farmbot-os.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.youtube.com/watch?v=u2WciH6rAFg (https://www.youtube.com/watch?v=u2WciH6rAFg?utm_source=thinkingelixir&utm_medium=shownotes) – Leaving Everything Behind For Elixir - Theo's video - https://youtu.be/aOk67eT3fpg?si=MTxtIv-xmuJZYbup (https://youtu.be/aOk67eT3fpg?si=MTxtIv-xmuJZYbup?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView Is Making Me Reconsider React... - Theo's other video - https://podcast.thinkingelixir.com/206 (https://podcast.thinkingelixir.com/206?utm_source=thinkingelixir&utm_medium=shownotes) – Podcast - Thinking Elixir 206 - BeamOps - DevOps on the BEAM Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
211: A Passion for Testing
News includes the recent release of Elixir 1.17.2, updates to Livebook v0.13 making clustering in Kubernetes easier and introducing a proxy API for webhooks, and exciting developments in the Explorer library with remote dataframes. We also discuss handy Phoenix tips from Andrew Stewart and the new Gleam 1.3.0 features. In our interview, German Velasco shares his journey from Rails to Elixir, his contributions like Elixir Streams and the Phoenix Test library, and his philosophy on TDD. German also speaks about his upcoming talk at ElixirConf and his desire for integrating JavaScript testing capabilities. Tune in to hear all this and more! Show Notes online - http://podcast.thinkingelixir.com/211 (http://podcast.thinkingelixir.com/211) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.17.2 (https://github.com/elixir-lang/elixir/releases/tag/v1.17.2?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.17.2 was released, which includes a Logger fix and some Mix-related bugfixes. - Livebook updates - follow-up - https://x.com/miruoss/status/1809633392088027193 (https://x.com/miruoss/status/1809633392088027193?utm_source=thinkingelixir&utm_medium=shownotes) – Michael Ruoss notes that Livebook v0.13 works well for clustering on Kubernetes. - https://github.com/mruoss/livebook-helm (https://github.com/mruoss/livebook-helm?utm_source=thinkingelixir&utm_medium=shownotes) – Michael Ruoss created a Livebook Helm chart for easier deployment in Kubernetes clusters. - https://artifacthub.io/packages/helm/livebook/livebook (https://artifacthub.io/packages/helm/livebook/livebook?utm_source=thinkingelixir&utm_medium=shownotes) – Helm chart for Livebook on Artifact Hub. - https://news.livebook.dev/livebook-0.13-expose-an-http-api-from-your-notebook-2wE6GY (https://news.livebook.dev/livebook-0.13-expose-an-http-api-from-your-notebook-2wE6GY?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook gains a proxy API to allow it to receive webhooks, useful for publishing Livebook as an app. - https://x.com/livebookdev/status/1809203084154843279 (https://x.com/livebookdev/status/1809203084154843279?utm_source=thinkingelixir&utm_medium=shownotes) – Details on the new proxy API feature in Livebook. - https://x.com/hugobarauna/status/1809203637022863784 (https://x.com/hugobarauna/status/1809203637022863784?utm_source=thinkingelixir&utm_medium=shownotes) – Use Plug.Router and Kino.Proxy.listen for sending webhooks or events to your Livebook. - https://www.elixirstreams.com/tips/liveview-used-input (https://www.elixirstreams.com/tips/liveview-used-input?utm_source=thinkingelixir&utm_medium=shownotes) - LiveView 1.0 removes the phx-feedback-for annotation for showing and hiding input feedback. The update introduces the used_input?/2 helper on the server-side. - https://github.com/phoenixframework/phoenixliveview/blob/main/CHANGELOG.md#backwards-incompatible-changes-for-10 (https://github.com/phoenixframework/phoenix_live_view/blob/main/CHANGELOG.md#backwards-incompatible-changes-for-10?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView 1.0 Upgrade instructions, including a JavaScript shim for backwards compatibility. - https://x.com/josevalim/status/1808560304172761191 (https://x.com/josevalim/status/1808560304172761191?utm_source=thinkingelixir&utm_medium=shownotes) – Explorer gets remote dataframes support. - https://github.com/elixir-explorer/explorer/pull/932 (https://github.com/elixir-explorer/explorer/pull/932?utm_source=thinkingelixir&utm_medium=shownotes) – A PR was merged into Explorer to support remote dataframes, enabling transparent proxy operations in a cluster. - Explorer is part of the Nx project for data analysis and machine learning, supporting one and two-dimensional data structures. The new feature also performs distributed garbage collection. - https://x.com/src_rip/status/1810360113343115521 (https://x.com/src_rip/status/1810360113343115521?utm_source=thinkingelixir&utm_medium=shownotes) – Andrew Stewart shares a Phoenix tip on creating a link button to submit a post action without a form. - https://hexdocs.pm/phoenixliveview/Phoenix.Component.html#link/1 (https://hexdocs.pm/phoenix_live_view/Phoenix.Component.html#link/1?utm_source=thinkingelixir&utm_medium=shownotes) – More details on using Phoenix's link component. - https://github.com/phoenixframework/phoenixliveview/blob/f778e5bb1a4b0a29f8d688bbc6c0b7182dea51ca/lib/phoenix_component.ex#L2734-L2737 (https://github.com/phoenixframework/phoenix_live_view/blob/f778e5bb1a4b0a29f8d688bbc6c0b7182dea51ca/lib/phoenix_component.ex#L2734-L2737?utm_source=thinkingelixir&utm_medium=shownotes) – Underlying implementation details of Phoenix.HTML's data attributes. - https://gleam.run/news/auto-imports-and-tolerant-expressions/ (https://gleam.run/news/auto-imports-and-tolerant-expressions/?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam 1.3.0 release features LSP improvements, CLI commands for adding/removing dependencies, and support for Erlang/OTP 27 keywords. - https://www.erlang-solutions.com/blog/let-your-database-update-you-with-ectowatch/ (https://www.erlang-solutions.com/blog/let-your-database-update-you-with-ectowatch/?utm_source=thinkingelixir&utm_medium=shownotes) – EctoWatch by Brian Underwood allows notifications about database changes directly from PostgreSQL. - https://github.com/cheerfulstoic/ecto_watch (https://github.com/cheerfulstoic/ecto_watch?utm_source=thinkingelixir&utm_medium=shownotes) – EctoWatch GitHub repository. - https://github.com/ityonemo/protoss (https://github.com/ityonemo/protoss?utm_source=thinkingelixir&utm_medium=shownotes) – Isaac Yonemoto's Protoss library update, improving ergonomics of setting up protocols. - https://www.youtube.com/watch?v=dCRGgFkCkmA (https://www.youtube.com/watch?v=dCRGgFkCkmA?utm_source=thinkingelixir&utm_medium=shownotes) – Watch a video explaining the Protoss library. - https://hexdocs.pm/protoss/Protoss.html (https://hexdocs.pm/protoss/Protoss.html?utm_source=thinkingelixir&utm_medium=shownotes) – Protoss documentation. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.elixirstreams.com/ (https://www.elixirstreams.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Short video tips that German creates and shares. - https://www.testingliveview.com/ (https://www.testingliveview.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Video course focused on testing LiveViews - https://github.com/germsvel/phoenix_test (https://github.com/germsvel/phoenix_test?utm_source=thinkingelixir&utm_medium=shownotes) – PhoenixTest provides a unified way of writing feature tests -- regardless of whether you're testing LiveView pages or static (non-LiveView) pages. - https://www.youtube.com/watch?v=JNWPsaO4PNM (https://www.youtube.com/watch?v=JNWPsaO4PNM?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2023 - German Velasco - Using DDD concepts to create better Phoenix Contexts - https://www.mechanical-orchard.com/ (https://www.mechanical-orchard.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/elixir-wallaby/wallaby (https://github.com/elixir-wallaby/wallaby?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://x.com/germsvel (https://x.com/germsvel?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/germsvel (https://github.com/germsvel?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://www.germanvelasco.com/ (https://www.germanvelasco.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog - https://www.testingliveview.com/ (https://www.testingliveview.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Testing LiveView course site - https://elixirstreams.com (https://elixirstreams.com?utm_source=thinkingelixir&utm_medium=shownotes) – Short video tips Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
210: A Bloom'n Fancy UI
In this episode, we dive into the launch of Bloom UI with its creator, Chris Gregori. Chris shares his motivations behind Bloom, an opinionated extension of Phoenix core components, aimed at simplifying UI development for Elixir and LiveView projects. We discuss its command-line utility for generating components, current features like avatars and marketing layouts, and potential future directions including expanded components and web component integration. Highlights include Chris's journey with Elixir, contributions from the community, and a strong emphasis on accessibility. Plus, we cover news on Livebook 0.13.x release, the viral "2 Million Checkboxes" project by Peter Ullrich, Tyler Young's updated Parameterized Tests, and more! Show Notes online - http://podcast.thinkingelixir.com/210 (http://podcast.thinkingelixir.com/210) Elixir Community News - https://github.com/livebook-dev/livebook/blob/v0.13/CHANGELOG.md (https://github.com/livebook-dev/livebook/blob/v0.13/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook 0.13.x release notes. - https://github.com/livebook-dev/livebook/pull/2629 (https://github.com/livebook-dev/livebook/pull/2629?utm_source=thinkingelixir&utm_medium=shownotes) – FLAME support added by Chris McCord. - https://github.com/livebook-dev/livebook/pull/2636 (https://github.com/livebook-dev/livebook/pull/2636?utm_source=thinkingelixir&utm_medium=shownotes) – List of connected distributed nodes displayed on the Runtime panel. - https://github.com/livebook-dev/livebook/pull/2577 (https://github.com/livebook-dev/livebook/pull/2577?utm_source=thinkingelixir&utm_medium=shownotes) – Drag-and-drop support for xlsx-format. - https://github.com/livebook-dev/livebook/pull/2519 (https://github.com/livebook-dev/livebook/pull/2519?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim added LIVEBOOKCLUSTER=auto to configure the cluster on Fly.io. - The code editor now uses CodeMirror with improved design and performance. - Cell evaluation time shows when the cell is stale or aborted. - Hubs renamed to Workspaces. - Elixir 1.17.1 and OTP 27 used in Docker image and desktop app. - Long names mode for distribution used for easier clustering. - Congratulations to the team and contributors with special mention of Jonatan Kłosko. - https://www.reddit.com/r/elixir/comments/1dqg0kr/efxalibrarytodeclarativelywritetestable/ (https://www.reddit.com/r/elixir/comments/1dqg0kr/efx_a_library_to_declaratively_write_testable/?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction to Efx, a library to declaratively write testable effects. - https://github.com/bravobike/efx (https://github.com/bravobike/efx?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Efx library. - https://x.com/PJUllrich/status/1806646221592809482 (https://x.com/PJUllrich/status/1806646221592809482?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Ullrich's tweet about "2 Million Checkboxes". - https://x.com/PJUllrich/status/1806252631179850046 (https://x.com/PJUllrich/status/1806252631179850046?utm_source=thinkingelixir&utm_medium=shownotes) – Background on "one million checkboxes" written in Python + React. - https://twomillioncheckboxes.com/ (https://twomillioncheckboxes.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Live website for "two million checkboxes" hosted on Fly.io. - https://x.com/PJUllrich/status/1806649316963996153 (https://x.com/PJUllrich/status/1806649316963996153?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Ullrich's tweet showing hardware performance and updates. - https://github.com/PJUllrich/twomillioncheckboxes (https://github.com/PJUllrich/twomillioncheckboxes?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub project for "two million checkboxes" site. - https://x.com/TylerAYoung/status/1806794015892996503 (https://x.com/TylerAYoung/status/1806794015892996503?utm_source=thinkingelixir&utm_medium=shownotes) – Update and rename to Parameterized Tests by Tyler Young. - https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md#v1180-dev (https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md#v1180-dev?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.18 changelog including parameterized tests in ExUnit. - https://github.com/s3cur3/parameterized_test (https://github.com/s3cur3/parameterized_test?utm_source=thinkingelixir&utm_medium=shownotes) – Parameterized Tests GitHub repository. - https://github.com/elixir-lang/elixir/pull/13618 (https://github.com/elixir-lang/elixir/pull/13618?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir pull request for parameterized tests feature. - https://farens.me/blog/how-to-integrate-tabler-icons-into-your-phoenix-project (https://farens.me/blog/how-to-integrate-tabler-icons-into-your-phoenix-project?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post by Florian Arens on integrating Tabler Icons into Phoenix projects. - https://tabler.io/icons (https://tabler.io/icons?utm_source=thinkingelixir&utm_medium=shownotes) – Tabler Icons website with 5325 free and open-source icons. - https://github.com/acalejos/flint (https://github.com/acalejos/flint?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction to Flint by Andres Alejos, a library for Ecto embeddedschemas. - https://x.com/germsvel/status/1808080927177814037 (https://x.com/germsvel/status/1808080927177814037?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco's tweet on an intro to tracing on the BEAM using the Recon library. - https://www.elixirstreams.com/tips/tracing-with-recon (https://www.elixirstreams.com/tips/tracing-with-recon?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirStreams post on tracing with Recon. - https://github.com/ferd/recon/ (https://github.com/ferd/recon/?utm_source=thinkingelixir&utm_medium=shownotes) – Recon GitHub repository. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 Preview - August 28-30 with notable speakers and topics. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.liveviewcookbook.com/ (https://www.liveviewcookbook.com/?utm_source=thinkingelixir&utm_medium=shownotes) – My LiveView e-book The LiveView Cookbook - https://youtube.com/@codestirring (https://youtube.com/@codestirring?utm_source=thinkingelixir&utm_medium=shownotes) – YouTube Elixir Tutorial Channel - https://twitch.tv/@codestirring (https://twitch.tv/@codestirring?utm_source=thinkingelixir&utm_medium=shownotes) – Twitch streaming channel - https://uini.io - Uini.io (Latest side project - an AI powered user interview widget) (https://uini.io - Uini.io (Latest side project - an AI powered user interview widget)?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/codestirring/status/1785769316304228590 (https://twitter.com/codestirring/status/1785769316304228590?utm_source=thinkingelixir&utm_medium=shownotes) - https://bloom-ui.fly.dev/ (https://bloom-ui.fly.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – Site with links and shows off how Bloom looks and works - https://github.com/chrisgreg/bloom (https://github.com/chrisgreg/bloom?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub project for Bloom - "The opinionated extension to Phoenix core_components" - https://www.w3.org/WAI/standards-guidelines/wcag/ (https://www.w3.org/WAI/standards-guidelines/wcag/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/angelikatyborska/a11y-audit-elixir/tree/main (https://github.com/angelikatyborska/a11y-audit-elixir/tree/main?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/ash-project/igniter (https://github.com/ash-project/igniter?utm_source=thinkingelixir&utm_medium=shownotes) - https://dashbit.co/blog/web-apps-have-client-and-server-state (https://dashbit.co/blog/web-apps-have-client-and-server-state?utm_source=thinkingelixir&utm_medium=shownotes) - https://developer.mozilla.org/en-US/docs/Web/API/Web_components (https://developer.mozilla.org/en-US/docs/Web/API/Web_components?utm_source=thinkingelixir&utm_medium=shownotes) - https://lit.dev/ (https://lit.dev/?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/codestirring (https://twitter.com/codestirring?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/chrisgreg/ (https://github.com/chrisgreg/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://www.chriis.dev/ (https://www.chriis.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
209: New Admin Panel, LiveView Component Kit, and more!
News includes a neat trick we learned that setup-beam can do for GitHub actions by reading a project's .tool-versions file, Wojtek's insight on reducing SDK API surfaces, Ash's support for UUIDv7, the introduction of the highly customizable Backpex admin panel, a new LiveView component library called SaladUI and its unique ReactJS component conversion feature, Jose Valim's technique of using AI for testing function names, and more! Show Notes online - http://podcast.thinkingelixir.com/209 (http://podcast.thinkingelixir.com/209) Elixir Community News - https://x.com/flo_arens/status/1805255159460532602 (https://x.com/flo_arens/status/1805255159460532602?utm_source=thinkingelixir&utm_medium=shownotes) – TIL setup-beam GitHub action can read asdf's .tool-versions file and parse the OTP and Elixir version out of it. - https://github.com/erlef/setup-beam (https://github.com/erlef/setup-beam?utm_source=thinkingelixir&utm_medium=shownotes) – The setup-beam GitHub action project. - https://github.com/erlef/setup-beam?tab=readme-ov-file#version-file (https://github.com/erlef/setup-beam?tab=readme-ov-file#version-file?utm_source=thinkingelixir&utm_medium=shownotes) – Link to README section about the version file support in setup-beam. - https://dashbit.co/blog/sdks-with-req-stripe (https://dashbit.co/blog/sdks-with-req-stripe?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post by Wojtek on reducing the surface of SDK APIs by focusing on data, not functions. - https://x.com/ZachSDaniel1/status/1805002425738334372 (https://x.com/ZachSDaniel1/status/1805002425738334372?utm_source=thinkingelixir&utm_medium=shownotes) – Ash now supports UUIDv7, a Time-Sortable Identifier for modern databases. - https://github.com/ash-project/ash/pull/1253 (https://github.com/ash-project/ash/pull/1253?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub pull request for Ash's support of UUIDv7. - https://uuid7.com/ (https://uuid7.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Information about UUID7 as a Time-Sortable Identifier. - https://elixirforum.com/t/backpex-a-highly-customizable-admin-panel-for-phoenix-liveview-applications/64314 (https://elixirforum.com/t/backpex-a-highly-customizable-admin-panel-for-phoenix-liveview-applications/64314?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction to Backpex, a new admin backend library for Phoenix LiveView applications. - https://github.com/naymspace/backpex (https://github.com/naymspace/backpex?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Backpex, a customizable administration panel for Phoenix LiveView applications. - https://github.com/bluzky/salad_ui (https://github.com/bluzky/salad_ui?utm_source=thinkingelixir&utm_medium=shownotes) – SaladUI, a Tailwind LiveView UI toolkit that includes a unique feature to convert ReactJS components. - https://salad-storybook.fly.dev/welcome (https://salad-storybook.fly.dev/welcome?utm_source=thinkingelixir&utm_medium=shownotes) – Storybook for SaladUI to explore components. - https://ui.shadcn.com/ (https://ui.shadcn.com/?utm_source=thinkingelixir&utm_medium=shownotes) – React Shad/cn UI component framework storybook page. - https://salad-storybook.fly.dev/examples/convert_shadui (https://salad-storybook.fly.dev/examples/convert_shadui?utm_source=thinkingelixir&utm_medium=shownotes) – Example of converting a ReactJS component to SaladUI. - https://github.com/codedge-llc/accessible (https://github.com/codedge-llc/accessible?utm_source=thinkingelixir&utm_medium=shownotes) – Accessible, a package to add Access behavior support to Elixir structs. - https://paraxial.io/blog/owasp-top-ten (https://paraxial.io/blog/owasp-top-ten?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post on how the OWASP Top 10 applies to Elixir and Phoenix applications. - https://owasp.org/www-project-top-ten/ (https://owasp.org/www-project-top-ten/?utm_source=thinkingelixir&utm_medium=shownotes) – The OWASP Top 10, a standard awareness document for developers and web application security. - https://x.com/josevalim/status/1804117870764339546 (https://x.com/josevalim/status/1804117870764339546?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's technique of using AI to help review or determine function names in APIs. - https://fly.io/phoenix-files/using-ai-to-boost-accessibility-and-seo/ (https://fly.io/phoenix-files/using-ai-to-boost-accessibility-and-seo/?utm_source=thinkingelixir&utm_medium=shownotes) – Article on using AI to boost image accessibility and SEO, demonstrating working with OpenAI and Anthropic using Elixir. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 details, taking place from August 28-30 with various speakers and talks focused on Elixir. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
208: Elixir 1.17, Phoenix Playground and more
This week's show features the latest releases Elixir 1.17.0 and 1.17.1, bringing improved type inference and a new Duration data type. We'll also dive into Phoenix Playground's streamlined approach to single-file applications, José Valim shares another Elixir academic research project taking shape on set-theoretic types for behaviors, and updates from the Igniter project on enhancing code generation and project patching. With a look at how Phoenix and Inertia.js are joining forces and the latest on Nx Scholar's new version for machine learning, this episode is packed with cutting-edge developments in the Elixir community, and more! Show Notes online - http://podcast.thinkingelixir.com/208 (http://podcast.thinkingelixir.com/208) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.17.0 (https://github.com/elixir-lang/elixir/releases/tag/v1.17.0?utm_source=thinkingelixir&utm_medium=shownotes) – Release information for Elixir version 1.17.0. - https://github.com/elixir-lang/elixir/releases/tag/v1.17.1 (https://github.com/elixir-lang/elixir/releases/tag/v1.17.1?utm_source=thinkingelixir&utm_medium=shownotes) – Release information for Elixir version 1.17.1. - https://x.com/davydog187/status/1800962252125667748 (https://x.com/davydog187/status/1800962252125667748?utm_source=thinkingelixir&utm_medium=shownotes) – Dave Lucia shared how Elixir 1.17.0 helped find a bug using new type information. - https://x.com/josevalim/status/1801000076497539482 (https://x.com/josevalim/status/1801000076497539482?utm_source=thinkingelixir&utm_medium=shownotes) – José shared additional academic research being started on Elixir for set-theoretic types - https://x.com/wojtekmach/status/1802975489230811354 (https://x.com/wojtekmach/status/1802975489230811354?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach's announcement of "Phoenix Playground" for creating single-file Phoenix apps. - https://dashbit.co/blog/announcing-phoenix-playground (https://dashbit.co/blog/announcing-phoenix-playground?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about the announcement of Phoenix Playground. - https://github.com/phoenix-playground/phoenix_playground (https://github.com/phoenix-playground/phoenix_playground?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Phoenix Playground. - https://github.com/inertiajs/inertia-phoenix (https://github.com/inertiajs/inertia-phoenix?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Inertia.js Phoenix LiveView adapter. - https://inertiajs.com/ (https://inertiajs.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Official site of Inertia.js, explaining its concept and features. - https://github.com/DockYard/flame_on (https://github.com/DockYard/flame_on?utm_source=thinkingelixir&utm_medium=shownotes) – Update announcement for FlameOn from Dockyard, now with SVG download capability. - https://tylerbarker.com/posts/liveview-is-not-a-zero-js-framework-it-s-a-zero-boring-js-framework (https://tylerbarker.com/posts/liveview-is-not-a-zero-js-framework-it-s-a-zero-boring-js-framework?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post explaining why LiveView is referred to as a "zero-boring-js" framework. - https://github.com/membraneframework-labs/ex_vision/ (https://github.com/membraneframework-labs/ex_vision/?utm_source=thinkingelixir&utm_medium=shownotes) – Repository for ExVision, using ONNX bindings for AI model integration. - https://github.com/cocoa-xu/evision (https://github.com/cocoa-xu/evision?utm_source=thinkingelixir&utm_medium=shownotes) – EVision which uses OpenCV bindings. - https://elixir-nx.github.io/axon/onnxtoaxon.html (https://elixir-nx.github.io/axon/onnx_to_axon.html?utm_source=thinkingelixir&utm_medium=shownotes) – Guide on converting ONNX models to Axon. - https://github.com/ash-project/igniter (https://github.com/ash-project/igniter?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Igniter, aiming to solve issues with composable mix generators. - https://elixirforum.com/t/igniter-a-code-generation-and-project-patching-framework/64181 (https://elixirforum.com/t/igniter-a-code-generation-and-project-patching-framework/64181?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir forum discussion on Igniter framework's capabilities and applications. - https://x.com/josevalim/status/1803040816404849008 (https://x.com/josevalim/status/1803040816404849008?utm_source=thinkingelixir&utm_medium=shownotes) – José announced the release of Nx Scholar v0.3.1, featuring new embedded notebooks. - https://hexdocs.pm/scholar/manifold_learning.html (https://hexdocs.pm/scholar/manifold_learning.html?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation on manifold learning in Nx Scholar v0.3.1. - https://x.com/yevkurtov/status/1800851584827711607 (https://x.com/yevkurtov/status/1800851584827711607?utm_source=thinkingelixir&utm_medium=shownotes) – Yevhenii Kurtov shared a guide on ES/CQRS with EventStoreDB and Phoenix/LiveView. - https://kurtov.pro/blog/2024/06/an-end-to-end-es/cqrs-example-with-eventstoredb-and-phoenix/liveview/ (https://kurtov.pro/blog/2024/06/an-end-to-end-es/cqrs-example-with-eventstoredb-and-phoenix/liveview/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog detailing an end-to-end example of ES/CQRS implementation. - https://github.com/commanded/commanded (https://github.com/commanded/commanded?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Commanded, a library for CQRS/ES architectures. - https://learn.eventstore.com/an-end-to-end-example-with-eventstoredb (https://learn.eventstore.com/an-end-to-end-example-with-eventstoredb?utm_source=thinkingelixir&utm_medium=shownotes) – Official guide on implementing end-to-end examples with EventStoreDB. - https://x.com/CodeBEAMio/status/1800918581225431318 (https://x.com/CodeBEAMio/status/1800918581225431318?utm_source=thinkingelixir&utm_medium=shownotes) – CodeBEAM conference announcement, set to take place in Berlin. - https://codebeameurope.com/ (https://codebeameurope.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Official site for CodeBEAM Europe conference details. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
207: Poison v6 is Waaay Faster and Drama Turns Productive
News includes the release of Poison v6.0.0, making it faster than ever, the discontinuation of the Lumen/Firefly project, and a new accessibility testing library for Elixir web apps. José Valim discusses managing client and server state with Phoenix LiveView, and there's a showcase of an AI Emoji generator written in Elixir. Tickets for ElixirConfUS 2024 are now available with exciting options for training and speakers, plus a surprise announcement for the event's emcee, and more! Show Notes online - http://podcast.thinkingelixir.com/207 (http://podcast.thinkingelixir.com/207) Elixir Community News - https://www.reddit.com/r/elixir/s/V5StIsdcbP (https://www.reddit.com/r/elixir/s/V5StIsdcbP?utm_source=thinkingelixir&utm_medium=shownotes) – Poison v6.0.0 release announcement discussing its performance improvements. - https://github.com/devinus/poison (https://github.com/devinus/poison?utm_source=thinkingelixir&utm_medium=shownotes) – Poison v6.0.0 GitHub repository. - https://gist.github.com/devinus/afb351ae45194a6b93b6db9bf2d4c163 (https://gist.github.com/devinus/afb351ae45194a6b93b6db9bf2d4c163?utm_source=thinkingelixir&utm_medium=shownotes) – Benchmark comparisons of Poison with other JSON libraries. - https://github.com/devinus/poison/blob/master/CHANGELOG.md (https://github.com/devinus/poison/blob/master/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Poison v6.0.0 CHANGELOG detailing new features and improvements. - https://www.reddit.com/r/elixir/s/ciFzDvfzZL (https://www.reddit.com/r/elixir/s/ciFzDvfzZL?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement that Lumen/Firefly project is discontinued. - https://www.reddit.com/r/elixir/comments/1dca6sl/comment/l7yw6sd/ (https://www.reddit.com/r/elixir/comments/1dca6sl/comment/l7yw6sd/?utm_source=thinkingelixir&utm_medium=shownotes) – Brian Cardarella explains why DockYard discontinued the Lumen/Firefly project. - https://x.com/src_rip/status/1800210232150470999 (https://x.com/src_rip/status/1800210232150470999?utm_source=thinkingelixir&utm_medium=shownotes) – Highlighting a new feature in Elixir 1.17. - https://hexdocs.pm/elixir/1.17.0-rc.1/Kernel.html#get_in/2-working-with-structs (https://hexdocs.pm/elixir/1.17.0-rc.1/Kernel.html#get_in/2-working-with-structs?utm_source=thinkingelixir&utm_medium=shownotes) – Kernel.get_in/2 now works with structs in Elixir 1.17. - https://mas.to/@angelikatyborska/112590587923208917 (https://mas.to/@angelikatyborska/112590587923208917?utm_source=thinkingelixir&utm_medium=shownotes) – New A11yAudit test library for automated accessibility testing in Elixir. - https://angelika.me/2024/06/10/automated-accessibility-testing-for-elixir-web-apps/ (https://angelika.me/2024/06/10/automated-accessibility-testing-for-elixir-web-apps/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about implementing automated accessibility checks in Elixir web apps. - https://podcast.thinkingelixir.com/50 (https://podcast.thinkingelixir.com/50?utm_source=thinkingelixir&utm_medium=shownotes) – Podcast episode with Angelika Tyborska. - https://x.com/charliebholtz/status/1700170783589277996 (https://x.com/charliebholtz/status/1700170783589277996?utm_source=thinkingelixir&utm_medium=shownotes) – AI Emoji generator written in Elixir by Charlie Holtz. - https://github.com/cbh123/emoji (https://github.com/cbh123/emoji?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for the AI Emoji generator. - https://dashbit.co/blog/web-apps-have-client-and-server-state (https://dashbit.co/blog/web-apps-have-client-and-server-state?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's blog post on handling client and server state in web applications with Phoenix LiveView. - https://github.com/woutdp/live_svelte (https://github.com/woutdp/live_svelte?utm_source=thinkingelixir&utm_medium=shownotes) – Svelte inside Phoenix LiveView for seamless reactivity. - https://x.com/j_tormey/status/1799859208709677512 (https://x.com/j_tormey/status/1799859208709677512?utm_source=thinkingelixir&utm_medium=shownotes) – Justin created a LiveView Slack clone to showcase Phoenix and LiveView capabilities. - https://github.com/fly-apps/live_beats (https://github.com/fly-apps/live_beats?utm_source=thinkingelixir&utm_medium=shownotes) – LiveBeats improvement and bug fixes in Phoenix LiveView. - https://x.com/ElixirConf/status/1799829176427463035 (https://x.com/ElixirConf/status/1799829176427463035?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of ElixirConfUS 2024 tickets availability. - David will be the emcee for ElixirConfUS 2024. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
206: BeamOps - DevOps on the BEAM
In this episode we dive into the exciting release of Elixir 1.17.0-rc.1 and other news from the community. Our main segment features an in-depth interview with Ellie Fairholm and Josep Giralt D'Lacoste about their new Elixir book "Engineering Elixir Applications - Navigate Each Stage of Software Delivery with Confidence." We explore their professional experiences, the concept of "BeamOps," and the unique DevOps challenges and advantages in the BEAM ecosystem. Ellie and Josep share insights about the writing process, their collaboration, and what's next for the book. Tune in to hear all this and more! Show Notes online - http://podcast.thinkingelixir.com/206 (http://podcast.thinkingelixir.com/206) Elixir Community News - https://x.com/josevalim/status/1797607009715691637 (https://x.com/josevalim/status/1797607009715691637?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim announces the release of Elixir 1.17.0-rc.1. - https://hexdocs.pm/elixir/1.17/gradual-set-theoretic-types.html (https://hexdocs.pm/elixir/1.17/gradual-set-theoretic-types.html?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction to gradual set-theoretic types in Elixir 1.17. - https://github.com/elixir-lang/elixir/blob/v1.17/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.17/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Detailed changelog of Elixir 1.17.0-rc.1. - Added mix profile.tprof profiler in Erlang/OTP 27+ and Deprecated mix profile.cprof and mix profile.eprof. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Information about ElixirConfUS 2024, including keynotes, speakers, and training. - David speaking on “Dancing with Data, Guide to ETLs” at ElixirConfUS 2024. - Mark speaking on “Elixir & AI - Creating Autonomous Agents with LangChain” at ElixirConfUS 2024. - https://dashbit.co/blog/elixir-ml-s1-2024-mlir-arrow-instructor (https://dashbit.co/blog/elixir-ml-s1-2024-mlir-arrow-instructor?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's post on the Dashbit blog discussing the state of ML in Elixir in 2024. - https://mlir.llvm.org/ (https://mlir.llvm.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction of MLIR (Multi-Level Intermediate Representation) in Elixir's ML projects. - Broader ML/AI community and new projects in Elixir, including instructor_ex and Elixir LangChain. - https://x.com/germsvel/status/1796127412511551857 (https://x.com/germsvel/status/1796127412511551857?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco's video showcasing new OTP 27 process labels feature. - https://www.youtube.com/watch?v=XNQhDl4a9Ko (https://www.youtube.com/watch?v=XNQhDl4a9Ko?utm_source=thinkingelixir&utm_medium=shownotes) – Google algorithm leak exposed through a GitHub project explained using Elixir. - https://x.com/akoutmos/status/1796637514704273870 (https://x.com/akoutmos/status/1796637514704273870?utm_source=thinkingelixir&utm_medium=shownotes) – Akoutmos discusses the Google algorithm leak and its analysis using Elixir. - https://hexdocs.pm/googleapicontent_warehouse/api-reference.html (https://hexdocs.pm/google_api_content_warehouse/api-reference.html?utm_source=thinkingelixir&utm_medium=shownotes) – Hexdocs publish the Google algorithm API reference. - https://ipullrank.com/google-algo-leak (https://ipullrank.com/google-algo-leak?utm_source=thinkingelixir&utm_medium=shownotes) – Analysis of Google's algorithm leak and relevancy to Elixir. - https://x.com/PJUllrich/status/1796198764681506898 (https://x.com/PJUllrich/status/1796198764681506898?utm_source=thinkingelixir&utm_medium=shownotes) – Introducing Crawly, an application framework for web crawling and data extraction. - https://github.com/elixir-crawly/crawly (https://github.com/elixir-crawly/crawly?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for the Crawly web crawling framework. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://pragprog.com/titles/beamops/engineering-elixir-applications/ (https://pragprog.com/titles/beamops/engineering-elixir-applications/?utm_source=thinkingelixir&utm_medium=shownotes) – PragProg book listing - https://twitter.com/pragprog/status/1779253657097117890 (https://twitter.com/pragprog/status/1779253657097117890?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/sm_debenedetto/status/1779558393373409481 (https://twitter.com/sm_debenedetto/status/1779558393373409481?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.hashicorp.com/ (https://www.hashicorp.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.erlang-solutions.com/ (https://www.erlang-solutions.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://opentofu.org/ (https://opentofu.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://xkcd.com/927/ (https://xkcd.com/927/?utm_source=thinkingelixir&utm_medium=shownotes) - https://en.wikipedia.org/wiki/Blue%E2%80%93green_deployment (https://en.wikipedia.org/wiki/Blue%E2%80%93green_deployment?utm_source=thinkingelixir&utm_medium=shownotes) - https://docs.docker.com/engine/swarm/ (https://docs.docker.com/engine/swarm/?utm_source=thinkingelixir&utm_medium=shownotes) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Dave Lucia - @davydog187 (https://twitter.com/davydog187)
205: Elixir 1.17 RC and Other News
In this episode, we delve into the latest developments including the release of Elixir 1.17-rc0, featuring significant type system improvements and new functions like DateTime.shift. We also discuss some unexpected compiler and JIT advancements in OTP 27, which are already showing performance boosts. Elixir celebrated its 12th birthday and the Erlang docs completed their migration to ExDoc, enhancing accessibility and integration. Tune in for these insightful updates and more! Show Notes online - http://podcast.thinkingelixir.com/205 (http://podcast.thinkingelixir.com/205) Elixir Community News - https://stackoverflow.az1.qualtrics.com/jfe/form/SV_6rJVT6XXsfTo1JI?site=stackoverflow.com (https://stackoverflow.az1.qualtrics.com/jfe/form/SV_6rJVT6XXsfTo1JI?site=stackoverflow.com?utm_source=thinkingelixir&utm_medium=shownotes) – StackOverflow Developer Survey link. - https://github.com/elixir-lang/elixir/releases/tag/v1.17.0-rc.0 (https://github.com/elixir-lang/elixir/releases/tag/v1.17.0-rc.0?utm_source=thinkingelixir&utm_medium=shownotes) – Release tag for Elixir 1.17-rc0. - https://github.com/elixir-lang/elixir/blob/v1.17.0-rc.0/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.17.0-rc.0/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Changelog for Elixir 1.17-rc0. - https://x.com/marpo60/status/1793993127939969361 (https://x.com/marpo60/status/1793993127939969361?utm_source=thinkingelixir&utm_medium=shownotes) – Marcelo Dominguez highlights advantages of the new type system in Elixir 1.17. - https://hexdocs.pm/elixir/main/DateTime.html#shift/3 (https://hexdocs.pm/elixir/main/DateTime.html#shift/3?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation for the DateTime.shift function in Elixir. - https://hexdocs.pm/elixir/1.17.0-rc.0/Kernel.html#to_timeout/1 (https://hexdocs.pm/elixir/1.17.0-rc.0/Kernel.html#to_timeout/1?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation to convert durations to milliseconds in Elixir 1.17-rc0. - https://www.erlang.org/news/170#compiler-and-jit-improvements (https://www.erlang.org/news/170#compiler-and-jit-improvements?utm_source=thinkingelixir&utm_medium=shownotes) – News about OTP 27 compiler and JIT improvements. - https://x.com/sorentwo/status/1795044358850298343 (https://x.com/sorentwo/status/1795044358850298343?utm_source=thinkingelixir&utm_medium=shownotes) – Discussion about a 12.5% speed improvement in the Oban test suite. - https://github.com/erlang/otp/issues/8469 (https://github.com/erlang/otp/issues/8469?utm_source=thinkingelixir&utm_medium=shownotes) – Regression of :ets.select in OTP 27 mentioned. - https://www.erlang.org/doc/readme.html (https://www.erlang.org/doc/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – New home for Erlang documentation. - Get clear on old Elixir Mix episodes being released as new. - https://www.imdb.com/title/tt29816472/ (https://www.imdb.com/title/tt29816472/?utm_source=thinkingelixir&utm_medium=shownotes) – The Thinking Elixir Podcast on IMDB?? - https://dashbit.co/blog/req-v0.5 (https://dashbit.co/blog/req-v0.5?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Req v0.5 with improved testing support and error handling. - https://gleam.run/news/fault-tolerant-gleam/ (https://gleam.run/news/fault-tolerant-gleam/?utm_source=thinkingelixir&utm_medium=shownotes) – Release notes for Gleam v1.2.0, focusing on fault-tolerant compilation. - https://x.com/jacob_luetzow/status/1794075125202956353 (https://x.com/jacob_luetzow/status/1794075125202956353?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim celebrating Elixir's 12th Birthday. - https://www.youtube.com/live/epKeT8-hafE (https://www.youtube.com/live/epKeT8-hafE?utm_source=thinkingelixir&utm_medium=shownotes) – Video of José Valim discussing Elixir on its 12th Birthday. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Tyler Young - @TylerAYoung (https://twitter.com/TylerAYoung) - Tyler Young on Fediverse - @tylerayoung@fosstodon.org (https://fosstodon.org/@tylerayoung)
204: OTP 27 and Blend for Lib Maintainers
In this episode of the Thinking Elixir podcast, we sit down with Marcelo Dominguez, the driver behind the new "Blend" library, which assists Elixir library developers in testing their projects against multiple versions of dependencies. Marcelo explains the genesis of Blend and the inspiration from the Rubygem "appraisal." He discusses how Blend tackles the common headache of dependency version clashes and integrates smoothly with CI systems to isolate and report specific compatibility issues. We learn how it works under-the-hood and helps library maintainers more easily keep their promises of supporting a library used in diverse environments. We cover the motivations, complexities, and real-world applications of Blend and more! Show Notes online - http://podcast.thinkingelixir.com/204 (http://podcast.thinkingelixir.com/204) Elixir Community News - https://www.erlang.org/blog/highlights-otp-27/ (https://www.erlang.org/blog/highlights-otp-27/?utm_source=thinkingelixir&utm_medium=shownotes) – OTP 27 release highlights - https://www.erlang.org/news/170 (https://www.erlang.org/news/170?utm_source=thinkingelixir&utm_medium=shownotes) – OTP 27 release news - https://github.com/erlang/otp/releases/tag/OTP-27.0 (https://github.com/erlang/otp/releases/tag/OTP-27.0?utm_source=thinkingelixir&utm_medium=shownotes) – OTP 27 release on GitHub - https://en.wikipedia.org/wiki/OCSP_stapling (https://en.wikipedia.org/wiki/OCSP_stapling?utm_source=thinkingelixir&utm_medium=shownotes) – OCSP stapling explained - https://x.com/chris_mccord/status/1791176778989424850 (https://x.com/chris_mccord/status/1791176778989424850?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord shares upcoming Cockroach DB support in Phoenix 1.7 - https://www.cockroachlabs.com/ (https://www.cockroachlabs.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Cockroach Labs business solutions - https://github.com/cockroachdb/cockroach (https://github.com/cockroachdb/cockroach?utm_source=thinkingelixir&utm_medium=shownotes) – CockroachDB GitHub project - https://www.cockroachlabs.com/docs/stable/licensing-faqs.html (https://www.cockroachlabs.com/docs/stable/licensing-faqs.html?utm_source=thinkingelixir&utm_medium=shownotes) – Cockroach licensing FAQs - https://x.com/josevalim/status/1792642875454259243 (https://x.com/josevalim/status/1792642875454259243?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's tweet on Elixir's 12th birthday celebration - https://www.youtube.com/watch?v=epKeT8-hafE (https://www.youtube.com/watch?v=epKeT8-hafE?utm_source=thinkingelixir&utm_medium=shownotes) – YouTube livestream celebrating Elixir's 12th birthday - José teased that an Elixir v1.17 RC might be ready. - https://ew.com/pirates-of-the-caribbean-reboot-margot-robbie-movie-exclusive-8651023 (https://ew.com/pirates-of-the-caribbean-reboot-margot-robbie-movie-exclusive-8651023?utm_source=thinkingelixir&utm_medium=shownotes) – Pirates of the Caribbean reboot discussion... are we that old? - https://elixirforum.com/t/ash-framework-3-0/63488 (https://elixirforum.com/t/ash-framework-3-0/63488?utm_source=thinkingelixir&utm_medium=shownotes) – Ash Framework 3.0 release - https://www.reddit.com/r/elixir/s/HMUeyk8Ot3 (https://www.reddit.com/r/elixir/s/HMUeyk8Ot3?utm_source=thinkingelixir&utm_medium=shownotes) – LiveToast discussion on Reddit - https://github.com/srcrip/live_toast (https://github.com/srcrip/live_toast?utm_source=thinkingelixir&utm_medium=shownotes) – LiveToast GitHub project - https://toast.src.rip (https://toast.src.rip?utm_source=thinkingelixir&utm_medium=shownotes) – LiveToast demo website - https://nerves-project.typeform.com/sotnn-2024 (https://nerves-project.typeform.com/sotnn-2024?utm_source=thinkingelixir&utm_medium=shownotes) - Nerves is an open-source platform for building and deploying production embedded systems using Elixir. - https://nerves-project.org/ (https://nerves-project.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Nerves project website - https://fly.io/phoenix-files/my-favorite-new-liveview-feature/ (https://fly.io/phoenix-files/my-favorite-new-liveview-feature/?utm_source=thinkingelixir&utm_medium=shownotes) – Explanation of the useful new LiveView feature JS.toggle_class. - ExDoc light mode possibly getting revamped. - https://hexdocs.pm/elixir/main/protocols.html (https://hexdocs.pm/elixir/main/protocols.html?utm_source=thinkingelixir&utm_medium=shownotes) – Example of current dark mode on ExDoc even in light mode. - https://erick.navarro.io/blog/simple-obs-client-in-elixir/ (https://erick.navarro.io/blog/simple-obs-client-in-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Erick Navarro's post on controlling OBS using Elixir and websockets. - https://obsproject.com/ (https://obsproject.com/?utm_source=thinkingelixir&utm_medium=shownotes) – OBS - Open Broadcaster Software Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://github.com/mimiquate/blend (https://github.com/mimiquate/blend?utm_source=thinkingelixir&utm_medium=shownotes) - https://rubygems.org/gems/appraisal (https://rubygems.org/gems/appraisal?utm_source=thinkingelixir&utm_medium=shownotes) – Blend was inspired by the Rubygem Appraisal - https://github.com/mimiquate/blend?tab=readme-ov-file#Motivation (https://github.com/mimiquate/blend?tab=readme-ov-file#Motivation?utm_source=thinkingelixir&utm_medium=shownotes) – Motivation for creating the Blend library - https://github.com/mimiquate/candlex (https://github.com/mimiquate/candlex?utm_source=thinkingelixir&utm_medium=shownotes) - https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs (https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/elixir-plug/plug_crypto/tags (https://github.com/elixir-plug/plug_crypto/tags?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/rack/rack-attack (https://github.com/rack/rack-attack?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.mimiquate.com/ (https://www.mimiquate.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/elixir-plug/plug/blob/main/mix.exs#L54-L58 (https://github.com/elixir-plug/plug/blob/main/mix.exs#L54-L58?utm_source=thinkingelixir&utm_medium=shownotes) – Example of how multiple lockfiles are solved in Plug - https://github.com/surface-ui/surface/blob/main/.github/workflows/ci.yml#L54-L56 (https://github.com/surface-ui/surface/blob/main/.github/workflows/ci.yml#L54-L56?utm_source=thinkingelixir&utm_medium=shownotes) – Example of how multiple lockfiles are solved in Surface - https://github.com/sorentwo/oban/issues/1041 (https://github.com/sorentwo/oban/issues/1041?utm_source=thinkingelixir&utm_medium=shownotes) – Example of Oban issue from underlying dep version change - https://github.com/sorentwo/oban/commit/f8d3478c27aea56ab01fcc42f13668f4a3516564 (https://github.com/sorentwo/oban/commit/f8d3478c27aea56ab01fcc42f13668f4a3516564?utm_source=thinkingelixir&utm_medium=shownotes) – Example where Oban's Ecto version needed to lock to Ecto v3.10 to support materialized cte Guest Information - Marcelo Dominguez - https://twitter.com/marpo60 (https://twitter.com/marpo60?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/marpo60/ (https://github.com/marpo60/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://www.mimiquate.com/ (https://www.mimiquate.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Mimiquate agency that published Blend Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
203: Thinking Elixir News
News includes Phoenix LiveView hitting 1.0 soon, with thoughtful comparisons to the broader web development industry and detailed changelog insights. Theo reacts positively to the release from a React and JS perspective, highlighting its significance. José Valim's keynote at ElixirConf EU 2024 revisits the famous "Gang of Four" design patterns and their relevance to Elixir today. Chris McCord introduces the innovative World Page Speed Test using FLAME, illustrating its ease of use and benefits over traditional solutions. Ash 3.0 is officially released after 46 RC releases. Additionally, Oban support is moving to ElixirForum to improve searchability, and more! Show Notes online - http://podcast.thinkingelixir.com/203 (http://podcast.thinkingelixir.com/203) Elixir Community News - https://phoenixframework.org/blog/phoenix-liveview-1.0-released (https://phoenixframework.org/blog/phoenix-liveview-1.0-released?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView is hitting 1.0 soon with thoughtful comparisons to the broader web development industry. - https://hexdocs.pm/phoenixliveview/1.0.0-rc.0/changelog.html (https://hexdocs.pm/phoenix_live_view/1.0.0-rc.0/changelog.html?utm_source=thinkingelixir&utm_medium=shownotes) – Backward incompatible changes for Phoenix LiveView 1.0 along with bug fixes. - https://www.youtube.com/watch?v=aOk67eT3fpg (https://www.youtube.com/watch?v=aOk67eT3fpg?utm_source=thinkingelixir&utm_medium=shownotes) – Theo reacts positively to the Phoenix LiveView release, discussing it from the React and JS perspective. - https://www.youtube.com/watch?v=agkXUp0hCW8 (https://www.youtube.com/watch?v=agkXUp0hCW8?utm_source=thinkingelixir&utm_medium=shownotes) – Keynote by José Valim on design patterns in Elixir at ElixirConf EU 2024. - https://twitter.com/josevalim/status/1790354042243203283 (https://twitter.com/josevalim/status/1790354042243203283?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim discusses design patterns in Elixir revisiting the "Gang of Four" patterns. - https://www.youtube.com/watch?v=GICJ42OyBGg (https://www.youtube.com/watch?v=GICJ42OyBGg?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord’s ElixirConf EU keynote on FLAME and its applications. - https://worldpagespeed.fly.dev/ (https://worldpagespeed.fly.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord’s "World Page Speed Test" tool using FLAME. - https://fly.io/phoenix-files/world-page-speed-test-elastic-scale-with-flame/ (https://fly.io/phoenix-files/world-page-speed-test-elastic-scale-with-flame/?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord’s blog post on World Page Speed Test and FLAME on Fly.io. - https://twitter.com/ZachSDaniel1/status/1775516026551099852 (https://twitter.com/ZachSDaniel1/status/1775516026551099852?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Ash 3.0 release after 46 RC releases. - https://hex.pm/packages/ash (https://hex.pm/packages/ash?utm_source=thinkingelixir&utm_medium=shownotes) – Ash Framework version 3.0 final release details. - https://twitter.com/sorentwo/status/1790007674077073474 (https://twitter.com/sorentwo/status/1790007674077073474?utm_source=thinkingelixir&utm_medium=shownotes) – Oban support is moving to ElixirForum for better searchability and visibility, away from Slack. - https://twitter.com/sorentwo/status/1788181209530466518 (https://twitter.com/sorentwo/status/1788181209530466518?utm_source=thinkingelixir&utm_medium=shownotes) – Oban hot tip on managing exception messages for better exception reporting. - https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-6/ (https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-6/?utm_source=thinkingelixir&utm_medium=shownotes) – NextLS 0.21.0 released with new features like alias-refactor workspace command, completions, snippets, and more. - Followup from a comment last week on the difference between pattern-matching empty keyword lists and empty maps, including speed improvements in OTP 26 and 27. - https://erlangforums.com/t/matching-empty-map-performance-of-map-size/3572 (https://erlangforums.com/t/matching-empty-map-performance-of-map-size/3572?utm_source=thinkingelixir&utm_medium=shownotes) – Discussion on matching empty map performance. - https://hexdocs.pm/elixir/1.14/naming-conventions.html#length-and-size (https://hexdocs.pm/elixir/1.14/naming-conventions.html#length-and-size?utm_source=thinkingelixir&utm_medium=shownotes) – Naming conventions in Elixir related to length and size. - https://github.com/mimiquate/blend (https://github.com/mimiquate/blend?utm_source=thinkingelixir&utm_medium=shownotes) – New Elixir library "Blend" helps library maintainers test against different versions of dependencies. - https://rubygems.org/gems/appraisal (https://rubygems.org/gems/appraisal?utm_source=thinkingelixir&utm_medium=shownotes) – Blend library appears to be inspired by the Ruby gem “appraisal”. - https://twitter.com/jeffbarr/status/1790072050855588265 (https://twitter.com/jeffbarr/status/1790072050855588265?utm_source=thinkingelixir&utm_medium=shownotes) – Amazon AWS S3 will stop charging for unauthorized requests, being deployed to regions currently. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
202: Thinking Elixir News
In this week's edition, we dive into the exciting release of ElixirLS 0.21.0, enhancing the developer experience with new code actions and more efficient dialyzing on the latest OTP. We also discuss José Valim's insightful commentary on Elixir's upcoming type system, addressing bug-prone comparison operations, and additional advancements in exception handling. Don't miss the unveiling of "Bloom," an opinionated extension to Phoenix core components, alongside Chris McCord's demo of lightning-fast hot code deploys across a global Fly.io cluster. We round off with the legal tussle over the FTC's ruling on non-compete clauses and AWS's S3 billing adjustments that provide relief from unauthorized access charges, and more! Show Notes online - http://podcast.thinkingelixir.com/202 (http://podcast.thinkingelixir.com/202) Elixir Community News - https://elixirforum.com/t/elixirls-the-elixir-language-server/5857/213 (https://elixirforum.com/t/elixirls-the-elixir-language-server/5857/213?utm_source=thinkingelixir&utm_medium=shownotes) – Announcing the release of ElixirLS 0.21.0 with improvements and features like incremental dialyzer and experimental support for code actions. - https://github.com/elixir-lsp/elixir-ls/pull/1057 (https://github.com/elixir-lsp/elixir-ls/pull/1057?utm_source=thinkingelixir&utm_medium=shownotes) – A pull request related to the experimental support for code actions in ElixirLS 0.21.0. - https://pragtob.wordpress.com/2024/05/01/10-elixir-gotchas/ (https://pragtob.wordpress.com/2024/05/01/10-elixir-gotchas/?utm_source=thinkingelixir&utm_medium=shownotes) – A blog post by Tobias Pfeiffer discussing "10 Elixir gotchas" to help new Elixir developers. - https://twitter.com/PragTob/status/1785681200322924666 (https://twitter.com/PragTob/status/1785681200322924666?utm_source=thinkingelixir&utm_medium=shownotes) – Tobias Pfeiffer's tweet about his blog post on "10 Elixir gotchas." - https://twitter.com/PragTob/status/1785681200322924666 (https://twitter.com/PragTob/status/1785681200322924666?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's response to Tobias Pfeiffer's post, providing insights on Elixir's upcoming type system. - https://twitter.com/josevalim/status/1785989792141890015 (https://twitter.com/josevalim/status/1785989792141890015?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim details how the Elixir v1.17 will perform type-checking with the comparison operators to catch potential bugs. - https://github.com/elixir-lang/elixir/pull/13527 (https://github.com/elixir-lang/elixir/pull/13527?utm_source=thinkingelixir&utm_medium=shownotes) – A merged Elixir PR for "Perform type checking across comparison operators." - https://twitter.com/josevalim/status/1785990361418006768?t=ZvCKMAXrZFtDX8pfjW14Lw (https://twitter.com/josevalim/status/1785990361418006768?t=ZvCKMAXrZFtDX8pfjW14Lw?utm_source=thinkingelixir&utm_medium=shownotes) – A tweet by José Valim discussing the power of set-theoretic types in Elixir. - https://twitter.com/josevalim/status/1787543767341486181 (https://twitter.com/josevalim/status/1787543767341486181?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim sharing updates about Elixir's type system checking exceptions fields and warning on undefined exceptions. - https://hexdocs.pm/elixir/main/gradual-set-theoretic-types.html (https://hexdocs.pm/elixir/main/gradual-set-theoretic-types.html?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir documentation for the gradual set-theoretic types. - https://hexdocs.pm/elixir/main/changelog.html#warnings-from-gradual-set-theoretic-types (https://hexdocs.pm/elixir/main/changelog.html#warnings-from-gradual-set-theoretic-types?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir 1.17.0 changelog on "Warnings from gradual set-theoretic types." - https://github.com/elixir-lang/elixir/pull/13534 (https://github.com/elixir-lang/elixir/pull/13534?utm_source=thinkingelixir&utm_medium=shownotes) – A Github pull request for a new is_non_struct_map guard in Elixir 1.17. - https://twitter.com/codestirring/status/1785769316304228590 (https://twitter.com/codestirring/status/1785769316304228590?utm_source=thinkingelixir&utm_medium=shownotes) – Chris Gregori announces "Bloom," a new LiveView component library project. - https://bloom-ui.fly.dev/ (https://bloom-ui.fly.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – The "Bloom" UI component library site showcasing its features and usage. - https://github.com/chrisgreg/bloom (https://github.com/chrisgreg/bloom?utm_source=thinkingelixir&utm_medium=shownotes) – The Github repository for the "Bloom" LiveView component library. - https://twitter.com/chris_mccord/status/1785678249424461897 (https://twitter.com/chris_mccord/status/1785678249424461897?utm_source=thinkingelixir&utm_medium=shownotes) – A teaser from Chris McCord about hot deploys on Fly.io to a planet-wide cluster in seconds. - https://hexdocs.pm/mix/1.16.2/Mix.Tasks.Release.html#module-hot-code-upgrades (https://hexdocs.pm/mix/1.16.2/Mix.Tasks.Release.html#module-hot-code-upgrades?utm_source=thinkingelixir&utm_medium=shownotes) – Mix documentation discussing how to perform hot code upgrades. - https://twitter.com/bcardarella/status/1785419505134456895 (https://twitter.com/bcardarella/status/1785419505134456895?utm_source=thinkingelixir&utm_medium=shownotes) – A tweet from Brian Cardarella showing a LiveView Native tvOS simulator demo. - https://www.youtube.com/@CodeSync/videos (https://www.youtube.com/@CodeSync/videos?utm_source=thinkingelixir&utm_medium=shownotes) – Videos uploaded by CodeSync from ElixirConf EU 2024, including keynotes. - https://medium.com/@maciej.pocwierz/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1 (https://medium.com/@maciej.pocwierz/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1?utm_source=thinkingelixir&utm_medium=shownotes) – An article highlighting how unauthorized requests to S3 buckets can inflate AWS bills and AWS's billing policy update to address this. - https://twitter.com/jeffbarr/status/1787844682216792163 (https://twitter.com/jeffbarr/status/1787844682216792163?utm_source=thinkingelixir&utm_medium=shownotes) – AWS's Jeff Barr's tweet about the adjustment of billing policy for S3. - https://www.employmentlawworldview.com/ftc-bans-non-competes-throughout-the-united-states-us/ (https://www.employmentlawworldview.com/ftc-bans-non-competes-throughout-the-united-states-us/?utm_source=thinkingelixir&utm_medium=shownotes) – A follow-up on the FTC's recent ruling on non-compete clauses and the resulting legal challenges. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
201: Thinking Elixir News
This week's podcast dives into the latest tech updates, including the release of Lexical 0.6.0 with its impressive performance upgrades and new features for Phoenix controller completions. We'll also talk about building smarter Slack bots with Elixir, and the LiveView support enhancements that bolster security against spam connections. Plus, we celebrate the 5-year milestone of Saša Jurić's influential “Soul of Erlang and Elixir” talk. Of course we have to touch on the FTC's impactful ruling that bans non-compete employment clauses, a significant shift that will likely shake up the tech industry and innovation landscape. Stay tuned for this and more! Show Notes online - http://podcast.thinkingelixir.com/201 (http://podcast.thinkingelixir.com/201) Elixir Community News - https://github.com/lexical-lsp/lexical/releases/tag/v0.6.0 (https://github.com/lexical-lsp/lexical/releases/tag/v0.6.0?utm_source=thinkingelixir&utm_medium=shownotes) – Lexical 0.6.0 release includes document and workspace symbols, improved Phoenix controller completions, and enhanced indexing performance. - https://benreinhart.com/blog/verifying-slack-requests-elixir-phoenix/ (https://benreinhart.com/blog/verifying-slack-requests-elixir-phoenix/?utm_source=thinkingelixir&utm_medium=shownotes) – Ben Reinhart's blog post details the process for cryptographically verifying event notifications from Slack in Phoenix apps for Slack bots. - https://twitter.com/PJUllrich/status/1784707877157970387 (https://twitter.com/PJUllrich/status/1784707877157970387?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Ulrich has launched a LiveView-oriented course on building forms as announced on his Twitter account. - https://indiecourses.com/catalog/building-forms-with-phoenix-liveview-2OPYIqaekkZwrpgLUZOyZV (https://indiecourses.com/catalog/building-forms-with-phoenix-liveview-2OPYIqaekkZwrpgLUZOyZV?utm_source=thinkingelixir&utm_medium=shownotes) – The course covers building forms with Phoenix LiveView including various types of schema and dynamic fields. - https://paraxial.io/blog/live-view-support (https://paraxial.io/blog/live-view-support?utm_source=thinkingelixir&utm_medium=shownotes) – Michael Lubas outlines security-focused support for LiveView on Paraxial.io, including protection against initial connection and websocket spam. - https://github.com/nccgroup/sobelow/pull/123 (https://github.com/nccgroup/sobelow/pull/123?utm_source=thinkingelixir&utm_medium=shownotes) – There was work on adding support for HEEx to Sobelow.XSS.Raw, as a part of Sobelow's security-focused static analysis for the Phoenix Framework. - https://twitter.com/sasajuric/status/1784958371998601526 (https://twitter.com/sasajuric/status/1784958371998601526?utm_source=thinkingelixir&utm_medium=shownotes) – It's the 5 Year Anniversary of Saša Jurić's “Soul of Erlang and Elixir” talk, recommended for its lasting relevance in the development community. - https://www.youtube.com/watch?v=JvBT4XBdoUE (https://www.youtube.com/watch?v=JvBT4XBdoUE?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić's influential “Soul of Erlang and Elixir” talk is still very relevant and worth watching, even five years later. - https://www.elixirconf.eu/ (https://www.elixirconf.eu/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU 2025 dates and location have been announced, with a waitlist available for those interested in attending. - https://www.ftc.gov/news-events/news/press-releases/2024/04/ftc-announces-rule-banning-noncompetes (https://www.ftc.gov/news-events/news/press-releases/2024/04/ftc-announces-rule-banning-noncompetes?utm_source=thinkingelixir&utm_medium=shownotes) – The FTC ruling banning non-compete clauses aims to increase wages, entrepreneurship, and overall economic dynamism in the US technology sector. - While bans on non-compete clauses for technology workers are in effect, trade secret laws and NDAs continue to provide employers with protection against information leaks. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)