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.

170: Thinking Elixir News

September 26, 2023 20:13 14.86 MB Downloads: 0

News this week includes the release of ElixirConf 2023 video playlist featuring keynote videos, a guide on Web Application Security Best Practices for BEAM languages from the EEF Security Working Group, the release of NextLS v0.12 with exciting new features, and a new library to integrate the JavaScript all-in-one toolkit, Bun with Phoenix. A new LangChain library makes it easy to integrate Elixir applications with an LLM like ChatGPT. Regarding the open source community, we discuss the major update in the Lodash JS project, the latest PostgreSQL 16 release, and a noteworthy article from ZigLang on bounties potentially damaging open source projects, and more! Show Notes online - http://podcast.thinkingelixir.com/170 (http://podcast.thinkingelixir.com/170) Elixir Community News - https://www.youtube.com/playlist?list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY (https://www.youtube.com/playlist?list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2023 video playlist, currently only includes the keynote videos. - https://twitter.com/bernheisel/status/1704019930515919092 (https://twitter.com/bernheisel/status/1704019930515919092?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord's keynote for ElixirConf 2023. - https://erlef.github.io/security-wg/webappsecuritybestpractices_beam/ (https://erlef.github.io/security-wg/web_app_security_best_practices_beam/?utm_source=thinkingelixir&utm_medium=shownotes) – Guide on Web Application Security Best Practices for BEAM languages - https://twitter.com/paraxialio/status/1703146204404535467 (https://twitter.com/paraxialio/status/1703146204404535467?utm_source=thinkingelixir&utm_medium=shownotes) – Update on the same topic on Twitter. - https://podcast.thinkingelixir.com/134 (https://podcast.thinkingelixir.com/134?utm_source=thinkingelixir&utm_medium=shownotes) – Podcast episode discussing inside the Security Working Group - https://podcast.thinkingelixir.com/93 (https://podcast.thinkingelixir.com/93?utm_source=thinkingelixir&utm_medium=shownotes) – Preventing Service Abuse with Michael Lubas podcast episode - https://github.com/elixir-tools/next-ls (https://github.com/elixir-tools/next-ls?utm_source=thinkingelixir&utm_medium=shownotes) – NextLS v0.12 released with new features. - https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-3/ (https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-3/?utm_source=thinkingelixir&utm_medium=shownotes) – More information on the Elixir Tools update. - https://twitter.com/crbelaus/status/1702703595236331668 (https://twitter.com/crbelaus/status/1702703595236331668?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix's new library to integrate Bun, the JavaScript all-in-one toolkit. - https://hex.pm/packages/elixir_bun (https://hex.pm/packages/elixir_bun?utm_source=thinkingelixir&utm_medium=shownotes) – Link to the new Phoenix library on Hex. - https://podcast.thinkingelixir.com/83 (https://podcast.thinkingelixir.com/83?utm_source=thinkingelixir&utm_medium=shownotes) – More info about Zig with a previous guest Isaac Yonemoto. - https://github.com/brainlid/langchain (https://github.com/brainlid/langchain?utm_source=thinkingelixir&utm_medium=shownotes) – LangChain for Elixir library was released. - https://twitter.com/RudManusachi/status/1702093261530403223 (https://twitter.com/RudManusachi/status/1702093261530403223?utm_source=thinkingelixir&utm_medium=shownotes) – Brian Cardarella's LiveViewNative keynote showed the ExDoc documentation. - https://hexdocs.pm/ex_doc/readme.html#tabsets (https://hexdocs.pm/ex_doc/readme.html#tabsets?utm_source=thinkingelixir&utm_medium=shownotes) – Explanation on the use of tabsets in ExDocs. - https://twitter.com/danielcroe/status/1703127430523703432 (https://twitter.com/danielcroe/status/1703127430523703432?utm_source=thinkingelixir&utm_medium=shownotes) – Lodash JS project declared "Issue bankruptcy" - https://github.com/lodash/lodash (https://github.com/lodash/lodash?utm_source=thinkingelixir&utm_medium=shownotes) – Lodash, a modern JavaScript utility library, went through some changes. - https://ziglang.org/news/bounties-damage-open-source-projects/ (https://ziglang.org/news/bounties-damage-open-source-projects/?utm_source=thinkingelixir&utm_medium=shownotes) – ZigLang blog stating that "Bounties Damage Open Source Projects" - https://www.postgresql.org/about/news/postgresql-16-released-2715/ (https://www.postgresql.org/about/news/postgresql-16-released-2715/?utm_source=thinkingelixir&utm_medium=shownotes) – PostgreSQL 16 released with performance improvements and new features. - https://www.crunchydata.com/blog/active-active-postgres-16 (https://www.crunchydata.com/blog/active-active-postgres-16?utm_source=thinkingelixir&utm_medium=shownotes) – Understanding of "Active-Active" replication in PostgreSQL 16. 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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

169: Thinking Elixir News

September 19, 2023 16:21 12.08 MB Downloads: 0

News covers the conclusion of ElixirConf US 2023 with key highlights being Chris McCord's keynote on improved Phoenix debugging tools, and Jose Valim's keynote introducing the "Strong Arrows" concept for handling dynamic types. Looking forward, the next ElixirConf will take place in Lisbon, EU in April 2024, followed by ElixirConf US 2024 at SeaWorld. Alex Koutmos points us towards a valuable resource on Erlang.org about efficiencies and performance myths, and a handy blog post walks you through customizing Phoenix generators, and more! Show Notes online - http://podcast.thinkingelixir.com/169 (http://podcast.thinkingelixir.com/169) Elixir Community News - https://twitter.com/TylerAYoung/status/1699415514936672440 (https://twitter.com/TylerAYoung/status/1699415514936672440?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord's opening keynote at ElixirConf US 2023 focused on improved Phoenix debugging tools. - LiveViewNative, with almost all SwiftUI components and styling modifiers being implemented, is still being worked on for Android/Windows. - https://twitter.com/bernheisel/status/1700179932150747514?s=20 (https://twitter.com/bernheisel/status/1700179932150747514?s=20?utm_source=thinkingelixir&utm_medium=shownotes) – Jose Valim's closing keynote at ElixirConf dispelled some myths about coding in Elixir, explained set-theoretic types, introduced the concept of "Strong Arrows", and analyzed the implications of different approaches to handle dynamic types. - The next venue for ElixirConf will be Lisbon, EU on April 18-19, 2024. - ElixirConf US 2024 will be held at SeaWorld from August 27 - 30 2024. - https://fly.io/phoenix-files/customizing-phoenix-generators/ (https://fly.io/phoenix-files/customizing-phoenix-generators/?utm_source=thinkingelixir&utm_medium=shownotes) – This blog post documents how to customize Phoenix Generators, a topic discussed in episode 167 with Victor Björklund. It serves as a walkthrough for customizing generators for established projects. - https://www.erlang.org/doc/efficiencyguide/usersguide.html (https://www.erlang.org/doc/efficiency_guide/users_guide.html?utm_source=thinkingelixir&utm_medium=shownotes) – A valuable resource for Elixir developers, this guide by Alex Koutmos provides insights into efficiencies of Lists, maps, binaries while dispelling some performance myths. - https://twitter.com/akoutmos/status/1700915275317555627 (https://twitter.com/akoutmos/status/1700915275317555627?utm_source=thinkingelixir&utm_medium=shownotes) – A reminder from Alex Koutmos about the 'Efficiency Guide' in Erlang.org docs. While the code samples are in Erlang, the guide applies similarly to BEAM code written in 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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

168: Thinking Elixir News

September 12, 2023 11:54 8.88 MB Downloads: 0

News includes a new "async" feature being added to LiveView, a new translation library called Kanta was announced, formatted logging, improved keyboard navigation in ExDocs, the Membrane framework released a pure Elixir H264 video plugin, and more! Show Notes online - http://podcast.thinkingelixir.com/168 (http://podcast.thinkingelixir.com/168) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/pull/2763 (https://github.com/phoenixframework/phoenix_live_view/pull/2763?utm_source=thinkingelixir&utm_medium=shownotes) – New “async” features built-in to LiveView - https://elixirstatus.com/p/ElYf7-introducing-kanta---the-ultimate-open-source-solution-to-translations-in-elixir--phoenix-web-apps (https://elixirstatus.com/p/ElYf7-introducing-kanta---the-ultimate-open-source-solution-to-translations-in-elixir--phoenix-web-apps?utm_source=thinkingelixir&utm_medium=shownotes) – New translation library called Kanta - https://github.com/curiosum-dev/kanta (https://github.com/curiosum-dev/kanta?utm_source=thinkingelixir&utm_medium=shownotes) – User-friendly translations manager for Elixir/Phoenix projects. - https://blog.appsignal.com/2023/07/18/observe-your-phoenix-app-with-structured-logging.html (https://blog.appsignal.com/2023/07/18/observe-your-phoenix-app-with-structured-logging.html?utm_source=thinkingelixir&utm_medium=shownotes) – Structured logging post by Sophie DeBenedetto - https://github.com/akasprzok/logfmt_ex (https://github.com/akasprzok/logfmt_ex?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir library called logfmt_ex - https://mas.to/@angelikatyborska/110973663083838384 (https://mas.to/@angelikatyborska/110973663083838384?utm_source=thinkingelixir&utm_medium=shownotes) – Improved keyboard navigation in ExDocs v0.30.6 - https://twitter.com/ElixirMembrane/status/1697186141030490432 (https://twitter.com/ElixirMembrane/status/1697186141030490432?utm_source=thinkingelixir&utm_medium=shownotes) – Membrane project adds a pure Elixir H264 parser. - https://membrane.stream/learn/h264 (https://membrane.stream/learn/h264?utm_source=thinkingelixir&utm_medium=shownotes) – An article that covers the “H264 - what, why and how” - https://github.com/membraneframework/membraneh264plugin (https://github.com/membraneframework/membrane_h264_plugin?utm_source=thinkingelixir&utm_medium=shownotes) – The Membrane framework can now use it to stream in H264. - https://github.com/wojtekmach/req/releases/tag/v0.4.0 (https://github.com/wojtekmach/req/releases/tag/v0.4.0?utm_source=thinkingelixir&utm_medium=shownotes) – Req library v0.4.0 was released. Includes some breaking changes. - https://twitter.com/josevalim/status/1698675318238707820 (https://twitter.com/josevalim/status/1698675318238707820?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf is starting and keynotes will hopefully be released soon after. 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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

167: Customizing mix phx.new?

September 05, 2023 52:45 38.28 MB Downloads: 0

We've all run "mix phx.new", but have you ever thought to customize what that does? We talk with Victor Björklund who explains how we can create customized Phoenix project generators and why we might want to. We also discuss customizing the phoenix generators for our already generated projects. We explore the idea of supporting 3rd-party maintained generators and what that might look like. A fun discussion sure to “generate” ideas for your project! Show Notes online - http://podcast.thinkingelixir.com/167 (http://podcast.thinkingelixir.com/167) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.15.5 (https://github.com/elixir-lang/elixir/releases/tag/v1.15.5?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.15.5 bug fix release - https://pdx.social/@kenichi/110934002380304132 (https://pdx.social/@kenichi/110934002380304132?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook code cells getting Vim and Emacs support - https://pragprog.com/titles/tvmelixir/adopting-elixir/ (https://pragprog.com/titles/tvmelixir/adopting-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Good quote from the “Adopting Elixir” book (published 5 years ago) - https://twitter.com/paraxialio/status/1694832429087728005 (https://twitter.com/paraxialio/status/1694832429087728005?utm_source=thinkingelixir&utm_medium=shownotes) - https://elixirforum.com/t/elixir-saves-pinterest-2-million-year-other-marketing-examples/57909/14 (https://elixirforum.com/t/elixir-saves-pinterest-2-million-year-other-marketing-examples/57909/14?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Saves Pinterest $2 million/year - https://twitter.com/davydog187/status/1694768741467165147 (https://twitter.com/davydog187/status/1694768741467165147?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet by Dave Lucia about what people can accomplish with Elixir and Phoenix in a short amount of time. - https://twitter.com/geolessel/status/1695467313477173313 (https://twitter.com/geolessel/status/1695467313477173313?utm_source=thinkingelixir&utm_medium=shownotes) – Geoffrey Lessel shared observation that the timing page used by the World Cube Association is a Phoenix LiveView page. - https://github.com/thewca/wca-live (https://github.com/thewca/wca-live?utm_source=thinkingelixir&utm_medium=shownotes) – Platform for running WCA competitions and sharing live results with the world created by Jonatan Kłosko - https://twitter.com/AshFramework/status/1696257451857707295 (https://twitter.com/AshFramework/status/1696257451857707295?utm_source=thinkingelixir&utm_medium=shownotes) – Ash Framework experiments with adding a new “atomics” feature. - https://github.com/ash-project/ash/blob/main/documentation/topics/atomics.md (https://github.com/ash-project/ash/blob/main/documentation/topics/atomics.md?utm_source=thinkingelixir&utm_medium=shownotes) – Atomics documentation and design - https://twitter.com/ac_alejos/status/1695562511787983164 (https://twitter.com/ac_alejos/status/1695562511787983164?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir gets a new Reinforcement Learning library named "Rein" for Nx. - https://github.com/DockYard/rein (https://github.com/DockYard/rein?utm_source=thinkingelixir&utm_medium=shownotes) – Rein project on Github - https://fly.io/phoenix-files/star-cross-live-view-processes/ (https://fly.io/phoenix-files/star-cross-live-view-processes/?utm_source=thinkingelixir&utm_medium=shownotes) – Star-Crossed LiveView Processes about linking processes to solve UI design 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://victorbjorklund.com/guide-to-custom-phoenix-phx-new-generator-mix-task (https://victorbjorklund.com/guide-to-custom-phoenix-phx-new-generator-mix-task?utm_source=thinkingelixir&utm_medium=shownotes) - https://jawdropping.io/ (https://jawdropping.io/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/phoenixframework/phoenix/tree/main/installer (https://github.com/phoenixframework/phoenix/tree/main/installer?utm_source=thinkingelixir&utm_medium=shownotes) - https://hex.pm/packages/oban (https://hex.pm/packages/oban?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/BjorklundVictor (https://twitter.com/BjorklundVictor?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/victorbjorklund/ (https://github.com/victorbjorklund/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://genserver.social/victorbjorklund (https://genserver.social/victorbjorklund?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - https://victorbjorklund.com/ (https://victorbjorklund.com/?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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

166: Filtering, ordering and pagination via Flop

August 29, 2023 50:22 36.57 MB Downloads: 0

Most of us have created our own filtering, sorting and pagination code before in one project after the other. Mathias Polligkeit got tired of doing that too and created the flop library to wrap it all into a portable and reusable solution. We talk with Mathias to learn what it can do and are pleased to learn it's surpassed our own solutions. He also created a flop_phoenix package with heex components to help build filter forms and tables. A fun look into an interesting library! Show Notes online - http://podcast.thinkingelixir.com/166 (http://podcast.thinkingelixir.com/166) Elixir Community News - https://bsky.app/profile/josevalim.bsky.social/post/3k56qd2q2xf2g (https://bsky.app/profile/josevalim.bsky.social/post/3k56qd2q2xf2g?utm_source=thinkingelixir&utm_medium=shownotes) – A tease about noticing something new. - https://hexdocs.pm/elixir/main/GenServer.html (https://hexdocs.pm/elixir/main/GenServer.html?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir docs getting diagram support? 1.16.0-dev - https://github.com/erlang/otp/issues/7292#issuecomment-1688181562 (https://github.com/erlang/otp/issues/7292#issuecomment-1688181562?utm_source=thinkingelixir&utm_medium=shownotes) – Followup on that OTP 26 “overrun stack and heap” bug - https://github.com/phoenixframework/dns_cluster (https://github.com/phoenixframework/dns_cluster?utm_source=thinkingelixir&utm_medium=shownotes) – The dnscluster project was brought under the phoenixframework Github org - https://fly.io/phoenix-files/beam-clustering-made-easy/ (https://fly.io/phoenix-files/beam-clustering-made-easy/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about new Phoenix library dnscluster - https://github.com/elixir-tools/next-ls/releases/tag/v0.10.0 (https://github.com/elixir-tools/next-ls/releases/tag/v0.10.0?utm_source=thinkingelixir&utm_medium=shownotes) – Next LS v0.10.0 Released - https://open-vsx.org/extension/elixir-tools/elixir-tools (https://open-vsx.org/extension/elixir-tools/elixir-tools?utm_source=thinkingelixir&utm_medium=shownotes) – Next LS extension is listed on VSCode's open extension repository - https://twitter.com/ashframework/status/1692767604622922152 (https://twitter.com/ashframework/status/1692767604622922152?utm_source=thinkingelixir&utm_medium=shownotes) – The Ash Framework announced the new release of a double-entry accounting project - https://github.com/ash-project/ashdoubleentry (https://github.com/ash-project/ash_double_entry?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/ashdoubleentry/get-started-with-double-entry.html (https://hexdocs.pm/ash_double_entry/get-started-with-double-entry.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://thestackcanary.com/understanding-the-elixir-machine-learning-ecosystem/ (https://thestackcanary.com/understanding-the-elixir-machine-learning-ecosystem/?utm_source=thinkingelixir&utm_medium=shownotes) – Post that connects many ML libraries to their Python counterparts. - https://twitter.com/akoutmos/status/1693669295585161394 (https://twitter.com/akoutmos/status/1693669295585161394?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir tip on using Elixir as a shell scripting solution - https://twitter.com/akoutmos/status/1693322879230672905 (https://twitter.com/akoutmos/status/1693322879230672905?utm_source=thinkingelixir&utm_medium=shownotes) – Version 0.5.0 of DenoEx was released. - https://github.com/akoutmos/deno_ex (https://github.com/akoutmos/deno_ex?utm_source=thinkingelixir&utm_medium=shownotes) - https://deno.com/ (https://deno.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Deno project is a "secure by default" Rust-based alternate JavaScript runtime - https://twitter.com/PJUllrich/status/1693232219198726620 (https://twitter.com/PJUllrich/status/1693232219198726620?utm_source=thinkingelixir&utm_medium=shownotes) – Tip on how we can use tags to more cleanly customize tests. - https://www.peterullrich.com/exunit-context-tags (https://www.peterullrich.com/exunit-context-tags?utm_source=thinkingelixir&utm_medium=shownotes) - https://dagger.io/ (https://dagger.io/?utm_source=thinkingelixir&utm_medium=shownotes) – Dagger.io is a programmable CI/CD engine that runs your pipelines in containers. - https://hex.pm/packages/dagger (https://hex.pm/packages/dagger?utm_source=thinkingelixir&utm_medium=shownotes) – Dagger.io now supports 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) Discussion Resources - https://github.com/woylie/flop (https://github.com/woylie/flop?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/woylie/flop_phoenix (https://github.com/woylie/flop_phoenix?utm_source=thinkingelixir&utm_medium=shownotes) - https://scoville.jp/ (https://scoville.jp/?utm_source=thinkingelixir&utm_medium=shownotes) - https://en.wikipedia.org/wiki/Scoville_scale (https://en.wikipedia.org/wiki/Scoville_scale?utm_source=thinkingelixir&utm_medium=shownotes) - https://elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/25 (https://elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/25?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/flop/Flop.Schema.html (https://hexdocs.pm/flop/Flop.Schema.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/flop/Flop.Filter.html#t:op/0 (https://hexdocs.pm/flop/Flop.Filter.html#t:op/0?utm_source=thinkingelixir&utm_medium=shownotes) - https://relay.dev/graphql/connections.htm (https://relay.dev/graphql/connections.htm?utm_source=thinkingelixir&utm_medium=shownotes) – Specification used in Flop library for cursor pagination - https://hexdocs.pm/flop/Flop.Relay.html (https://hexdocs.pm/flop/Flop.Relay.html?utm_source=thinkingelixir&utm_medium=shownotes) – Format the result sets in an Absinthe structure - https://hexdocs.pm/flop/Flop.html#withnamedbindings/4 (https://hexdocs.pm/flop/Flop.html#with_named_bindings/4?utm_source=thinkingelixir&utm_medium=shownotes) - https://slack.engineering/evolving-api-pagination-at-slack/ (https://slack.engineering/evolving-api-pagination-at-slack/?utm_source=thinkingelixir&utm_medium=shownotes) – Recommended resource on pagination - https://hex.pm/packages/quarto (https://hex.pm/packages/quarto?utm_source=thinkingelixir&utm_medium=shownotes) – Other library that helps with filtering or pagination - https://github.com/drewolson/scrivener (https://github.com/drewolson/scrivener?utm_source=thinkingelixir&utm_medium=shownotes) – Other library that helps with filtering or pagination - https://elixirstream.dev/tips/cfc62b74-3ad9-427e-b9d2-8e8c768f8c57 (https://elixirstream.dev/tips/cfc62b74-3ad9-427e-b9d2-8e8c768f8c57?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/ectopsqlextras/readme.html#records_rank (https://hexdocs.pm/ecto_psql_extras/readme.html#records_rank?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/woylie/flop_phoenix#liveview-streams (https://github.com/woylie/flop_phoenix#liveview-streams?utm_source=thinkingelixir&utm_medium=shownotes) – flop_phoenix with streams Guest Information - https://github.com/woylie/ (https://github.com/woylie/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://www.mathiaspolligkeit.com (https://www.mathiaspolligkeit.com?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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

165: Thinking Elixir News

August 22, 2023 13:09 9.77 MB Downloads: 0

In the news, we cover a new Livebook Desktop feature tease, a new daily bite-sized Elixir newsletter, Supabase's new Supavisor architecture, and Livebook joins the online Spawnfest competition as a sponsor. We also share a PSA about Alpine Docker image troubles with OTP 26 and an Ecto schema introspection tip. Elixir's errors get more helpful when modules aren't found, then a new Hex search tool was created and explained, and much more! Show Notes online - http://podcast.thinkingelixir.com/165 (http://podcast.thinkingelixir.com/165) Elixir Community News - https://twitter.com/wojtekmach/status/1688596696123555855 (https://twitter.com/wojtekmach/status/1688596696123555855?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach teased a new "Check for Updates" Livebook Desktop feature with a screenshot. - https://twitter.com/philipbrown/status/1688885480283156481 (https://twitter.com/philipbrown/status/1688885480283156481?utm_source=thinkingelixir&utm_medium=shownotes) – A new 5-minute daily Elixir newsletter is being launched by Philip Brown and Richard Taylor. - https://twitter.com/kiwicopple/status/1690032065641684992 (https://twitter.com/kiwicopple/status/1690032065641684992?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase shared news of their new Supavisor architecture. - https://github.com/supabase/supavisor (https://github.com/supabase/supavisor?utm_source=thinkingelixir&utm_medium=shownotes) – Github project for the Elixir supavisor Postgres connection pooler - https://supabase.com/blog/supavisor-1-million (https://supabase.com/blog/supavisor-1-million?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post - Supavisor - Scaling Postgres to 1 Million Connections - https://twitter.com/spawnfest/status/1690031606159802368 (https://twitter.com/spawnfest/status/1690031606159802368?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook is joining the online Spawnfest competition as a sponsor. - https://twitter.com/akoutmos/status/1689843816000307200 (https://twitter.com/akoutmos/status/1689843816000307200?utm_source=thinkingelixir&utm_medium=shownotes) – Alex Koutmos shared a PSA for issues running Elixir 1.15+OTP 26 in an Alpine 3.17.4 container. - https://github.com/erlang/otp/issues/7292 (https://github.com/erlang/otp/issues/7292?utm_source=thinkingelixir&utm_medium=shownotes) – OTP issue tracking the problem for OTP 26 - https://twitter.com/akoutmos/status/1689683030162513948 (https://twitter.com/akoutmos/status/1689683030162513948?utm_source=thinkingelixir&utm_medium=shownotes) – Alex Koutmos shared an Ecto Tip about schema introspection. - https://twitter.com/YOOOODAAAA/status/1689701911908249601 (https://twitter.com/YOOOODAAAA/status/1689701911908249601?utm_source=thinkingelixir&utm_medium=shownotes) – Steve Bussey shared an Ecto tip for using test code to introspect schemas and check for missing indexes - https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-2/ (https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-2/?utm_source=thinkingelixir&utm_medium=shownotes) – NextLS will use burrito to distribute binaries instead of Mix.install - https://twitter.com/josevalim/status/1689951699832639489 (https://twitter.com/josevalim/status/1689951699832639489?utm_source=thinkingelixir&utm_medium=shownotes) – Jose Valim drew attention to the Honey Potion project letting you write Elixir code that is compiled down to eBPF - https://en.wikipedia.org/wiki/EBPF (https://en.wikipedia.org/wiki/EBPF?utm_source=thinkingelixir&utm_medium=shownotes) – Background on eBPF - https://www.youtube.com/watch?v=qgT_gMWJuvY (https://www.youtube.com/watch?v=qgT_gMWJuvY?utm_source=thinkingelixir&utm_medium=shownotes) – HoneyPotion project usage demoed in a video - https://github.com/lac-dcc/honey-potion (https://github.com/lac-dcc/honey-potion?utm_source=thinkingelixir&utm_medium=shownotes) – Honey Potion project on Github - https://twitter.com/davydog187/status/1691082535143440385 (https://twitter.com/davydog187/status/1691082535143440385?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir is gaining some more helpful error messages when referencing modules - https://github.com/elixir-lang/elixir/pull/12839 (https://github.com/elixir-lang/elixir/pull/12839?utm_source=thinkingelixir&utm_medium=shownotes) – Merged PR to Improve UndefinedFunctionError for mis-cased module - https://github.com/elixir-lang/elixir/pull/12859 (https://github.com/elixir-lang/elixir/pull/12859?utm_source=thinkingelixir&utm_medium=shownotes) – Merged PR to Improve UndefinedFunctionError for unqualified module - https://fly.io/phoenix-files/let-s-search-all-of-elixir-s-packages/ (https://fly.io/phoenix-files/let-s-search-all-of-elixir-s-packages/?utm_source=thinkingelixir&utm_medium=shownotes) – Jason Stiebs wrote a blog post called “Let's search all of Elixir's Packages!” - https://hex-search.fly.dev/ (https://hex-search.fly.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – Cool Hex search tool created by Jason Stiebs - https://www.theregister.com/2023/08/11/hashicorpbsllicence/ (https://www.theregister.com/2023/08/11/hashicorp_bsl_licence/?utm_source=thinkingelixir&utm_medium=shownotes) – Hashicorp goes “Business Source License” 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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

164: Thinking Elixir News 164

August 15, 2023 7:58 6.04 MB Downloads: 0

News roundup includes the ElixirConf schedule being published, Bumblebee gets streaming text support, Oban Web is getting a big update, Elixir for Cynical Curmudgeons blog post brings broader positive attention, and Elixir Nx being successfully used to follow along with high profile AI examples. Show Notes online - http://podcast.thinkingelixir.com/164 (http://podcast.thinkingelixir.com/164) Elixir Community News - https://2023.elixirconf.com/schedule (https://2023.elixirconf.com/schedule?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf US schedule is up. - https://github.com/elixir-nx/bumblebee/pull/232 (https://github.com/elixir-nx/bumblebee/pull/232?utm_source=thinkingelixir&utm_medium=shownotes) – Merged PR on Bumblebee by Jonatan Kłosko adds support for streaming text generation results. - https://twitter.com/sean_moriarity/status/1687123146787233792 (https://twitter.com/sean_moriarity/status/1687123146787233792?utm_source=thinkingelixir&utm_medium=shownotes) – Sean Moriarity drew attention to Jonatan Kłosko's recent PR work on Bumblebee. - https://twitter.com/sorentwo/status/1687215720067637249 (https://twitter.com/sorentwo/status/1687215720067637249?utm_source=thinkingelixir&utm_medium=shownotes) – Oban Web gets upgraded metrics - https://podcast.thinkingelixir.com/163 (https://podcast.thinkingelixir.com/163?utm_source=thinkingelixir&utm_medium=shownotes) – Our recent interview with Parker Selbert about Oban - https://wiki.alopex.li/ElixirForCynicalCurmudgeons (https://wiki.alopex.li/ElixirForCynicalCurmudgeons?utm_source=thinkingelixir&utm_medium=shownotes) – Hacker News had an Elixir-positive article up for a while called “Elixir For Cynical Curmudgeons” - https://twitter.com/royalicing/status/1687271985548820480 (https://twitter.com/royalicing/status/1687271985548820480?utm_source=thinkingelixir&utm_medium=shownotes) – Library author tip by Patrick Smith to create a test that checks the mix.exs version with the README - https://twitter.com/nickgnd/status/1686827833325133825 (https://twitter.com/nickgnd/status/1686827833325133825?utm_source=thinkingelixir&utm_medium=shownotes) – People are using Elixir Nx to follow along a YouTube video that builds a GPT from scratch. 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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

163: Job Queues using Oban with Parker Selbert

August 08, 2023 55:52 40.53 MB Downloads: 0

If you need background jobs or scheduled tasks in your Elixir project, you've probably already heard of Oban. We talk with Parker Selbert, the creator and maintainer of Oban, to learn more about the project and the additional paid features in Oban Web and Oban Pro. Parker explains the origins, why it's architected the way it is, and how the paid extensions work. We also get some insights into companies using Oban and the kind of scale people reach. Spoiler--100's of millions of jobs is a thing. Show Notes online - http://podcast.thinkingelixir.com/163 (http://podcast.thinkingelixir.com/163) Elixir Community News - https://elixirforum.com/t/nerves-supports-erlang-otp-26-and-elixir-1-15-now/57344 (https://elixirforum.com/t/nerves-supports-erlang-otp-26-and-elixir-1-15-now/57344?utm_source=thinkingelixir&utm_medium=shownotes) – Nerves updated to support OTP 26 and Elixir 1.15 - https://twitter.com/germsvel/status/1686350499967123456 (https://twitter.com/germsvel/status/1686350499967123456?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView 0.19 had some enhancements that German Valesco highlights in a video - https://twitter.com/DNAutics/status/1684418487987441665 (https://twitter.com/DNAutics/status/1684418487987441665?utm_source=thinkingelixir&utm_medium=shownotes) – Zigler 0.10.1 was released - https://github.com/E-xyza/zigler/ (https://github.com/E-xyza/zigler/?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/zigler/beam.html (https://hexdocs.pm/zigler/beam.html?utm_source=thinkingelixir&utm_medium=shownotes) – Zigler's BEAM integration docs - https://twitter.com/wojtekmach/status/1685390898329178114 (https://twitter.com/wojtekmach/status/1685390898329178114?utm_source=thinkingelixir&utm_medium=shownotes) – Private modules in Elixir? Using @moduledoc false - https://elixirforum.com/t/proposal-private-modules-general-discussion/19374 (https://elixirforum.com/t/proposal-private-modules-general-discussion/19374?utm_source=thinkingelixir&utm_medium=shownotes) – Previous discussion on private modules - https://dev.to/savonarola/testing-timer-based-logic-in-elixir-with-klotho-library-2c90 (https://dev.to/savonarola/testing-timer-based-logic-in-elixir-with-klotho-library-2c90?utm_source=thinkingelixir&utm_medium=shownotes) – Klotho library may help with timer based testing logic - https://twitter.com/spawnfest/status/1683788630156877825 (https://twitter.com/spawnfest/status/1683788630156877825?utm_source=thinkingelixir&utm_medium=shownotes) – SpawnFest will be Oct 28 - 29 - https://spawnfest.org/ (https://spawnfest.org/?utm_source=thinkingelixir&utm_medium=shownotes) – SpawnFest is an annual, 48 hour, online software development contest in which teams from around the world get exactly one weekend to create the best BEAM-based app they can. - https://github.com/meanderingstream/dlfoundationsinelixir/blob/main/ElixirFashionMLChallenge/fashionmnistchallenge.livemd (https://github.com/meanderingstream/dl_foundations_in_elixir/blob/main/ElixirFashionML_Challenge/fashion_mnist_challenge.livemd?utm_source=thinkingelixir&utm_medium=shownotes) – There's an ML challenge - https://elixirforum.com/t/elixirfashionmlchallenge-general-discussion-questions/57341 (https://elixirforum.com/t/elixirfashionmlchallenge-general-discussion-questions/57341?utm_source=thinkingelixir&utm_medium=shownotes) – ML challenge discussion thread 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://getoban.pro/ (https://getoban.pro/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/sorentwo/oban (https://github.com/sorentwo/oban?utm_source=thinkingelixir&utm_medium=shownotes) – OSS Oban project - https://podcast.thinkingelixir.com/29 (https://podcast.thinkingelixir.com/29?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview with Parker from January 2021 - https://dscout.com/ (https://dscout.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://getoban.pro/oban (https://getoban.pro/oban?utm_source=thinkingelixir&utm_medium=shownotes) – Oban Web demo - https://github.com/sidekiq/sidekiq (https://github.com/sidekiq/sidekiq?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/sorentwo/kiq (https://github.com/sorentwo/kiq?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/dashbitco/bytepack_archive (https://github.com/dashbitco/bytepack_archive?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/sorentwo (https://twitter.com/sorentwo?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/sorentwo (https://github.com/sorentwo?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://sorentwo.com/ (https://sorentwo.com/?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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

162: Elixir to WebAssembly with Orb

August 01, 2023 50:04 36.36 MB Downloads: 0

WebAssembly is an interesting technology that feels completely separate from Elixir. Patrick Smith created an Elixir project called Orb, an Elixir DSL for WebAssembly. He also shows how a WebAssembly component can play a meaningful role in a LiveView page! We talk more about what WebAssembly is, the promise for the technology, how it can improve UX, and where Patrick sees real practical applications for Elixir developers. Show Notes online - http://podcast.thinkingelixir.com/162 (http://podcast.thinkingelixir.com/162) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/blob/main/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_view/blob/main/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView released v0.19.5 - https://twitter.com/josevalim/status/1681719691503386632 (https://twitter.com/josevalim/status/1681719691503386632?utm_source=thinkingelixir&utm_medium=shownotes) – Will the Elixir type system make it harder for beginners? - https://twitter.com/wojtekmach/status/1683468212975939585 (https://twitter.com/wojtekmach/status/1683468212975939585?utm_source=thinkingelixir&utm_medium=shownotes) – New Req feature that makes it easy to stream a response. - https://andrealeopardi.com/posts/breakdown-of-http-clients-in-elixir/ (https://andrealeopardi.com/posts/breakdown-of-http-clients-in-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea Leopardi wrote a helpful post about HTTP clients in Elixir. - https://www.thestackcanary.com/from-python-pytorch-to-elixir-nx/ (https://www.thestackcanary.com/from-python-pytorch-to-elixir-nx/?utm_source=thinkingelixir&utm_medium=shownotes) – An article titled “From Python to Elixir Machine Learning” has been getting some attention recently about moving from Python PyTorch to Elixir-Nx. - https://twitter.com/sean_moriarity/status/1681422911763107841 (https://twitter.com/sean_moriarity/status/1681422911763107841?utm_source=thinkingelixir&utm_medium=shownotes) – Sean Moriarity's book "Machine Learning in Elixir" is now in beta - https://podcast.thinkingelixir.com/154 (https://podcast.thinkingelixir.com/154?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview with Sean Moriarity - Serving Up AI with Sean Moriarity - https://pragprog.com/titles/smelixir/machine-learning-in-elixir/ (https://pragprog.com/titles/smelixir/machine-learning-in-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Machine Learning in Elixir book - https://twitter.com/ElixirMembrane/status/1679129777490280449 (https://twitter.com/ElixirMembrane/status/1679129777490280449?utm_source=thinkingelixir&utm_medium=shownotes) – The Membrane Framework announced they are planning a conference in October. - https://rtcon.live/ (https://rtcon.live/?utm_source=thinkingelixir&utm_medium=shownotes) – Membrane Framework conference will be October 12-14 in Krakow Poland. - https://twitter.com/IScottMing/status/1682307757695979521 (https://twitter.com/IScottMing/status/1682307757695979521?utm_source=thinkingelixir&utm_medium=shownotes) – Lexical LSP now supports Elixir 1.15 - https://github.com/lexical-lsp/lexical/issues/244 (https://github.com/lexical-lsp/lexical/issues/244?utm_source=thinkingelixir&utm_medium=shownotes) – Github issue for tracking Lexical LSP and OTP 26 support - https://paraxial.io/blog/still-safe (https://paraxial.io/blog/still-safe?utm_source=thinkingelixir&utm_medium=shownotes) – Michael Lubas wrote a new security blog post about Elixir in response to a research paper. 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://twitter.com/royalicing/status/1671689512685301762 (https://twitter.com/royalicing/status/1671689512685301762?utm_source=thinkingelixir&utm_medium=shownotes) – Orb, a friendly DSL for WebAssembly - https://icing.space/2023/introducing-orb (https://icing.space/2023/introducing-orb?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/orb/Orb.html (https://hexdocs.pm/orb/Orb.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/RoyalIcing/Orb (https://github.com/RoyalIcing/Orb?utm_source=thinkingelixir&utm_medium=shownotes) – Orb Github project - https://calculated.world/ (https://calculated.world/?utm_source=thinkingelixir&utm_medium=shownotes) - https://icing.space/2023/how-is-a-webassembly-module-like-a-ruby-class (https://icing.space/2023/how-is-a-webassembly-module-like-a-ruby-class?utm_source=thinkingelixir&utm_medium=shownotes) - https://dockyard.com/blog/2022/09/01/dockyard-r-d-firefly-optimizes-your-elixir-compilation (https://dockyard.com/blog/2022/09/01/dockyard-r-d-firefly-optimizes-your-elixir-compilation?utm_source=thinkingelixir&utm_medium=shownotes) - https://getfirefly.org/ (https://getfirefly.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Firefly project - https://github.com/GetFirefly/firefly (https://github.com/GetFirefly/firefly?utm_source=thinkingelixir&utm_medium=shownotes) – Firefly Github project - https://www.figma.com/blog/webassembly-cut-figmas-load-time-by-3x/ (https://www.figma.com/blog/webassembly-cut-figmas-load-time-by-3x/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.figma.com/ (https://www.figma.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/RoyalIcing/OrbWasmtime (https://github.com/RoyalIcing/OrbWasmtime?utm_source=thinkingelixir&utm_medium=shownotes) - https://hex.pm/packages/rustler (https://hex.pm/packages/rustler?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/viniarck/wasmtime-ex (https://github.com/viniarck/wasmtime-ex?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/tessi/wasmex (https://github.com/tessi/wasmex?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/christhekeele/matcha (https://github.com/christhekeele/matcha?utm_source=thinkingelixir&utm_medium=shownotes) - https://components.guide/color (https://components.guide/color?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/grych/drab (https://github.com/grych/drab?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/royalicing (https://twitter.com/royalicing?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/royalicing/ (https://github.com/royalicing/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://hachyderm.io/@royalicing (https://hachyderm.io/@royalicing?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - https://icing.space/ (https://icing.space/?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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

161: Lexical LS and Elixir Dev UX

July 25, 2023 57:56 42.02 MB Downloads: 0

Language Servers underpin the language specific support we rely on in modern code editors. Lately, there have been new efforts in this area in the Elixir community. We talk with Steve Cohen about his project Lexical LS to learn about his new Elixir Language Server, how long he's been at it, and what it can do today. We learn about some of the technical challenges when creating a tool like this, and why there's still room for new projects in this area. Steve explains how Lexical LS is architected and that it is a goal to be easy to contribute to and work on the Lexical project itself. Time to give it a try! Show Notes online - http://podcast.thinkingelixir.com/161 (http://podcast.thinkingelixir.com/161) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.15.4 (https://github.com/elixir-lang/elixir/releases/tag/v1.15.4?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir v1.15.3 and v1.15.4 were released. v1.15.4 includes fixes for running on Erlang/OTP 26. - https://github.com/elixir-lang/elixir/releases/tag/v1.15.3 (https://github.com/elixir-lang/elixir/releases/tag/v1.15.3?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir v1.15.3 release notes - https://gleam.run/news/v0.30-local-dependencies-and-enhanced-externals/ (https://gleam.run/news/v0.30-local-dependencies-and-enhanced-externals/?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam v0.30 was released - https://news.livebook.dev/whats-new-in-livebook-0.10---introducing-multi-session-livebook-apps-3Dbpss (https://news.livebook.dev/whats-new-in-livebook-0.10---introducing-multi-session-livebook-apps-3Dbpss?utm_source=thinkingelixir&utm_medium=shownotes) – The Livebook v0.10 was released - https://gitlab.com/MachinesAreUs/archeometer (https://gitlab.com/MachinesAreUs/archeometer?utm_source=thinkingelixir&utm_medium=shownotes) – Archeometer analyzes your project and now supports a --format livemd - https://twitter.com/MachinesAreUs/status/1676127531840204800 (https://twitter.com/MachinesAreUs/status/1676127531840204800?utm_source=thinkingelixir&utm_medium=shownotes) – Archeometer Twitter share with Livebook demo - https://gitlab.com/MachinesAreUs/archeometer/-/merge_requests/205 (https://gitlab.com/MachinesAreUs/archeometer/-/merge_requests/205?utm_source=thinkingelixir&utm_medium=shownotes) – MR for the new feature - https://twitter.com/wojtekmach/status/1679919717648138241 (https://twitter.com/wojtekmach/status/1679919717648138241?utm_source=thinkingelixir&utm_medium=shownotes) – Learned about "repotransact" as an alternative to Ecto.Multi - https://tomkonidas.com/repo-transact/ (https://tomkonidas.com/repo-transact/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about repotransact with the code - https://twitter.com/germsvel/status/1678721797561131012 (https://twitter.com/germsvel/status/1678721797561131012?utm_source=thinkingelixir&utm_medium=shownotes) – German Valesco highlighted the new DateTime comparison functions added in Elixir 1.15. - https://github.com/phoenixframework/dns_cluster (https://github.com/phoenixframework/dns_cluster?utm_source=thinkingelixir&utm_medium=shownotes) – DNS Cluster - Simple DNS clustering for distributed Elixir nodes - https://twitter.com/DNAutics/status/1679902629000880128 (https://twitter.com/DNAutics/status/1679902629000880128?utm_source=thinkingelixir&utm_medium=shownotes) – Apical 0.2.0 released - an OpenAPI schema builder - https://0x7f.dev/post/ntp-implementation-in-elixir (https://0x7f.dev/post/ntp-implementation-in-elixir?utm_source=thinkingelixir&utm_medium=shownotes) – Post about implementing a Network Time Protocol in Elixir. - https://erikarow.land/articles/mix-completions (https://erikarow.land/articles/mix-completions?utm_source=thinkingelixir&utm_medium=shownotes) – Post about implementing shell completions for mix tasks - https://www.youtube.com/playlist?list=PLKBMoE8mCkXijPYoLCKtWeHa-q69EYwDf (https://www.youtube.com/playlist?list=PLKBMoE8mCkXijPYoLCKtWeHa-q69EYwDf?utm_source=thinkingelixir&utm_medium=shownotes) – Youtube playlist for published GigCityElixir conference talks 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/lexical-lsp/lexical (https://github.com/lexical-lsp/lexical?utm_source=thinkingelixir&utm_medium=shownotes) – Lexical LS Github project - https://github.com/lexical-lsp/vscode-lexical (https://github.com/lexical-lsp/vscode-lexical?utm_source=thinkingelixir&utm_medium=shownotes) – Lexical VS Code project - https://github.com/lexical-lsp/vscode-lexical#known-issues (https://github.com/lexical-lsp/vscode-lexical#known-issues?utm_source=thinkingelixir&utm_medium=shownotes) – Currently need to using Erlang 25.2 - https://marketplace.visualstudio.com/items?itemName=lexical-lsp.lexical (https://marketplace.visualstudio.com/items?itemName=lexical-lsp.lexical?utm_source=thinkingelixir&utm_medium=shownotes) – VS Marketplace Link for Lexical LS extension - https://venturebeat.com/dev/pinterest-elixir/ (https://venturebeat.com/dev/pinterest-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) - https://discord.com/invite/elixir (https://discord.com/invite/elixir?utm_source=thinkingelixir&utm_medium=shownotes) – Join the Elixir Discord - https://github.com/elixir-lsp/elixir_sense (https://github.com/elixir-lsp/elixir_sense?utm_source=thinkingelixir&utm_medium=shownotes) - https://en.wikipedia.org/wiki/ComparisonofUnicode_encodings (https://en.wikipedia.org/wiki/Comparison_of_Unicode_encodings?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/icecreamcohen (https://twitter.com/icecreamcohen?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/scohen/ (https://github.com/scohen/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github 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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

160: LiveView Async Pattern and Admin Tools

July 18, 2023 54:49 39.77 MB Downloads: 0

After experience with a LiveView “anti-pattern”, Andy Glassman developed an “Async Pattern” for loading data into a LiveView. Andy shares the problem this helps solve and we discuss when it's a good fit. We also talk with Andy about the current state of “admin tools” in Elixir and he shares his feelings on the importance of building admin tools from the start in our projects. Show Notes online - http://podcast.thinkingelixir.com/160 (http://podcast.thinkingelixir.com/160) Elixir Community News - https://twitter.com/josevalim/status/1678411790361718786 (https://twitter.com/josevalim/status/1678411790361718786?utm_source=thinkingelixir&utm_medium=shownotes) – A new Livebook version should have been released with a new “Presentation View” feature - https://2023.elixirconf.com/presenters#speakers (https://2023.elixirconf.com/presenters#speakers?utm_source=thinkingelixir&utm_medium=shownotes) – List of speakers for ElixirConf US 2023 has been released along with their talk topics. - https://paraxial.io/blog/app-audit (https://paraxial.io/blog/app-audit?utm_source=thinkingelixir&utm_medium=shownotes) – Inspecting Elixir Dependencies at Runtime for Security - https://twitter.com/josevalim/status/1678536270664876033 (https://twitter.com/josevalim/status/1678536270664876033?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim completed his live-coding work to load database results directly into Explorer dataframes with ADBC - https://github.com/elixir-explorer/explorer/pull/648 (https://github.com/elixir-explorer/explorer/pull/648?utm_source=thinkingelixir&utm_medium=shownotes) – ADBC work resulted in a PR - https://twitter.com/mitchhanberg/status/1676611642786820096 (https://twitter.com/mitchhanberg/status/1676611642786820096?utm_source=thinkingelixir&utm_medium=shownotes) – Mitch Hanberg announced the first public release of Next LS and an elixir-tools update. - https://www.elixir-tools.dev/news/introducing-next-ls-and-an-elixir-tools-update/ (https://www.elixir-tools.dev/news/introducing-next-ls-and-an-elixir-tools-update/?utm_source=thinkingelixir&utm_medium=shownotes) – To get started with Next LS, either install the “Elixir Tools” NeoVim extension or the “Elixir Tools” VSCode extension. - https://twitter.com/joao_lubien/status/1676983495476891648 (https://twitter.com/joao_lubien/status/1676983495476891648?utm_source=thinkingelixir&utm_medium=shownotes) – Lubien wrote a mix task to turn any Phoenix Site into a static site. - https://github.com/lubien/single-file-phoenix-static/blob/main/lib/mix/tasks/generate_static.ex (https://github.com/lubien/single-file-phoenix-static/blob/main/lib/mix/tasks/generate_static.ex?utm_source=thinkingelixir&utm_medium=shownotes) – Lubien's example mix task - https://tylerayoung.com/2023/07/08/hiring-elixir-devs/ (https://tylerayoung.com/2023/07/08/hiring-elixir-devs/?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler Young wrote a blog post with tips for companies wanting to hire Elixir devs. - https://twitter.com/TylerAYoung/status/1677635466990874626 (https://twitter.com/TylerAYoung/status/1677635466990874626?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler's Twitter thread - https://johnelmlabs.com/posts/magic-link-auth/ (https://johnelmlabs.com/posts/magic-link-auth/?utm_source=thinkingelixir&utm_medium=shownotes) – John Curran wrote up a nice guide for how to build the “magic link” feature into mix gen.auth generated code - https://link.springer.com/article/10.1007/s10664-023-10343-6 (https://link.springer.com/article/10.1007/s10664-023-10343-6?utm_source=thinkingelixir&utm_medium=shownotes) – Paper about Elixir was submitted to the Empirical Software Engineering journal titled “Understanding code smells in Elixir functional language” - https://twitter.com/peregrine/status/1676984142251081728 (https://twitter.com/peregrine/status/1676984142251081728?utm_source=thinkingelixir&utm_medium=shownotes) – Jason Stiebs wrote a post about how “Elixir Docs are Built Different” - https://fly.io/phoenix-files/elixir-docs-are-built-different/ (https://fly.io/phoenix-files/elixir-docs-are-built-different/?utm_source=thinkingelixir&utm_medium=shownotes) – Article that guides people on using the Elixir docs. 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://blog.andyglassman.com/2023/06/phoenix-liveview-async-assign-pattern.html (https://blog.andyglassman.com/2023/06/phoenix-liveview-async-assign-pattern.html?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix Live View - Async Assigns - https://blog.andyglassman.com/2022/08/write-admin-tools-from-day-one.html (https://blog.andyglassman.com/2022/08/write-admin-tools-from-day-one.html?utm_source=thinkingelixir&utm_medium=shownotes) – Write Admin Tools From Day One - https://sway.dm/info/ (https://sway.dm/info/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.empex.co/new-york (https://www.empex.co/new-york?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/aesmail/kaffy (https://github.com/aesmail/kaffy?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.youtube.com/watch?v=3c9kMmxeSA0 (https://www.youtube.com/watch?v=3c9kMmxeSA0?utm_source=thinkingelixir&utm_medium=shownotes) – Andy Glassman - Write Admin Tools from Day One (EMPEX) - https://github.com/pragdave/earmark (https://github.com/pragdave/earmark?utm_source=thinkingelixir&utm_medium=shownotes) - https://activeadmin.info/ (https://activeadmin.info/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/ash-project/ash_admin (https://github.com/ash-project/ash_admin?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.postman.com/collection/ (https://www.postman.com/collection/?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/a_glassman (https://twitter.com/a_glassman?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/aglassman/ (https://github.com/aglassman/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://blog.andyglassman.com/ (https://blog.andyglassman.com/?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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

159: Langchain with Elixir and Safe Ecto Migrations

July 11, 2023 49:39 36.06 MB Downloads: 0

Mark and David share what's caught their interests and focus. Langchain is a popular framework in JS and Python communities for building services that knit together different services enabling people to quickly build impressive demos. Mark talks about the parts of Langchain that interest him and how he's been building ways for Elixir apps to play in that space too. We also catch up with David’s job change, moving, and talk about his ideas around using Oban for managing data migrations in a new way. Show Notes online - http://podcast.thinkingelixir.com/159 (http://podcast.thinkingelixir.com/159) Elixir Community News - https://twitter.com/josevalim/status/1674817111863054337 (https://twitter.com/josevalim/status/1674817111863054337?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir v1.15.2 and Erlang/OTP 26.0.2 are both out. All of the known bugs have been ironed out. This release also contains fixes needed by ElixirLS. ElixirLS release 0.15.1 leverages these. - https://github.com/elixir-lang/elixir/releases/tag/v1.15.1 (https://github.com/elixir-lang/elixir/releases/tag/v1.15.1?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/elixir-lang/elixir/releases/tag/v1.15.2 (https://github.com/elixir-lang/elixir/releases/tag/v1.15.2?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/josevalim/status/1675900744954785796 (https://twitter.com/josevalim/status/1675900744954785796?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir's type system has moved out of the “research” phase into the “development” phase. - https://elixir-lang.org/blog/2023/06/22/type-system-updates-research-dev/ (https://elixir-lang.org/blog/2023/06/22/type-system-updates-research-dev/?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/ElixirConf/status/1675995012453093376 (https://twitter.com/ElixirConf/status/1675995012453093376?utm_source=thinkingelixir&utm_medium=shownotes) – José will be talking more about the Elixir work around types in his ElixirConf US 2023 keynote talk. - https://twitter.com/josevalim/status/1674893183640125442 (https://twitter.com/josevalim/status/1674893183640125442?utm_source=thinkingelixir&utm_medium=shownotes) – José shared where he wants to turn more of his focus in Elixir 1.16. It's all around “docs”. - https://github.com/woodward/integrator (https://github.com/woodward/integrator?utm_source=thinkingelixir&utm_medium=shownotes) – A new Nx focused Hex package by Greg Woodward called “Integrator”. - https://github.com/woodward/integrator/tree/main/guides (https://github.com/woodward/integrator/tree/main/guides?utm_source=thinkingelixir&utm_medium=shownotes) – Includes Livebook guides with samples - https://twitter.com/whatyouhide/status/1675887336339406850 (https://twitter.com/whatyouhide/status/1675887336339406850?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea Leopardi released v2.0.0 of Corsica, an Elixir library for handling CORS requests. - https://hex.pm/packages/corsica (https://hex.pm/packages/corsica?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/voltonez/status/1676125858581422080 (https://twitter.com/voltonez/status/1676125858581422080?utm_source=thinkingelixir&utm_medium=shownotes) – Bram Verburg pointed out AWS RDS database connection failure issue after upgrading to Erlang/OTP 26 is probably due to certificate validation. - https://elixirforum.com/t/aws-rds-castore-certificate-validation-for-aws-rds-dbs/55111 (https://elixirforum.com/t/aws-rds-castore-certificate-validation-for-aws-rds-dbs/55111?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/voltone/awsrdscastore (https://github.com/voltone/aws_rds_castore?utm_source=thinkingelixir&utm_medium=shownotes) – The Hex package awsrdscastore to help manage AWS CA certificates - https://hex.pm/packages/image (https://hex.pm/packages/image?utm_source=thinkingelixir&utm_medium=shownotes) – Image 0.35.0 was released. Updates primarily focused on image contrast. - https://twitter.com/DNAutics/status/1676059564188286976 (https://twitter.com/DNAutics/status/1676059564188286976?utm_source=thinkingelixir&utm_medium=shownotes) – ZigDocs was released - https://hexdocs.pm/zig_doc/Zig.Doc.html (https://hexdocs.pm/zig_doc/Zig.Doc.html?utm_source=thinkingelixir&utm_medium=shownotes) – Integrates Zig documentation into Elixir docs. - https://getoban.pro/releases#1.0.0 (https://getoban.pro/releases#1.0.0?utm_source=thinkingelixir&utm_medium=shownotes) – Oban Pro v1.0 is out without any new features or bugfixes, purely a renamed engine and deprecation cleanup. 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://blog.langchain.dev/announcing-our-10m-seed-round-led-by-benchmark/ (https://blog.langchain.dev/announcing-our-10m-seed-round-led-by-benchmark/?utm_source=thinkingelixir&utm_medium=shownotes) – Langchain announced $10m seed round - https://js.langchain.com/docs/ (https://js.langchain.com/docs/?utm_source=thinkingelixir&utm_medium=shownotes) – Langchain JS docs and introduction to the project - https://python.langchain.com/docs/get_started/introduction.html (https://python.langchain.com/docs/get_started/introduction.html?utm_source=thinkingelixir&utm_medium=shownotes) – Python version of the docs - Be agentic - allow a language model to interact with its environment - https://github.com/orthagonal/langchainex (https://github.com/orthagonal/langchainex?utm_source=thinkingelixir&utm_medium=shownotes) – Existing Elixir library called langchainex. - https://twitter.com/josevalim/status/1668726716947222528 (https://twitter.com/josevalim/status/1668726716947222528?utm_source=thinkingelixir&utm_medium=shownotes) – José talked about OpenAI's new function support - https://openai.com/blog/function-calling-and-other-api-updates (https://openai.com/blog/function-calling-and-other-api-updates?utm_source=thinkingelixir&utm_medium=shownotes) – OpenAI blog announcing official function calling support - https://dscout.com/ (https://dscout.com/?utm_source=thinkingelixir&utm_medium=shownotes) - David is thinking about Oban and data migrations - https://fly.io/phoenix-files/safe-ecto-migrations/ (https://fly.io/phoenix-files/safe-ecto-migrations/?utm_source=thinkingelixir&utm_medium=shownotes) – David wrote a guide on how to run Safe Ecto Migrations for production systems - https://github.com/fly-apps/safe-ecto-migrations (https://github.com/fly-apps/safe-ecto-migrations?utm_source=thinkingelixir&utm_medium=shownotes) – Guide to Safe Ecto Migrations on Github 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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

158: From Ruby to Elixir with Steve Bussey

July 04, 2023 57:21 41.6 MB Downloads: 0

A challenge for many people learning Elixir is the change in the mental model. Coming from OOP to Functional changes how we reason about our applications and the old way doesn't always map over cleanly. Also, Elixir is capable of doing a lot more than other languages and frameworks can and this means learning how to build a “normal” application may change. We talk with Steve Bussey about his new book “From Ruby to Elixir” that aims to help people bridge that gap. While the title says “Ruby”, we discuss how many of the concepts apply to people coming from most OOP languages. We talk about different libraries to recommend to people coming from a traditional Rails stack and more! Show Notes online - http://podcast.thinkingelixir.com/158 (http://podcast.thinkingelixir.com/158) Elixir Community News - https://github.com/livebook-dev/livebook/security/advisories/GHSA-564w-97r7-c6p9 (https://github.com/livebook-dev/livebook/security/advisories/GHSA-564w-97r7-c6p9?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook security advisory for Windows installs - https://twitter.com/livebookdev/status/1671576191461990407 (https://twitter.com/livebookdev/status/1671576191461990407?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook security notice on Twitter - https://www.twitch.tv/josevalim/videos?filter=highlights&sort=time (https://www.twitch.tv/josevalim/videos?filter=highlights&sort=time?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim shared where we can find past Twitch videos - https://elixirforum.com/t/elixir-v1-15-0-released/56584/6 (https://elixirforum.com/t/elixir-v1-15-0-released/56584/6?utm_source=thinkingelixir&utm_medium=shownotes) – Workaround for Elixir 1.15.0 with issues compiling the Erlang dependency sslverifyfun. - https://twitter.com/ac_alejos/status/1672351346278944769 (https://twitter.com/ac_alejos/status/1672351346278944769?utm_source=thinkingelixir&utm_medium=shownotes) – New Decision Tree library called Mockingjay takes advantage of Nx - https://github.com/acalejos/mockingjay (https://github.com/acalejos/mockingjay?utm_source=thinkingelixir&utm_medium=shownotes) – Mockingjay Decision Tree library - https://twitter.com/zachsdaniel1/status/1673278949667885057 (https://twitter.com/zachsdaniel1/status/1673278949667885057?utm_source=thinkingelixir&utm_medium=shownotes) – The EEF (Erlang Ecosystem Foundation) approved the creation of a new working group. - https://erlef.org/wg/libs-and-frameworks (https://erlef.org/wg/libs-and-frameworks?utm_source=thinkingelixir&utm_medium=shownotes) – the Libraries and Frameworks working group page - https://twitter.com/ZachSDaniel1/status/1672248650502660098 (https://twitter.com/ZachSDaniel1/status/1672248650502660098?utm_source=thinkingelixir&utm_medium=shownotes) – Ash Framework released 2.11.0-rc.0 is out - https://github.com/CargoSense/briefly (https://github.com/CargoSense/briefly?utm_source=thinkingelixir&utm_medium=shownotes) – Noticed "briefly" is a library to help manage temporary files - https://twitter.com/DNAutics/status/1672828839574089728 (https://twitter.com/DNAutics/status/1672828839574089728?utm_source=thinkingelixir&utm_medium=shownotes) – Isaac Yonemoto released 0.1 of his OpenAPI router library Apical - https://hexdocs.pm/apical (https://hexdocs.pm/apical?utm_source=thinkingelixir&utm_medium=shownotes) – Apical github project - https://www.elixir-tools.dev/next-ls/ (https://www.elixir-tools.dev/next-ls/?utm_source=thinkingelixir&utm_medium=shownotes) – Mitch Hanberg sharing some early progress with his Next-LS project. - https://twitter.com/royalicing/status/1671689512685301762 (https://twitter.com/royalicing/status/1671689512685301762?utm_source=thinkingelixir&utm_medium=shownotes) – Patrick Smith shared a sneak peak of a new library called Orb for compiling Elixir code to WebAssembly - https://github.com/ComponentsGuide/componentsguide/tree/master/lib/componentsguide/wasm (https://github.com/ComponentsGuide/components_guide/tree/master/lib/components_guide/wasm?utm_source=thinkingelixir&utm_medium=shownotes) – The OpenSource project where Orb code will be extracted from. 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://twitter.com/YOOOODAAAA/status/1663988571047354371 (https://twitter.com/YOOOODAAAA/status/1663988571047354371?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter post announcing Beta version of the book. - https://pragprog.com/titles/sbelixir/from-ruby-to-elixir/ (https://pragprog.com/titles/sbelixir/from-ruby-to-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.supered.io/ (https://www.supered.io/?utm_source=thinkingelixir&utm_medium=shownotes) - https://pragprog.com/titles/sbsockets/real-time-phoenix/ (https://pragprog.com/titles/sbsockets/real-time-phoenix/?utm_source=thinkingelixir&utm_medium=shownotes) – Previous book "Real-Time Phoenix” published in March 2020. - https://www.supered.io (https://www.supered.io?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/elixir-tesla/tesla (https://github.com/elixir-tesla/tesla?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/wojtekmach/req (https://github.com/wojtekmach/req?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/YOOOODAAAA (https://twitter.com/YOOOODAAAA?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/sb8244/ (https://github.com/sb8244/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - http://www.stephenbussey.com/ (http://www.stephenbussey.com/?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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

157: Adding Dialyzer Late in the Game

June 27, 2023 53:37 38.91 MB Downloads: 0

Dialyzer is something that eventually everyone hears about in the Elixir community. It's a static code analysis tool that has both fans and detractors, and with good reasons on both sides! We talk with Noah Betzen about how he brought Dialyzer to several mature Elixir projects. He wanted the benefits of finding and fixing bugs and to prevent new problems from being added. He shared tools, strategies and other resources for how to get started without stopping everything to fix all the existing problems. If you've ever tried to add Dialyzer to a project and aborted, then this discussion may give you the courage and the tools to try again! Show Notes online - http://podcast.thinkingelixir.com/157 (http://podcast.thinkingelixir.com/157) Elixir Community News - https://elixir-lang.org/blog/2023/06/19/elixir-v1-15-0-released/ (https://elixir-lang.org/blog/2023/06/19/elixir-v1-15-0-released/?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.15 release blog post - https://github.com/elixir-lang/elixir/releases/tag/v1.15.0 (https://github.com/elixir-lang/elixir/releases/tag/v1.15.0?utm_source=thinkingelixir&utm_medium=shownotes) – full release notes - https://twitter.com/josevalim/status/1670879654134050828 (https://twitter.com/josevalim/status/1670879654134050828?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's tweet about reported compilation time improvements - https://elixirforum.com/t/elixir-v1-15-0-released/56584 (https://elixirforum.com/t/elixir-v1-15-0-released/56584?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirForum.com post about the release with comments, feedback, and workarounds for issues. - https://github.com/phoenixframework/phoenix/blob/v1.7.4/CHANGELOG.md (https://github.com/phoenixframework/phoenix/blob/v1.7.4/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix 1.7.4 (then up to 1.7.6) was released with a small, but handy fix around deploying with active websockets - https://survey.stackoverflow.co/2023/ (https://survey.stackoverflow.co/2023/?utm_source=thinkingelixir&utm_medium=shownotes) – StackOverflow Developer Survey results - https://survey.stackoverflow.co/2023/#technology-most-popular-technologies (https://survey.stackoverflow.co/2023/#technology-most-popular-technologies?utm_source=thinkingelixir&utm_medium=shownotes) – Most popular technologies - https://survey.stackoverflow.co/2023/#section-top-paying-technologies-top-paying-technologies (https://survey.stackoverflow.co/2023/#section-top-paying-technologies-top-paying-technologies?utm_source=thinkingelixir&utm_medium=shownotes) – Top paying technologies - https://survey.stackoverflow.co/2023/#section-admired-and-desired-web-frameworks-and-technologies (https://survey.stackoverflow.co/2023/#section-admired-and-desired-web-frameworks-and-technologies?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix is the most admired web framework and technology - https://twitter.com/bcardarella/status/1669423297518264320 (https://twitter.com/bcardarella/status/1669423297518264320?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView Native got animated charts working in SwiftCharts - https://twitter.com/moomerman/status/1670021284900614144 (https://twitter.com/moomerman/status/1670021284900614144?utm_source=thinkingelixir&utm_medium=shownotes) – Apache ECharts with LiveView - https://huggingface.co/blog/livebook-app-deployment (https://huggingface.co/blog/livebook-app-deployment?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's has a Livebook blog post on the Hugging Face blog. - https://twitter.com/thibaut_barrere/status/1670789241436028931 (https://twitter.com/thibaut_barrere/status/1670789241436028931?utm_source=thinkingelixir&utm_medium=shownotes) – Using IEx helpers in Livebook cells - import IEx.Helpers - https://twitter.com/germsvel/status/1669669754305404928 (https://twitter.com/germsvel/status/1669669754305404928?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco has created a number of short tip videos that now have a home on ElixirStreams.com - https://twitter.com/elixirphoenix/status/1670856560480747526 (https://twitter.com/elixirphoenix/status/1670856560480747526?utm_source=thinkingelixir&utm_medium=shownotes) – Adding Bandit to a Phoenix 1.7 project fits in a single tweet - https://erlef.org/events (https://erlef.org/events?utm_source=thinkingelixir&utm_medium=shownotes) – The EEF (Erlang Ecosystem Foundation) has an "events" page.1 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://fly.io/phoenix-files/adding-dialyzer-without-the-pain/ (https://fly.io/phoenix-files/adding-dialyzer-without-the-pain/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post with more resources and code - https://www.erlang.org/doc/man/dialyzer.html (https://www.erlang.org/doc/man/dialyzer.html?utm_source=thinkingelixir&utm_medium=shownotes) – Dialyzer docs - https://github.com/jeremyjh/dialyxir (https://github.com/jeremyjh/dialyxir?utm_source=thinkingelixir&utm_medium=shownotes) – Dialyxir project - https://github.com/jeremyjh/dialyxir/pull/493 (https://github.com/jeremyjh/dialyxir/pull/493?utm_source=thinkingelixir&utm_medium=shownotes) – PR to add new format for ignorefilestrict - https://elixirforum.com/t/blog-post-adding-dialyzer-without-the-pain/56461 (https://elixirforum.com/t/blog-post-adding-dialyzer-without-the-pain/56461?utm_source=thinkingelixir&utm_medium=shownotes) – Feedback to blog post that we discuss - https://www.youtube.com/watch?v=4PZE40h13wM (https://www.youtube.com/watch?v=4PZE40h13wM?utm_source=thinkingelixir&utm_medium=shownotes) – Slaying the Type Hydra, or How We Went from 12,000 Dialyzer Errors to None | Jesper Eskilson - Senior Engineer at Klarna - https://github.com/bamorim/typedectoschema (https://github.com/bamorim/typed_ecto_schema?utm_source=thinkingelixir&utm_medium=shownotes) - https://podcast.thinkingelixir.com/72 (https://podcast.thinkingelixir.com/72?utm_source=thinkingelixir&utm_medium=shownotes) – Interview about type_check - https://github.com/Qqwy/elixir-type_check (https://github.com/Qqwy/elixir-type_check?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/lexical-lsp/lexical (https://github.com/lexical-lsp/lexical?utm_source=thinkingelixir&utm_medium=shownotes) – Lexical Language Server - https://github.com/elixir-tools/next-ls (https://github.com/elixir-tools/next-ls?utm_source=thinkingelixir&utm_medium=shownotes) – Next-LS Language Server - https://smartlogic.io/podcast/elixir-wizards/s10-e12-jose-guillaume-giuseppe-types-elixir/ (https://smartlogic.io/podcast/elixir-wizards/s10-e12-jose-guillaume-giuseppe-types-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim, Guillaume Duboc, and Giuseppe Castagna discussing static types in Elixir Guest Information - https://twitter.com/Nezteb (https://twitter.com/Nezteb?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/Nezteb/ (https://github.com/Nezteb/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://genserver.social/Nezteb/ (https://genserver.social/Nezteb/?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - https://nezteb.net (https://nezteb.net?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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

156: React to LiveView for Performance

June 20, 2023 45:08 32.8 MB Downloads: 0

When their React app stuttered and slowed with the hundreds of items they needed to display, Tim Gremore tried it out as a LiveView rendered page and found they could scale to thousands without issue. The LiveView version was so responsive the users thought it must not be working because there was no delay to register the changes! Tim shares their journey migrating a service from React to LiveView to solve their issue. He shares tips, what they learned in the process and more! Show Notes online - http://podcast.thinkingelixir.com/156 (http://podcast.thinkingelixir.com/156) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.15.0-rc.2 (https://github.com/elixir-lang/elixir/releases/tag/v1.15.0-rc.2?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.15.0-rc.2 - https://elixirforum.com/t/elixir-v1-15-0-rc-2-released/56450 (https://elixirforum.com/t/elixir-v1-15-0-rc-2-released/56450?utm_source=thinkingelixir&utm_medium=shownotes) – Release announcement on ElixirForum - https://danschultzer.com/posts/prefixed-base62-uuidv7-object-ids-with-ecto (https://danschultzer.com/posts/prefixed-base62-uuidv7-object-ids-with-ecto?utm_source=thinkingelixir&utm_medium=shownotes) – Automated UUIDs with human-friendly prefixes - blog post by Dan Schultzer - https://twitter.com/sean_moriarity/status/1668371536481337346 (https://twitter.com/sean_moriarity/status/1668371536481337346?utm_source=thinkingelixir&utm_medium=shownotes) – Decision trees get the ability to be compiled to Nx/EXLA - https://twitter.com/sean_moriarity/status/1668053540302999552 (https://twitter.com/sean_moriarity/status/1668053540302999552?utm_source=thinkingelixir&utm_medium=shownotes) – Sean Moriarity teased an image showing EXLA_TARGET=metal - https://github.com/phoenixframework/phoenixliveview/blob/v0.19.2/CHANGELOG.md#L1 (https://github.com/phoenixframework/phoenix_live_view/blob/v0.19.2/CHANGELOG.md#L1?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView 0.19.1 and 0.19.2 - minor bug fix releases - https://hauleth.dev/post/beam-process-memory-usage/ (https://hauleth.dev/post/beam-process-memory-usage/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post from Hauleth, “How much memory is needed to run 1M Erlang processes?” - https://paraxial.io/blog/exploit-guard (https://paraxial.io/blog/exploit-guard?utm_source=thinkingelixir&utm_medium=shownotes) – ExploitGuard blog post is a security focused tool - https://github.com/paraxialio/exploit_guard (https://github.com/paraxialio/exploit_guard?utm_source=thinkingelixir&utm_medium=shownotes) – Github project for ExploitGuard - aims to help prevent RCE (Remote Code Execution) - https://github.com/ferd/recon/ (https://github.com/ferd/recon/?utm_source=thinkingelixir&utm_medium=shownotes) – Recon library - https://www.twitch.tv/josevalim (https://www.twitch.tv/josevalim?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's Twitch account - https://smartlogic.io/podcast/elixir-wizards/s10-e12-jose-guillaume-giuseppe-types-elixir/ (https://smartlogic.io/podcast/elixir-wizards/s10-e12-jose-guillaume-giuseppe-types-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirWizards podcast interview with José Valim, Guillaume Duboc, and Giuseppe Castagna about Elixir and a type system - https://twitter.com/bcardarella/status/1666995102542118913 (https://twitter.com/bcardarella/status/1666995102542118913?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView Native gets SwiftCharts support 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://twitter.com/dpaola2/status/1654591023341772803 (https://twitter.com/dpaola2/status/1654591023341772803?utm_source=thinkingelixir&utm_medium=shownotes) – The tweet that inspired the discussion - https://usebirdseye.com (https://usebirdseye.com?utm_source=thinkingelixir&utm_medium=shownotes) – Birdseye - the app being discussed - https://expo.dev/ (https://expo.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – Cross-platform mobile framework - https://usebirdseye.com/ (https://usebirdseye.com/?utm_source=thinkingelixir&utm_medium=shownotes) – The task management service being discussed - https://github.com/chrismccord/todo_trek (https://github.com/chrismccord/todo_trek?utm_source=thinkingelixir&utm_medium=shownotes) – A trello-like todo board which shows off different dynamic form strategies with Phoenix LiveView. Guest Information - https://twitter.com/timgremore (https://twitter.com/timgremore?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/timgremore/ (https://github.com/timgremore/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://headway.io/ (https://headway.io/?utm_source=thinkingelixir&utm_medium=shownotes) – Headway company - https://usebirdseye.com (https://usebirdseye.com?utm_source=thinkingelixir&utm_medium=shownotes) – Birdseye task management app 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) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)