Winamp Logo
Thinking Elixir Podcast Cover
Thinking Elixir Podcast Profile

Thinking Elixir Podcast

English, Education, 1 season, 187 episodes, 5 days, 15 hours, 51 minutes
About
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.
Episode Artwork

187: Thinking Elixir News 187

In this episode, we celebrate the incredible ten-year journey of the Phoenix framework, marvel at the new interactive language tour by Gleam, explore the latest features of ElixirLS v0.19.0 designed to enhance the developer experience, and delve into Erlang's big leap towards adopting ExDoc for its documentation. Stay tuned for these exciting developments in the Elixir ecosystem and more! Show Notes online - http://podcast.thinkingelixir.com/187 (http://podcast.thinkingelixir.com/187) Elixir Community News - https://twitter.com/chris_mccord/status/1748007024921542707 (https://twitter.com/chris_mccord/status/1748007024921542707?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord celebrated the 10th anniversary of his first commit to Phoenix, listing major features added over time. - https://gleam.run/news/v0.34-multi-target-projects/ (https://gleam.run/news/v0.34-multi-target-projects/?utm_source=thinkingelixir&utm_medium=shownotes) – Release of Gleam v0.34 introduces Multi-target projects. - https://gleam.run/news/gleams-new-interactive-language-tour/ (https://gleam.run/news/gleams-new-interactive-language-tour/?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam adds a new interactive language tour that works directly in the browser. - https://github.com/elixir-tools/next-ls/releases/tag/v0.16.0 (https://github.com/elixir-tools/next-ls/releases/tag/v0.16.0?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Next LS v0.16.0 release for Elixir with new features including OpenTelemetry and logging. - https://github.com/elixir-lsp/elixir-ls/releases/tag/v0.19.0 (https://github.com/elixir-lsp/elixir-ls/releases/tag/v0.19.0?utm_source=thinkingelixir&utm_medium=shownotes) – Release notes for ElixirLS v0.19.0, highlighting on-type parsing for Phoenix .heex files and workspace symbols improvements. - https://github.com/erlang/otp/pull/8026 (https://github.com/erlang/otp/pull/8026?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang adopts ExDocs for documentation, starting transition with a huge PR converting docs from XML to Markdown. - https://erlang.github.io/prs/8026/doc/readme.html (https://erlang.github.io/prs/8026/doc/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – Read the updated Erlang documentation using ExDoc and conforming to EEP-59 style. - https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtBoR52raL_l7XQIb1YH-H7 (https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtBoR52raL_l7XQIb1YH-H7?utm_source=thinkingelixir&utm_medium=shownotes) – YouTube Playlist featuring talks from ElixirConf EU held in April 2023. - https://www.elixirconf.eu/archives/lisbon_2023/index.html (https://www.elixirconf.eu/archives/lisbon_2023/index.html?utm_source=thinkingelixir&utm_medium=shownotes) – Archive page for ElixirConf EU 2023 with information about the event and 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) 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)
1/30/202414 minutes, 30 seconds
Episode Artwork

186: Thinking Elixir News 186

In today's episode, we peek into Elixir's impact on operational costs and developer experience, highlighted by Amplified's move to Elixir and insights from José Valim. Learn about the latest community discussions, including a tip for Elixir package maintainers. Plus, there's a buzz about the upcoming NervesConf US. Join us for these stories and more! Show Notes online - http://podcast.thinkingelixir.com/186 (http://podcast.thinkingelixir.com/186) Elixir Community News - https://www.youtube.com/watch?v=mrFwWuD7gVo (https://www.youtube.com/watch?v=mrFwWuD7gVo?utm_source=thinkingelixir&utm_medium=shownotes) – DockYard posted an Elixir Roundtable interview with Chris Grainger discussing Amplified's switch from Python to Elixir, leading to a significant AWS bill reduction. - https://twitter.com/cigrainger/status/1745371714660258169 (https://twitter.com/cigrainger/status/1745371714660258169?utm_source=thinkingelixir&utm_medium=shownotes) – Chris Grainger tweeted about cutting AWS costs in half by utilizing tools like Nx, Axon, OTP, and Broadway after moving to Elixir from Prefect and Spark. - https://twitter.com/josevalim/status/1745431023893024827 (https://twitter.com/josevalim/status/1745431023893024827?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim discussed on Twitter the benefits of reducing operational complexity with Elixir and how it can also slash AWS bills. - https://twitter.com/zachsdaniel1/status/1745894060890452476 (https://twitter.com/zachsdaniel1/status/1745894060890452476?utm_source=thinkingelixir&utm_medium=shownotes) – Zach Daniel reminds Elixir package maintainers on Twitter to update ex_doc to benefit from its ongoing improvements and suggests using mix hex.publish docs for updating documentation. - José Valim suggested checking the Hex API for new ex_doc versions and willing to accept a PR for a warning implementation, exemplifying OpenSource collaboration. - https://www.thestackcanary.com/phoenix-liveuploads-pdf/ (https://www.thestackcanary.com/phoenix-liveuploads-pdf/?utm_source=thinkingelixir&utm_medium=shownotes) – Andrés X Alejos created a tutorial on integrating Phoenix LiveView with pdf.js for handling PDF previews in applications. - https://elixirforum.com/t/elixir-forum-2024-update/61007 (https://elixirforum.com/t/elixir-forum-2024-update/61007?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Forum 2024 Update mentions a discount section, the Ash Framework moving there for support, added chat features, and teases more features for 2024. - https://nervesconf.us/ (https://nervesconf.us/?utm_source=thinkingelixir&utm_medium=shownotes) – NervesConf US announcement for May 9th, 2024, in Chattanooga, Tenn, calling for speakers and mentioning the CFP is open for all levels and Nerves-related topics. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
1/23/20247 minutes, 18 seconds
Episode Artwork

185: InstructorEx for LLMs

Dive into the world of structured LLM prompting with our latest guest who shares insights on their innovative project, InstructorEx. We'll explore how this tool is pushing the boundaries of large language models to return structured data, particularly JSON, and the benefits it offers when integrated into existing systems. The conversation takes a deep dive into the challenges and solutions of forcing LLMs to output data in desirable formats using Elixir technology, like Ecto schemas, and what it means to treat an LLM like a digital human, even applying it to tasks like spam detection in emails. Discover the intriguing concept of using a local database as a cache for LLM results. If you're curious about the intersection of structured data, Python experience transition to Elixir, and the future of LLM integration, this is an episode not to miss. Tune in for these engaging topics and more! Show Notes online - http://podcast.thinkingelixir.com/185 (http://podcast.thinkingelixir.com/185) Elixir Community News - https://twitter.com/spawnfest/status/1743987039345782978 (https://twitter.com/spawnfest/status/1743987039345782978?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement and prize awarding of the SpawnFest winners. - https://spawnfest.org/2023.html (https://spawnfest.org/2023.html?utm_source=thinkingelixir&utm_medium=shownotes) – Official SpawnFest 2023 webpage with details on the projects and winners. - https://github.com/spawnfest/heimdall (https://github.com/spawnfest/heimdall?utm_source=thinkingelixir&utm_medium=shownotes) – 1st Place Overall at SpawnFest, Heimdall is a web app for secure and easy sharing of sensitive data. - https://github.com/spawnfest/fluffytrain (https://github.com/spawnfest/fluffytrain?utm_source=thinkingelixir&utm_medium=shownotes) – 2nd Place Overall at SpawnFest, Fluffytrain is a web app for generating working Elixir code using OpenAI GPT-4. - https://github.com/spawnfest/tabtab (https://github.com/spawnfest/tabtab?utm_source=thinkingelixir&utm_medium=shownotes) – 3rd Place Overall at SpawnFest, tabtab is an autocompletion generator plugin for Erlang's rebar3. - https://github.com/spawnfest/arizona (https://github.com/spawnfest/arizona?utm_source=thinkingelixir&utm_medium=shownotes) – Arizona, an Erlang Web Framework, was one of the highlighted projects at SpawnFest. - https://github.com/spawnfest/latch (https://github.com/spawnfest/latch?utm_source=thinkingelixir&utm_medium=shownotes) – Latch, a tool for viewing OpenTelemetry data in real-time was a highlighted project at SpawnFest. - https://github.com/spawnfest/youcan (https://github.com/spawnfest/youcan?utm_source=thinkingelixir&utm_medium=shownotes) – Youcan, an Elixir library for using UCANs in app authorization flows, featured at SpawnFest. - https://ucan.xyz/ (https://ucan.xyz/?utm_source=thinkingelixir&utm_medium=shownotes) – UCAN.xyz, related to the Youcan Elixir library for user-controlled authorization networks. - https://github.com/spawnfest/lorax (https://github.com/spawnfest/lorax?utm_source=thinkingelixir&utm_medium=shownotes) – Lorax, a Livebook app implementing LoRA for fine-tuning language models, was highlighted at SpawnFest. - https://github.com/spawnfest/karel_dreams (https://github.com/spawnfest/karel_dreams?utm_source=thinkingelixir&utm_medium=shownotes) – SpawnFest's highlighted project Karel_dreams, a Livebook app for controlling a robot with AI or script. - https://twitter.com/josevalim/status/1744395345872683471 (https://twitter.com/josevalim/status/1744395345872683471?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim celebrates Elixir's 13th anniversary and announces Elixir as a gradually typed language. - https://twitter.com/bcardarella/status/1743370338254139712 (https://twitter.com/bcardarella/status/1743370338254139712?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of LiveView Native v0.2.0-rc.1 release and upcoming changes. - https://twitter.com/germsvel/status/1744686958196973787 (https://twitter.com/germsvel/status/1744686958196973787?utm_source=thinkingelixir&utm_medium=shownotes) – German Valesco shares a tip about LiveView helpers for creating pipe-friendly functions in Elixir. - https://codebeamamerica.com/ (https://codebeamamerica.com/?utm_source=thinkingelixir&utm_medium=shownotes) – CodeBeam America conference information, happening on March 7-8, 2024 in San Francisco and virtually. - https://twitter.com/sasajuric/status/1744649232793886963 (https://twitter.com/sasajuric/status/1744649232793886963?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet about CodeBeam America conference. 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/thmsmlr/instructor_ex (https://github.com/thmsmlr/instructor_ex?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/thmsmlr/status/1736645576324784375 (https://twitter.com/thmsmlr/status/1736645576324784375?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.stitchfix.com/ (https://www.stitchfix.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://docs.pydantic.dev/latest/ (https://docs.pydantic.dev/latest/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/boudra/jaxon (https://github.com/boudra/jaxon?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/ggerganov/llama.cpp (https://github.com/ggerganov/llama.cpp?utm_source=thinkingelixir&utm_medium=shownotes) - https://fly.io/phoenix-files/using-llama-cpp-with-elixir-and-rustler/ (https://fly.io/phoenix-files/using-llama-cpp-with-elixir-and-rustler/?utm_source=thinkingelixir&utm_medium=shownotes) - https://hadoop.apache.org/ (https://hadoop.apache.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://pig.apache.org/ (https://pig.apache.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.r-project.org/ (https://www.r-project.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://fly.io/blog/rethinking-serverless-with-flame/ (https://fly.io/blog/rethinking-serverless-with-flame/?utm_source=thinkingelixir&utm_medium=shownotes) - BNF Grammar enforcement for JSON output - https://www.linkedin.com/company/modal-labs/ (https://www.linkedin.com/company/modal-labs/?utm_source=thinkingelixir&utm_medium=shownotes) - https://airflow.apache.org/ (https://airflow.apache.org/?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/thmsmlr (https://twitter.com/thmsmlr?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/thmsmlr/ (https://github.com/thmsmlr/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://thmsmlr.com/ (https://thmsmlr.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)
1/16/202454 minutes, 35 seconds
Episode Artwork

184: Magic Links

In the news, we dive into a mix of intriguing Elixir updates and innovative developments. We explore the convenient and versatile Testcontainers project, designed to streamline your testing environment, and touch on Zach Daniel's efforts to integrate bulk operations into the Ash Framework. German Velasco has been busy sharing a wealth of tips on ElixirStreams.com, and we stumbled upon a rare gem, a Windows-focused Elixir library that bridges the gap with Azure authentication services. But the heart of our discussion revolves around the magic of "magic links" in Phoenix applications. We delve deep into how these links offer a seamless user experience by simplifying authentication, the challenges they may pose, and the impressive ways they can refine your developer workflow. Stay tuned for these updates and more in the show! Show Notes online - http://podcast.thinkingelixir.com/184 (http://podcast.thinkingelixir.com/184) Elixir Community News - https://github.com/testcontainers (https://github.com/testcontainers?utm_source=thinkingelixir&utm_medium=shownotes) – Website for Testcontainers, a project for developing in multiple languages without needing a local test database. - https://github.com/testcontainers/testcontainers-elixir (https://github.com/testcontainers/testcontainers-elixir?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir-specific project under Testcontainers created by Jarl André Hübenthal, allowing for automated container management in test mode. - https://twitter.com/ZachSDaniel1/status/1741260030748324287 (https://twitter.com/ZachSDaniel1/status/1741260030748324287?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet by Zach Daniel discussing his work on adding bulk operations into the Ash Framework. - https://elixirforum.com/t/basic-bulk-actions-atomics-new-stream-options-error-2-expression/60496?u=zachdaniel (https://elixirforum.com/t/basic-bulk-actions-atomics-new-stream-options-error-2-expression/60496?u=zachdaniel?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Forum thread where Zach Daniel explains the bulk operations feature for the Ash Framework. - https://twitter.com/germsvel/status/1740707041373503771 (https://twitter.com/germsvel/status/1740707041373503771?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco's announcement on Twitter about his ongoing series of Elixir tips and a list of top videos on ElixirStreams.com. - https://github.com/chgeuer/exwindowsapi_dataprotection (https://github.com/chgeuer/ex_windows_api_dataprotection?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for an Elixir library that provides access to the Windows Data Protection API, useful for Azure services on Windows. - https://www.youtube.com/watch?v=eM8vl7pgRJM (https://www.youtube.com/watch?v=eM8vl7pgRJM?utm_source=thinkingelixir&utm_medium=shownotes) – Andrew Stewart's video tutorial on adding magic links to a Phoenix application for passwordless authentication. - https://andrewian.dev/blog/magic-links (https://andrewian.dev/blog/magic-links?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post by Andrew Stewart detailing the implementation of magic links in Phoenix applications. 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://haveibeenpwned.com/ (https://haveibeenpwned.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Resource for checking if an email address or password has been part of a data breach. - https://github.com/dashbitco/nimble_totp (https://github.com/dashbitco/nimble_totp?utm_source=thinkingelixir&utm_medium=shownotes) – NimbleTOTP - A tiny Elixir library for time-based one time passwords (TOTP) 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)
1/9/202423 minutes, 4 seconds
Episode Artwork

183: Thinking Elixir News

We kick off the new year diving into the freshly released Elixir 1.16.0 with new features like enhanced documentation and improved error reporting. We explore the burgeoning Elixir Machine Learning ecosystem, and discuss the innovative use of Llama.cpp with Elixir for machine learning on less powerful hardware. We also touch on the release of Benchee 1.3.0, which focuses on improving memory usage in benchmarks, and introduce Magma AI Prompt IDE, a handy tool for Elixir developers looking to streamline their project knowledge and documentation process. Plus, we unveil Adobe's Elixir Styler for smarter code formatting, and share insights on the comprehensive Membrane SDK release for multimedia enthusiasts, and more! Show Notes online - http://podcast.thinkingelixir.com/183 (http://podcast.thinkingelixir.com/183) Elixir Community News - https://elixir-lang.org/blog/2023/12/22/elixir-v1-16-0-released/ (https://elixir-lang.org/blog/2023/12/22/elixir-v1-16-0-released/?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Elixir 1.16.0 release, including features like code snippets in diagnostics, revamped documentation, and a living anti-patterns reference. - https://www.thestackcanary.com/understanding-the-elixir-machine-learning-ecosystem/ (https://www.thestackcanary.com/understanding-the-elixir-machine-learning-ecosystem/?utm_source=thinkingelixir&utm_medium=shownotes) – Andrés Alejos's introduction to Machine Learning in Elixir through a glossary of libraries. - https://fly.io/phoenix-files/using-llama-cpp-with-elixir-and-rustler/ (https://fly.io/phoenix-files/using-llama-cpp-with-elixir-and-rustler/?utm_source=thinkingelixir&utm_medium=shownotes) – Jason Stiebs's article on using LLama.cpp with Elixir and Rustler for running machine learning models on CPU with lesser hardware requirements. - https://github.com/jeregrine/llamacppex (https://github.com/jeregrine/llama_cpp_ex?utm_source=thinkingelixir&utm_medium=shownotes) – Github repository for "Llama CPP Ex," a Hex package by Jason Stiebs to integrate LLama.cpp with Elixir. - https://pragtob.wordpress.com/2023/12/22/benchee-1-3-0-published-oh-save-the-memory/ (https://pragtob.wordpress.com/2023/12/22/benchee-1-3-0-published-oh-save-the-memory/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about the release of Benchee 1.3.0 focusing on memory savings. - https://github.com/bencheeorg/benchee (https://github.com/bencheeorg/benchee?utm_source=thinkingelixir&utm_medium=shownotes) – Github repository for Benchee, a benchmarking tool for Elixir. - https://pragtob.wordpress.com/2023/12/18/careful-what-data-you-send-or-how-to-tank-your-performance-with-task-async/ (https://pragtob.wordpress.com/2023/12/18/careful-what-data-you-send-or-how-to-tank-your-performance-with-task-async/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post by Tobi Pfeiffer on how the size of data passed between processes can impact performance in Elixir. - https://github.com/elixir-lang/elixir/pull/13173/files (https://github.com/elixir-lang/elixir/pull/13173/files?utm_source=thinkingelixir&utm_medium=shownotes) – Github pull request showing code changes to the Elixir language. - https://github.com/elixir-lang/elixir/pull/13194/files (https://github.com/elixir-lang/elixir/pull/13194/files?utm_source=thinkingelixir&utm_medium=shownotes) – Another Github pull request showing code changes to the Elixir language. - https://github.com/marcelotto/magma (https://github.com/marcelotto/magma?utm_source=thinkingelixir&utm_medium=shownotes) – Marcel Otto's Github repository for Magma, an IDE for constructing complex prompts, especially aimed at Elixir developers. - https://x.com/ElixirMembrane/status/1737791927636893981 (https://x.com/ElixirMembrane/status/1737791927636893981?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of the release of Membrane SDK, offering a comprehensive suite of Membrane plugins for multimedia processing. - https://github.com/membraneframework/membrane_sdk (https://github.com/membraneframework/membrane_sdk?utm_source=thinkingelixir&utm_medium=shownotes) – Github repository for Membrane SDK, with details on features and release cycle. - https://elixircasts.io/elixir-styler (https://elixircasts.io/elixir-styler?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirCasts video introducing and demonstrating Elixir Styler, an automated code styling tool. - https://github.com/adobe/elixir-styler (https://github.com/adobe/elixir-styler?utm_source=thinkingelixir&utm_medium=shownotes) – Github repository for Adobe's Elixir Styler, which combines issue detection with auto-correction for Elixir code. 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)
1/2/202418 minutes, 23 seconds
Episode Artwork

182: Year End Review

As we close another year packed with developments in the Elixir ecosystem, we're rolling out the red carpet for a "Year End Review" episode! Before we do that, we cover the most recent news events like the release of Supabase's Supavisor, a connection pooler, crafted with a helping hand from Dashbit. We shed light on the partnership between Supabase and Fly.io introducing a managed Postgres option. Then, for front-end enthusiasts, we discuss the released beta of LiveView Native and more! And, if that's not enough, we've got loads to unwrap from highlights of the past year's achievements! Show Notes online - http://podcast.thinkingelixir.com/182 (http://podcast.thinkingelixir.com/182) Elixir Community News - https://elixirforum.com/t/elixir-v1-16-0-rc-1-released/60310 (https://elixirforum.com/t/elixir-v1-16-0-rc-1-released/60310?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.16.0-RC.1 announced, featuring minor improvements and better error reporting. - https://github.com/elixir-lang/elixir/commit/8e9cbfcd8c219f9d3558158f1ebee5ec4fadd762 (https://github.com/elixir-lang/elixir/commit/8e9cbfcd8c219f9d3558158f1ebee5ec4fadd762?utm_source=thinkingelixir&utm_medium=shownotes) – Optimization of the Enum.random function in the Elixir programming language. - https://twitter.com/planeterlang/status/1734882621577183524?t=Xn6DY9Qzc5nGLdqEskRjvQ (https://twitter.com/planeterlang/status/1734882621577183524?t=Xn6DY9Qzc5nGLdqEskRjvQ?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Erlang/OTP 26.2 Release, a maintenance patch with bug fixes and improvements. - https://www.erlang.org/news/166 (https://www.erlang.org/news/166?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang/OTP 26.2 release news with details on improvements. - https://erlang.org/download/OTP-26.2.README (https://erlang.org/download/OTP-26.2.README?utm_source=thinkingelixir&utm_medium=shownotes) – README document for Erlang/OTP 26.2, including the highlight on process_info/2 support for looking up specific keys in the process dictionary. - https://twitter.com/kiwicopple/status/1734903746704945425?t=Xn6DY9Qzc5nGLdqEskRjvQ (https://twitter.com/kiwicopple/status/1734903746704945425?t=Xn6DY9Qzc5nGLdqEskRjvQ?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase announces Supavisor 1.0 as part of their launch week. - https://supabase.com/blog/supavisor-postgres-connection-pooler (https://supabase.com/blog/supavisor-postgres-connection-pooler?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post detailing the Supavisor Postgres connection pooler released by Supabase. - https://github.com/supabase/supavisor (https://github.com/supabase/supavisor?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Supavisor, the Postgres connection pooler by Supabase. - https://www.youtube.com/watch?v=ogYNmJOFEpk (https://www.youtube.com/watch?v=ogYNmJOFEpk?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim created an intro video for Supavisor included in the announcement blog post, hinting at Dashbit's involvement. - https://supabase.com/blog/postgres-on-fly-by-supabase (https://supabase.com/blog/postgres-on-fly-by-supabase?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase partnership with Fly.io to manage Fly Postgres databases. - https://twitter.com/kiwicopple/status/1735628135750602769?t=ZvCKMAXrZFtDX8pfjW14Lw (https://twitter.com/kiwicopple/status/1735628135750602769?t=ZvCKMAXrZFtDX8pfjW14Lw?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter update on the Supabase and Fly.io partnership offering managed Postgres databases. - https://www.youtube.com/watch?v=WyjwFP2QgeI (https://www.youtube.com/watch?v=WyjwFP2QgeI?utm_source=thinkingelixir&utm_medium=shownotes) – YouTube video featuring LiveView Native 0.2.0-beta.1 Getting Started guide. - https://twitter.com/bcardarella/status/1736164327931924483?t=ZvCKMAXrZFtDX8pfjW14Lw (https://twitter.com/bcardarella/status/1736164327931924483?t=ZvCKMAXrZFtDX8pfjW14Lw?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of LiveView Native v0.2.0-beta.2 release with bug fixes and performance improvements for client navigation. - https://www.youtube.com/watch?v=ewf-18jacmo (https://www.youtube.com/watch?v=ewf-18jacmo?utm_source=thinkingelixir&utm_medium=shownotes) – Theo, a YouTube personality, gives his take on the FLAME idea, expressing concerns and impressions on Chris McCord's article and library. 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)
12/26/202331 minutes, 9 seconds
Episode Artwork

181: FLAME with Chris McCord

In this week's episode, we ignite the exciting world of Elixir with Chris McCord's announcement of FLAME, showcasing a revolutionary approach to serverless with the Phoenix framework. Chris joins us to unravel the inspiration behind FLAME - Fleeting Lambda Application for Modular Execution and its promise to streamline the developer experience, significantly simplifying elastic compute. We discuss why this isn't just another job queue solution and explore how it effortlessly scales. We cover how other backends can be implemented and learn there's even a Kubernetes option! The FLAME pattern can be implemented in other languages and frameworks too. To avoid FOMO, tune in and ride the wave of Elixir's evolution with us. Show Notes online - http://podcast.thinkingelixir.com/181 (http://podcast.thinkingelixir.com/181) Elixir Community News - https://twitter.com/chris_mccord/status/1732368400876249310 (https://twitter.com/chris_mccord/status/1732368400876249310?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord announced FLAME, a library for Phoenix, with a video demo link. - https://fly.io/blog/rethinking-serverless-with-flame/ (https://fly.io/blog/rethinking-serverless-with-flame/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post by Chris McCord detailing the FLAME pattern and library for Phoenix. - https://twitter.com/bcardarella/status/1734219297721921968 (https://twitter.com/bcardarella/status/1734219297721921968?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of LiveView Native beta release v0.2.0.beta.1. - https://github.com/liveview-native/liveviewnative/tree/main (https://github.com/liveview-native/live_view_native/tree/main?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for LiveView Native with the beta release. - https://twitter.com/peregrine/status/1733182408969650579 (https://twitter.com/peregrine/status/1733182408969650579?utm_source=thinkingelixir&utm_medium=shownotes) – Jason Stiebs' tweet about his article on using Machine Learning with Elixir apps. - https://fly.io/phoenix-files/real-world-machine-learning-on-fly-gpu/ (https://fly.io/phoenix-files/real-world-machine-learning-on-fly-gpu/?utm_source=thinkingelixir&utm_medium=shownotes) – The article by Jason Stiebs on implementing Machine Learning in Hex package searches with Fly.io GPUs. - https://twitter.com/bernheisel/status/1732487442052083810 (https://twitter.com/bernheisel/status/1732487442052083810?utm_source=thinkingelixir&utm_medium=shownotes) – David's datetimeparser tool announcement on Twitter. - https://github.com/dbernheisel/datetimeparser (https://github.com/dbernheisel/date_time_parser?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for the datetimeparser library, highlighting its latest updates and features. - https://twitter.com/paraxialio/status/1732382704098763155 (https://twitter.com/paraxialio/status/1732382704098763155?utm_source=thinkingelixir&utm_medium=shownotes) – Paraxial 2.0 announcement, a server-side hosted tool for Elixir security. - https://paraxial.io/blog/introducing-paraxial (https://paraxial.io/blog/introducing-paraxial?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction blog post for Paraxial 2.0, presenting its Elixir focused security dashboard and features. 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/chris_mccord/status/1732368400876249310 (https://twitter.com/chris_mccord/status/1732368400876249310?utm_source=thinkingelixir&utm_medium=shownotes) – FLAME X/Twitter announcement - https://fly.io/blog/rethinking-serverless-with-flame/ (https://fly.io/blog/rethinking-serverless-with-flame/?utm_source=thinkingelixir&utm_medium=shownotes) – Rethinking Serverless with FLAME blog post - https://www.youtube.com/watch?v=l1xt_rkWdic (https://www.youtube.com/watch?v=l1xt_rkWdic?utm_source=thinkingelixir&utm_medium=shownotes) – FLAME YouTube video - https://github.com/phoenixframework/flame (https://github.com/phoenixframework/flame?utm_source=thinkingelixir&utm_medium=shownotes) – flame library on GitHub - in PhoenixFramework org - https://github.com/fly-apps/live_beats (https://github.com/fly-apps/live_beats?utm_source=thinkingelixir&utm_medium=shownotes) - https://en.wikipedia.org/wiki/Periscope_(service) (https://en.wikipedia.org/wiki/Periscope_(service)?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.merriam-webster.com/dictionary/obviate (https://www.merriam-webster.com/dictionary/obviate?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/chrismccord/atlas (https://github.com/chrismccord/atlas?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/chris_mccord (https://twitter.com/chris_mccord?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/chrismccord (https://github.com/chrismccord?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - http://chrismccord.com/ (http://chrismccord.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog - https://twitter.com/flydotio (https://twitter.com/flydotio?utm_source=thinkingelixir&utm_medium=shownotes) – Fly.io on Twitter 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)
12/19/20231 hour, 11 minutes, 50 seconds
Episode Artwork

180: Thinking Elixir News

News teases an intriguing update from Chris McCord hinting at a groundbreaking feature in Phoenix and Elixir's capabilities. José Valim proposes local accumulators in Elixir, stirring discussions on the future of coding elegance. Supabase launches the innovative "libcluster_postgres" library, promising to enhance Elixir node discovery with Postgres. And for those seeking to crunch numbers differently, a must-read blog post lays out a roadmap for translating code in NumPy to Nx. Plus, Elixir enthusiasts are buzzing about this year's Advent of Code challenges—find out how the community tackles these puzzles with bespoke tooling and shared Livebooks strategies, and more! Show Notes online - http://podcast.thinkingelixir.com/180 (http://podcast.thinkingelixir.com/180) Elixir Community News - https://twitter.com/chris_mccord/status/1731668893213544900 (https://twitter.com/chris_mccord/status/1731668893213544900?utm_source=thinkingelixir&utm_medium=shownotes) – Teaser by Chris McCord hinting a new development in Phoenix and LiveView as a potent alternative to something. - https://elixirforum.com/t/local-accumulators-for-cleaner-comprehensions/60130 (https://elixirforum.com/t/local-accumulators-for-cleaner-comprehensions/60130?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's proposal on ElixirForum for adding local accumulators to cleaner list comprehensions in Elixir. - https://elixirforum.com/t/introducing-for-let-and-for-reduce/44773 (https://elixirforum.com/t/introducing-for-let-and-for-reduce/44773?utm_source=thinkingelixir&utm_medium=shownotes) – A discussion from two years ago on ElixirForum about a different variation of local accumulators proposal for Elixir. - https://twitter.com/kiwicopple/status/1730242820441588147 (https://twitter.com/kiwicopple/status/1730242820441588147?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of a newly released Elixir library called "libclusterpostgres" by Paul Copplestone from Supabase. - https://github.com/supabase/libcluster_postgres (https://github.com/supabase/libcluster_postgres?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for the "libclusterpostgres" library, used by Supabase for Elixir node discovery using a Postgres strategy. - https://www.thestackcanary.com/numpy-to-nx/ (https://www.thestackcanary.com/numpy-to-nx/?utm_source=thinkingelixir&utm_medium=shownotes) – A blog post that guides through translating NumPy code to Nx by providing side-by-side examples. - https://adventofcode.com/ (https://adventofcode.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Link to the official Advent of Code website which is a popular coding challenge during the Christmas season. - https://github.com/mhanberg/advent-of-code-elixir-starter (https://github.com/mhanberg/advent-of-code-elixir-starter?utm_source=thinkingelixir&utm_medium=shownotes) – Mitch Hanberg's Advent of Code Starter Kit repository, which provides a template project for solving the Advent of Code challenges in Elixir. - https://notes.club (https://notes.club?utm_source=thinkingelixir&utm_medium=shownotes) – A platform that hosts a frontend of Livebooks on GitHub, organized by author, likes, and tags, useful for exploring how people are solving Advent of Code problems in Elixir. - https://github.com/ljgago/kino_aoc (https://github.com/ljgago/kino_aoc?utm_source=thinkingelixir&utm_medium=shownotes) – A GitHub repository for a Livebook Smart Cell which aids in solving Advent of Code directly from Livebook. - https://github.com/nettinho/smaoc (https://github.com/nettinho/smaoc?utm_source=thinkingelixir&utm_medium=shownotes) – Another Livebook Smart Cell repository on GitHub for Advent of Code that facilitates problem interaction within Livebook. 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)
12/12/202319 minutes, 57 seconds
Episode Artwork

179: Future of AI with Elixir?

In the latest episode, we delve into the rapidly evolving AI ecosystem and its implications for us as Elixir developers, highlighting the potential hazards of relying on proprietary services like OpenAI and the benefits of self-hosted, open-source AI models. We touch on the Elixir LangChain library, how Elixir's position of running our own AI models strengthens us, and the governance and financial risks of depending on a single AI provider. Tune in for why these topics matter and how they shape the future of development in the context of Elixir, plus the holiday season's impact on our show schedule, and more! Show Notes online - http://podcast.thinkingelixir.com/179 (http://podcast.thinkingelixir.com/179) Elixir Community News - https://twitter.com/chris_mccord/status/1724861258548052109 (https://twitter.com/chris_mccord/status/1724861258548052109?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord teased a new visual on Twitter resembling a colorful flame logo with the text "Soon™", with more details to come. - https://hauleth.dev/post/who-watches-watchmen-ii/ (https://hauleth.dev/post/who-watches-watchmen-ii/?utm_source=thinkingelixir&utm_medium=shownotes) – Hauleth's blog post explores creating an Elixir service supervised by SystemD, building on his series about managing BEAM applications. - https://www.elixirstreams.com/tips/how-page-title-is-updated (https://www.elixirstreams.com/tips/how-page-title-is-updated?utm_source=thinkingelixir&utm_medium=shownotes) – German Valesco explains the updating of the page_title in Phoenix LiveView with a tip and video demonstration. - https://dockyard.com/blog/2023/11/08/three-years-of-nx-growing-the-machine-learning-ecosystem (https://dockyard.com/blog/2023/11/08/three-years-of-nx-growing-the-machine-learning-ecosystem?utm_source=thinkingelixir&utm_medium=shownotes) – Sean Moriarity discusses the past three years and the future of the Elixir Machine Learning Ecosystem and Nx in a blog post on Dockyard. - https://twitter.com/TheErlef/status/1726654135750066390 (https://twitter.com/TheErlef/status/1726654135750066390?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of the 3rd edition of a BEAM-focused devroom at the 2024 FOSDEM conference, set to take place in Brussels. - https://beam-fosdem.dev/ (https://beam-fosdem.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – FOSDEM's BEAM devroom, an event for the Elixir community and enthusiasts, provides details about the upcoming sidetrack. - https://www.youtube.com/playlist?list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY (https://www.youtube.com/playlist?list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY?utm_source=thinkingelixir&utm_medium=shownotes) – The official playlist of ElixirConf US videos, with several more sessions expected to be added. - https://www.youtube.com/watch?v=nw-030FD0Qc&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=46 (https://www.youtube.com/watch?v=nw-030FD0Qc&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=46?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf US video of Rafal Studnicki discussing keeping real-time auctions running during rollouts. - https://www.youtube.com/watch?v=P44hFAhKPao&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=47 (https://www.youtube.com/watch?v=P44hFAhKPao&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=47?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler Young's ElixirConf US presentation on migrating data without downtime. - https://www.youtube.com/watch?v=4XaB4XWg-Qg&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=48 (https://www.youtube.com/watch?v=4XaB4XWg-Qg&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=48?utm_source=thinkingelixir&utm_medium=shownotes) – Michał Śledź's session at ElixirConf US on rewriting Pion in Elixir. - https://www.youtube.com/watch?v=E9pZP5jUYZg&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=49 (https://www.youtube.com/watch?v=E9pZP5jUYZg&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=49?utm_source=thinkingelixir&utm_medium=shownotes) – Andrew Berrien introduces ECSx and discusses a new approach to game development in Elixir at ElixirConf US. - https://www.youtube.com/watch?v=F42B6AZ879Q&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=50 (https://www.youtube.com/watch?v=F42B6AZ879Q&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=50?utm_source=thinkingelixir&utm_medium=shownotes) – Geoffrey Lessel's introduction to Vox, a static site generator for Elixir enthusiasts, at ElixirConf US. - https://adventofcode.com/ (https://adventofcode.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Advent of Code is approaching, presenting new coding challenges starting December 1st with a new rule against using AI for leaderboard rankings. - https://twitter.com/ljgago/status/1724917401462997413 (https://twitter.com/ljgago/status/1724917401462997413?utm_source=thinkingelixir&utm_medium=shownotes) – Leonardo Gago tweets about his kino_aoc smart cell to assist with Advent of Code puzzles in Livebook. - https://github.com/ljgago/kino_aoc (https://github.com/ljgago/kino_aoc?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for KinoAoc, a Livebook smart cell created by Leonardo Gago for solving Advent of Code puzzles. 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 - The discussion explores the AI ecosystem's influence on Elixir developers, addressing risks and dependencies unrelated to Elixir itself. - Concerns are raised about the dangers of building on top of OpenAI and the risk of service outages, as experienced with an AI fitness trainer. - Open-source AI models are discussed as viable alternatives that offer the possibility of self-hosting and independence from proprietary systems. - Mention of the Elixir LangChain library signifies an interest in being able to seamlessly switch AI models without altering application code. - The discussion covers the risks of government regulation, policy changes, financial and governance uncertainties, and how they could affect dependencies on single AI providers. - An industry desire for regulatory measures is expressed, aiming to build a legal buffer that could protect from competition. - The conversation questions the broader implications of reliance on AI, including why the topic is intriguing and why self-hosted, open-source models are crucial. - Arguably, Elixir is considered to have a strong position for running self-managed AI models, highlighting the alignment with open-source philosophies. - Looking to the future, Elixir is positioned well to do this. - A final note touches on the holiday season's effect on the podcast's show schedule with potential changes or pauses in the regular programming. 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)
11/28/202333 minutes, 50 seconds
Episode Artwork

178: Safe Ecto Migrations and AI Updates

In this episode, we revisit the Safe Ecto Migrations guide and get an update on improvements. We also discuss the role and importance of OpenSource AI models. We cover updates in the Elixir LangChain library, the advantages of self-hosted AI models like Mistral, and learning how to run Bumblebee on Fly.io GPUs. Tune in for an insightful blend of database best practices and the cutting-edge of AI in Elixir, plus more! Show Notes online - http://podcast.thinkingelixir.com/178 (http://podcast.thinkingelixir.com/178) 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) – Playlist of 44+ ElixirConf US talks now available on YouTube. - https://www.youtube.com/watch?v=eCnfdHtgAN4&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=39 (https://www.youtube.com/watch?v=eCnfdHtgAN4&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=39?utm_source=thinkingelixir&utm_medium=shownotes) – Owen Bickford's talk on Elixir's Secret Ingredient at ElixirConf. - https://www.youtube.com/watch?v=gtCJ56GxKf0&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=43 (https://www.youtube.com/watch?v=gtCJ56GxKf0&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=43?utm_source=thinkingelixir&utm_medium=shownotes) – Jeffery Utter's ElixirConf presentation on Scaling Teams with Kafka on the BEAM. - https://www.youtube.com/watch?v=VLO0ma-1uD4&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=44 (https://www.youtube.com/watch?v=VLO0ma-1uD4&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=44?utm_source=thinkingelixir&utm_medium=shownotes) – Andrew Bennett discusses Erlang Dist Filtering and the WhatsApp Runtime System at ElixirConf. - https://www.youtube.com/watch?v=bBaZDAynM08 (https://www.youtube.com/watch?v=bBaZDAynM08?utm_source=thinkingelixir&utm_medium=shownotes) – Michael Lubas's insights into Elixir Security from a Business and Technical Perspective. - https://dockyard.com/blog/2023/11/01/the-road-toward-live-view-native-v-0-2-part-2 (https://dockyard.com/blog/2023/11/01/the-road-toward-live-view-native-v-0-2-part-2?utm_source=thinkingelixir&utm_medium=shownotes) – Update on the progress of LiveView Native, including multi-character sigils and Phoenix layouts. - https://sessionize.com/lambda-days-2024 (https://sessionize.com/lambda-days-2024?utm_source=thinkingelixir&utm_medium=shownotes) – Call for talks for the Lambda Days 2024 conference focused on functional programming in Kraków, Poland. - https://twitter.com/germsvel/status/1722221427112456533 (https://twitter.com/germsvel/status/1722221427112456533?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.16 introduces the ability to run multiple tests with line numbers as shown by German Velasco. - https://www.youtube.com/watch?v=bfrzGXM-Z88 (https://www.youtube.com/watch?v=bfrzGXM-Z88?utm_source=thinkingelixir&utm_medium=shownotes) – Theo's livestream with José Valim, discussing various topics for 2.5 hours. - https://peterullrich.com/test-an-external-read-only-repository-in-phoenix (https://peterullrich.com/test-an-external-read-only-repository-in-phoenix?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Ullrich's method for testing an external, read-only repository in Phoenix. 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 - 7:43 - David introduces and explains Safe Ecto migrations. - Updates on Safe Ecto for additional safety features and latest improvements. - Review of the performance of using text columns in databases showing that they have the same performance as VARCHAR types. - Examples provided of non-immutable expressions within database contexts. - Highlighting an error that can occur when backfilling data without a sort order. - Suggestion that Common Table Expressions (CTE) offers a more reliable method for certain database operations. - David's call for a library to assist with running database operations through a UI, indicating the desire for tooling improvements. - Consider the use-cases in the development and implementation of safety tools for databases. - 18:47 - Mark discusses new Fly.io GPU hardware, model improvements, and the Bumblebee tool. - Mistral LLM and its capabilities in the AI space. - Insights into running Bumblebee on GPUs and performance considerations. - Importance of Mistral being self-hosted. - Explanation of why self-hosting AI models like Mistral is significant for developers and users. - OpenAI's outage interrupted Mark's AI-powered workout trainer. - Outlining the Elixir LangChain goals, its roadmap, and potential impact on AI and data processing. - Discussion on how Large Language Models (LLMs) are effectively used for data extraction tasks. - Discussion on what an AI router is and what problem it solves. 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)
11/21/202329 minutes, 54 seconds
Episode Artwork

177: Thinking Elixir News

This week's news highlights Discord's deep-dive into how they've scaled their servers to support millions of concurrent users, leveraging Elixir's power. We cover how the Oban notifier has evolved to include Phoenix.PubSub and Redis integration, allowing more flexibility for your job processing needs. LiveView Native's tutorial experience looks promising to make mobile development smoother and more intuitive. Plus, we cover the Livebook PR merge upgrading to the Bandit library and more! Show Notes online - http://podcast.thinkingelixir.com/177 (http://podcast.thinkingelixir.com/177) Elixir Community News - https://discord.com/blog/maxjourney-pushing-discords-limits-with-a-million-plus-online-users-in-a-single-server (https://discord.com/blog/maxjourney-pushing-discords-limits-with-a-million-plus-online-users-in-a-single-server?utm_source=thinkingelixir&utm_medium=shownotes) – Discord blog post detailing the scaling of individual Discord servers and the technical challenges involved. - https://github.com/discord/manifold (https://github.com/discord/manifold?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub link to Discord's opensource Elixir library "Manifold" used for batch message passing between nodes. - https://www.youtube.com/watch?v=HP86Svk4hzI (https://www.youtube.com/watch?v=HP86Svk4hzI?utm_source=thinkingelixir&utm_medium=shownotes) – Chris Grainger discusses using Elixir + Phoenix + Nx in production with machine learning on the BEAM. - https://github.com/livebook-dev/livebook/pull/2316 (https://github.com/livebook-dev/livebook/pull/2316?utm_source=thinkingelixir&utm_medium=shownotes) – A Livebook PR titled "Upgrade to bandit" merged by José Valim, signifying an endorsement for the Bandit library. - https://twitter.com/cvkmohan/status/1719489327925694682 (https://twitter.com/cvkmohan/status/1719489327925694682?utm_source=thinkingelixir&utm_medium=shownotes) – Discussion on Twitter about using Bandit as an upgrade for a Phoenix app. - https://elixirstream.dev/gendiff/phx_new/19CBA027FA97E2873CC24093F6AC1820 (https://elixirstream.dev/gendiff/phx_new/19CBA027FA97E2873CC24093F6AC1820?utm_source=thinkingelixir&utm_medium=shownotes) – A flag added to elixirstream.dev for diffing generated output, introduced in Phoenix 1.7.8. - https://github.com/sorentwo/obannotifiersphoenix (https://github.com/sorentwo/oban_notifiers_phoenix?utm_source=thinkingelixir&utm_medium=shownotes) – Release of a new Oban notifier powered by Phoenix.PubSub, compatible with OTP and now able to use Redis. - https://twitter.com/bcardarella/status/1720179762088272080 (https://twitter.com/bcardarella/status/1720179762088272080?utm_source=thinkingelixir&utm_medium=shownotes) – Tease of the upcoming LiveView Native v0.2 and its tutorial experience using Livebook. - https://podcast.thinkingelixir.com/174 (https://podcast.thinkingelixir.com/174?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview about DockYard's BeaconCMS - https://twitter.com/bcardarella/status/1721172482298663214 (https://twitter.com/bcardarella/status/1721172482298663214?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter post discussing the 'Variants' feature for A/B/C/D/etc. page variant testing in BeaconCMS. - https://twitter.com/NervesMeetup/status/1721389396417728782 (https://twitter.com/NervesMeetup/status/1721389396417728782?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement tweet for the next Nerves embedded systems meetup. - https://www.meetup.com/nerves/events/290189609/ (https://www.meetup.com/nerves/events/290189609/?utm_source=thinkingelixir&utm_medium=shownotes) – Meetup link for the Nerves embedded systems event featuring a walkthrough by Alex McLain. 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)
11/14/202313 minutes
Episode Artwork

176: Thinking Elixir News

In the latest episode, we explore the release of Elixir v1.16.0-rc.0 which brings compiler performance improvements, code snippets in diagnostics, and enhanced documentation. Understand the perf enhancements and get a grip on the enriching changes in Elixir docs, including novel sections on anti-patterns and a built-in cheatsheet for the Enum module. We also discuss the launch of Lexical LS 0.4.0 and FlameOn v0.6.0 with enhanced features, the potential integration of JSON support into OTP, and updates on LiveView Native and Bumblebee's new addition, the Zephyr 7B LLM model. Stay tuned for insights on the Req library through Wojtek Mach's ElixirConf video, the versatility of Elixir and Phoenix and how they can “do it all”, a wrap-up of the online coding competition, SpawnFest, and more! Show Notes online - http://podcast.thinkingelixir.com/176 (http://podcast.thinkingelixir.com/176) Elixir Community News - https://elixirforum.com/t/elixir-v1-16-0-rc-0-released/59386 (https://elixirforum.com/t/elixir-v1-16-0-rc-0-released/59386?utm_source=thinkingelixir&utm_medium=shownotes) – Release of Elixir v1.16.0-rc.0 with compiler perf improvements, code snippets in diagnostics and improved documentation - https://twitter.com/josevalim/status/1717866840389542125 (https://twitter.com/josevalim/status/1717866840389542125?utm_source=thinkingelixir&utm_medium=shownotes) – Discussion about compiler perf improvements in Elixir - https://hexdocs.pm/elixir/1.16/introduction.html (https://hexdocs.pm/elixir/1.16/introduction.html?utm_source=thinkingelixir&utm_medium=shownotes) – Improvements and changes in Elixir docs, introduction of tutorials and diagrams - https://hexdocs.pm/elixir/1.16/GenServer.html (https://hexdocs.pm/elixir/1.16/GenServer.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/elixir/1.16/GenServer.html#module-client-server-apis (https://hexdocs.pm/elixir/1.16/GenServer.html#module-client-server-apis?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/elixir/1.16/what-anti-patterns.html (https://hexdocs.pm/elixir/1.16/what-anti-patterns.html?utm_source=thinkingelixir&utm_medium=shownotes) – A new section in Elixir docs covering various types of anti-patterns - https://hexdocs.pm/elixir/1.16/enum-cheat.html (https://hexdocs.pm/elixir/1.16/enum-cheat.html?utm_source=thinkingelixir&utm_medium=shownotes) – Release of built-in cheatsheet for the Enum module in Elixir - https://github.com/lexical-lsp/lexical/releases/tag/v0.4.0 (https://github.com/lexical-lsp/lexical/releases/tag/v0.4.0?utm_source=thinkingelixir&utm_medium=shownotes) – Release of Lexical LS 0.4.0 with document hover for functions and modules and improved completions - https://podcast.thinkingelixir.com/161 (https://podcast.thinkingelixir.com/161?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview about Lexical LS - https://twitter.com/1stAvenger/status/1710415907770528023 (https://twitter.com/1stAvenger/status/1710415907770528023?utm_source=thinkingelixir&utm_medium=shownotes) – Release of Flame On v0.6.0 with support for Phoenix LiveView 0.20 - https://github.com/DockYard/flame_on (https://github.com/DockYard/flame_on?utm_source=thinkingelixir&utm_medium=shownotes) – FlameOn project page - https://twitter.com/wojtekmach/status/1719058515614961755 (https://twitter.com/wojtekmach/status/1719058515614961755?utm_source=thinkingelixir&utm_medium=shownotes) – Video about Wojtek Mach's ElixirConf covering his Req library released on YouTube - https://twitter.com/michalmuskala/status/1718384939836518651 (https://twitter.com/michalmuskala/status/1718384939836518651?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement about JSON support build in OTP at Code BEAM - https://twitter.com/toranb/status/1717931991276884349 (https://twitter.com/toranb/status/1717931991276884349?utm_source=thinkingelixir&utm_medium=shownotes) – Addition of Zephyr 7B LLM model in Bumblebee - https://huggingface.co/HuggingFaceH4/zephyr-7b-alpha (https://huggingface.co/HuggingFaceH4/zephyr-7b-alpha?utm_source=thinkingelixir&utm_medium=shownotes) – Zephyr model on HuggingFace - https://github.com/rust-lang/rust/pull/115773#issuecomment-1783925711 (https://github.com/rust-lang/rust/pull/115773#issuecomment-1783925711?utm_source=thinkingelixir&utm_medium=shownotes) – Update on LiveView Native supporting TvOS Simulator in Rust Core - https://fly.io/phoenix-files/elixir-and-phoenix-can-do-it-all/ (https://fly.io/phoenix-files/elixir-and-phoenix-can-do-it-all/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post by Jason Stiebs on how Elixir and Phoenix can do everything - https://github.com/spawnfest/spawnfest.github.io/wiki/SpawnFest-repositories,-teams-and-people (https://github.com/spawnfest/spawnfest.github.io/wiki/SpawnFest-repositories,-teams-and-people?utm_source=thinkingelixir&utm_medium=shownotes) – Completion of SpawnFest - online 48 hour competition with multiple project submissions 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)
11/7/202320 minutes, 47 seconds
Episode Artwork

175: Thinking Elixir News

In this episode, we kick off with the major release of Bandit 1.0, an Elixir substitute for Cowboy, that's making an impact with its performance. We move on to the Elixir compiler's dev experience improvements in the upcoming Elixir v1.16. We then transition to talk about the various Language Server alternatives available, how their features compare, and the newly announced Erlang Language Server at CodeBEAM Europe. We talk about the newly added support of the Mistral LLM with the Bumblebee library and why this is interesting, the introduction of Permit - an authorization library for Phoenix apps, and more! Show Notes online - http://podcast.thinkingelixir.com/175 (http://podcast.thinkingelixir.com/175) Elixir Community News - https://twitter.com/ryanrwinchester/status/1715129566421831878 (https://twitter.com/ryanrwinchester/status/1715129566421831878?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement about Bandit 1.0 release. - https://podcast.thinkingelixir.com/128 (https://podcast.thinkingelixir.com/128?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview with Mat Trudel about Bandit as a Phoenix web server. - https://elixirforum.com/t/bandit-a-pure-elixir-http-server-for-plug-websock-applications/59146/1 (https://elixirforum.com/t/bandit-a-pure-elixir-http-server-for-plug-websock-applications/59146/1?utm_source=thinkingelixir&utm_medium=shownotes) – Forum post related to Bandit and its integration with Phoenix Projects - https://mat.geeky.net/2023/10/19/bandit-is-all-grown-up.html (https://mat.geeky.net/2023/10/19/bandit-is-all-grown-up.html?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post covering the history and the release of Bandit - https://cloud.google.com/blog/products/identity-security/how-it-works-the-novel-http2-rapid-reset-ddos-attack (https://cloud.google.com/blog/products/identity-security/how-it-works-the-novel-http2-rapid-reset-ddos-attack?utm_source=thinkingelixir&utm_medium=shownotes) – Reference to HTTP/2 related topics - https://twitter.com/josevalim/status/1716372821671067900 (https://twitter.com/josevalim/status/1716372821671067900?utm_source=thinkingelixir&utm_medium=shownotes) – Updates from José Valim about new compiler error reporting diagnostics coming in Elixir v1.16. - https://twitter.com/magevinicius/status/1716601466113130685 (https://twitter.com/magevinicius/status/1716601466113130685?utm_source=thinkingelixir&utm_medium=shownotes) – Follow up about the compiler error reporting diagnostics. - https://gist.github.com/Nezteb/dc63f1d5ad9d88907dd103da2ca000b1 (https://gist.github.com/Nezteb/dc63f1d5ad9d88907dd103da2ca000b1?utm_source=thinkingelixir&utm_medium=shownotes) – Comparison of different Language Server (LS) options in Elixir created by Noah Betzen. - https://elixirforum.com/t/comparing-elixir-language-servers-elixirls-lexical-and-next-ls/59372 (https://elixirforum.com/t/comparing-elixir-language-servers-elixirls-lexical-and-next-ls/59372?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirForum post about LS comparisons. - https://twitter.com/PragTob/status/1715339945898869225 (https://twitter.com/PragTob/status/1715339945898869225?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of new Erlang Language Server at CodeBEAM Europe. - https://github.com/WhatsApp/erlang-language-platform (https://github.com/WhatsApp/erlang-language-platform?utm_source=thinkingelixir&utm_medium=shownotes) – Github link for new Erlang Language Server. - https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-4/ (https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-4/?utm_source=thinkingelixir&utm_medium=shownotes) – Updates about NextLS, another Language Server. - https://twitter.com/sean_moriarity/status/1715042161677201428 (https://twitter.com/sean_moriarity/status/1715042161677201428?utm_source=thinkingelixir&utm_medium=shownotes) – Information about Mistral coming to Bumblebee. - https://github.com/elixir-nx/bumblebee/pull/264 (https://github.com/elixir-nx/bumblebee/pull/264?utm_source=thinkingelixir&utm_medium=shownotes) – The PR for adding Mistral support. - https://mistral.ai/ (https://mistral.ai/?utm_source=thinkingelixir&utm_medium=shownotes) – More about Mistral. - https://twitter.com/sean_moriarity/status/1715758666001928613 (https://twitter.com/sean_moriarity/status/1715758666001928613?utm_source=thinkingelixir&utm_medium=shownotes) – Process of adding new models to Bumblebee. - https://curiosum.com/blog/authorize-access-to-your-phoenix-app-with-permit (https://curiosum.com/blog/authorize-access-to-your-phoenix-app-with-permit?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction to Permit, an authorization library for Phoenix application. - https://podcast.thinkingelixir.com/162 (https://podcast.thinkingelixir.com/162?utm_source=thinkingelixir&utm_medium=shownotes) – Interview with Patrick Smith about Orb and using WebAssembly in the browser. - https://youtu.be/UnMcBa2efX4?si=l1xer5YpzrJyvMov&t=742 (https://youtu.be/UnMcBa2efX4?si=l1xer5YpzrJyvMov&t=742?utm_source=thinkingelixir&utm_medium=shownotes) – Presentation about his color picker example that uses WebAssembly for complex but very smooth browser side operation. - https://twitter.com/sprsmpl/status/1716635858281902140 (https://twitter.com/sprsmpl/status/1716635858281902140?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement about NervesConf. - https://elixirconf.africa/ (https://elixirconf.africa/?utm_source=thinkingelixir&utm_medium=shownotes) – Information regarding the Elixir Safari conference in Africa. - https://twitter.com/ElixirConfEU/status/1713929804062273663 (https://twitter.com/ElixirConfEU/status/1713929804062273663?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf Europe's call for talks. - https://www.elixirconf.eu/ (https://www.elixirconf.eu/?utm_source=thinkingelixir&utm_medium=shownotes) – Conference website for ElixirConf Europe. 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)
10/31/202320 minutes, 11 seconds
Episode Artwork

174: DockYard's BeaconCMS

The Elixir community has a new OpenSource CMS thanks to DockYard and Leandro Pereira! We talk with Leandro to better understand what the Beacon project is and what it can do. It's built using Phoenix LiveView and can be deployed standalone or as part of an existing Elixir Phoenix application. The Admin features include the ability for non-developers to edit content and immediately deploy changes without re-deploying the app. We talk about how BeaconCMS is positioned against Wordpress and static sites and where the greatest benefits are. A feature in development is the HEEx template editor which promises to be a very exciting tool for non-developers. Learn along with us! Show Notes online - http://podcast.thinkingelixir.com/174 (http://podcast.thinkingelixir.com/174) Elixir Community News - https://twitter.com/chris_mccord/status/1713894354962534808 (https://twitter.com/chris_mccord/status/1713894354962534808?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView optimized DOM patching announced, resulting in significant speed improvements in browser's DOM patching time. - https://twitter.com/basilenouvellet/status/1713981828028133847 (https://twitter.com/basilenouvellet/status/1713981828028133847?utm_source=thinkingelixir&utm_medium=shownotes) – Real world test results demonstrating faster speeds due to LiveView's optimized DOM patching. - https://dashbit.co/blog/latency-rendering-liveview (https://dashbit.co/blog/latency-rendering-liveview?utm_source=thinkingelixir&utm_medium=shownotes) – New post on performance optimization in Phoenix LiveView by José Valim. - https://youtu.be/Ckgl9KO4E4M?si=UNf5sNShzl1oTZQS&t=1731 (https://youtu.be/Ckgl9KO4E4M?si=UNf5sNShzl1oTZQS&t=1731?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord's ElixirConf keynote demo on LiveView's new dev tool features. Time signature for dev tools example - https://twitter.com/josevalim/status/1711756969814426066 (https://twitter.com/josevalim/status/1711756969814426066?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's explanation on LiveView's unreleased feature. - https://github.com/elixir-saas/clicktocomponent (https://github.com/elixir-saas/click_to_component?utm_source=thinkingelixir&utm_medium=shownotes) – An external library called "clicktocomponent" to support the Cmd+Click functionality in LiveView. - https://news.livebook.dev/remote-execution-smart-cell---launch-week-2---day-1-m3dv2 (https://news.livebook.dev/remote-execution-smart-cell---launch-week-2---day-1-m3dv2?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Livebook's new feature - Remote execution Smart cell. - https://news.livebook.dev/speech-to-text-with-whisper-timestamping-streaming-and-parallelism-oh-my---launch-week-2---day-2-36osSY (https://news.livebook.dev/speech-to-text-with-whisper-timestamping-streaming-and-parallelism-oh-my---launch-week-2---day-2-36osSY?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook's new features in their Whisper integration for improved speech-to-text performance. - https://news.livebook.dev/introducing-file-integration---launch-week-2---day-3-2HoFfa (https://news.livebook.dev/introducing-file-integration---launch-week-2---day-3-2HoFfa?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook's introduction to File Integration. - https://news.livebook.dev/integration-with-snowflake-and-microsoft-sql-server---launch-week-2---day-4-2o4z9C (https://news.livebook.dev/integration-with-snowflake-and-microsoft-sql-server---launch-week-2---day-4-2o4z9C?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook adds support for Snowflake and SQL Server. - https://news.livebook.dev/vim-and-emacs-key-bindings---launch-week-2---day- (https://news.livebook.dev/vim-and-emacs-key-bindings---launch-week-2---day-?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook support for VIM & Emacs key bindings. - https://hexdocs.pm/ash_sqlite/get-started-with-sqlite.html (https://hexdocs.pm/ash_sqlite/get-started-with-sqlite.html?utm_source=thinkingelixir&utm_medium=shownotes) – Ash Framework's new AshSqlite library release. - https://oban.pro/releases/web/v2.10 (https://oban.pro/releases/web/v2.10?utm_source=thinkingelixir&utm_medium=shownotes) – Release of Oban Web 2.10.0. - https://github.com/emmanueltouzery/elixir-extras.nvim (https://github.com/emmanueltouzery/elixir-extras.nvim?utm_source=thinkingelixir&utm_medium=shownotes) – Release of a new Neovim Elixir plugin called elixir-extras.nvim. - https://twitter.com/samokhvalov/status/1714153676212949355 (https://twitter.com/samokhvalov/status/1714153676212949355?utm_source=thinkingelixir&utm_medium=shownotes) – PostgreSQL tip for setting a human-readable label for a connection session. - https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer121_0 (https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0?utm_source=thinkingelixir&utm_medium=shownotes) – Upcoming PgBouncer 1.21 release with support for prepared statements. - https://twitter.com/ElixirConfEU/status/1713929804062273663 (https://twitter.com/ElixirConfEU/status/1713929804062273663?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement for call for talks for ElixirConf Europe 2024. - https://www.elixirconf.eu/ (https://www.elixirconf.eu/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf Europe 2024 conference details. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://github.com/BeaconCMS/beacon (https://github.com/BeaconCMS/beacon?utm_source=thinkingelixir&utm_medium=shownotes) – The main Beacon CMS project - https://github.com/BeaconCMS/beacon_demo (https://github.com/BeaconCMS/beacon_demo?utm_source=thinkingelixir&utm_medium=shownotes) – Beacon CMS demo project - https://github.com/BeaconCMS/beaconliveadmin (https://github.com/BeaconCMS/beacon_live_admin?utm_source=thinkingelixir&utm_medium=shownotes) – Beacon CMS admin project - https://beaconcms.org/ (https://beaconcms.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.youtube.com/watch?v=5jk0fIJOFuc&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=16 (https://www.youtube.com/watch?v=5jk0fIJOFuc&list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY&index=16?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2023 - Beacon - The next generation of CMS in Phoenix LiveView - https://mdxjs.com/ (https://mdxjs.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://hex.pm/packages/earmark (https://hex.pm/packages/earmark?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/leandrocp/mdex (https://github.com/leandrocp/mdex?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/BeaconCMS/livemonacoeditor (https://github.com/BeaconCMS/live_monaco_editor?utm_source=thinkingelixir&utm_medium=shownotes) – The code editor, based on the Livebook editor - https://github.com/leandrocp/mdex (https://github.com/leandrocp/mdex?utm_source=thinkingelixir&utm_medium=shownotes) – Markdown parser and formatter - https://github.com/leandrocp/autumn (https://github.com/leandrocp/autumn?utm_source=thinkingelixir&utm_medium=shownotes) – Syntax highlighter for code blocks - https://github.com/TheFirstAvenger/safe_code (https://github.com/TheFirstAvenger/safe_code?utm_source=thinkingelixir&utm_medium=shownotes) – Inspect HEEx for unsafe code - https://github.com/BeaconCMS/beacon/milestone/1 (https://github.com/BeaconCMS/beacon/milestone/1?utm_source=thinkingelixir&utm_medium=shownotes) – Beacon v0.1 release milestone - https://github.com/BeaconCMS/beaconliveadmin/milestone/1 (https://github.com/BeaconCMS/beacon_live_admin/milestone/1?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/leandrocesquini (https://twitter.com/leandrocesquini?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/leandrocp/ (https://github.com/leandrocp/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - hhttps://leandrocp.com.br (hhttps://leandrocp.com.br?utm_source=thinkingelixir&utm_medium=shownotes) – Blog - https://github.com/leandrocp/mdex (https://github.com/leandrocp/mdex?utm_source=thinkingelixir&utm_medium=shownotes) – Other project MDEx - A fast 100% CommonMark-compatible GitHub Flavored Markdown parser and formatter for Elixir. 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)
10/24/202354 minutes, 14 seconds
Episode Artwork

173: Web App Security Best Practices and Sobelow

We delve into the tricky world of cybersecurity with our guest, Michael Lubas. We touch on the widely-discussed 23andMe data breach, discussing what went wrong and how it applies to Elixir apps. A significant part of our talk is centered around the informative guide by the EEF Security Working Group called “Web Application Security Best Practices for BEAM languages.” An essential tool featured in our discussion is Sobelow, a security-focused static code analysis tool invaluable in warding off potential security breaches. We wrap up the conversation by discussing the practical application of these tools, using Paraxial.io's vulnerable-by-design “Potion Shop” app as a case study to run Sobelow and practice fixing issues. Join us for an enlightening discussion packed full of important insights! Show Notes online - http://podcast.thinkingelixir.com/173 (http://podcast.thinkingelixir.com/173) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/pull/2845 (https://github.com/phoenixframework/phoenix_live_view/pull/2845?utm_source=thinkingelixir&utm_medium=shownotes) – Information on the upcoming LiveView that speeds up client DOM patching 5x. - https://twitter.com/chris_mccord/status/1709681327019086044 (https://twitter.com/chris_mccord/status/1709681327019086044?utm_source=thinkingelixir&utm_medium=shownotes) – The post to further explain the upcoming LiveView. - https://twitter.com/josevalim/status/1709841186972705033 (https://twitter.com/josevalim/status/1709841186972705033?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's clarification on how LiveView's 5x DOM patching works. - https://twitter.com/wojtekmach/status/1709675064944144605 (https://twitter.com/wojtekmach/status/1709675064944144605?utm_source=thinkingelixir&utm_medium=shownotes) – Teaser about a cool new Req feature by Wojtek Mach. - https://twitter.com/wojtekmach/status/1710053454217887970 (https://twitter.com/wojtekmach/status/1710053454217887970?utm_source=thinkingelixir&utm_medium=shownotes) – Release note for Req v0.3.12 and v0.4.4 and encouragement to upgrade. - https://twitter.com/Tangui/status/1709645048906748378 (https://twitter.com/Tangui/status/1709645048906748378?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of a new HTTP Caching library called httpcache. - http://svground.fr/blog/posts/introducing-http-cache/ (http://svground.fr/blog/posts/introducing-http-cache/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post that accompanies the release of the new HTTP Caching library. - https://github.com/tanguilp/plughttpcache (https://github.com/tanguilp/plug_http_cache?utm_source=thinkingelixir&utm_medium=shownotes) – plughttpcache - An Elixir plug that caches HTTP responses. - https://github.com/tanguilp/teslahttpcache (https://github.com/tanguilp/tesla_http_cache?utm_source=thinkingelixir&utm_medium=shownotes) – teslahttpcache - HTTP caching Tesla middleware. - https://news.livebook.dev/remote-execution-smart-cell---launch-week-2---day-1-m3dv2 (https://news.livebook.dev/remote-execution-smart-cell---launch-week-2---day-1-m3dv2?utm_source=thinkingelixir&utm_medium=shownotes) – Post about Day 1 of Livebook's launch week with information on the new feature. - https://twitter.com/thmsmlr/status/1709309268183367901 (https://twitter.com/thmsmlr/status/1709309268183367901?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Livebook Copilot by Thomas Millar. - https://github.com/thmsmlr/kino_copilot (https://github.com/thmsmlr/kino_copilot?utm_source=thinkingelixir&utm_medium=shownotes) – kinocopilot - Livebook SmartCell that refactors code, generates SQL for data analysis, writes documentation, and generates dashboards. - https://twitter.com/hugobarauna/status/1709631824555573554 (https://twitter.com/hugobarauna/status/1709631824555573554?utm_source=thinkingelixir&utm_medium=shownotes) – Demonstration of Livebook voice transcription by Hugo Baraúna. - https://github.com/brainlid/langchain_demo (https://github.com/brainlid/langchain_demo?utm_source=thinkingelixir&utm_medium=shownotes) – LangChain Demo project that includes an example of an Agent. - https://fly.io/phoenix-files/created-my-personal-ai-fitness-trainer-in-2-days/ (https://fly.io/phoenix-files/created-my-personal-ai-fitness-trainer-in-2-days/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post - Created my Personal AI Fitness Trainer in 2 Days - https://www.youtube.com/watch?v=AsfQNtoaB1M (https://www.youtube.com/watch?v=AsfQNtoaB1M?utm_source=thinkingelixir&utm_medium=shownotes) – YouTube video overview for AI Personal Fitness Trainer with demo - https://spawnfest.org/ (https://spawnfest.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Information on SpawnFest, a 48-hour online software development contest. - https://codebeameurope.com/ (https://codebeameurope.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Information on CodeBEAM Europe event. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.wired.com/story/23andme-credential-stuffing-data-stolen/ (https://www.wired.com/story/23andme-credential-stuffing-data-stolen/?utm_source=thinkingelixir&utm_medium=shownotes) – 23andMe breach - 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) – Web Application Security Best Practices for BEAM languages - a guide from the EEF Security Working Group - https://paraxial.io/blog/real-sobelow (https://paraxial.io/blog/real-sobelow?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Security - Real World Sobelow - https://podcast.thinkingelixir.com/148 (https://podcast.thinkingelixir.com/148?utm_source=thinkingelixir&utm_medium=shownotes) – Security Scanning our Apps with Sobelow - https://www.ftc.gov/enforcement/refunds/equifax-data-breach-settlement (https://www.ftc.gov/enforcement/refunds/equifax-data-breach-settlement?utm_source=thinkingelixir&utm_medium=shownotes) – Why use Sobelow? The Equifax breach, $425 million penalty, was a remote code execution (RCE) vulnerability - https://paraxial.io/blog/elixir-rce (https://paraxial.io/blog/elixir-rce?utm_source=thinkingelixir&utm_medium=shownotes) – Understanding remote code execution (RCE) attacks in Elixir - https://paraxial.io/blog/potion-shop (https://paraxial.io/blog/potion-shop?utm_source=thinkingelixir&utm_medium=shownotes) – Potion Shop - https://www.meetup.com/new-york-city-elixir/events/296705817/ (https://www.meetup.com/new-york-city-elixir/events/296705817/?utm_source=thinkingelixir&utm_medium=shownotes) – The NYC Elixir meetup - https://www.meetup.com/denver-erlang-elixir/ (https://www.meetup.com/denver-erlang-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Denver Elixir meetup Guest Information - https://twitter.com/paraxialio (https://twitter.com/paraxialio?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/paraxialio/ (https://github.com/paraxialio/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://genserver.social/paraxial (https://genserver.social/paraxial?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - https://paraxial.io/blog/index (https://paraxial.io/blog/index?utm_source=thinkingelixir&utm_medium=shownotes) – Blog - https://www.linkedin.com/company/paraxial-io (https://www.linkedin.com/company/paraxial-io?utm_source=thinkingelixir&utm_medium=shownotes) – LinkedIn - https://www.youtube.com/@paraxial5874 (https://www.youtube.com/@paraxial5874?utm_source=thinkingelixir&utm_medium=shownotes) – Paraxial YouTube channel 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)
10/17/202347 minutes, 26 seconds
Episode Artwork

172: Thinking Elixir News

The latest news features a compelling blog post on the Dashbit blog focusing on the advances in Machine Learning with Elixir, intriguing tips on how to get the most out of ExDocs for offline browsing, and using a new Phoenix LiveView 0.20.x feature. Additionally, a transition story from Serverless to Elixir, resulting in significant cost savings, got attention and was shared by “Prime Reacts”, further spreading Elixir awareness. With more exciting announcements around ElixirConf 2023 Videos and the opening of proposals for CodeBEAM America 2024 and more! Show Notes online - http://podcast.thinkingelixir.com/172 (http://podcast.thinkingelixir.com/172) Elixir Community News - https://twitter.com/josevalim/status/1709168365816700979 (https://twitter.com/josevalim/status/1709168365816700979?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's Tweet about the new "Machine learning roundup" post on the Dashbit blog. - https://dashbit.co/blog/elixir-and-machine-learning-q3-roundup (https://dashbit.co/blog/elixir-and-machine-learning-q3-roundup?utm_source=thinkingelixir&utm_medium=shownotes) – The new post on Dashbit blog about "Elixir and Machine Learning" and the advances in libraries like Nx and Bumblebee. - https://twitter.com/jadengis/status/1705434212399263982 (https://twitter.com/jadengis/status/1705434212399263982?utm_source=thinkingelixir&utm_medium=shownotes) – John Dengis shared a cool ExDocs tip for downloading all the docs for dependencies in your mix project. - https://hexdocs.pm/hex/Mix.Tasks.Hex.Docs.html (https://hexdocs.pm/hex/Mix.Tasks.Hex.Docs.html?utm_source=thinkingelixir&utm_medium=shownotes) – A reference to the Hex.Docs, containing the commands for downloading libraries for your project and accessing offline versions. - https://twitter.com/germsvel/status/1707710473796190372 (https://twitter.com/germsvel/status/1707710473796190372?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco shared a video demonstrating the use of debug Heex annotations in Phoenix LiveView 0.20.x - https://medium.com/coryodaniel/from-erverless-to-elixir-48752db4d7bc (https://medium.com/coryodaniel/from-erverless-to-elixir-48752db4d7bc?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post by Cory O'Daniel on transitioning from Serverless to Elixir, outlining the architecture and cost savings achieved. - https://www.youtube.com/watch?v=UGG2HMonQ1c (https://www.youtube.com/watch?v=UGG2HMonQ1c?utm_source=thinkingelixir&utm_medium=shownotes) – Twitch and YouTube personality, “Prime Reacts”, reacts to Cory O'Daniel's post and brings wider awareness to Elixir. - https://twitter.com/chris_mccord/status/1707767732270186595 (https://twitter.com/chris_mccord/status/1707767732270186595?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord showcased a working Llama 2 running on GPU with Elixir/Bumblee/Phoenix in LiveView. - https://gist.github.com/chrismccord/1f1d4ee6a2d609952d99b1b0a5ffa657 (https://gist.github.com/chrismccord/1f1d4ee6a2d609952d99b1b0a5ffa657?utm_source=thinkingelixir&utm_medium=shownotes) – A link to a Gist showing the details of running Llama 2 on GPU with Elixir/Bumblee/Phoenix in LiveView. - https://www.youtube.com/playlist?list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY (https://www.youtube.com/playlist?list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of the upcoming release of ElixirConf 2023 Videos with 17 videos now online. - https://codebeamamerica.com/#cft (https://codebeamamerica.com/#cft?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement for the call for proposals for talks for CodeBEAM America 2024 on March 7-8. 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)
10/10/202312 minutes, 28 seconds
Episode Artwork

171: Thinking Elixir News

News includes José Valim's blog post about Elixir's "strong arrows" that expands on his keynote, the release of LiveView 0.20.0 with its myriad of updates and improvements, and a sneak peek into the upcoming Livebook features with a new "Authentication" section. Additionally, Wojtek Mach shares a success story using beammachine.cloud for a quick Erlang check, Sundi Myint shares a tip for 404 pages in LiveView when URLs are tweaked, and Lionel Aimerie demonstrates how to integrate Chart.js into Elixir Phoenix for visual impact in LiveView. All these, along with newly released ElixirConf videos, the upcoming SpawnFest contest, and more! Show Notes online - http://podcast.thinkingelixir.com/171 (http://podcast.thinkingelixir.com/171) Elixir Community News - https://elixir-lang.org/blog/2023/09/20/strong-arrows-gradual-typing/ (https://elixir-lang.org/blog/2023/09/20/strong-arrows-gradual-typing/?utm_source=thinkingelixir&utm_medium=shownotes) – Jose Valim's "Strong arrows - a new approach to gradual typing" post is published on the Elixir blog expanding on his keynote talk. - https://twitter.com/theerlef/status/1706352873926430813 (https://twitter.com/theerlef/status/1706352873926430813?utm_source=thinkingelixir&utm_medium=shownotes) – Jose appears on the Software Unscripted podcast to talk about Gradual vs Static Typing. - https://twitter.com/clarkware/status/1705263936491356325 (https://twitter.com/clarkware/status/1705263936491356325?utm_source=thinkingelixir&utm_medium=shownotes) – Mike Clark shares a CSS trick to display an empty state when rendering collections with a LiveView stream. - https://twitter.com/chris_mccord/status/1705297511408091627 (https://twitter.com/chris_mccord/status/1705297511408091627?utm_source=thinkingelixir&utm_medium=shownotes) – The release of LiveView 0.20.0 is announced. - 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) – The detailed changelog of newly released LiveView 0.20.0. - https://twitter.com/livebookdev/status/1705285257316983272 (https://twitter.com/livebookdev/status/1705285257316983272?utm_source=thinkingelixir&utm_medium=shownotes) – A sneak peek into the upcoming Livebook features with a new sidebar section titled “Authentication”. - https://github.com/livebook-dev/livebook/milestone/9 (https://github.com/livebook-dev/livebook/milestone/9?utm_source=thinkingelixir&utm_medium=shownotes) – Expectation of new features being a part of the upcoming v0.11 release of Livebook. - https://twitter.com/wojtekmach/status/1705915941056323853 (https://twitter.com/wojtekmach/status/1705915941056323853?utm_source=thinkingelixir&utm_medium=shownotes) – Success story shared by Wojtek Mach using the site https://beammachine.cloud/ to quickly check some Erlang stuff. - https://smartlogic.io/blog/phoenix-liveview-error-html-pages/ (https://smartlogic.io/blog/phoenix-liveview-error-html-pages/?utm_source=thinkingelixir&utm_medium=shownotes) – Detailed blog post by Sundi Myint for showing 404 page when URL is tweaked to invalid ID in LiveView situations. - https://medium.com/@lionel.aimerie/integrating-chart-js-into-elixir-phoenix-for-visual-impact-9a3991f0690f (https://medium.com/@lionel.aimerie/integrating-chart-js-into-elixir-phoenix-for-visual-impact-9a3991f0690f?utm_source=thinkingelixir&utm_medium=shownotes) – Lionel Aimerie's blog post about integrating Chart.js into Elixir Phoenix for visual impact in LiveView. - https://www.youtube.com/playlist?list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY (https://www.youtube.com/playlist?list=PLqj39LCvnOWbHaZldxw_g02RaTQ4vQ1eY?utm_source=thinkingelixir&utm_medium=shownotes) – Release of 5 more ElixirConf videos. Link to the video playlist. - https://spawnfest.org/ (https://spawnfest.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Reminder for SpawnFest, a 48-hour online software development contest starting on 2023-10-28. 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)
10/3/202313 minutes, 42 seconds
Episode Artwork

170: Thinking Elixir News

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)
9/26/202320 minutes, 13 seconds
Episode Artwork

169: Thinking Elixir News

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)
9/19/202316 minutes, 21 seconds
Episode Artwork

168: Thinking Elixir News

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)
9/12/202311 minutes, 54 seconds
Episode Artwork

167: Customizing mix phx.new?

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)
9/5/202352 minutes, 45 seconds
Episode Artwork

166: Filtering, ordering and pagination via Flop

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)
8/29/202350 minutes, 22 seconds
Episode Artwork

165: Thinking Elixir News

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)
8/22/202313 minutes, 9 seconds
Episode Artwork

164: Thinking Elixir News

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)
8/15/20237 minutes, 58 seconds
Episode Artwork

163: Job Queues using Oban with Parker Selbert

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)
8/8/202355 minutes, 52 seconds
Episode Artwork

162: Elixir to WebAssembly with Orb

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)
8/1/202350 minutes, 4 seconds
Episode Artwork

161: Lexical LS and Elixir Dev UX

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)
7/25/202357 minutes, 56 seconds
Episode Artwork

160: LiveView Async Pattern and Admin Tools

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)
7/18/202354 minutes, 49 seconds
Episode Artwork

159: Langchain with Elixir and Safe Ecto Migrations

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)
7/11/202349 minutes, 39 seconds
Episode Artwork

158: From Ruby to Elixir with Steve Bussey

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)
7/4/202357 minutes, 21 seconds
Episode Artwork

157: Adding Dialyzer Late in the Game

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)
6/27/202353 minutes, 37 seconds
Episode Artwork

156: React to LiveView for Performance

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)
6/20/202345 minutes, 8 seconds
Episode Artwork

155: Thinking Elixir News

OpenSource contributions recognition for Jonatan Kłosko, more from Sean Moriarity on AI with Elixir, the latest update on LLaMa running locally, Stephen Bussey is helping people move from OO languages like Ruby to Elixir with a new book, unraveling recent Arrow related contributions, a security fix to apply and conferences requesting speakers! Show Notes online - http://podcast.thinkingelixir.com/155 (http://podcast.thinkingelixir.com/155) Elixir Community News - https://twitter.com/michalslaski/status/1664237603728551936 (https://twitter.com/michalslaski/status/1664237603728551936?utm_source=thinkingelixir&utm_medium=shownotes) – Jonatan Kłosko won an award for opensource contributions to Livebook. - https://podcast.thinkingelixir.com/151 (https://podcast.thinkingelixir.com/151?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview with Jonatan Kłosko about Livebook - https://dockyard.com/blog/2023/05/16/open-source-elixir-alternatives-to-chatgpt (https://dockyard.com/blog/2023/05/16/open-source-elixir-alternatives-to-chatgpt?utm_source=thinkingelixir&utm_medium=shownotes) – Sean Moriarity wrote a post titled “Open-Source Elixir Alternatives to ChatGPT” - https://twitter.com/natfriedman/status/1665402680376987648 (https://twitter.com/natfriedman/status/1665402680376987648?utm_source=thinkingelixir&utm_medium=shownotes) – LLaMa update running on local hardware - https://twitter.com/yoooodaaaa/status/1663988571047354371 (https://twitter.com/yoooodaaaa/status/1663988571047354371?utm_source=thinkingelixir&utm_medium=shownotes) – Stephen Bussey's new book in beta called "From Ruby to Elixir" - https://pragprog.com/titles/sbelixir/from-ruby-to-elixir/ (https://pragprog.com/titles/sbelixir/from-ruby-to-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – PragProg book page where it can be purchased as early access. - https://twitter.com/josevalim/status/1664743585873264641 (https://twitter.com/josevalim/status/1664743585873264641?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim calling out contributions by Qqwy with links to the Arrow related PRs - https://github.com/elixir-nx/explorer (https://github.com/elixir-nx/explorer?utm_source=thinkingelixir&utm_medium=shownotes) – Nx Explorer - https://arrow.apache.org/docs/format/ADBC.html (https://arrow.apache.org/docs/format/ADBC.html?utm_source=thinkingelixir&utm_medium=shownotes) – ADBC Apache project for data connectivity - https://arrow.apache.org/ (https://arrow.apache.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Arrow Apache project - https://github.com/jorgecarleitao/arrow2 (https://github.com/jorgecarleitao/arrow2?utm_source=thinkingelixir&utm_medium=shownotes) – Aarow2 Rust project - https://jorgecarleitao.github.io/arrow2/main/guide/ (https://jorgecarleitao.github.io/arrow2/main/guide/?utm_source=thinkingelixir&utm_medium=shownotes) – Arrow2 guide - https://elixirforum.com/t/mime-v2-0-4-has-been-released-with-a-potential-security-fix/56216 (https://elixirforum.com/t/mime-v2-0-4-has-been-released-with-a-potential-security-fix/56216?utm_source=thinkingelixir&utm_medium=shownotes) – PSA for security concern with package version update available - https://elixirforum.com/t/livemonacoeditor-monaco-editor-component-for-phoenix-liveview/56212 (https://elixirforum.com/t/livemonacoeditor-monaco-editor-component-for-phoenix-liveview/56212?utm_source=thinkingelixir&utm_medium=shownotes) – New library LiveMonacoEditor for integrating the VSCode JS-powered editor called Monoco into LiveView - https://github.com/BeaconCMS/livemonacoeditor (https://github.com/BeaconCMS/live_monaco_editor?utm_source=thinkingelixir&utm_medium=shownotes) – BeaconCMS linked LiveMonacoEditor project - https://codebeameurope.com/ (https://codebeameurope.com/?utm_source=thinkingelixir&utm_medium=shownotes) – CodeBEAM EU October 19-20 - https://twitter.com/ElixirConf/status/1663920528829161474 (https://twitter.com/ElixirConf/status/1663920528829161474?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf US 2023 - call for speakers - https://docs.google.com/forms/d/e/1FAIpQLSeN6BFybOd4vXweCuBvINjhbO-Ev7Zk1sZf8YBXwjnwQC0-aA/viewform (https://docs.google.com/forms/d/e/1FAIpQLSeN6BFybOd4vXweCuBvINjhbO-Ev7Zk1sZf8YBXwjnwQC0-aA/viewform?utm_source=thinkingelixir&utm_medium=shownotes) – Form for submitting a talk 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)
6/13/20239 minutes, 15 seconds
Episode Artwork

154: Serving Up AI with Sean Moriarity

AI topics are all the rage right now, so we team up with Sean Moriarity to unpack what's going on and what it means for Elixir. Sean talks about Nx and his insights on the timing of Elixir's readiness for the public AI shift. He explains some of the Python frustrations that Elixir can alleviate and he shares tips on putting a PoC ML solution into a production Elixir app. Recently, Sean added LLaMa support to Bumblebee and he explains the background for the OpenSource Meta LLM people have been playing with and more! Turns out there's a lot to be excited about for AI and Elixir! Show Notes online - http://podcast.thinkingelixir.com/154 (http://podcast.thinkingelixir.com/154) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.15.0-rc.1 (https://github.com/elixir-lang/elixir/releases/tag/v1.15.0-rc.1?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.15.0-rc.1 - https://github.com/elixir-lang/elixir/releases/tag/v1.14.5 (https://github.com/elixir-lang/elixir/releases/tag/v1.14.5?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.14.5 - small bug fix release - https://elixirforum.com/t/elixirls-not-working-runtime-terminating-during-boot/56017/6 (https://elixirforum.com/t/elixirls-not-working-runtime-terminating-during-boot/56017/6?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir-LS crashes with OTP 26. Using OTP 25.x works great. - https://github.com/elixir-lsp/elixir-ls/issues/886 (https://github.com/elixir-lsp/elixir-ls/issues/886?utm_source=thinkingelixir&utm_medium=shownotes) – Issue that tracks Elixir LS OTP 26 issues - https://github.com/phoenixframework/phoenixliveview/blob/v0.19.0/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_view/blob/v0.19.0/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView 0.19 changelog - https://twitter.com/chris_mccord/status/1663275883845566473 (https://twitter.com/chris_mccord/status/1663275883845566473?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord announced LiveView 0.19 and TodoTrek demo application. - https://phoenixframework.org/blog/phoenix-liveview-0.19-released (https://phoenixframework.org/blog/phoenix-liveview-0.19-released?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post for the LiveView 0.19 release - https://github.com/chrismccord/todo_trek (https://github.com/chrismccord/todo_trek?utm_source=thinkingelixir&utm_medium=shownotes) – OpenSourced Todo Trek project. “A trello-like todo board which shows off different dynamic form strategies with Phoenix LiveView.” - https://www.twitch.tv/josevalim (https://www.twitch.tv/josevalim?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim Twitch account - https://www.twitch.tv/videos/1827518510 (https://www.twitch.tv/videos/1827518510?utm_source=thinkingelixir&utm_medium=shownotes) – Prompts for AI agents in Elixir - Day 1 (NO LONGER AVAILABLE) - https://www.twitch.tv/videos/1828360654 (https://www.twitch.tv/videos/1828360654?utm_source=thinkingelixir&utm_medium=shownotes) – Prompts for AI agents in Elixir - Day 2 (NO LONGER AVAILABLE) - https://www.twitch.tv/videos/1832616594 (https://www.twitch.tv/videos/1832616594?utm_source=thinkingelixir&utm_medium=shownotes) – Contributing to Open Source with Elixir! - https://twitter.com/josevalim/status/1663316201584443394 (https://twitter.com/josevalim/status/1663316201584443394?utm_source=thinkingelixir&utm_medium=shownotes) – José on Twitter sharing the - https://github.com/livebook-dev/livebook/pull/1936 (https://github.com/livebook-dev/livebook/pull/1936?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook doctest feature ended in a PR that was merged. - https://twitter.com/christhekeele/status/1661178730037886978 (https://twitter.com/christhekeele/status/1661178730037886978?utm_source=thinkingelixir&utm_medium=shownotes) – Chris Keele shared a tip about customizing your IEx prompt to make copying output easier. - https://www.youtube.com/watch?v=qr6VAfCm_QE (https://www.youtube.com/watch?v=qr6VAfCm_QE?utm_source=thinkingelixir&utm_medium=shownotes) – On the shoulder of giants there's room for larger giants- F. Cesarini, A. Leopardi | CBL Mexico 23 - https://www.youtube.com/watch?v=7yU9mvwZKoY (https://www.youtube.com/watch?v=7yU9mvwZKoY?utm_source=thinkingelixir&utm_medium=shownotes) – Distributed Elixir made easy by Johanna Larsson | Code BEAM Lite Mexico 2023 - https://www.youtube.com/watch?v=phRXs8SKzP0 (https://www.youtube.com/watch?v=phRXs8SKzP0?utm_source=thinkingelixir&utm_medium=shownotes) – How to sell Elixir (Again) by Evadne Wu | Code BEAM Lite Stockholm 2023 - https://2023.elixirconf.com (https://2023.elixirconf.com?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf tickets are now on sale Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/ (https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) - https://teller.io/ (https://teller.io/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/livebook-dev/kino_bumblebee (https://github.com/livebook-dev/kino_bumblebee?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/elixir-nx/bumblebee/pull/199 (https://github.com/elixir-nx/bumblebee/pull/199?utm_source=thinkingelixir&utm_medium=shownotes) – You recently added LLaMa support to Bumblebee - https://www.semianalysis.com/p/google-we-have-no-moat-and-neither (https://www.semianalysis.com/p/google-we-have-no-moat-and-neither?utm_source=thinkingelixir&utm_medium=shownotes) – Google AI researcher leaked memo - https://ai.facebook.com/blog/large-language-model-llama-meta-ai/ (https://ai.facebook.com/blog/large-language-model-llama-meta-ai/?utm_source=thinkingelixir&utm_medium=shownotes) - https://en.wikipedia.org/wiki/Monkeyselfiecopyright_dispute (https://en.wikipedia.org/wiki/Monkey_selfie_copyright_dispute?utm_source=thinkingelixir&utm_medium=shownotes) – In December 2014, the United States Copyright Office stated that works created by a non-human, such as a photograph taken by a monkey, are not copyrightable. - https://github.com/microsoft/LoRA (https://github.com/microsoft/LoRA?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/sean_moriarity (https://twitter.com/sean_moriarity?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/seanmor5/ (https://github.com/seanmor5/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://seanmoriarity.com (https://seanmoriarity.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)
6/6/202350 minutes, 55 seconds
Episode Artwork

153: Elixir Tools and Language Servers

Language servers are an important part of modern developer tooling. Mitch Hanberg has made this his new focus with gen_lsp, a generic language server behaviour that he then implemented a Credo language server on top of. Yes, that's right, Credo! We learn what that means and what his new elixir-tools Github organization is intended to do. Listen to Mich share his vision for what Elixir dev tools could be like! We get an update on his Temple project, an alternative to Phoenix templates, we learn about an existing Elixir formatter plugin that may reformat code more to your liking and more! Show Notes online - http://podcast.thinkingelixir.com/153 (http://podcast.thinkingelixir.com/153) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.15.0-rc.0 (https://github.com/elixir-lang/elixir/releases/tag/v1.15.0-rc.0?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.15-rc.0 - https://groups.google.com/g/elixir-lang-core/c/CjY7W9xvu80 (https://groups.google.com/g/elixir-lang-core/c/CjY7W9xvu80?utm_source=thinkingelixir&utm_medium=shownotes) – Proposal for adding URI sigil - https://groups.google.com/g/elixir-lang-core/c/MfB7GJSXV5w (https://groups.google.com/g/elixir-lang-core/c/MfB7GJSXV5w?utm_source=thinkingelixir&utm_medium=shownotes) – Proposal for adding UTC sigil - https://podcast.thinkingelixir.com/149 (https://podcast.thinkingelixir.com/149?utm_source=thinkingelixir&utm_medium=shownotes) – More on Logging from Łukasz Niemier - https://twitter.com/ac_alejos/status/1658943203364544512 (https://twitter.com/ac_alejos/status/1658943203364544512?utm_source=thinkingelixir&utm_medium=shownotes) – Exgboost library released - https://github.com/acalejos/exgboost/blob/main/notebooks/iris_classification.livemd (https://github.com/acalejos/exgboost/blob/main/notebooks/iris_classification.livemd?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook example for Exgboost - https://www.youtube.com/watch?v=cG8iwK_6KIg (https://www.youtube.com/watch?v=cG8iwK_6KIg?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU Lightning Talk that visualizes supervisor behaviors using the classic computer game Doom with monster spawning and killing. - https://github.com/amalbuquerque/doom-supervisor (https://github.com/amalbuquerque/doom-supervisor?utm_source=thinkingelixir&utm_medium=shownotes) – Github project for DoomSupervisor - http://twitch.com/josevalim (http://twitch.com/josevalim?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim has resumed some Live coding and chatting on Twitch. - https://twitter.com/josevalim/status/1660300292619923457 (https://twitter.com/josevalim/status/1660300292619923457?utm_source=thinkingelixir&utm_medium=shownotes) – José sharing on Twitter that a Twitch Livestream will start 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/elixir-tools/credo-language-server (https://github.com/elixir-tools/credo-language-server?utm_source=thinkingelixir&utm_medium=shownotes) – LSP implementation for Credo - https://github.com/elixir-tools/gen_lsp (https://github.com/elixir-tools/gen_lsp?utm_source=thinkingelixir&utm_medium=shownotes) – A behavior for creating language servers - https://github.com/elixir-tools (https://github.com/elixir-tools?utm_source=thinkingelixir&utm_medium=shownotes) – Githug organization - https://simplebet.io/index.html (https://simplebet.io/index.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/elixir-lsp/elixir-ls (https://github.com/elixir-lsp/elixir-ls?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/mitchhanberg/status/1648327430912843779 (https://twitter.com/mitchhanberg/status/1648327430912843779?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.mitchellhanberg.com/credo-language-server-and-the-birth-of-elixir-tools/ (https://www.mitchellhanberg.com/credo-language-server-and-the-birth-of-elixir-tools/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about the Credo Language Server and Elixir Tools - https://podcast.thinkingelixir.com/92 (https://podcast.thinkingelixir.com/92?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview about Temple (March 29th, 2022) - https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/ (https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/?utm_source=thinkingelixir&utm_medium=shownotes) – Language Server spec from Microsoft - https://www.youtube.com/watch?v=Ug-SEozyG1A (https://www.youtube.com/watch?v=Ug-SEozyG1A?utm_source=thinkingelixir&utm_medium=shownotes) – Code BEAM talk - "OTP Process Abstractions with proc lib" - https://github.com/adobe/elixir-styler (https://github.com/adobe/elixir-styler?utm_source=thinkingelixir&utm_medium=shownotes) – Formatter plugin from Adobe - https://github.com/tree-sitter/tree-sitter (https://github.com/tree-sitter/tree-sitter?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/elixir-toniq/norm (https://github.com/elixir-toniq/norm?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/mhanberg/temple (https://github.com/mhanberg/temple?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/petalframework/petal_components (https://github.com/petalframework/petal_components?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/mitchhanberg (https://twitter.com/mitchhanberg?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/mhanberg/ (https://github.com/mhanberg/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://hachyderm.io/@mitchhanberg (https://hachyderm.io/@mitchhanberg?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - https://www.mitchellhanberg.com/ (https://www.mitchellhanberg.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog - https://champions-of-hope.funraise.org/fundraiser/mitchell-hanberg (https://champions-of-hope.funraise.org/fundraiser/mitchell-hanberg?utm_source=thinkingelixir&utm_medium=shownotes) – Fund raising page for FightCRC 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)
5/30/202356 minutes, 11 seconds
Episode Artwork

152: Rust and Elixir Play Great Together

Rust is a popular lower level language and the community has created a number of libraries to solve different problems. We talk with Jason Stiebs, a Phoenix Core Team member, about how Elixir and Rust can play well together. Jason wrote an article about how he leveraged an image processing library available in Rust by using the Elixir Rustler package. We talk about how Rustler works through NIFs, and we learn how easy using Rustler has become. It's great to understand that we have a powerful escape hatch like Rustler for those times we need it. We also get Jason’s insights into the Phoenix project and talk about the importance of improving the developer experience when a LiveView crashes and more! Show Notes online - http://podcast.thinkingelixir.com/152 (http://podcast.thinkingelixir.com/152) Elixir Community News - https://www.erlang.org/news/164 (https://www.erlang.org/news/164?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang OTP 26 Final was released - https://www.erlang.org/blog/otp-26-highlights/ (https://www.erlang.org/blog/otp-26-highlights/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.erlang.org/blog/otp-26-highlights/#improvements-of-maps (https://www.erlang.org/blog/otp-26-highlights/#improvements-of-maps?utm_source=thinkingelixir&utm_medium=shownotes) – Improvements to Maps - https://github.com/elixir-lang/elixir/releases/tag/v1.14.4 (https://github.com/elixir-lang/elixir/releases/tag/v1.14.4?utm_source=thinkingelixir&utm_medium=shownotes) – When Elixir 1.14.4 was released, it included the ability to request sorted map keys when inspecting. - https://www.erlang.org/blog/otp-26-highlights/#incremental-mode-for-dialyzer (https://www.erlang.org/blog/otp-26-highlights/#incremental-mode-for-dialyzer?utm_source=thinkingelixir&utm_medium=shownotes) – Incremental mode for Dialyzer - https://erlangforums.com/t/in-erlang-otp-27-0-0-will-no-longer-be-exactly-equal-to-0-0/2586 (https://erlangforums.com/t/in-erlang-otp-27-0-0-will-no-longer-be-exactly-equal-to-0-0/2586?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang OTP 27 where +0.0 will no longer be exactly equal to -0.0. - https://felt.com/blog/startup-and-shutdown-for-phoenix-applications (https://felt.com/blog/startup-and-shutdown-for-phoenix-applications?utm_source=thinkingelixir&utm_medium=shownotes) – Jason Axelson wrote an article about doing a “Graceful Startup and Shutdown for Phoenix Applications” over on the Felt blog. - https://smartlogic.io/podcast/elixir-wizards/s10-e08-jose-valim-future-elixir-ecosystem/ (https://smartlogic.io/podcast/elixir-wizards/s10-e08-jose-valim-future-elixir-ecosystem/?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim was on the Elixir Wizards podcast talking about the future development of Elixir - https://twitter.com/josevalim/status/1658160088354369546 (https://twitter.com/josevalim/status/1658160088354369546?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim was asking for feedback on the "Optional Syntax Sheet" documentation. - https://elixir-lang.org/getting-started/optional-syntax.html (https://elixir-lang.org/getting-started/optional-syntax.html?utm_source=thinkingelixir&utm_medium=shownotes) – Optional syntax sheet in the Elixir Getting Started docs - https://twitter.com/sean_moriarity/status/1648466250828484609 (https://twitter.com/sean_moriarity/status/1648466250828484609?utm_source=thinkingelixir&utm_medium=shownotes) – LLaMa support added to Nx and Bumblebee by Sean Moriarity - https://twitter.com/FrerichRaabe/status/1648696436266004480 (https://twitter.com/FrerichRaabe/status/1648696436266004480?utm_source=thinkingelixir&utm_medium=shownotes) – Nicely summarizing Tweet that frames the LLaMa work - https://www.youtube.com/watch?v=e2fDjl2hoAk (https://www.youtube.com/watch?v=e2fDjl2hoAk?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU keynote video titled “Using Elixir & Phoenix To Build A City Software Infrastructure” - https://www.empex.co/new-york (https://www.empex.co/new-york?utm_source=thinkingelixir&utm_medium=shownotes) – Empex NYC - use code THINKING to get $100 of your ticket - https://www.lambdadays.org/lambdadays2023 (https://www.lambdadays.org/lambdadays2023?utm_source=thinkingelixir&utm_medium=shownotes) – LambdaDays functional programming conference on 5-6 June 2023 in Kraków Poland - https://twitter.com/josevalim/status/1658159252773453824 (https://twitter.com/josevalim/status/1658159252773453824?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim will speak about meta-programmable functional notebooks with Livebook 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/elixir-and-rust-is-a-good-mix/ (https://fly.io/phoenix-files/elixir-and-rust-is-a-good-mix/?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir and Rust Is a Good Mix - https://youtu.be/FADQAnq0RpA?t=3636 (https://youtu.be/FADQAnq0RpA?t=3636?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord specifically calling out Jason for advocating for a better DX around LiveView errors. - https://github.com/rusterlium/rustler (https://github.com/rusterlium/rustler?utm_source=thinkingelixir&utm_medium=shownotes) - https://discord.com/blog/using-rust-to-scale-elixir-for-11-million-concurrent-users (https://discord.com/blog/using-rust-to-scale-elixir-for-11-million-concurrent-users?utm_source=thinkingelixir&utm_medium=shownotes) - https://news.livebook.dev/label/45764 (https://news.livebook.dev/label/45764?utm_source=thinkingelixir&utm_medium=shownotes) - https://fly.io/phoenix-files/tensors-and-nx-are-not-just-for-machine-learning/ (https://fly.io/phoenix-files/tensors-and-nx-are-not-just-for-machine-learning/?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/peregrine (https://twitter.com/peregrine?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/jeregrine/ (https://github.com/jeregrine/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://merveilles.town/@peregrine (https://merveilles.town/@peregrine?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - mailto:jason@fly.io (mailto:jason@fly.io?utm_source=thinkingelixir&utm_medium=shownotes) – Email 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)
5/23/202350 minutes, 15 seconds
Episode Artwork

151: Peeking inside the Livebook

Recently Livebook had its first launch week. We met with Jonatan Kłosko, the developer behind most of the exciting new features, to learn what some of these additions are, how they actually work and what's coming with the new Teams feature. Jonatan shares some of his favorite unsung features and where the new apps ability may go in the future. Livebook is an important community project and it's fun getting a deeper look inside! Show Notes online - http://podcast.thinkingelixir.com/151 (http://podcast.thinkingelixir.com/151) Elixir Community News - https://changelog.com/podcast/538 (https://changelog.com/podcast/538?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim was on the Changelog podcast talking about the Livebook release week. - https://twitter.com/josevalim/status/1653838129306935301 (https://twitter.com/josevalim/status/1653838129306935301?utm_source=thinkingelixir&utm_medium=shownotes) – José sharing his podcast interview on Twitter - https://twitter.com/bigcodeproject/status/1654174941976068119 (https://twitter.com/bigcodeproject/status/1654174941976068119?utm_source=thinkingelixir&utm_medium=shownotes) – StarCoder Twitter thread - https://github.com/bigcode-project/starcoder (https://github.com/bigcode-project/starcoder?utm_source=thinkingelixir&utm_medium=shownotes) – StarCoder Github project page - https://huggingface.co/bigcode/starcoder (https://huggingface.co/bigcode/starcoder?utm_source=thinkingelixir&utm_medium=shownotes) – New LLM (Large Language Model) on HuggingFace. Heads up! It's a 64GB model! - https://huggingface.co/chat (https://huggingface.co/chat?utm_source=thinkingelixir&utm_medium=shownotes) – Link where you can play with the StarCoder via a chat interface - https://towardsdatascience.com/4-autonomous-ai-agents-you-need-to-know-d612a643fa92 (https://towardsdatascience.com/4-autonomous-ai-agents-you-need-to-know-d612a643fa92?utm_source=thinkingelixir&utm_medium=shownotes) – Autonomous AI agents have become a hot topic. Examples include AutoGPT, Westworld simulation and others. - https://twitter.com/servusmario/status/1655883183643033601 (https://twitter.com/servusmario/status/1655883183643033601?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter discussion with José Valim about Elixir and processes being used as LLM Agents. - https://twitter.com/akoutmos/status/1654728415252029440 (https://twitter.com/akoutmos/status/1654728415252029440?utm_source=thinkingelixir&utm_medium=shownotes) – Alex Koutmos shared how he and Amos King worked together to create a new Elixir library called denoex that makes it easy to run TypeScript and JavaScript from Elixir. - https://github.com/akoutmos/deno_ex (https://github.com/akoutmos/deno_ex?utm_source=thinkingelixir&utm_medium=shownotes) – The denoex library on Github - https://stackoverflow.blog/2023/05/08/the-2023-developer-survey-is-now-live/ (https://stackoverflow.blog/2023/05/08/the-2023-developer-survey-is-now-live/?utm_source=thinkingelixir&utm_medium=shownotes) – Stack Overflow 2023 Developer Survey is out - https://www.youtube.com/watch?v=K51fj1JGQEY (https://www.youtube.com/watch?v=K51fj1JGQEY?utm_source=thinkingelixir&utm_medium=shownotes) – Lars Wikman's ElixirConf EU 2023 video was released. This is the 2nd video released from the ElixirConf EU. It is titled "Lively LiveView with Membrane" - https://hex.pm/blog/new-domain-for-build-artifacts (https://hex.pm/blog/new-domain-for-build-artifacts?utm_source=thinkingelixir&utm_medium=shownotes) – Hex.pm blog post announcing the subdomain change for hosting builds. It includes instructions on migrating tools to prevent an interruption. - https://www.empex.co/new-york#speakers (https://www.empex.co/new-york#speakers?utm_source=thinkingelixir&utm_medium=shownotes) – Empex NYC lineup has been announced. It is a one day, single-track Elixir conference in New York City 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://news.livebook.dev/deploy-notebooks-as-apps-quality-of-life-upgrades---launch-week-1---day-1-2OTEWI (https://news.livebook.dev/deploy-notebooks-as-apps-quality-of-life-upgrades---launch-week-1---day-1-2OTEWI?utm_source=thinkingelixir&utm_medium=shownotes) – Day 1 - Deploy notebooks as apps & quality-of-life upgrades - https://news.livebook.dev/distributed2-machine-learning-notebooks-with-elixir-and-livebook---launch-week-1---day-2-1aIlaw (https://news.livebook.dev/distributed2-machine-learning-notebooks-with-elixir-and-livebook---launch-week-1---day-2-1aIlaw?utm_source=thinkingelixir&utm_medium=shownotes) – Day 2 - Distributed² Machine Learning notebooks with Elixir and Livebook - https://news.livebook.dev/hubs-and-secret-management---launch-week-1---day-3-3tMaJ2 (https://news.livebook.dev/hubs-and-secret-management---launch-week-1---day-3-3tMaJ2?utm_source=thinkingelixir&utm_medium=shownotes) – Day 3 - Hubs and secret management - https://news.livebook.dev/build-and-deploy-a-whisper-chat-app-to-hugging-face-in-15-minutes---launch-week-1---day-4-wYM0w (https://news.livebook.dev/build-and-deploy-a-whisper-chat-app-to-hugging-face-in-15-minutes---launch-week-1---day-4-wYM0w?utm_source=thinkingelixir&utm_medium=shownotes) – Day 4 - Build and deploy a Whisper chat app to Hugging Face in 15 minutes - https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI (https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI?utm_source=thinkingelixir&utm_medium=shownotes) – Day 5 - Data wrangling in Elixir with Explorer, the power of Rust, the elegance of R - https://podcast.thinkingelixir.com/46 (https://podcast.thinkingelixir.com/46?utm_source=thinkingelixir&utm_medium=shownotes) – 1st time we talked. May 2021 ~2 years ago! - https://podcast.thinkingelixir.com/130 (https://podcast.thinkingelixir.com/130?utm_source=thinkingelixir&utm_medium=shownotes) – 2nd time we talked about Bumblebee - Dec 2022 - https://github.com/livebook-dev/livebook/graphs/contributors (https://github.com/livebook-dev/livebook/graphs/contributors?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook Github contributor graph Guest Information - https://github.com/jonatanklosko/ (https://github.com/jonatanklosko/?utm_source=thinkingelixir&utm_medium=shownotes) – Jonatan Kłosko on Github - https://jonatanklosko.com/ (https://jonatanklosko.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog - https://erlef.org/slack-invite/erlef (https://erlef.org/slack-invite/erlef?utm_source=thinkingelixir&utm_medium=shownotes) – The EEF Slack - https://elixirforum.com/u/jonatanklosko (https://elixirforum.com/u/jonatanklosko?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Forum profile 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)
5/16/202343 minutes, 26 seconds
Episode Artwork

150: Thinking Elixir News

News covers Chris McCord's keynote speech on LiveView 1.0. We cover the EEF's final election results, latest from the LiveView Native space, ex_cldr updates for localizing our apps, an OTP patch release, and more! Show Notes online - http://podcast.thinkingelixir.com/150 (http://podcast.thinkingelixir.com/150) Elixir Community News - https://www.youtube.com/watch?v=FADQAnq0RpA&t=408s (https://www.youtube.com/watch?v=FADQAnq0RpA&t=408s?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord's keynote from ElixirConf EU - https://erlef.org/blog/eef/election-2023-revote-results (https://erlef.org/blog/eef/election-2023-revote-results?utm_source=thinkingelixir&utm_medium=shownotes) – EEF final election results - https://twitter.com/bcardarella/status/1651266755443015681 (https://twitter.com/bcardarella/status/1651266755443015681?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView Native has a new SwiftUI VSCode plugin with code completion and documentation access - https://github.com/liveview-native/liveview-native-vscode (https://github.com/liveview-native/liveview-native-vscode?utm_source=thinkingelixir&utm_medium=shownotes) – The LiveView Native VSCode plugin - https://podcast.thinkingelixir.com/120 (https://podcast.thinkingelixir.com/120?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview with Kip Cole about excldr - https://github.com/elixir-cldr/cldr (https://github.com/elixir-cldr/cldr?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir CLDR project - https://elixirforum.com/t/ex-cldr-common-locale-data-repository-cldr-functions-for-elixir/17350/98 (https://elixirforum.com/t/ex-cldr-common-locale-data-repository-cldr-functions-for-elixir/17350/98?utm_source=thinkingelixir&utm_medium=shownotes) – CLDR version 43 released, 15 excldr libraries updated - https://erlangforums.com/t/patch-package-otp-25-3-1-released/2574 (https://erlangforums.com/t/patch-package-otp-25-3-1-released/2574?utm_source=thinkingelixir&utm_medium=shownotes) – Minor patch release for OTP 25.3.1 - https://github.com/doorgan/channel_handler (https://github.com/doorgan/channel_handler?utm_source=thinkingelixir&utm_medium=shownotes) – Routing Patterns for Manageable Phoenix Channels - https://felt.com/blog/pheonix-channel-routing-patterns (https://felt.com/blog/pheonix-channel-routing-patterns?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post on channel routing patterns - https://twitter.com/zacksiri/status/1652515195724627968 (https://twitter.com/zacksiri/status/1652515195724627968?utm_source=thinkingelixir&utm_medium=shownotes) – Overview of recent Elixir projects and frameworks 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)
5/9/202313 minutes, 13 seconds
Episode Artwork

149: Elixir's new Unified Logger

Hauleth (Łukasz Jan Niemier) takes us deeper into the Elixir and Erlang loggers. He recently closed a 3.5 year old bug on the ElixirLang Github project by unifying the Elixir logger with the logger that Erlang got in OTP 21. We touch on the history, why it took so long, what we should think of the new logging levels, and what the original goals were that he set out to achieve. We also get an introduction to the new logging filters and handlers along with some peeks into future Erlang logging features that may still be yet to come in Elixir! Show Notes online - http://podcast.thinkingelixir.com/149 (http://podcast.thinkingelixir.com/149) Elixir Community News - https://podcast.thinkingelixir.com/73 (https://podcast.thinkingelixir.com/73?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview with Paul Copplestone about Elixir and Supabase - https://twitter.com/kiwicopple/status/1646918873445195783 (https://twitter.com/kiwicopple/status/1646918873445195783?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase had their own release week. Paul shared his favorite one. - https://supabase.com/blog/dbdev (https://supabase.com/blog/dbdev?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase blog post about dbdev - a Postgres extension package manager - https://database.dev/installer (https://database.dev/installer?utm_source=thinkingelixir&utm_medium=shownotes) – Database.dev is the dedicated site for dbdev - https://twitter.com/josevalim/status/1649001076404768768 (https://twitter.com/josevalim/status/1649001076404768768?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim shared the Livebook notebook used during his ElixirConf EU presentation - https://github.com/josevalim/livebooks/blob/main/talks/2023/04-elixir-conf.livemd (https://github.com/josevalim/livebooks/blob/main/talks/2023/04-elixir-conf.livemd?utm_source=thinkingelixir&utm_medium=shownotes) – José's Livebook from his presentation - https://twitter.com/visual_partner/status/1648979346491580416 (https://twitter.com/visual_partner/status/1648979346491580416?utm_source=thinkingelixir&utm_medium=shownotes) – Visual drawing created from José's ElixirConf EU keynote - https://twitter.com/livebookdev/status/1648328527026987008 (https://twitter.com/livebookdev/status/1648328527026987008?utm_source=thinkingelixir&utm_medium=shownotes) – New Livebook KinoDiff feature makes it easy to visually display a diff between two strings in Livebook. - https://twitter.com/theerlef/status/1649442881302822915 (https://twitter.com/theerlef/status/1649442881302822915?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang OTP 26 RC 3 - https://www.erlang.org/news/163 (https://www.erlang.org/news/163?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post for Erlang/OTP 26.0 Release Candidate 3 - https://www.erlang.org/blog/more-optimizations/ (https://www.erlang.org/blog/more-optimizations/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post on Erlang website about OTP 26 optimizations in the compiler and JIT - https://twitter.com/michalmuskala/status/1650511805339381763 (https://twitter.com/michalmuskala/status/1650511805339381763?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang library called “erlfuzz” was released. - https://erlangforums.com/t/open-sourcing-erlfuzz/2562 (https://erlangforums.com/t/open-sourcing-erlfuzz/2562?utm_source=thinkingelixir&utm_medium=shownotes) – Erlfuzz forum post. It is a fuzzer for Erlang code and the BEAM. - https://github.com/evadne/emporium (https://github.com/evadne/emporium?utm_source=thinkingelixir&utm_medium=shownotes) – Evadne Wu released an Elixir example application that walks through a variety of Elixir ML operations - https://paraxial.io/blog/sobelow-guide (https://paraxial.io/blog/sobelow-guide?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post from Paraxial.io on a guide to using Sobelow - https://github.com/paraxialio/sobelow_guide (https://github.com/paraxialio/sobelow_guide?utm_source=thinkingelixir&utm_medium=shownotes) – Github readme explains more about Sobelow findings and how to correct them. - https://github.com/woutdp/live_svelte (https://github.com/woutdp/live_svelte?utm_source=thinkingelixir&utm_medium=shownotes) – A new project called LiveSvelte was released. Helps integrate using Sevelte front-end JS with a LiveView - https://wout.space/notes/live-svelte (https://wout.space/notes/live-svelte?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about live_svelte 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/whatyouhide/status/1626544505506656257 (https://twitter.com/whatyouhide/status/1626544505506656257?utm_source=thinkingelixir&utm_medium=shownotes) – PR that closed a 3.5yo Elixir issue on unifying Erlang and Elixir loggers. - https://github.com/elixir-lang/elixir/issues/9465 (https://github.com/elixir-lang/elixir/issues/9465?utm_source=thinkingelixir&utm_medium=shownotes) – Github Issue “Further unify logger and Logger” - https://www.erlang.org/doc/man/logger.html (https://www.erlang.org/doc/man/logger.html?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang logger docs. Referenced. - https://hexdocs.pm/logger/main/Logger.html (https://hexdocs.pm/logger/main/Logger.html?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir logger docs (able to see the “1.15.0-dev” version) - https://www.erlang.org/doc/apps/sasl/ (https://www.erlang.org/doc/apps/sasl/?utm_source=thinkingelixir&utm_medium=shownotes) – SASL Logging docs - https://www.eiger.co/ (https://www.eiger.co/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/hauleth/mix_unused (https://github.com/hauleth/mix_unused?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/hauleth/erlang-systemd (https://github.com/hauleth/erlang-systemd?utm_source=thinkingelixir&utm_medium=shownotes) - https://systemd.io/ (https://systemd.io/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/erlang-lager/lager (https://github.com/erlang-lager/lager?utm_source=thinkingelixir&utm_medium=shownotes) - https://riak.com/posts/technical/introducing-lager-a-new-logging-framework-for-erlangotp/index.html (https://riak.com/posts/technical/introducing-lager-a-new-logging-framework-for-erlangotp/index.html?utm_source=thinkingelixir&utm_medium=shownotes) - OTP 21 added built-in logging - https://www.erlang.org/doc/man/logger_filters.html (https://www.erlang.org/doc/man/logger_filters.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/hauleth (https://twitter.com/hauleth?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/hauleth/ (https://github.com/hauleth/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://fosstodon.org/@hauleth (https://fosstodon.org/@hauleth?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - https://hauleth.dev (https://hauleth.dev?utm_source=thinkingelixir&utm_medium=shownotes) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
5/2/202354 minutes, 27 seconds
Episode Artwork

148: Security Scanning our Apps with Sobelow

We go deeper on the Sobelow library, a security-focused static analysis tool for Elixir and Phoenix apps. We talk with Griffin Byatt, the creator, and Holden Oullette, the new maintainer. We learn how and why the project was created, how it works, what it can and can't do, and how to use it in CI pipelines for continuous scanning. Sobelow is a cornerstone project in the community that checks a critical box for certification requirements which means we get to use Elixir when it might otherwise be a hard sell. Join us as we learn more about the project and the people behind it! Show Notes online - http://podcast.thinkingelixir.com/148 (http://podcast.thinkingelixir.com/148) Elixir Community News - https://news.livebook.dev/hubs-and-secret-management---launch-week-1---day-3-3tMaJ2 (https://news.livebook.dev/hubs-and-secret-management---launch-week-1---day-3-3tMaJ2?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook Launch Week - Day 3 - Hubs, secrets, teams, authentication - https://news.livebook.dev/build-and-deploy-a-whisper-chat-app-to-hugging-face-in-15-minutes---launch-week-1---day-4-wYM0w (https://news.livebook.dev/build-and-deploy-a-whisper-chat-app-to-hugging-face-in-15-minutes---launch-week-1---day-4-wYM0w?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook Launch Week - Day 4 - What is deploying apps to HuggingFace? - https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI (https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook Launch Week - Day 5 - Data wrangling in Elixir with https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI - https://github.com/elixir-nx (https://github.com/elixir-nx?utm_source=thinkingelixir&utm_medium=shownotes) – The Nx GitHub organization page was set up - https://twitter.com/sorentwo/status/1646493981591625732 (https://twitter.com/sorentwo/status/1646493981591625732?utm_source=thinkingelixir&utm_medium=shownotes) – Oban update 2.15.0 - https://github.com/sorentwo/oban/releases/tag/v2.15.0 (https://github.com/sorentwo/oban/releases/tag/v2.15.0?utm_source=thinkingelixir&utm_medium=shownotes) – Oban release notes - https://twitter.com/osterbergmarcus/status/1646833341881016323 (https://twitter.com/osterbergmarcus/status/1646833341881016323?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet asking about bulk steam inserts - https://twitter.com/elixirphoenix/status/1646913447030865921 (https://twitter.com/elixirphoenix/status/1646913447030865921?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix response says the bulk insert is in main now. - https://hexdocs.pm/ecto/Ecto.Changeset.html#cast_assoc/3-sorting-and-deleting-from-many-collections (https://hexdocs.pm/ecto/Ecto.Changeset.html#cast_assoc/3-sorting-and-deleting-from-many-collections?utm_source=thinkingelixir&utm_medium=shownotes) – Ecto's Sorting and deleting from -many collections - https://twitter.com/iteamon/status/1648310734479130627 (https://twitter.com/iteamon/status/1648310734479130627?utm_source=thinkingelixir&utm_medium=shownotes) – Dry run implementation by Tymon Tobolski - https://twitter.com/theerlef/status/1646211583172034563 (https://twitter.com/theerlef/status/1646211583172034563?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU keynote to look forward to 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/paraxialio/status/1641242283134660616 (https://twitter.com/paraxialio/status/1641242283134660616?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/nccgroup/sobelow (https://github.com/nccgroup/sobelow?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/nccgroup/sobelow/releases/tag/v0.12.2 (https://github.com/nccgroup/sobelow/releases/tag/v0.12.2?utm_source=thinkingelixir&utm_medium=shownotes) – recent release - https://github.com/podium/elixir-secure-coding (https://github.com/podium/elixir-secure-coding?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.podium.com/ (https://www.podium.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://podcast.thinkingelixir.com/122 (https://podcast.thinkingelixir.com/122?utm_source=thinkingelixir&utm_medium=shownotes) – Securing Elixir and Teaching the Team interview with Holden - https://www.crowdstrike.com/cybersecurity-101/shift-left-security/ (https://www.crowdstrike.com/cybersecurity-101/shift-left-security/?utm_source=thinkingelixir&utm_medium=shownotes) – Shift left - https://www.nccgroup.com/us/ (https://www.nccgroup.com/us/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/podium/elixir-secure-coding (https://github.com/podium/elixir-secure-coding?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/ExHammer/hammer (https://github.com/ExHammer/hammer?utm_source=thinkingelixir&utm_medium=shownotes) - SAST - Static Application Security Testing - IAST - Interactive Application Security Testing Guest Information - https://twitter.com/HoldenOullette (https://twitter.com/HoldenOullette?utm_source=thinkingelixir&utm_medium=shownotes) – Holden on Twitter - https://github.com/houllette/ (https://github.com/houllette/?utm_source=thinkingelixir&utm_medium=shownotes) – Holden on Github - https://oullette.xyz/ (https://oullette.xyz/?utm_source=thinkingelixir&utm_medium=shownotes) – Holden's Blog - https://twitter.com/griffinbyatt (https://twitter.com/griffinbyatt?utm_source=thinkingelixir&utm_medium=shownotes) – Griffin on Twitter - https://github.com/GriffinMB/ (https://github.com/GriffinMB/?utm_source=thinkingelixir&utm_medium=shownotes) – Griffin on Github - https://griffinbyatt.com/ (https://griffinbyatt.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Griffin's page 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)
4/25/202356 minutes, 7 seconds
Episode Artwork

147: Thinking Elixir News

Day 1 and 2 of Livebook's first launch week announcements, a new JsonSchema compiler named Exonerate, Ecto 3.10.0 brings changeset improvements for LiveView, the Image library can now skew and unskew images using Nx, KnockLabs released the oneanddone library for idempotent APIs, and more! Show Notes online - http://podcast.thinkingelixir.com/147 (http://podcast.thinkingelixir.com/147) Elixir Community News - https://twitter.com/josevalim/status/1644035841080143872 (https://twitter.com/josevalim/status/1644035841080143872?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook's first “launch week” is going on at the time of this recording. - https://twitter.com/josevalim/status/1645453335615483908 (https://twitter.com/josevalim/status/1645453335615483908?utm_source=thinkingelixir&utm_medium=shownotes) – Day 1 - show how to deploy notebooks as applications plus other QoL improvements arriving in Livebook v0.9 - https://news.livebook.dev/deploy-notebooks-as-apps-quality-of-life-upgrades---launch-week-1---day-1-2OTEWI (https://news.livebook.dev/deploy-notebooks-as-apps-quality-of-life-upgrades---launch-week-1---day-1-2OTEWI?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post - Deploy notebooks as apps & quality-of-life upgrades - Launch Week 1 - Day 1 - https://news.livebook.dev/distributed2-machine-learning-notebooks-with-elixir-and-livebook---launch-week-1---day-2-1aIlaw (https://news.livebook.dev/distributed2-machine-learning-notebooks-with-elixir-and-livebook---launch-week-1---day-2-1aIlaw?utm_source=thinkingelixir&utm_medium=shownotes) – Distributed² Machine Learning notebooks with Elixir and Livebook - Launch Week 1 - Day 2 - https://www.youtube.com/watch?v=ELBQytOaQUQ (https://www.youtube.com/watch?v=ELBQytOaQUQ?utm_source=thinkingelixir&utm_medium=shownotes) – Sean Moriarity attended the Denver Online Elixir Meetup and talked about Bumblebee and conversational bots in Elixir. - https://github.com/E-xyza/Exonerate (https://github.com/E-xyza/Exonerate?utm_source=thinkingelixir&utm_medium=shownotes) – Exonerate (an opinionated JSONSchema compiler for Elixir) 0.3.0 is released and available on Hex - https://twitter.com/DNAutics/status/1643347181103874050 (https://twitter.com/DNAutics/status/1643347181103874050?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter thread with discussion about what a JsonSchema compiler is - https://twitter.com/josevalim/status/1645485723242430465 (https://twitter.com/josevalim/status/1645485723242430465?utm_source=thinkingelixir&utm_medium=shownotes) – Ecto 3.10.0 was released with improvements around changesets, some of them focused on better interplay with LiveView - https://github.com/elixir-ecto/ecto/blob/v3.10.0/CHANGELOG.md (https://github.com/elixir-ecto/ecto/blob/v3.10.0/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Ecto 3.10.0 changelog - https://hexdocs.pm/ecto/3.10.0/Ecto.Changeset.html#field_missing?/2 (https://hexdocs.pm/ecto/3.10.0/Ecto.Changeset.html#field_missing?/2?utm_source=thinkingelixir&utm_medium=shownotes) – field_missing function as an example - https://twitter.com/chris_mccord/status/1645490346543964162 (https://twitter.com/chris_mccord/status/1645490346543964162?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord will be showing off some of these new Ecto features in his upcoming ElixirConf EU talk. - https://twitter.com/germsvel/status/1643933568585043968 (https://twitter.com/germsvel/status/1643933568585043968?utm_source=thinkingelixir&utm_medium=shownotes) – German Valesco shared another short tip about using liveSocket.enableLatencySim() for slowing local dev experience - https://pragmaticstudio.com/courses/phoenix-liveview (https://pragmaticstudio.com/courses/phoenix-liveview?utm_source=thinkingelixir&utm_medium=shownotes) – PragmaticStudio updated their video based Phoenix LiveView course - https://elixirforum.com/t/image-an-image-processing-library-based-upon-vix/47568/98 (https://elixirforum.com/t/image-an-image-processing-library-based-upon-vix/47568/98?utm_source=thinkingelixir&utm_medium=shownotes) – Image 0.28.x released. Forum post with images showing what it does. - https://github.com/elixir-image/image/blob/main/CHANGELOG.md#image-0281 (https://github.com/elixir-image/image/blob/main/CHANGELOG.md#image-0281?utm_source=thinkingelixir&utm_medium=shownotes) – Image uses Nx and Vix to straighten or skew image data - https://twitter.com/cjbell_/status/1645508923196071936 (https://twitter.com/cjbell_/status/1645508923196071936?utm_source=thinkingelixir&utm_medium=shownotes) – Chris Bell at Knock Labs shared a new library release called “One and Done”. It is a tool for creating APIs that are idempotent. - https://github.com/knocklabs/oneanddone (https://github.com/knocklabs/one_and_done?utm_source=thinkingelixir&utm_medium=shownotes) – One and Done GitHub project - https://knock.app/blog/using-one-and-done-to-power-idempotency (https://knock.app/blog/using-one-and-done-to-power-idempotency?utm_source=thinkingelixir&utm_medium=shownotes) – One and done idempotency blog post - https://www.empex.co/new-york (https://www.empex.co/new-york?utm_source=thinkingelixir&utm_medium=shownotes) – EMPEX NYC conference reminder - June 9, 2023 - A one day, single-track Elixir conference in Brooklyn, NY 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)
4/18/202318 minutes, 41 seconds
Episode Artwork

146: Thinking Elixir News

News includes Elixir 1.14.4 release and what's in it, the EEF's election is re-run and why, a new ML library Scholar was released and what it's for, a Sobelow update, a post about building your own static site generator with Phoenix, a post creating a Slack-like app with LiveView and streams, and more! Show Notes online - http://podcast.thinkingelixir.com/146 (http://podcast.thinkingelixir.com/146) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.14.4 (https://github.com/elixir-lang/elixir/releases/tag/v1.14.4?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.14.4 released - https://erlef.org/blog/eef/election-2023-revote (https://erlef.org/blog/eef/election-2023-revote?utm_source=thinkingelixir&utm_medium=shownotes) – EEF board election re-vote to correct a procedural issue. - https://twitter.com/josevalim/status/1641137386124988418 (https://twitter.com/josevalim/status/1641137386124988418?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim announced “Scholar”, traditional Machine Learning algorithms library. - https://hexdocs.pm/scholar/ (https://hexdocs.pm/scholar/?utm_source=thinkingelixir&utm_medium=shownotes) – Scholar project on Github - https://hexdocs.pm/scholar/linear_regression.html (https://hexdocs.pm/scholar/linear_regression.html?utm_source=thinkingelixir&utm_medium=shownotes) – Scholar's docs look good. - https://twitter.com/paraxialio/status/1641242283134660616 (https://twitter.com/paraxialio/status/1641242283134660616?utm_source=thinkingelixir&utm_medium=shownotes) – Sobelow v0.12.0 released - https://github.com/nccgroup/sobelow/releases/tag/v0.12.0 (https://github.com/nccgroup/sobelow/releases/tag/v0.12.0?utm_source=thinkingelixir&utm_medium=shownotes) – Sobelow changelog on Github - https://twitter.com/akoutmos/status/1642204487560331270 (https://twitter.com/akoutmos/status/1642204487560331270?utm_source=thinkingelixir&utm_medium=shownotes) – PromEx 1.8.0 was released. - https://github.com/akoutmos/prom_ex/blob/master/CHANGELOG.md#180---2023-04-01 (https://github.com/akoutmos/prom_ex/blob/master/CHANGELOG.md#180---2023-04-01?utm_source=thinkingelixir&utm_medium=shownotes) – PromEx changelog on Github - https://twitter.com/germsvel/status/1641759745118969856 (https://twitter.com/germsvel/status/1641759745118969856?utm_source=thinkingelixir&utm_medium=shownotes) – German Valesco shared a short video tip about the JS.exec/3 function - https://fly.io/phoenix-files/crafting-your-own-static-site-generator-using-phoenix/ (https://fly.io/phoenix-files/crafting-your-own-static-site-generator-using-phoenix/?utm_source=thinkingelixir&utm_medium=shownotes) – Jason Stiebs wrote a blog post showing how to create your own static site generator using Phoenix - https://fly.io/phoenix-files/building-a-chat-app-with-liveview-streams/ (https://fly.io/phoenix-files/building-a-chat-app-with-liveview-streams/?utm_source=thinkingelixir&utm_medium=shownotes) – Sophie DeBennedetto wrote a post about building a Slack-like interface using LiveView and Streams. - https://github.com/SophieDeBenedetto/stream_chat (https://github.com/SophieDeBenedetto/stream_chat?utm_source=thinkingelixir&utm_medium=shownotes) – StreamChat Github project Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) 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)
4/11/20237 minutes, 14 seconds
Episode Artwork

145: Thinking Elixir News

News covers the EEF election results, a new Livebook 0.9 release, Docker reverses directions, how Github spilled the secret beans, full text search with a new Haystack lib, how intentionally vulnerable Phoenix apps are educational, the timescale hex package grows up a little, and more! Show Notes online - http://podcast.thinkingelixir.com/145 (http://podcast.thinkingelixir.com/145) Elixir Community News - https://erlef.org/blog/eef/election-2023-results (https://erlef.org/blog/eef/election-2023-results?utm_source=thinkingelixir&utm_medium=shownotes) – New Erlang Ecosystem Foundation members - https://news.livebook.dev/announcing-livebook-0.9-2tiuLC (https://news.livebook.dev/announcing-livebook-0.9-2tiuLC?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook 0.9 was released and has a short accompanying blog post. - https://www.docker.com/blog/no-longer-sunsetting-the-free-team-plan/ (https://www.docker.com/blog/no-longer-sunsetting-the-free-team-plan/?utm_source=thinkingelixir&utm_medium=shownotes) – Docker is no longer sunsetting the Free Team Plan - https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/ (https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub SSH key leaked and reset - https://elixirstream.dev/gendiff (https://elixirstream.dev/gendiff?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirStream diff generator updated with awareness for Credo. - https://github.com/zestcreative/elixirstream/commit/3c4278469201c45f7d794aaa6343f0fe18df4cda (https://github.com/zestcreative/elixirstream/commit/3c4278469201c45f7d794aaa6343f0fe18df4cda?utm_source=thinkingelixir&utm_medium=shownotes) – What's involved in getting a new project diff added - https://culttt.com/2023/03/22/building-a-full-text-search-engine-in-elixir (https://culttt.com/2023/03/22/building-a-full-text-search-engine-in-elixir?utm_source=thinkingelixir&utm_medium=shownotes) – New full-text search library called Haystack from Philip Brown - https://github.com/elixir-haystack/haystack (https://github.com/elixir-haystack/haystack?utm_source=thinkingelixir&utm_medium=shownotes) – Haystack project on Github - https://github.com/heywhy/ex_elasticlunr (https://github.com/heywhy/ex_elasticlunr?utm_source=thinkingelixir&utm_medium=shownotes) – Comparable search library ElasticLunr - https://twitter.com/paraxialio/status/1638161831373029377 (https://twitter.com/paraxialio/status/1638161831373029377?utm_source=thinkingelixir&utm_medium=shownotes) – Paraxial released an intentionally vulnerable project for people to play with and exploit - https://paraxial.io/blog/potion-shop (https://paraxial.io/blog/potion-shop?utm_source=thinkingelixir&utm_medium=shownotes) – Vulnerable "Potion Shop" project - https://owasp.org/www-project-juice-shop/ (https://owasp.org/www-project-juice-shop/?utm_source=thinkingelixir&utm_medium=shownotes) – OWASP's "Juice Shop" vulnerable project - https://twitter.com/sm_debenedetto/status/1638496777463648260 (https://twitter.com/sm_debenedetto/status/1638496777463648260?utm_source=thinkingelixir&utm_medium=shownotes) – The book "Programming Phoenix LiveView" by Bruce Tate and Sophie DeBennedetto released a new update. - https://pragprog.com/titles/liveview/programming-phoenix-liveview/ (https://pragprog.com/titles/liveview/programming-phoenix-liveview/?utm_source=thinkingelixir&utm_medium=shownotes) – The book on PragProg - https://twitter.com/germsvel/status/1638158470317834246 (https://twitter.com/germsvel/status/1638158470317834246?utm_source=thinkingelixir&utm_medium=shownotes) – Tip for testing function components by rendering them to HTML - https://twitter.com/germsvel/status/1640696116017614850 (https://twitter.com/germsvel/status/1640696116017614850?utm_source=thinkingelixir&utm_medium=shownotes) – Tip for paginating as an infinite scroll with streams - https://hex.pm/packages/timescale (https://hex.pm/packages/timescale?utm_source=thinkingelixir&utm_medium=shownotes) – Timescale library published a pseudo-stable version, 0.1.0. (no longer alpha) - https://podcast.thinkingelixir.com/129 (https://podcast.thinkingelixir.com/129?utm_source=thinkingelixir&utm_medium=shownotes) – Our interview with Dave Lucia about Timescale - https://hexdocs.pm/ecto_range/EctoRange.html (https://hexdocs.pm/ecto_range/EctoRange.html?utm_source=thinkingelixir&utm_medium=shownotes) – New Ecto library about storing Ecto Ranges. Provides Ecto types for Postgres about storing a time range, date range, datetime ranges, and integer ranges, and supports indeterminate bounds. 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)
4/4/202312 minutes, 38 seconds
Episode Artwork

144: Thinking Elixir News

A collection of ML stories, fixing an 8-year old LiveView bug, Docker drama, speeding up Dialyzer in CI, a new Credo release and more! Show Notes online - http://podcast.thinkingelixir.com/144 (http://podcast.thinkingelixir.com/144) Elixir Community News - https://www.phoenixframework.org/blog/whisper-speech-to-text-phoenix (https://www.phoenixframework.org/blog/whisper-speech-to-text-phoenix?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord made a video showing how quickly he can add audio transcription to the open-source LiveBeats application. - https://fly.io/blog/livebeats/ (https://fly.io/blog/livebeats/?utm_source=thinkingelixir&utm_medium=shownotes) – LiveBeats blog post with link to the project - https://www.youtube.com/watch?v=OsxGB6MbA8o (https://www.youtube.com/watch?v=OsxGB6MbA8o?utm_source=thinkingelixir&utm_medium=shownotes) – Warsaw meetup was recorded where Hans Josephsen showed using “Object detection in Elixir with Axon” in a Livebook. - https://twitter.com/livebookdev/status/1636780420422418465 (https://twitter.com/livebookdev/status/1636780420422418465?utm_source=thinkingelixir&utm_medium=shownotes) – Conversation models coming soon to Livebook + Bumblebee - https://github.com/nickgnd/programming-machine-learning-livebooks (https://github.com/nickgnd/programming-machine-learning-livebooks?utm_source=thinkingelixir&utm_medium=shownotes) – Gin Lennon converted the Jupyter notebooks for the Python book “Programming Machine Learning” book by P. Perrotta into Elixir Livebooks with Axon. - https://fly.io/phoenix-files/phoenix-dev-blog-sounds-like-a-bug/ (https://fly.io/phoenix-files/phoenix-dev-blog-sounds-like-a-bug/?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord wrote a blog post about his journey to diagnose and fix a challenging race condition in LiveView but only when using the long-poll feature. - https://www.docker.com/blog/we-apologize-we-did-a-terrible-job-announcing-the-end-of-docker-free-teams/ (https://www.docker.com/blog/we-apologize-we-did-a-terrible-job-announcing-the-end-of-docker-free-teams/?utm_source=thinkingelixir&utm_medium=shownotes) – The Docker drama update from blog post published on March 16th. - https://twitter.com/hexpm/status/1636337448543301633 (https://twitter.com/hexpm/status/1636337448543301633?utm_source=thinkingelixir&utm_medium=shownotes) – Docker policy update and the impact on Hex "TL;DR - we are not affected by it" - https://hub.docker.com/u/hexpm (https://hub.docker.com/u/hexpm?utm_source=thinkingelixir&utm_medium=shownotes) – The Hexpm organization on Docker Hub - https://twitter.com/whatyouhide/status/1635692248485572622 (https://twitter.com/whatyouhide/status/1635692248485572622?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea Leopardi added module support for the "since" metadata attribute - https://github.com/elixir-lang/ex_doc/pull/1680 (https://github.com/elixir-lang/ex_doc/pull/1680?utm_source=thinkingelixir&utm_medium=shownotes) – PR for the change - https://blog.massdriver.cloud/posts/gha-dialyzer/ (https://blog.massdriver.cloud/posts/gha-dialyzer/?utm_source=thinkingelixir&utm_medium=shownotes) – Massdriver published a blog post on speeding up Dialyzer in CI - https://hexdocs.pm/credo/changelog.html (https://hexdocs.pm/credo/changelog.html?utm_source=thinkingelixir&utm_medium=shownotes) – Credo released a big update 1.7.0 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)
3/28/202313 minutes, 43 seconds
Episode Artwork

143: Thinking Elixir News

A new minor LiveView release, a new Nerves focused Elixir case study was published, a post about audio transcriptions using Bumblebee and another about using Tailscale to cluster Elixir apps across cloud providers. ElixirConf US was announced, nimble_options reaches 1.0 and more! Show Notes online - http://podcast.thinkingelixir.com/143 (http://podcast.thinkingelixir.com/143) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/blob/v0.18.17/CHANGELOG.md#01817-2023-03-09 (https://github.com/phoenixframework/phoenix_live_view/blob/v0.18.17/CHANGELOG.md#01817-2023-03-09?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView minor update 0.18.17 released - https://elixir-lang.org/blog/2023/03/09/embedded-and-cloud-elixir-at-sparkmeter/ (https://elixir-lang.org/blog/2023/03/09/embedded-and-cloud-elixir-at-sparkmeter/?utm_source=thinkingelixir&utm_medium=shownotes) – New Case Study was added to the ElixirLang website. - https://twitter.com/elixirlang/status/1633795075217006597 (https://twitter.com/elixirlang/status/1633795075217006597?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet sharing the SparkMeter case study. Includes brief summary. - https://discord.com/blog/how-discord-stores-trillions-of-messages (https://discord.com/blog/how-discord-stores-trillions-of-messages?utm_source=thinkingelixir&utm_medium=shownotes) – Discord, another company using Elixir, wrote a blog post titled “How Discord stores trillions of messages” - https://dockyard.com/blog/2023/03/07/audio-speech-recognition-in-elixir-with-whisper-bumblebee (https://dockyard.com/blog/2023/03/07/audio-speech-recognition-in-elixir-with-whisper-bumblebee?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post from Sean Moriarity on using Elixir with the Whisper ML model and Bumblebee to do audio speech recognition - https://www.richardtaylor.dev/articles/globally-distributed-elixir-over-tailscale (https://www.richardtaylor.dev/articles/globally-distributed-elixir-over-tailscale?utm_source=thinkingelixir&utm_medium=shownotes) – Richard Taylor shared his experiments with clustering Elixir applications across cloud providers. - https://twitter.com/tylerayoung/status/1633477705332031488 (https://twitter.com/tylerayoung/status/1633477705332031488?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler Young shared a PSA of sorts about using module attributes in Elixir. - https://hexdocs.pm/nimble_publisher/NimblePublisher.html#module-examples (https://hexdocs.pm/nimble_publisher/NimblePublisher.html#module-examples?utm_source=thinkingelixir&utm_medium=shownotes) – Nimble Publisher example that stresses how to safely use module attributes - https://github.com/dashbitco/nimble_options (https://github.com/dashbitco/nimble_options?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea Leopardi released v1.0 of nimble_options. - https://twitter.com/whatyouhide/status/1633844179888640001 (https://twitter.com/whatyouhide/status/1633844179888640001?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet thread where Andrea talks about the 1.0 considerations. - https://twitter.com/bcardarella/status/1633884901681295367 (https://twitter.com/bcardarella/status/1633884901681295367?utm_source=thinkingelixir&utm_medium=shownotes) – Brian Cardarella shared a tweet teasing the ability to have a single Phoenix app serve MacOS, WatchOS and iOS interfaces using LiveView Native. - https://www.meetup.com/dc-elixir/events/292140179/ (https://www.meetup.com/dc-elixir/events/292140179/?utm_source=thinkingelixir&utm_medium=shownotes) – Sundi Myint is organizing a meetup to try your conferences talk pitch out and get feedback. - https://2023.elixirconf.com/ (https://2023.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf US was announced and will be Sep 5-8 in Orlando, FL at the JW Marriott Orlando Bonnet Creek Resort & Spa - https://twitter.com/ElixirConfAfric/status/1633046390732455936 (https://twitter.com/ElixirConfAfric/status/1633046390732455936?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf Africa - May 26-27 - online only. Call for speakers is open. - https://sessionize.com/elixir-conf-africa-2023 (https://sessionize.com/elixir-conf-africa-2023?utm_source=thinkingelixir&utm_medium=shownotes) – Submit your talk for ElixirConf Africa 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)
3/21/202313 minutes, 15 seconds
Episode Artwork

142: Orion for Distributed Tracing in Production

Orion is an interesting library created by Thomas Depierre that makes it easy to run dynamic distributed tracing in your app on production! It includes a LiveView UI for visualizing the performance and running multiple traces simultaneously. We talk with Thomas to learn more about the history, the inspirations, how it works, why it's safe to run in production, how to get performance insights, and more! Show Notes online - http://podcast.thinkingelixir.com/142 (http://podcast.thinkingelixir.com/142) Elixir Community News - https://github.com/phoenixframework/phoenix/blob/main/CHANGELOG.md#171-2023-03-02 (https://github.com/phoenixframework/phoenix/blob/main/CHANGELOG.md#171-2023-03-02?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix 1.7.1 released with enhancement to phx.new - https://elixirstream.dev/gendiff/phx_new/EEEFA23CF29B825D3F84B0E3B3978F62 (https://elixirstream.dev/gendiff/phx_new/EEEFA23CF29B825D3F84B0E3B3978F62?utm_source=thinkingelixir&utm_medium=shownotes) – Diff for the sizable project changes as heroicons are added - https://groups.google.com/g/elixir-lang-core/c/cocMcghahs4/m/DdYRNfuYAwAJ (https://groups.google.com/g/elixir-lang-core/c/cocMcghahs4/m/DdYRNfuYAwAJ?utm_source=thinkingelixir&utm_medium=shownotes) – Multi-letter uppercase sigils being added to Elixir - https://github.com/elixir-lang/elixir/pull/12448 (https://github.com/elixir-lang/elixir/pull/12448?utm_source=thinkingelixir&utm_medium=shownotes) – Expanded sigil support already merged in - https://twitter.com/germsvel/status/1630558483102801922 (https://twitter.com/germsvel/status/1630558483102801922?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco's collection of short videos about Phoenix 1.7 - https://www.youtube.com/playlist?list=PLvQQYdm3-EoiRuwcPQds_msNxiKIvgen8 (https://www.youtube.com/playlist?list=PLvQQYdm3-EoiRuwcPQds_msNxiKIvgen8?utm_source=thinkingelixir&utm_medium=shownotes) – YouTube playlist of the short videos - https://twitter.com/germsvel/status/1631627732261154816 (https://twitter.com/germsvel/status/1631627732261154816?utm_source=thinkingelixir&utm_medium=shownotes) – Tip from German on using phx-mounted binding to do initial animations with JS transitions - https://fullstackphoenix.com/tutorials/mix-task-automatic-convert-to-verified-routes (https://fullstackphoenix.com/tutorials/mix-task-automatic-convert-to-verified-routes?utm_source=thinkingelixir&utm_medium=shownotes) – A mix task was created to help projects migrate to verified routes by the people at Fullstack Phoenix. - https://gist.github.com/andreaseriksson/e454b9244a734310d4ab74d8595f98cd (https://gist.github.com/andreaseriksson/e454b9244a734310d4ab74d8595f98cd?utm_source=thinkingelixir&utm_medium=shownotes) – Gist for mix task converttoverifiedroutes.ex - https://twitter.com/basilenouvellet/status/1628702926318313473 (https://twitter.com/basilenouvellet/status/1628702926318313473?utm_source=thinkingelixir&utm_medium=shownotes) – Quick bash script to launch a LiveBook connected to your Fly instance - https://flowbite.com/docs/getting-started/phoenix/ (https://flowbite.com/docs/getting-started/phoenix/?utm_source=thinkingelixir&utm_medium=shownotes) – Flowbite has TailwindCSS styled components and just added a “getting started with Phoenix” guide. - https://twitter.com/bcardarella/status/1632956603249950722 (https://twitter.com/bcardarella/status/1632956603249950722?utm_source=thinkingelixir&utm_medium=shownotes) – All LiveView Native SwiftUI views are complete. On to Modifiers - https://github.com/liveviewnative/liveview-client-swiftui/issues/42 (https://github.com/liveviewnative/liveview-client-swiftui/issues/42?utm_source=thinkingelixir&utm_medium=shownotes) – Github checklist of SwiftUI views - https://github.com/erlang/otp/releases/tag/OTP-26.0-rc1 (https://github.com/erlang/otp/releases/tag/OTP-26.0-rc1?utm_source=thinkingelixir&utm_medium=shownotes) – OTP 26 RC 1 bring improvements - https://erlangforums.com/t/how-is-the-new-dialyzer-incremental-mode-different/2367 (https://erlangforums.com/t/how-is-the-new-dialyzer-incremental-mode-different/2367?utm_source=thinkingelixir&utm_medium=shownotes) – Dialyzer gets an --incremental - https://gleam.run/news/v0.27-hello-panic-goodbye-try/ (https://gleam.run/news/v0.27-hello-panic-goodbye-try/?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam v0.27 released - https://codebeamstockholm.com/#register (https://codebeamstockholm.com/#register?utm_source=thinkingelixir&utm_medium=shownotes) – CodeBEAM Lite Stockholm on Fri, 12 May 202 - one day conference and early bird tickets are on sale now 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/LivewareProblems/Orion (https://github.com/LivewareProblems/Orion?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/Di4naO/status/1624876674499198976 (https://twitter.com/Di4naO/status/1624876674499198976?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/spawnfest/Orion (https://github.com/spawnfest/Orion?utm_source=thinkingelixir&utm_medium=shownotes) – Started as a 2021 Spawnfest entry that didn't complete - https://twitter.com/Di4naO/status/1628067971007479811 (https://twitter.com/Di4naO/status/1628067971007479811?utm_source=thinkingelixir&utm_medium=shownotes) – Difference from FlameOn Twitter discussion - https://twitter.com/lostkobrakai/status/1628069107269570560 (https://twitter.com/lostkobrakai/status/1628069107269570560?utm_source=thinkingelixir&utm_medium=shownotes) – Comment about immutable filesystems - https://www.erlang.org/doc/efficiency_guide/profiling.html (https://www.erlang.org/doc/efficiency_guide/profiling.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.erlang.org/doc/man/eprof.html (https://www.erlang.org/doc/man/eprof.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.erlang.org/doc/man/fprof.html (https://www.erlang.org/doc/man/fprof.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/DockYard/flame_on (https://github.com/DockYard/flame_on?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/strace/strace (https://github.com/strace/strace?utm_source=thinkingelixir&utm_medium=shownotes) - https://strace.io/ (https://strace.io/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.erlang.org/doc/apps/erts/tracing (https://www.erlang.org/doc/apps/erts/tracing?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/ferd/recon/ (https://github.com/ferd/recon/?utm_source=thinkingelixir&utm_medium=shownotes) - https://hex.pm/packages/ex2ms (https://hex.pm/packages/ex2ms?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/ericmj/ex2ms (https://github.com/ericmj/ex2ms?utm_source=thinkingelixir&utm_medium=shownotes) - https://hexdocs.pm/matcha/Matcha.html (https://hexdocs.pm/matcha/Matcha.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://hex.pm/packages/xprof (https://hex.pm/packages/xprof?utm_source=thinkingelixir&utm_medium=shownotes) - https://stackoverflow.blog/2022/12/26/why-the-number-input-is-the-worst-input/ (https://stackoverflow.blog/2022/12/26/why-the-number-input-is-the-worst-input/?utm_source=thinkingelixir&utm_medium=shownotes) - https://ebpf.io/ (https://ebpf.io/?utm_source=thinkingelixir&utm_medium=shownotes) - https://userinyerface.com/ (https://userinyerface.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.boredpanda.com/funny-worst-input-fields/ (https://www.boredpanda.com/funny-worst-input-fields/?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/di4naO (https://twitter.com/di4naO?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/DianaOlympos/ (https://github.com/DianaOlympos/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://hachyderm.io/@Di4na (https://hachyderm.io/@Di4na?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - https://www.softwaremaxims.com/ (https://www.softwaremaxims.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)
3/14/202353 minutes, 49 seconds
Episode Artwork

141: Network Programming with Elixir and Andrea Leopardi

We talk with Andrea Leopardi, Elixir core team member, author, and recent Protohacker celebrity! We wanted to learn more about his dbg work that outputs boolean expression info and about his experience using Elixir to solve the Protohacker networking challenges. He shares how that work parlayed into creating an Elixir networking book for PragProg. He teases what he might be working next and more! Show Notes online - http://podcast.thinkingelixir.com/141 (http://podcast.thinkingelixir.com/141) Elixir Community News - https://phoenixframework.org/blog/phoenix-1.7-final-released (https://phoenixframework.org/blog/phoenix-1.7-final-released?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix 1.7.0 "final" released! - https://gist.github.com/chrismccord/00a6ea2a96bc57df0cce526bd20af8a7 (https://gist.github.com/chrismccord/00a6ea2a96bc57df0cce526bd20af8a7?utm_source=thinkingelixir&utm_medium=shownotes) – Step-by-step upgrade guide - https://elixirstream.dev/gendiff/phx_new/A93EFEDC8E8E71E5F1490CF31042679E (https://elixirstream.dev/gendiff/phx_new/A93EFEDC8E8E71E5F1490CF31042679E?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.6.16 to 1.7.0 with live phx.gen.auth - https://elixirstream.dev/gendiff/phx_new/018C3724F7E9A04683EA80F8A5657694 (https://elixirstream.dev/gendiff/phx_new/018C3724F7E9A04683EA80F8A5657694?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.6.16 to 1.7.0 with non-live phx.gen.auth - https://elixirstream.dev/gendiff/phx_new/F175E36352E8C1378CB3F913EBBAD6A0 (https://elixirstream.dev/gendiff/phx_new/F175E36352E8C1378CB3F913EBBAD6A0?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.7.0 non-live to live - https://elixirstream.dev/gendiff/phx_new/639AD8C21FD8CB22B72797EE5597118A (https://elixirstream.dev/gendiff/phx_new/639AD8C21FD8CB22B72797EE5597118A?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.7.0-rc0 to final - https://elixirstream.dev/gendiff/phx_new/FFCC88CB3B539BA68F30ADB69E4832BF (https://elixirstream.dev/gendiff/phx_new/FFCC88CB3B539BA68F30ADB69E4832BF?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.7.0-rc1 to final - https://elixirstream.dev/gendiff/phx_new/3007D95E4C49619702C5E550E0BBA5DD (https://elixirstream.dev/gendiff/phx_new/3007D95E4C49619702C5E550E0BBA5DD?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.7.0-rc2 to final - https://elixirstream.dev/gendiff/phx_new/5BF0D673DB427053F70DC9DC9F10DD09 (https://elixirstream.dev/gendiff/phx_new/5BF0D673DB427053F70DC9DC9F10DD09?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.7.0-rc3 to final - https://hexdocs.pm/phoenixhtml/Phoenix.HTML.FormData.html#toform/4 (https://hexdocs.pm/phoenix_html/Phoenix.HTML.FormData.html#to_form/4?utm_source=thinkingelixir&utm_medium=shownotes) – We noticed the new toform function and data structure being used by the new generators - https://fly.io/phoenix-files/phoenix-dev-blog-streams/ (https://fly.io/phoenix-files/phoenix-dev-blog-streams/?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord wrote a "Dev blog" article introducing the new “Streams” feature in LiveView - https://twitter.com/germsvel/status/1629115591565971458 (https://twitter.com/germsvel/status/1629115591565971458?utm_source=thinkingelixir&utm_medium=shownotes) – German Valesco created a short screencast about streams that migrates from temporaryassigns to streams. - https://blog.voltone.net/post/31 (https://blog.voltone.net/post/31?utm_source=thinkingelixir&utm_medium=shownotes) – Bram Verburg wrote a nice "Client-Side Enforcement of LiveView Security" blog post - https://podcast.thinkingelixir.com/134 (https://podcast.thinkingelixir.com/134?utm_source=thinkingelixir&utm_medium=shownotes) – Interview with Bram Verburg - https://twitter.com/cblavier/status/1630210369561014278 (https://twitter.com/cblavier/status/1630210369561014278?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix Storybook 0.5.0 was released. - https://github.com/phenixdigital/phoenix_storybook/blob/main/CHANGELOG.md#v050-2023-02-27 (https://github.com/phenixdigital/phoenix_storybook/blob/main/CHANGELOG.md#v050-2023-02-27?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix Storybook changelog - https://twitter.com/sasajuric/status/1628855249527099394 (https://twitter.com/sasajuric/status/1628855249527099394?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir in Action by Saša Jurić 3rd edition available in Manning's Early Access Program (MEAP). - https://twitter.com/ManningBooks/status/1628823200585973764 (https://twitter.com/ManningBooks/status/1628823200585973764?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet with 45% off coupon code shared - 45% off with code "mljuric3" till Mar 9 - https://twitter.com/bcardarella/status/1628778103903334400 (https://twitter.com/bcardarella/status/1628778103903334400?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView Native update - they've passed the 80% mark of SwiftUI views - https://twitter.com/bcardarella/status/1628778539242618882 (https://twitter.com/bcardarella/status/1628778539242618882?utm_source=thinkingelixir&utm_medium=shownotes) – The next milestones for LiveView Native - https://github.com/liveviewnative/liveview-client-swiftui/issues/235 (https://github.com/liveviewnative/liveview-client-swiftui/issues/235?utm_source=thinkingelixir&utm_medium=shownotes) – Swift UI modifiers tracking list - https://github.com/liveviewnative/liveview-client-swiftui/issues/238 (https://github.com/liveviewnative/liveview-client-swiftui/issues/238?utm_source=thinkingelixir&utm_medium=shownotes) – SwiftUI animations tracking list 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/elixir-lang/elixir/pull/12358 (https://github.com/elixir-lang/elixir/pull/12358?utm_source=thinkingelixir&utm_medium=shownotes) – PR for dbg/2 that outputs boolean expression breakout - https://www.youtube.com/playlist?list=PLd7I3U4fDsULTLqbRAkWzA002-IzMe8fl (https://www.youtube.com/playlist?list=PLd7I3U4fDsULTLqbRAkWzA002-IzMe8fl?utm_source=thinkingelixir&utm_medium=shownotes) – Playlist of youtube videos - https://twitter.com/whatyouhide/status/1617521132529389568 (https://twitter.com/whatyouhide/status/1617521132529389568?utm_source=thinkingelixir&utm_medium=shownotes) – Shared that you are writing a book - https://protohackers.com/ (https://protohackers.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://learnyousomeerlang.com/ (https://learnyousomeerlang.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.youtube.com/playlist?list=PLd7I3U4fDsULTLqbRAkWzA002-IzMe8fl (https://www.youtube.com/playlist?list=PLd7I3U4fDsULTLqbRAkWzA002-IzMe8fl?utm_source=thinkingelixir&utm_medium=shownotes) – List of Andrea's Protohacker videos in Elixir - https://twitter.com/whatyouhide/status/1617521132529389568 (https://twitter.com/whatyouhide/status/1617521132529389568?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea shared that he is writing a book - https://pragprog.com/titles/lmelixir/testing-elixir/ (https://pragprog.com/titles/lmelixir/testing-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Testing Elixir book by Andrea Leopardi and Jeffrey Matthias - https://twitter.com/whatyouhide/status/1629781415251279874 (https://twitter.com/whatyouhide/status/1629781415251279874?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea playing with creating videos for a series of distributed systems challenges. - https://fly.io/dist-sys/ (https://fly.io/dist-sys/?utm_source=thinkingelixir&utm_medium=shownotes) – “A series of distributed systems challenges” - https://codebeammexico.com/ (https://codebeammexico.com/?utm_source=thinkingelixir&utm_medium=shownotes) – CodeBeam Mexico - Andrea gave a keynote - https://twitter.com/whatyouhide/status/1629063077680365568 (https://twitter.com/whatyouhide/status/1629063077680365568?utm_source=thinkingelixir&utm_medium=shownotes) – Concurrent Data Processing In Elixir - training at ElixirConf EU - 2023-04-19 Guest Information - https://twitter.com/whatyouhide (https://twitter.com/whatyouhide?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/whatyouhide/ (https://github.com/whatyouhide/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://mas.to/@whatyouhide (https://mas.to/@whatyouhide?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - @whatyouhide@mas.to - https://andrealeopardi.com/ (https://andrealeopardi.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)
3/7/202355 minutes, 55 seconds
Episode Artwork

140: Thinking Elixir News

Progress report for LiveView Native, Livebook announced an integration with Hugging Face, Andrea Leopardi concludes his series of Protohacker challenge videos, new Phoenix 1.7.0 RCs 3 & 4 released, 3.5 year old issue is solved that unifies Elixir and Erlang loggers, and more! Show Notes online - http://podcast.thinkingelixir.com/140 (http://podcast.thinkingelixir.com/140) Elixir Community News - https://twitter.com/bcardarella/status/1625582226783064065 (https://twitter.com/bcardarella/status/1625582226783064065?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView Native SwiftUI Color Picker - https://github.com/liveviewnative/liveview-client-swiftui/pull/181 (https://github.com/liveviewnative/liveview-client-swiftui/pull/181?utm_source=thinkingelixir&utm_medium=shownotes) – Color Picker PR - https://github.com/liveviewnative/liveview-client-swiftui/pull/174 (https://github.com/liveviewnative/liveview-client-swiftui/pull/174?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView Native Control Group - https://github.com/liveviewnative/liveview-client-swiftui/pull/186 (https://github.com/liveviewnative/liveview-client-swiftui/pull/186?utm_source=thinkingelixir&utm_medium=shownotes) – Add Picker - https://github.com/liveviewnative/liveview-client-swiftui/pull/184 (https://github.com/liveviewnative/liveview-client-swiftui/pull/184?utm_source=thinkingelixir&utm_medium=shownotes) – Add LazyGrids - https://github.com/liveviewnative/liveview-client-swiftui/pull/182 (https://github.com/liveviewnative/liveview-client-swiftui/pull/182?utm_source=thinkingelixir&utm_medium=shownotes) – Add Grid/GridRow - https://github.com/liveviewnative/liveview-client-swiftui/issues/42 (https://github.com/liveviewnative/liveview-client-swiftui/issues/42?utm_source=thinkingelixir&utm_medium=shownotes) – Issue that catalogs the list of work with items that get checked off - https://mobile.twitter.com/josevalim/status/1625891764480487432 (https://mobile.twitter.com/josevalim/status/1625891764480487432?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim announced integration between Livebook and Hugging Face Spaces - https://twitter.com/huggingface/status/1625873545535320067 (https://twitter.com/huggingface/status/1625873545535320067?utm_source=thinkingelixir&utm_medium=shownotes) – Huggingface announced the collaboration too - https://news.livebook.dev/livebook-inside-hugging-face-spaces-3LQaRi (https://news.livebook.dev/livebook-inside-hugging-face-spaces-3LQaRi?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook inside Hugging Face Spaces announcement on Livebook.dev. Includes a Youtube video showing how to do it. - https://mobile.twitter.com/josevalim/status/1625891903488106496 (https://mobile.twitter.com/josevalim/status/1625891903488106496?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim teased of that they will have big news coming soon in relation to Livebook on both Hugging Face and Fly.io. - https://mobile.twitter.com/whatyouhide/status/1625914883433717761 (https://mobile.twitter.com/whatyouhide/status/1625914883433717761?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea Leopardi published the LAST video in his series of Protohacker challenges. - https://www.youtube.com/watch?v=_dbxOi3zFJs (https://www.youtube.com/watch?v=_dbxOi3zFJs?utm_source=thinkingelixir&utm_medium=shownotes) – Day 8 - Insecure Socket Layer - https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md (https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – New Phoenix 1.7.0 RCs 3 & 4 were released. - https://twitter.com/germsvel/status/1626560342494162944 (https://twitter.com/germsvel/status/1626560342494162944?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco shares about the putin/2 macro for updating deeply nested structs - https://twitter.com/whatyouhide/status/1626544505506656257 (https://twitter.com/whatyouhide/status/1626544505506656257?utm_source=thinkingelixir&utm_medium=shownotes) – Hauleth and the community worked to close a 3.5 year old issue on the Elixir Github tracker. - https://github.com/elixir-lang/elixir/issues/9465 (https://github.com/elixir-lang/elixir/issues/9465?utm_source=thinkingelixir&utm_medium=shownotes) – This unifies the Erlang and Elixir loggers. - https://github.com/elixir-lang/logger_backends (https://github.com/elixir-lang/logger_backends?utm_source=thinkingelixir&utm_medium=shownotes) – New official Elixir library called loggerbackends 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)
2/28/202313 minutes, 28 seconds
Episode Artwork

139: Thinking Elixir News

New Phoenix LiveView 0.18.12 release includes a new “streams” feature as well as other improvements. Andrea Leopardi released another Protohackers video, AppSignal adds Oban support, Orion library brings nifty distributed tracing UI, José does an interview with Exercism, Gleam gets added to Exercism, EMPEX NYC is back, and more! Show Notes online - http://podcast.thinkingelixir.com/139 (http://podcast.thinkingelixir.com/139) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/blob/master/CHANGELOG.md#01812-2023-02-10 (https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md#01812-2023-02-10?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView release 0.18.12 & 0.18.13 - new Streams feature - https://github.com/phoenixframework/phoenixliveview/pull/2423/files (https://github.com/phoenixframework/phoenix_live_view/pull/2423/files?utm_source=thinkingelixir&utm_medium=shownotes) – PR that introduces streams for efficiently handling large collections - https://github.com/phoenixframework/phoenixliveview/pull/2425/files (https://github.com/phoenixframework/phoenix_live_view/pull/2425/files?utm_source=thinkingelixir&utm_medium=shownotes) – Allow replies from handleevent - https://github.com/phoenixframework/phoenixliveview/pull/2411/files (https://github.com/phoenixframework/phoenix_live_view/pull/2411/files?utm_source=thinkingelixir&utm_medium=shownotes) – inputsfor - https://github.com/phoenixframework/phoenixliveview/pull/2404 (https://github.com/phoenixframework/phoenix_live_view/pull/2404?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/phoenixframework/phoenixliveview/pull/2323/ (https://github.com/phoenixframework/phoenix_live_view/pull/2323/?utm_source=thinkingelixir&utm_medium=shownotes) – Live reloading LiveViews without a hard refresh - https://pragmaticstudio.com/phoenix-liveview (https://pragmaticstudio.com/phoenix-liveview?utm_source=thinkingelixir&utm_medium=shownotes) – Mike Clark with Pragmatic Studios published their updated Phoenix LiveView course. - https://gist.github.com/josevalim/132f9ddeb1c32d1a097afcf3d4523d48 (https://gist.github.com/josevalim/132f9ddeb1c32d1a097afcf3d4523d48?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim created a short gist that is a reference table with how the defaults changed from Phoenix v1.6 to v1.7. - https://mas.to/@whatyouhide/109830371246271384 (https://mas.to/@whatyouhide/109830371246271384?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea Leopardi released another Protohackers video - https://www.youtube.com/watch?v=nHcR4ar00zs (https://www.youtube.com/watch?v=nHcR4ar00zs?utm_source=thinkingelixir&utm_medium=shownotes) – Protohackers in Elixir -Day 7 - Line Reversal - https://blog.appsignal.com/2023/02/07/appsignal-for-elixir-now-supports-oban.html (https://blog.appsignal.com/2023/02/07/appsignal-for-elixir-now-supports-oban.html?utm_source=thinkingelixir&utm_medium=shownotes) – AppSignal adds built-in Oban tracking - https://github.com/LivewareProblems/Orion (https://github.com/LivewareProblems/Orion?utm_source=thinkingelixir&utm_medium=shownotes) – Dynamic Profiling across the cluster - https://twitter.com/Di4naO/status/1624876674499198976 (https://twitter.com/Di4naO/status/1624876674499198976?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.youtube.com/watch?v=ME-7iGSIw_M (https://www.youtube.com/watch?v=ME-7iGSIw_M?utm_source=thinkingelixir&utm_medium=shownotes) – Amos King from Binary Noggin did a quick video previewing it so if you want to see how it works - https://github.com/evadne/shun (https://github.com/evadne/shun?utm_source=thinkingelixir&utm_medium=shownotes) – Security focused library called Shun - https://codecodeship.com/blog/2023-02-13-shun-keeps-your-http-secrets-safe (https://codecodeship.com/blog/2023-02-13-shun-keeps-your-http-secrets-safe?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post talking about Shun - https://github.com/danschultzer/test_server (https://github.com/danschultzer/test_server?utm_source=thinkingelixir&utm_medium=shownotes) – TestServer library was updated to work with Bandit - https://www.youtube.com/watch?v=LknqlTouTKg (https://www.youtube.com/watch?v=LknqlTouTKg?utm_source=thinkingelixir&utm_medium=shownotes) – Exercism.org held an AMA live interview with José Valim on Twitch. - https://www.twitch.tv/videos/1732921073 (https://www.twitch.tv/videos/1732921073?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam exercise gets live stream added to exercism.org - https://twitter.com/thecaspg/status/1622880074490957826 (https://twitter.com/thecaspg/status/1622880074490957826?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix productivity success story - https://gist.github.com/caspg/d01eaa9189b5207473419262b44ba8af (https://gist.github.com/caspg/d01eaa9189b5207473419262b44ba8af?utm_source=thinkingelixir&utm_medium=shownotes) – Gist showing how search feature was added - https://travelermap.net/parks/usa#map=3/41.14/-92.52 (https://travelermap.net/parks/usa#map=3/41.14/-92.52?utm_source=thinkingelixir&utm_medium=shownotes) – See the search feature in action - https://www.empex.co/new-york (https://www.empex.co/new-york?utm_source=thinkingelixir&utm_medium=shownotes) – Empex NYC returns from a 4 year hiatus. Accepting CFP until April 15 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)
2/21/202314 minutes, 16 seconds
Episode Artwork

138: Thinking Elixir News

News-only episode covers the new Phoenix.Template project, upcoming Nx work for Elixir using multiple GPUs, benefits of Elixir as seen by new people learning it, integrating the Trix JS WYSIWYG editor with LiveView, a new service called "Code Code Ship" that aims to make commercial Hex packages a thing in the Elixir space, and more! Show Notes online - http://podcast.thinkingelixir.com/138 (http://podcast.thinkingelixir.com/138) Elixir Community News - https://twitter.com/TheErlef/status/1620482168219738116 (https://twitter.com/TheErlef/status/1620482168219738116?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim updated Phoenix.Template to include an implementation of the embedtemplates/2 macro - https://github.com/phoenixframework/phoenix_template/commit/d6098a7f647911f68149196c7ec19c9fba935a85 (https://github.com/phoenixframework/phoenix_template/commit/d6098a7f647911f68149196c7ec19c9fba935a85?utm_source=thinkingelixir&utm_medium=shownotes) – The commit - https://culttt.com/2023/01/27/embedding-xml-templates-phoenix-1-7 (https://culttt.com/2023/01/27/embedding-xml-templates-phoenix-1-7?utm_source=thinkingelixir&utm_medium=shownotes) – Philip Brown had an issue rendering XML templates in the new Phoenix 1.7 causing him to dig deeper and write about it. - https://github.com/phoenixframework/phoenix_template (https://github.com/phoenixframework/phoenix_template?utm_source=thinkingelixir&utm_medium=shownotes) – The new phoenixtemplate package - https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md (https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix 1.7 current RC changelog - https://genserver.social/notice/ARrm86OMb5K6yekcUK (https://genserver.social/notice/ARrm86OMb5K6yekcUK?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim shared a bit about the work going on in the Nx projects. This is where Elixir/ML join together. - https://twitter.com/clarkware/status/1616504190171287565 (https://twitter.com/clarkware/status/1616504190171287565?utm_source=thinkingelixir&utm_medium=shownotes) – Mike Clark and the Pragmatic Studios course - https://twitter.com/EnriqueLeigh/status/1622537492594393088 (https://twitter.com/EnriqueLeigh/status/1622537492594393088?utm_source=thinkingelixir&utm_medium=shownotes) – Enrique Leigh has been interviewing people learning Elixir and shared some results in this Twitter thread. - https://twitter.com/polvalente/status/1621751987594215430 (https://twitter.com/polvalente/status/1621751987594215430?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir telemetry is going to gain GRPC support soon - https://github.com/elixir-grpc/grpc/pull/298 (https://github.com/elixir-grpc/grpc/pull/298?utm_source=thinkingelixir&utm_medium=shownotes) - https://elixircahttps://hex.pm/packages/ectosts.io/trix-editor (https://elixircahttps://hex.pm/packages/ectosts.io/trix-editor?utm_source=thinkingelixir&utm_medium=shownotes) – Trix Editor setup in LiveView tutorial - https://trix-editor.org/ (https://trix-editor.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://codecodeship.com/blog/2023-01-25-sell-your-library-for-money (https://codecodeship.com/blog/2023-01-25-sell-your-library-for-money?utm_source=thinkingelixir&utm_medium=shownotes) – Code Code Ship - Sell your code. Starting with Elixir then moving to Javascript, C#, and Ruby - https://twitter.com/TheErlef/status/1621929830135791616 (https://twitter.com/TheErlef/status/1621929830135791616?utm_source=thinkingelixir&utm_medium=shownotes) – Code BEAM Lite Stockholm takes place on May 12th 2023. It is a one-track in-person conference. - https://sessionize.com/code-beam-lite-stockholm-2023 (https://sessionize.com/code-beam-lite-stockholm-2023?utm_source=thinkingelixir&utm_medium=shownotes) 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)
2/14/20238 minutes, 36 seconds
Episode Artwork

137: Upgrading to Phoenix 1.7

After covering the week's news, we talk about upgrading our apps to Phoenix 1.7.0 and what the experience is like. We include tips and resources that we found helpful and talk about the backward compatibility of the project and what that means for both personal projects and working teams. Show Notes online - http://podcast.thinkingelixir.com/137 (http://podcast.thinkingelixir.com/137) Elixir Community News - https://github.com/elixir-nx/bumblebee/pull/107 (https://github.com/elixir-nx/bumblebee/pull/107?utm_source=thinkingelixir&utm_medium=shownotes) – Coming soon - Whisper model and speech-to-text serving - https://twitter.com/sean_moriarity/status/1618031468831461376 (https://twitter.com/sean_moriarity/status/1618031468831461376?utm_source=thinkingelixir&utm_medium=shownotes) - https://news.livebook.dev/what-s-new-in-livebook-0.8.1-NSbeg (https://news.livebook.dev/what-s-new-in-livebook-0.8.1-NSbeg?utm_source=thinkingelixir&utm_medium=shownotes) – LiveBook 0.8.1 - https://twitter.com/livebookdev/status/1620120043446235139 (https://twitter.com/livebookdev/status/1620120043446235139?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/akoutmos/status/1618472466900484097 (https://twitter.com/akoutmos/status/1618472466900484097?utm_source=thinkingelixir&utm_medium=shownotes) – Debugging Ecto Queries with Alex Koutmos' new library called EctoDbg - https://twitter.com/whatyouhide/status/1617909212796915714 (https://twitter.com/whatyouhide/status/1617909212796915714?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea Leopardi released his Protohackers in Elixir video of “day 5 - Mob in the Middle” and “day 6 - speed daemon” - https://www.youtube.com/watch?v=tm4Jgg7zeXk (https://www.youtube.com/watch?v=tm4Jgg7zeXk?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.youtube.com/watch?v=MaQqa21uxQ8 (https://www.youtube.com/watch?v=MaQqa21uxQ8?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/bcardarella/status/1617970458720362497 (https://twitter.com/bcardarella/status/1617970458720362497?utm_source=thinkingelixir&utm_medium=shownotes) – Brian Cardarella shared a LiveView Native tease of an app running in the Apple Watch emulator. - https://elixirforum.com/t/elixir-forum-update-2023-celebrating-ten-years-of-elixir/53367 (https://elixirforum.com/t/elixir-forum-update-2023-celebrating-ten-years-of-elixir/53367?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirForum wrote a tribute to 10 years of Elixir and announced new "chat room" trial - https://beammachine.cloud/ (https://beammachine.cloud/?utm_source=thinkingelixir&utm_medium=shownotes) – BEAM Machine is live - https://fly.io/phoenix-files/tag-all-the-things/ (https://fly.io/phoenix-files/tag-all-the-things/?utm_source=thinkingelixir&utm_medium=shownotes) – Tag all the things! blog post using Postgres and Ecto features 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://elixircasts.io/upgrading-to-phoenix-1.7 (https://elixircasts.io/upgrading-to-phoenix-1.7?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.youtube.com/watch?v=MxRDE63-loM (https://www.youtube.com/watch?v=MxRDE63-loM?utm_source=thinkingelixir&utm_medium=shownotes) – How to upgrade from Phoenix 1.6 to 1.7 - https://www.youtube.com/watch?v=h-803kOXq3g (https://www.youtube.com/watch?v=h-803kOXq3g?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix 1.7 new template rendering without Views! - https://www.youtube.com/watch?v=PqnUWJHtLbg (https://www.youtube.com/watch?v=PqnUWJHtLbg?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix 1.7's new verified routes - https://fly.io/phoenix-files/flying-with-a-fledgling-phoenix/ (https://fly.io/phoenix-files/flying-with-a-fledgling-phoenix/?utm_source=thinkingelixir&utm_medium=shownotes) – How to try out Phoenix 1.7 and compare the changes - https://news.ycombinator.com/item?id=34188461#34195445 (https://news.ycombinator.com/item?id=34188461#34195445?utm_source=thinkingelixir&utm_medium=shownotes) – HackerNews comments about backward compatibility 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)
2/7/202336 minutes, 57 seconds
Episode Artwork

136: Elixir around the Bonfire

The "fediverse" has become a hot topic of late. Fortunately, Mayel de Boniol joined to explain what federated means, what ActivityPub is, and more. Mayel is more than just knowledgeable in this area, he created Bonfire Networks as well! It's written in Elixir and is a framework people can use to build their own federated servers to meet their specific needs, be that for tweet-like messages, meetup coordination, collaborative task lists or your own custom extensions. Being written in Elixir and OpenSource, he explains a number of libraries that can help those of us not even building a social app at all! Show Notes online - http://podcast.thinkingelixir.com/136 (http://podcast.thinkingelixir.com/136) Elixir Community News - https://twitter.com/fhunleth/status/1615869044665597952 (https://twitter.com/fhunleth/status/1615869044665597952?utm_source=thinkingelixir&utm_medium=shownotes) – Interesting benchmark about Elixir/Erlang startup times - https://twitter.com/wojtekmach/status/1615433573301121025 (https://twitter.com/wojtekmach/status/1615433573301121025?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook Desktop is getting the internals completely revamped - https://github.com/livebook-dev/livebook#desktop-app (https://github.com/livebook-dev/livebook#desktop-app?utm_source=thinkingelixir&utm_medium=shownotes) - https://podcast.thinkingelixir.com/113 (https://podcast.thinkingelixir.com/113?utm_source=thinkingelixir&utm_medium=shownotes) – Interview with Wojtek about Livebook Desktop in greater detail. - https://twitter.com/livebookdev/status/1616508498212229123 (https://twitter.com/livebookdev/status/1616508498212229123?utm_source=thinkingelixir&utm_medium=shownotes) – Basile Nouvellet created a Discord integration for Livebook - https://github.com/basilenouvellet/kino_discord (https://github.com/basilenouvellet/kino_discord?utm_source=thinkingelixir&utm_medium=shownotes) – Kino Discord library for integrating Discord with Livebook - https://changelog.com/posts/id3vx-a-library-for-parsing-and-encoding-id3-tags (https://changelog.com/posts/id3vx-a-library-for-parsing-and-encoding-id3-tags?utm_source=thinkingelixir&utm_medium=shownotes) – Lars Wikman helped the Changelog podcast add chapters to their MP3 recordings and wrote about how to do it. - https://twitter.com/whatyouhide/status/1617815721592950784 (https://twitter.com/whatyouhide/status/1617815721592950784?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea Leopardi updated Elixir dbg to print out boolean expression results. - https://twitter.com/whatyouhide/status/1617521132529389568 (https://twitter.com/whatyouhide/status/1617521132529389568?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea Leopardi is writing an Elixir book about network programming - https://twitter.com/clarkware/status/1616504190171287565 (https://twitter.com/clarkware/status/1616504190171287565?utm_source=thinkingelixir&utm_medium=shownotes) – Mike Clark with PragProg shared that they are working on a new LiveView video series - https://tw.com/elixir_temple/status/1616766786971516929 (https://tw.com/elixir_temple/status/1616766786971516929?utm_source=thinkingelixir&utm_medium=shownotes) – Temple updated to work well with HEEx templates - https://github.com/mhanberg/temple (https://github.com/mhanberg/temple?utm_source=thinkingelixir&utm_medium=shownotes) – Temple is an Elixir DSL for writing HTML and SVG - https://podcast.thinkingelixir.com/92 (https://podcast.thinkingelixir.com/92?utm_source=thinkingelixir&utm_medium=shownotes) – Temple interview with Mitchell Hanberg - https://alembic.com.au/blog/announcing-ash-authentication (https://alembic.com.au/blog/announcing-ash-authentication?utm_source=thinkingelixir&utm_medium=shownotes) – Ash Framework announced Ash Authentication - https://podcast.thinkingelixir.com/123 (https://podcast.thinkingelixir.com/123?utm_source=thinkingelixir&utm_medium=shownotes) – Ash Framework Models Resources 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://bonfirenetworks.org/ (https://bonfirenetworks.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://bonfirenetworks.org/faq/ (https://bonfirenetworks.org/faq/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/bonfire-networks (https://github.com/bonfire-networks?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/SwitchToBonfire (https://twitter.com/SwitchToBonfire?utm_source=thinkingelixir&utm_medium=shownotes) - https://doc.bonfirenetworks.org/architecture.html (https://doc.bonfirenetworks.org/architecture.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://app.element.io/#/room/#bonfire-networks:matrix.org (https://app.element.io/#/room/#bonfire-networks:matrix.org?utm_source=thinkingelixir&utm_medium=shownotes) - https://bonfirenetworks.org/faq/ (https://bonfirenetworks.org/faq/?utm_source=thinkingelixir&utm_medium=shownotes) – Question 2 - Federated? What does that mean? - https://pleroma.social/ (https://pleroma.social/?utm_source=thinkingelixir&utm_medium=shownotes) - https://git.pleroma.social/pleroma/pleroma (https://git.pleroma.social/pleroma/pleroma?utm_source=thinkingelixir&utm_medium=shownotes) - https://akkoma.social/ (https://akkoma.social/?utm_source=thinkingelixir&utm_medium=shownotes) - https://genserver.social (https://genserver.social?utm_source=thinkingelixir&utm_medium=shownotes) - https://joinmobilizon.org/en/ (https://joinmobilizon.org/en/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/bonfire-networks/activity_pub (https://github.com/bonfire-networks/activity_pub?utm_source=thinkingelixir&utm_medium=shownotes) - https://embedded-elixir.com/post/2017-05-19-poncho-projects/ (https://embedded-elixir.com/post/2017-05-19-poncho-projects/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/bonfire-networks/pointers (https://github.com/bonfire-networks/pointers?utm_source=thinkingelixir&utm_medium=shownotes) – Ecto's missing universal foreign key - https://doc.bonfirenetworks.org/database.html (https://doc.bonfirenetworks.org/database.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/bonfire-networks/flexto (https://github.com/bonfire-networks/flexto?utm_source=thinkingelixir&utm_medium=shownotes) – config-based extending of Ecto schemas - https://github.com/bonfire-networks/ecto_sparkles (https://github.com/bonfire-networks/ecto_sparkles?utm_source=thinkingelixir&utm_medium=shownotes) – Various helpers for Ecto - https://doc.bonfirenetworks.org/bonfire-flavoured-elixir.html (https://doc.bonfirenetworks.org/bonfire-flavoured-elixir.html?utm_source=thinkingelixir&utm_medium=shownotes) – Arrows and Untangle - https://doc.bonfirenetworks.org/boundaries.html (https://doc.bonfirenetworks.org/boundaries.html?utm_source=thinkingelixir&utm_medium=shownotes) – Circles and Boundaries - https://github.com/bonfire-networks/bonfire_epics (https://github.com/bonfire-networks/bonfire_epics?utm_source=thinkingelixir&utm_medium=shownotes) – Epics - https://bonfirenetworks.org/extensions/ (https://bonfirenetworks.org/extensions/?utm_source=thinkingelixir&utm_medium=shownotes) – some of the extensions Guest Information - https://github.com/mayel/ (https://github.com/mayel/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://mayel.space/ (https://mayel.space/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog - https://sunbeam.city/@mayel (https://sunbeam.city/@mayel?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - https://indieweb.social/@bonfire (https://indieweb.social/@bonfire?utm_source=thinkingelixir&utm_medium=shownotes) – Bonfire on Fediverse 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)
1/31/202349 minutes, 34 seconds
Episode Artwork

135: Thinking Elixir News

News-only episode covers some overlooked new Livebook features, Mint support added to Elixir GRPC, Phoenix Live Storybook is getting visual comparisons between versions, LiveView Native progress updates, the Circle CI breach and more! Show Notes online - http://podcast.thinkingelixir.com/135 (http://podcast.thinkingelixir.com/135) Elixir Community News - https://news.livebook.dev/whats-new-in-livebook-0.8-4gQiEE (https://news.livebook.dev/whats-new-in-livebook-0.8-4gQiEE) – The Livebook v0.8 release was overshadowed by Bumblebee, but there's a lot to take note of in Livebook itself. - https://twitter.com/livebookdev/status/1613529263902162946 (https://twitter.com/livebookdev/status/1613529263902162946) – Tweet thread of Livebook release highlights - https://genserver.social/notice/ARhZ8jEivs1kSzbxKK (https://genserver.social/notice/ARhZ8jEivs1kSzbxKK) – Nx update includes a new “lazy_transfers” feature - https://github.com/elixir-grpc/grpc/pull/272 (https://github.com/elixir-grpc/grpc/pull/272) – Elixir GRPC gains a new mint HTTP adapter - https://twitter.com/RudManusachi/status/1613059315111460864 (https://twitter.com/RudManusachi/status/1613059315111460864) - https://twitter.com/cblavier/status/1613245631006670848 (https://twitter.com/cblavier/status/1613245631006670848) – Phoenix Live Storybook gets a visual regression testing endpoint in 0.5.0. - https://www.youtube.com/watch?v=Ym-p8oUUfQU (https://www.youtube.com/watch?v=Ym-p8oUUfQU) – Andrea Leopardi continues his ProtoHackers video challenge with number 4 - https://www.youtube.com/watch?v=4Tds-Vxsoho (https://www.youtube.com/watch?v=4Tds-Vxsoho) – Andrea Leopardi's 5th video - https://twitter.com/bcardarella/status/1613943730234429440 (https://twitter.com/bcardarella/status/1613943730234429440) – Major milestone reached for LiveView Native. Starting work on list of Views to support. - https://github.com/liveviewnative/liveview-client-swiftui/issues/42 (https://github.com/liveviewnative/liveview-client-swiftui/issues/42) – LiveView Native issue tracking the set of tasks - https://www.youtube.com/watch?v=dnDGh_Jmw-s (https://www.youtube.com/watch?v=dnDGh_Jmw-s) – Brian Cardarella's 2022 ElixirConf talk - https://twitter.com/ElixirMembrane/status/1615002111745425411 (https://twitter.com/ElixirMembrane/status/1615002111745425411) – Membrane Core has a release candidate for a new 1.0 release. - https://github.com/membraneframework/membrane_core/releases/tag/v1.0.0-rc0 (https://github.com/membraneframework/membrane_core/releases/tag/v1.0.0-rc0) - https://membrane.stream/guide/v0.7/packages.html#content (https://membrane.stream/guide/v0.7/packages.html#content) - https://www.erlang-solutions.com/blog/5-erlang-and-elixir-use-cases-in-fintech/ (https://www.erlang-solutions.com/blog/5-erlang-and-elixir-use-cases-in-fintech/) – ErlangSolutions blog post talking about 5 Erlang and Elixir Use Cases In FinTech. - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConfEU 2023 is a hybrid conference held 20-21 April in Lisbon Portugal - https://techcrunch.com/2023/01/14/circleci-hackers-stole-customer-source-code/ (https://techcrunch.com/2023/01/14/circleci-hackers-stole-customer-source-code/) – CircleCI says hackers stole encryption keys and customers secrets - https://www.rfc-editor.org/rfc/rfc2606.html#section-3 (https://www.rfc-editor.org/rfc/rfc2606.html#section-3) – PSA to use example.com when writing tests. Protected by RFC 2606 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)
1/24/202320 minutes, 16 seconds
Episode Artwork

134: Inside the Security Working Group

We get a glimpse into the EEF's Security Working Group with Bram Verburg. We learn about existing resources available to the community and we get hints of work underway for the future. Bram shares some cool security tips and insights as well! Show Notes online - http://podcast.thinkingelixir.com/134 (http://podcast.thinkingelixir.com/134) Elixir Community News - http://example.com/ (http://example.com/) – Example website - https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md (https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md) – New release candidate for Phoenix! 1.7.0-rc.1 - https://github.com/phoenixframework/phoenixliveview/blob/master/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md) – New minor Phoenix LiveView releases - https://twitter.com/whatyouhide/status/1610675036108771328 (https://twitter.com/whatyouhide/status/1610675036108771328) – Andrea Leopardi published his second video where he works through the ProtoHackers.com challenges using Elixir - https://github.com/sorentwo/oban/pull/819 (https://github.com/sorentwo/oban/pull/819) – Oban now supports SQLite3 - https://github.com/JohnnyCurran/TimeTravel (https://github.com/JohnnyCurran/TimeTravel) – Time Travel with LiveView events - https://www.chriis.dev/opinion/setting-up-a-google-chrome-shortcut-to-elixir-documentation-in-30-seconds (https://www.chriis.dev/opinion/setting-up-a-google-chrome-shortcut-to-elixir-documentation-in-30-seconds) – Chris Gregori shared a post about setting up a Google Chrome shortcut to Elixir documentation - https://twitter.com/benvp_/status/1610884773387321345 (https://twitter.com/benvp_/status/1610884773387321345) – Tip for saving hex docs offline locally - https://twitter.com/theerlef/status/1611076916957843456 (https://twitter.com/theerlef/status/1611076916957843456) – erlef/setup-beam v1.15.1 has been released - https://github.com/erlef/setup-beam/releases/tag/v1.15.1 (https://github.com/erlef/setup-beam/releases/tag/v1.15.1) - https://github.com/elixir-nx/ex_faiss (https://github.com/elixir-nx/ex_faiss) – Sean Morriarity released a new library in the Nx family called exfaiss - https://dockyard.com/blog/2023/01/04/search-and-clustering-with-exfaiss (https://dockyard.com/blog/2023/01/04/search-and-clustering-with-exfaiss) – Blog post to accompany exfaiss - https://github.com/lexmag (https://github.com/lexmag) – Core team Aleksei - https://github.com/am-kantox (https://github.com/am-kantox) – Finitomata Aleksei - https://twitter.com/yburyug/status/1611125098286813184 (https://twitter.com/yburyug/status/1611125098286813184) – Fun Phoenix success story 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://erlef.github.io/security-wg/ (https://erlef.github.io/security-wg/) - https://erlef.org/wg/security (https://erlef.org/wg/security) - https://github.com/erlef/security-wg (https://github.com/erlef/security-wg) - https://erlef.github.io/security-wg/securecodinganddeploymenthardening/ (https://erlef.github.io/security-wg/secure_coding_and_deployment_hardening/) - https://podcast.thinkingelixir.com/64 (https://podcast.thinkingelixir.com/64) – OTP Certificate Woes with Bram Verburg - https://erlef.github.io/security-wg/securecodinganddeploymenthardening/releases (https://erlef.github.io/security-wg/secure_coding_and_deployment_hardening/releases) – Section on releases and Erlang's ability to conditionally include the compiler - https://bluecode.com/en/ (https://bluecode.com/en/) - https://www.linkedin.com/in/FrancescoCesarini (https://www.linkedin.com/in/FrancescoCesarini) - https://podcast.thinkingelixir.com/122 (https://podcast.thinkingelixir.com/122) – Interview with Holden Oullette about Elixir Secure Coding Training for teams - https://en.wikipedia.org/wiki/Whac-A-Mole (https://en.wikipedia.org/wiki/Whac-A-Mole) - https://podcast.thinkingelixir.com/131 (https://podcast.thinkingelixir.com/131) – Interview with Michael Lubas about securing Elixir and Phoenix applications - https://erlef.github.io/security-wg/securecodinganddeploymenthardening/crash_dumps (https://erlef.github.io/security-wg/secure_coding_and_deployment_hardening/crash_dumps) - https://github.com/voltone/x509/ (https://github.com/voltone/x509/) - https://github.com/beam-telemetry/telemetry (https://github.com/beam-telemetry/telemetry) - https://www.lua.org/start.html (https://www.lua.org/start.html) - https://www.cisa.gov/uscert/bsi/articles/knowledge/sdlc-process/secure-software-development-life-cycle-processes (https://www.cisa.gov/uscert/bsi/articles/knowledge/sdlc-process/secure-software-development-life-cycle-processes) – Secure Software Development Lifecycle - https://github.com/nccgroup/sobelow (https://github.com/nccgroup/sobelow) - https://github.com/rrrene/credo (https://github.com/rrrene/credo) - https://en.wikipedia.org/wiki/Data-flow_analysis (https://en.wikipedia.org/wiki/Data-flow_analysis) - https://erlef.org/ (https://erlef.org/) - https://members.erlef.org/join-us (https://members.erlef.org/join-us) Guest Information - https://twitter.com/voltonez (https://twitter.com/voltonez) – on Twitter - https://fosstodon.org/@voltone (https://fosstodon.org/@voltone) – on Fediverse - https://github.com/voltone (https://github.com/voltone) – on Github - https://blog.voltone.net/ (https://blog.voltone.net/) – 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)
1/17/202354 minutes, 28 seconds
Episode Artwork

133: Winning the ML Prise

We talk with Philip Brown who started Prise in Jan 2022 using Elixir, Axon and Nx to apply machine learning to project management. He shares what he's accomplished as a one-person dev team and how Elixir enabled him to develop more rapidly. He shares how, with no ML academic training, he learned as he went and developed and trained his own models that classify and prioritize people's tasks spread across multiple systems! A fun and empowering discussion! Show Notes online - http://podcast.thinkingelixir.com/133 (http://podcast.thinkingelixir.com/133) Elixir Community News - https://twitter.com/whatyouhide/status/1609914819511222273 (https://twitter.com/whatyouhide/status/1609914819511222273) – Andrea Leopardi has started a video series solving networking problems from protohackers.com - https://protohackers.com/ (https://protohackers.com/) - https://twitter.com/livebookdev/status/1608127539196882944 (https://twitter.com/livebookdev/status/1608127539196882944) – A Smart cell for playing with DALL-E directly from Livebook - https://github.com/PJUllrich/kino_dalle (https://github.com/PJUllrich/kino_dalle) - https://twitter.com/toranb/status/1609238634020106246 (https://twitter.com/toranb/status/1609238634020106246) – A "hello world" of ML with Axon - https://gist.github.com/toranb/e5c48565e83e4baaaf2c5850531a8a58 (https://gist.github.com/toranb/e5c48565e83e4baaaf2c5850531a8a58) – Gist with the full example - https://en.wikipedia.org/wiki/Fizz_buzz (https://en.wikipedia.org/wiki/Fizz_buzz) – Fizz Buzz explained - https://www.germanvelasco.com/blog/phoenix-1-7-is-view-less (https://www.germanvelasco.com/blog/phoenix-1-7-is-view-less) – German Velesco released a video and post about Phoenix going “View-less” - https://www.youtube.com/watch?v=h-803kOXq3g (https://www.youtube.com/watch?v=h-803kOXq3g) - https://news.ycombinator.com/item?id=34188461 (https://news.ycombinator.com/item?id=34188461) – The view-less post discussion on Hacker News - https://www.youtube.com/playlist?list=PLvL2NEhYV4ZuuF39ADAh6IwIuh8K6gd (https://www.youtube.com/playlist?list=PLvL2NEhYV4ZuuF39_A_DAh6IwIuh8K6gd) – ElixirConf EU 2022 videos continue to be released. - https://rocket-science.ru/hacking/2023/01/01/finitomata-marries-ecto (https://rocket-science.ru/hacking/2023/01/01/finitomata-marries-ecto) – finitomata library updated to support Ecto - https://github.com/am-kantox/finitomata (https://github.com/am-kantox/finitomata) - https://fosstodon.org/@lfe/109620918877368730 (https://fosstodon.org/@lfe/109620918877368730) – Version 2.1.0 of LFE was released. - https://pagespeed.web.dev/report (https://pagespeed.web.dev/report) – Fun experiment. Pagespeed Insights and LiveView with Tailwind. - https://hex.pm/packages/phoenix_seo (https://hex.pm/packages/phoenix_seo) – Phoenix SEO package 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://prise.com (https://prise.com) - https://www.reddit.com/r/elixir/comments/z9q156/ibuiltpriseatooltotrackandsearch_work/ (https://www.reddit.com/r/elixir/comments/z9q156/i_built_prise_a_tool_to_track_and_search_work/) - https://fly.io/phoenix-files/recognize-digits-using-ml-in-elixir/ (https://fly.io/phoenix-files/recognize-digits-using-ml-in-elixir/) – End-to-end article showing recognizing handwritten digits with Elixir, Axon, and Nx - https://twitter.com/philipbrown/status/1604476648639692800 (https://twitter.com/philipbrown/status/1604476648639692800) – Tweet about Elixir reducing cost of development - https://twitter.com/philipbrown/status/1604793690630672384 (https://twitter.com/philipbrown/status/1604793690630672384) – Tweet about Elixir reducing cost of development Guest Information - https://twitter.com/philipbrown (https://twitter.com/philipbrown) – on Twitter - https://github.com/philipbrown/ (https://github.com/philipbrown/) – on Github - https://prise.com (https://prise.com) – Website - https://culttt.com (https://culttt.com) – Blog - philip@prise.com Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Mastadon - @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 Mastadon - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Mastadon - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Mastadon - @cadebward@genserver.social (https://genserver.social/cadebward)
1/10/202343 minutes, 53 seconds
Episode Artwork

132: Embed Friendly Alternative to LiveView?

LiveView isn't always the right answer. Chris Nelson created LiveState to enable embedding custom HTML components in other websites and connect over Phoenix channels to keep UI state on the server! LiveState takes an interesting approach that tries to keep many of the benefits of LiveView but apply it to situations like custom components in static sites hosted by other people. Chris explains how it works and what problems it solves. Check it out! Show Notes online - http://podcast.thinkingelixir.com/132 (http://podcast.thinkingelixir.com/132) Elixir Community News - Happy New Year! Welcome to 2023! - https://elixir-lang.org/blog/2022/12/22/cheatsheets-and-8-other-features-in-exdoc-that-improve-the-developer-experience/ (https://elixir-lang.org/blog/2022/12/22/cheatsheets-and-8-other-features-in-exdoc-that-improve-the-developer-experience/) – ElixirLang blog post highlighting some ExDoc features - https://twitter.com/hugobarauna/status/1605283803668221952 (https://twitter.com/hugobarauna/status/1605283803668221952) – Hugo Baraúna used the new ExDoc Cheatsheet feature to add a couple Cheatsheets for Ecto. - https://hexdocs.pm/ecto/crud.html (https://hexdocs.pm/ecto/crud.html) - https://hexdocs.pm/ecto/associations.html (https://hexdocs.pm/ecto/associations.html) - https://github.com/lukegalea/LiveBookGoogleColab/blob/main/GoogleColabhostedElixirLiveBook%2BBumbleeBeeonGPU(StableDiffusion%2BGPT2)v10.ipynb (https://github.com/lukegalea/LiveBook_GoogleColab/blob/main/Google_Colab_hosted_Elixir_LiveBook_%2B_BumbleeBee_on_GPU_(Stable_Diffusion_%2B_GPT_2)_v1_0.ipynb) – Luke Galea created a Livebook online with an “Open in Colab” link at the top that goes through Jupyter notebooks to run Livebook on Google Colab's free tier. - https://www.reddit.com/r/elixir/comments/zq5d2z/runelixirlivebookwbumbleebeeongpuforfree/ (https://www.reddit.com/r/elixir/comments/zq5d2z/run_elixir_livebook_w_bumbleebee_on_gpu_for_free/) - https://github.com/am-kantox/finitomata (https://github.com/am-kantox/finitomata) – Aleksei Matiushkin released a library called Finitomata that reads your PlantUML or Mermaid chart and create a state machine from it - https://twitter.com/elixirmembrane/status/1605519154689310721 (https://twitter.com/elixirmembrane/status/1605519154689310721) – The membrane library “membranertcengine” announced v0.8. - https://github.com/membraneframework/membranertcengine (https://github.com/membraneframework/membrane_rtc_engine) - https://elixirforum.com/t/webauthnlivecomponent-passwordless-auth-for-liveview-apps/49941/12 (https://elixirforum.com/t/webauthnlivecomponent-passwordless-auth-for-liveview-apps/49941/12) – Owen Bickford has released some early support for passkeys in browsers and mobile devices - https://blog.chromium.org/2022/12/introducing-passkeys-in-chrome.html (https://blog.chromium.org/2022/12/introducing-passkeys-in-chrome.html) - https://support.apple.com/guide/iphone/sign-in-with-passkeys-iphf538ea8d0/16.0/ios/16.0 (https://support.apple.com/guide/iphone/sign-in-with-passkeys-iphf538ea8d0/16.0/ios/16.0) - https://hex.pm/packages/webauthnlivecomponent (https://hex.pm/packages/webauthn_live_component) – Owen's library on Hex 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://launchscout.com/ (https://launchscout.com/) - https://launchscout.com/blog/embedded-web-apps-with-livestate (https://launchscout.com/blog/embedded-web-apps-with-livestate) – Blog post talking about LiveState - https://github.com/launchscout/live_state (https://github.com/launchscout/live_state) – server-side of LiveState - https://github.com/launchscout/live-state (https://github.com/launchscout/live-state) – npm package for client-side of LiveState - https://github.com/launchscout/livestate-comments (https://github.com/launchscout/livestate-comments) – demo showing how LiveState works - https://www.youtube.com/watch?v=jLamITBMoVI (https://www.youtube.com/watch?v=jLamITBMoVI) – ElixirConf 2022 video - https://www.w3.org/TR/css-shadow-parts-1/ (https://www.w3.org/TR/css-shadow-parts-1/) - https://developer.mozilla.org/en-US/docs/Web/Web_Components (https://developer.mozilla.org/en-US/docs/Web/Web_Components) - https://hexdocs.pm/phoenix/channels.html (https://hexdocs.pm/phoenix/channels.html) - https://disqus.com/ (https://disqus.com/) - https://www.w3.org/TR/css3-cascade/#inherit-initial (https://www.w3.org/TR/css3-cascade/#inherit-initial) - https://developer.mozilla.org/en-US/docs/Web/WebComponents/Usingcustom_elements (https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) Guest Information - https://twitter.com/superchris (https://twitter.com/superchris) – on Twitter - https://github.com/superchris/ (https://github.com/superchris/) – on Github - https://launchscout.com/blog/ (https://launchscout.com/blog/) – Blog - chris@launchscout.com Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Mastadon - @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 Mastadon - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Mastadon - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Mastadon - @cadebward@genserver.social (https://genserver.social/cadebward)
1/3/202344 minutes, 38 seconds
Episode Artwork

131: Start Securing Elixir and Phoenix

Securing our apps is our responsibility as developers. We are the custodians and the guardians of our user's data. We met up again with Michael Lubas to discuss some lesser known community security resources and helpful tips to get us started with securing our Elixir and Phoenix applications! Show Notes online - http://podcast.thinkingelixir.com/131 (http://podcast.thinkingelixir.com/131) Elixir Community News - https://erlangforums.com/t/otp-25-2-released/2166 (https://erlangforums.com/t/otp-25-2-released/2166) – Erlang/OTP 25.2 is the second maintenance patch package for OTP 25, with mostly bug fixes as well as improvements. - https://twitter.com/livebookdev/status/1603787699458113539 (https://twitter.com/livebookdev/status/1603787699458113539) – HuggingFace announced “spaces”, a feature that lets people run Docker images on HuggingFace. - https://huggingface.co/spaces/livebook-dev/singlefilephxbumblebeeml (https://huggingface.co/spaces/livebook-dev/single_file_phx_bumblebee_ml) – Elixir Phoenix was specifically shown as a Docker example on HuggingFace - https://twitter.com/sean_moriarity/status/1602817446875992066 (https://twitter.com/sean_moriarity/status/1602817446875992066) – Sean Moriarity added “negative prompts” feature to Nx's Stable Diffusion support. - https://github.com/elixir-nx/bumblebee/pull/109 (https://github.com/elixir-nx/bumblebee/pull/109) – PR adding "negative prompt" support - https://twitter.com/miruoss/status/1604849993130676225 (https://twitter.com/miruoss/status/1604849993130676225) – Michael Ruoss has a new Kino plugin for working with kubernetes pods - https://github.com/mruoss/kinok8sterm (https://github.com/mruoss/kino_k8s_term) – KinoK8sTerm - https://twitter.com/livebookdev/status/1603391808209391617 (https://twitter.com/livebookdev/status/1603391808209391617) – Livebook added two new neural network tasks to Bumblebee integration. - https://twitter.com/hanrelan/status/1603470678081929216 (https://twitter.com/hanrelan/status/1603470678081929216) – Customized Livebook Stable Diffusion shows intermediate steps when generating images. - https://blog.ftes.de/elixir-dijkstras-algorithm-with-priority-queue-f6022d710877 (https://blog.ftes.de/elixir-dijkstras-algorithm-with-priority-queue-f6022d710877) – Fredrik Teschke wrote a blogpost using Livebook to visualize Dijkstra's algorithm for finding the shortest path between nodes in a graph. - https://notes.club/ (https://notes.club/) – Notesclub is a website by Hec Perez that makes it easy to share and discover Livebook notebooks online. - https://twitter.com/louispilfold/status/1602740866602631170 (https://twitter.com/louispilfold/status/1602740866602631170) – Louis Pilfold announced his last full day at Nomio. He is now working full time on Gleam. - https://twitter.com/louispilfold/status/1600960290455113728 (https://twitter.com/louispilfold/status/1600960290455113728) – Louis Pilfold shared that Bumblebee, Nx and Axon work in Gleam thanks to Gleam's new Elixir support. - https://twitter.com/kipcole9/status/1604929772253229057 (https://twitter.com/kipcole9/status/1604929772253229057) – Kip Cole has a library called Image. He added Image.Classification.classify(image) using Bumblebee. - https://sessionize.com/code-beam-lite-stockholm-2023 (https://sessionize.com/code-beam-lite-stockholm-2023) – Code BEAM Lite Stockholm 2023, 12 May 2023, Stockholm, Sweden. Call for speakers is open until Feb 5th 2023. 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://paraxial.io (https://paraxial.io) - https://paraxial.io/blog/securing-elixir (https://paraxial.io/blog/securing-elixir) – Securing Elixir/Phoenix Applications - 5 Tips to Get Started - https://paraxial.io/blog/xss-phoenix (https://paraxial.io/blog/xss-phoenix) – Cross Site Scripting (XSS) Patterns in Phoenix - https://podcast.thinkingelixir.com/93 (https://podcast.thinkingelixir.com/93) – Previous interview with Michael - https://www.youtube.com/watch?v=w3lKmFsmlvQ (https://www.youtube.com/watch?v=w3lKmFsmlvQ) – ElixirConf 2017 - Plugging the Security Holes in Your Phoenix Application - Griffin Byatt - https://felt.com/blog/rate-limiting (https://felt.com/blog/rate-limiting) – Rate Limiting Algorithms for Client-Facing Web Apps by Tyler Young - https://github.com/podium/elixir-secure-coding (https://github.com/podium/elixir-secure-coding) – Elixir Secure Coding Training (ESCT) that runs in Livebook - https://github.com/rrrene/htmlsanitizeex (https://github.com/rrrene/html_sanitize_ex) - https://fly.io/phoenix-files/github-actions-for-elixir-ci/ (https://fly.io/phoenix-files/github-actions-for-elixir-ci/) – Blog post about Elixir CI/CD checks - https://github.com/mirego/mix_audit (https://github.com/mirego/mix_audit) – mix_audit - https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html (https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html) – mix hex.audit - https://erlef.github.io/security-wg/securecodinganddeploymenthardening/ (https://erlef.github.io/security-wg/secure_coding_and_deployment_hardening/) – Erlang Ecosystem Foundation resource - Secure Coding and Deployment Hardening Guidelines - https://github.com/slab/safeurl-elixir (https://github.com/slab/safeurl-elixir) – SafeURL hex package by Slab - https://slab.com/ (https://slab.com/) Guest Information - https://twitter.com/paraxialio (https://twitter.com/paraxialio) – on Twitter - https://github.com/paraxialio/ (https://github.com/paraxialio/) – on Github - https://paraxial.io/ (https://paraxial.io/) – Blog - michael@paraxial.io - https://genserver.social/paraxial (https://genserver.social/paraxial) – on Mastadon Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Mastadon - @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 Mastadon - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Mastadon - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Mastadon - @cadebward@genserver.social (https://genserver.social/cadebward)
12/27/202238 minutes, 12 seconds
Episode Artwork

130: Bumblebee Buzz with José Valim

The Elixir community is buzzing with excitement around Bumblebee! Bumblebee makes it easy to use a variety of pre-trained neural network models in Elixir. José Valim, Paulo Valente, and Jonatan Kłosko join us to talk about this latest advancement. We learn how Bumblebee works, the abilities that are supported today, where things are going next and the longer term visions of what's possible. We cover the new Livebook smart cells that create an easy playground for playing with Bumblebee, a single-file Phoenix example that does image classification, and much more! Show Notes online - http://podcast.thinkingelixir.com/130 (http://podcast.thinkingelixir.com/130) Elixir Community News - https://news.livebook.dev/announcing-bumblebee-gpt2-stable-diffusion-and-more-in-elixir-3Op73O (https://news.livebook.dev/announcing-bumblebee-gpt2-stable-diffusion-and-more-in-elixir-3Op73O) – José Valim made the Bumblebee reveal - https://github.com/elixir-nx/bumblebee/tree/main/examples/phoenix (https://github.com/elixir-nx/bumblebee/tree/main/examples/phoenix) – Phoenix examples using Bumblebee - https://spawnfest.org/2022.html (https://spawnfest.org/2022.html) – SpawnFest 2022 winners announced - https://github.com/spawnfest/json_native (https://github.com/spawnfest/json_native) – 1st place overall - jasonnative - https://github.com/spawnfest/secret_vault (https://github.com/spawnfest/secret_vault) – Tie for 2nd place - secretvault - https://github.com/spawnfest/the-arborists (https://github.com/spawnfest/the-arborists) – Tied for 2nd place - the-arborists - https://github.com/spawnfest/dtu (https://github.com/spawnfest/dtu) – 3rd place overall - dtu (“Data The Ultimate”) - https://podcast.thinkingelixir.com/127 (https://podcast.thinkingelixir.com/127) – Lively project episode won in Livebook category - https://twitter.com/sorentwo/status/1600167231828086785 (https://twitter.com/sorentwo/status/1600167231828086785) – Github's Dependabot Elixir support explained - https://fosstodon.org/@tylerayoung/109467615067473743 (https://fosstodon.org/@tylerayoung/109467615067473743) – Post from Tyler Young about Dependabot - https://twitter.com/ElixirMembrane/status/1599751442180382721 (https://twitter.com/ElixirMembrane/status/1599751442180382721) – The Membrane GitHub org is changing to Jellyfish - https://podcast.thinkingelixir.com/43 (https://podcast.thinkingelixir.com/43) – Previous interview about Membrane - https://github.com/benvp/ex_cva (https://github.com/benvp/ex_cva) – Class Variance Authority library - https://elixirforum.com/t/cva-easily-construct-component-variants/52043 (https://elixirforum.com/t/cva-easily-construct-component-variants/52043) – CVA variant usage explained - https://github.com/joe-bell/cva (https://github.com/joe-bell/cva) – Original implementation in JS 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/josevalim/status/1600955042621976576 (https://twitter.com/josevalim/status/1600955042621976576) – Bumblebee announcement - https://news.livebook.dev/announcing-bumblebee-gpt2-stable-diffusion-and-more-in-elixir-3Op73O (https://news.livebook.dev/announcing-bumblebee-gpt2-stable-diffusion-and-more-in-elixir-3Op73O) – Livebook announcement with embedded Youtube video - https://www.youtube.com/watch?v=g3oyh3g1AtQ (https://www.youtube.com/watch?v=g3oyh3g1AtQ) – YouTube show-and-tell video from Jose - https://twitter.com/josevalim/status/1601228739819450368 (https://twitter.com/josevalim/status/1601228739819450368) – Guest article on HuggingFace about Elixir and ML - https://huggingface.co/blog/elixir-bumblebee (https://huggingface.co/blog/elixir-bumblebee) - https://github.com/elixir-nx/bumblebee/tree/main/examples/phoenix (https://github.com/elixir-nx/bumblebee/tree/main/examples/phoenix) – Examples of embedding a Phoenix app in a single file from Chris McCord - https://github.com/livebook-dev/kino_bumblebee (https://github.com/livebook-dev/kino_bumblebee) – Livebook smart cell - https://podcast.thinkingelixir.com/109 (https://podcast.thinkingelixir.com/109) – Paulo episode - https://podcast.thinkingelixir.com/46 (https://podcast.thinkingelixir.com/46) – Jonatan episode - https://huggingface.co (https://huggingface.co) - https://github.com/elixir-nx/scholar (https://github.com/elixir-nx/scholar) - https://podcast.thinkingelixir.com/104 (https://podcast.thinkingelixir.com/104) – Exploring Our Data with Chris Grainger - https://podcast.thinkingelixir.com/95 (https://podcast.thinkingelixir.com/95) – Rustler Precompiled with Philip Sampaio - https://en.wikipedia.org/wiki/Federated_learning (https://en.wikipedia.org/wiki/Federated_learning) - https://prise.com/ (https://prise.com/) - https://www.amplified.ai/ (https://www.amplified.ai/) - https://github.com/polvalente/nx-signal (https://github.com/polvalente/nx-signal) - https://erlef.org/slack-invite/erlef (https://erlef.org/slack-invite/erlef) Guest Information - https://genserver.social/josevalim (https://genserver.social/josevalim) – José Valim on Mastadon - https://twitter.com/josevalim (https://twitter.com/josevalim) – José Valim on Twitter - https://github.com/josevalim (https://github.com/josevalim) – José Valim on Github - https://dashbit.co/ (https://dashbit.co/) – Dashbit website and blog - https://github.com/jonatanklosko/ (https://github.com/jonatanklosko/) – Jonatan Kłosko on Github - https://jonatanklosko.com/ (https://jonatanklosko.com/) – Blog - jonatanklosko@gmail.com (mailto:jonatanklosko@gmail.com) – Jonatan's email - https://twitter.com/polvalente (https://twitter.com/polvalente) – Paulo Valente on Twitter - https://github.com/polvalente/ (https://github.com/polvalente/) – Paulo Valente on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Mastadon - @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 Mastadon - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Mastadon - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Mastadon - @cadebward@genserver.social (https://genserver.social/cadebward)
12/20/20221 hour, 15 minutes, 48 seconds
Episode Artwork

129: Time series data with Timescale DB

Tracking, analyzing and visualizing time series data can add a lot of business value to a project! We met up with Dave Lucia to learn more about Timescale DB, a PostgreSQL extension that adds time series tools to our regular database. Dave also created a timescale hex package to make it easier to work with hypertables and hyperfunctions. We learn why Timescale DB makes sense over other options, how to get started with it, example use cases, helpful resources and more! Show Notes online - http://podcast.thinkingelixir.com/129 (http://podcast.thinkingelixir.com/129) Elixir Community News - https://adventofcode.com/ (https://adventofcode.com/) – Advent of Code is going on - https://gist.github.com/marpo60/bcf7dd45003adfe01b5581d03157a5de (https://gist.github.com/marpo60/bcf7dd45003adfe01b5581d03157a5de) – Marcelo Dominguez' Livebook template for working on the daily problems. - https://genserver.social/notice/AQAdGQAE5sgRL8x1g8 (https://genserver.social/notice/AQAdGQAE5sgRL8x1g8) – José Valim created a repository to share all the Livebooks he has worked on, including talks and last year's Advent of Code - https://github.com/josevalim/livebooks/ (https://github.com/josevalim/livebooks/) – José Valim's collection of shared public Livebooks - https://github.com/rosaan/advent-of-code-2022 (https://github.com/rosaan/advent-of-code-2022) – Some shared solutions - https://twitter.com/josevalim/status/1597880468032040960 (https://twitter.com/josevalim/status/1597880468032040960) – Explorer v0.4.0 is out - https://hexdocs.pm/explorer/0.4.0 (https://hexdocs.pm/explorer/0.4.0) - https://hexdocs.pm/explorer/0.4.0/Explorer.Query.html (https://hexdocs.pm/explorer/0.4.0/Explorer.Query.html) – Explorer.Query is a new API for writing expressive and performant queries - https://podcast.thinkingelixir.com/104 (https://podcast.thinkingelixir.com/104) – Chris Grainger talked about Explorer with us in episode 104 - https://tips.nerves-project.org/ (https://tips.nerves-project.org/) – Nerves website gets a new “tips” view - https://twitter.com/josevalim/status/1597943279164993537 (https://twitter.com/josevalim/status/1597943279164993537) – José Valim announced he was migrating to the genserver.social Mastadon server - https://genserver.social/josevalim (https://genserver.social/josevalim) – José's genserver.social profile - https://genserver.social/notice/AQIfjB7SQcuEwPGEAC (https://genserver.social/notice/AQIfjB7SQcuEwPGEAC) – José teased something "really big". Already released by the time you hear this. - https://genserver.social/notice/AQIlH84yjkrh856rS4 (https://genserver.social/notice/AQIlH84yjkrh856rS4) – The graphic he teased - http://codebeammexico.com/ (http://codebeammexico.com/) – Code BEAM Lite México, March 3-4 2023 in México City - https://thetinycto.com/blog/writing-a-game-using-chatgpt (https://thetinycto.com/blog/writing-a-game-using-chatgpt) – Writing an Elixir LiveView game using ChatGPT - https://thetinycto.com/gpt-game (https://thetinycto.com/gpt-game) – The generated game - https://chat.openai.com/chat (https://chat.openai.com/chat) – ChatGPT 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/bitfo/timescale (https://github.com/bitfo/timescale) – Timescale and Elixir - https://www.timescale.com/ (https://www.timescale.com/) - https://docs.timescale.com/ (https://docs.timescale.com/) - https://www.bitfo.com/ (https://www.bitfo.com/) - https://defirate.com/ (https://defirate.com/) - https://www.bitcoinprice.com/ (https://www.bitcoinprice.com/) - https://ethereumprice.org/ (https://ethereumprice.org/) - https://docs.timescale.com/api/latest/hypertable/ (https://docs.timescale.com/api/latest/hypertable/) – Hypertables - https://docs.timescale.com/api/latest/hyperfunctions/ (https://docs.timescale.com/api/latest/hyperfunctions/) – Hyperfunctions - https://codebeamamerica.com/talks/accessible-time-series-data-with-timescaledb/ (https://codebeamamerica.com/talks/accessible-time-series-data-with-timescaledb/) - https://fly.io/docs/postgres/managing/enabling-timescale/ (https://fly.io/docs/postgres/managing/enabling-timescale/) - https://www.whoop.com/ (https://www.whoop.com/) – Dave's biometric watch - https://www.postgresql.org/docs/current/rules-materializedviews.html (https://www.postgresql.org/docs/current/rules-materializedviews.html) - https://www.influxdata.com/ (https://www.influxdata.com/) - https://fly.io/docs/postgres/managing/enabling-timescale/ (https://fly.io/docs/postgres/managing/enabling-timescale/) – Fly.io command to add timescale DB - fly pg config update --shared-preload-libraries timescaledb --app - https://www.crunchydata.com/ (https://www.crunchydata.com/) - https://docs.timescale.com/api/latest/hypertable/ (https://docs.timescale.com/api/latest/hypertable/) - https://docs.timescale.com/api/latest/hyperfunctions/ (https://docs.timescale.com/api/latest/hyperfunctions/) - https://docs.timescale.com/timescaledb/latest/timescaledb-edition-comparison/ (https://docs.timescale.com/timescaledb/latest/timescaledb-edition-comparison/) - https://hexdocs.pm/timescale/intro.html (https://hexdocs.pm/timescale/intro.html) - https://www.milkroad.com/ (https://www.milkroad.com/) - https://docs.google.com/presentation/d/1c2gCxfigeQNz-Z32IaLrpdxt0JYwMc6Lam_vvUND31Y/edit?usp=sharing (https://docs.google.com/presentation/d/1c2gCxfigeQNz-Z32IaLrpdxt0JYwMc6Lam_vvUND31Y/edit?usp=sharing) – Slides for Dave's Timescale talk from Code BEAM America - https://hexdocs.pm/timescale/intro.html (https://hexdocs.pm/timescale/intro.html) – Dave's “Intro to Timescale” Livebook from the Elixir Timescale docs Guest Information - https://twitter.com/davydog187 (https://twitter.com/davydog187) – on Twitter - https://github.com/davydog187/ (https://github.com/davydog187/) – on Github - https://davelucia.com/ (https://davelucia.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Mastadon - @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 Mastadon - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Mastadon - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Mastadon - @cadebward@genserver.social (https://genserver.social/cadebward)
12/13/202253 minutes, 44 seconds
Episode Artwork

128: Speedy like a Bandit

The Phoenix 1.7 announcement blog post mentioned the ability to swap out Cowboy for another webserver like Bandit. We talked with Mat Trudel to learn more about his pure-Elixir webserver and find out how it works with Phoenix. We learn Bandit can be up to 5x faster by narrowly focusing on turning a request into a Plug connection and much more! Show Notes online - http://podcast.thinkingelixir.com/128 (http://podcast.thinkingelixir.com/128) Elixir Community News - https://github.com/features/security/ (https://github.com/features/security/) – Github's Dependabot now supports private hex repositories. - https://twitter.com/sorentwo/status/1595526317436452864 (https://twitter.com/sorentwo/status/1595526317436452864) – Parker Selbert brought this to our attention. - https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#hex-repository (https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#hex-repository) - https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html (https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html) – CI tip to check for unused mix lock entries - https://twitter.com/RudManusachi/status/1597341690653999106 (https://twitter.com/RudManusachi/status/1597341690653999106) – Shared by Rudolf on Twitter - mix deps.unlock --check-unused - https://fly.io/phoenix-files/github-actions-for-elixir-ci/ (https://fly.io/phoenix-files/github-actions-for-elixir-ci/) – CI resource for Elixir projects on Github - https://twitter.com/TechRecHayden/status/1595776257513373699 (https://twitter.com/TechRecHayden/status/1595776257513373699) – Hayden Evans spotted that Zoom is using Erlang in production for their chat platform. - Mastadon instances to consider if looking for a Twitter alternative... - https://genserver.social/about (https://genserver.social/about) - https://hachyderm.io/explore (https://hachyderm.io/explore) - https://fosstodon.org/ (https://fosstodon.org/) - https://mastodon.social/explore (https://mastodon.social/explore) - https://www.lambdadays.org/lambdadays2023 (https://www.lambdadays.org/lambdadays2023) – Lambda Days conference returns as an in-person only event to Kraków on 5-6 June 2023. 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://phoenixframework.org/blog/phoenix-1.7-released (https://phoenixframework.org/blog/phoenix-1.7-released) – Phoenix 1.7 blog post described at the end - “Alternative Webserver Support” - https://github.com/mtrudel/bandit (https://github.com/mtrudel/bandit) – “Bandit is a pure Elixir HTTP server for Plug & WebSock applications” - https://github.com/mtrudel/thousand_island (https://github.com/mtrudel/thousand_island) – “Thousand Island is a pure Elixir socket server, powering the layer underneath Bandit” - https://ninenines.eu/docs/en/cowboy/2.9/guide/ (https://ninenines.eu/docs/en/cowboy/2.9/guide/) – Cowboy docs - https://www.pagerduty.com/ (https://www.pagerduty.com/) - https://github.com/ninenines/cowlib (https://github.com/ninenines/cowlib) - https://www.youtube.com/watch?v=ZLjWyanLHuk (https://www.youtube.com/watch?v=ZLjWyanLHuk) - https://github.com/crossbario/autobahn-testsuite (https://github.com/crossbario/autobahn-testsuite) - https://en.wikipedia.org/wiki/Cyclicredundancycheck (https://en.wikipedia.org/wiki/Cyclic_redundancy_check) - https://en.wikipedia.org/wiki/Cyclicredundancycheck#CRC-32_algorithm (https://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRC-32_algorithm) - https://github.com/phoenixframework/websock (https://github.com/phoenixframework/websock) - https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3 (https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3) - https://podcast.thinkingelixir.com/57 (https://podcast.thinkingelixir.com/57) – Scaling Live Chat with Cade Ward episode - https://en.wikipedia.org/wiki/HTTP/3 (https://en.wikipedia.org/wiki/HTTP/3) - https://github.com/mtrudel/talks/blob/main/2022-05-EMPEX-MTX-a-funny-thing-happened-on-the-way-to-the-phoenix.pdf (https://github.com/mtrudel/talks/blob/main/2022-05-EMPEX-MTX-a-funny-thing-happened-on-the-way-to-the-phoenix.pdf) – 2022 EMPEX presentation slides - https://github.com/mtrudel/talks/blob/main/2021-10-ElixirConf-bandit-on-the-loose.pdf (https://github.com/mtrudel/talks/blob/main/2021-10-ElixirConf-bandit-on-the-loose.pdf) – 2021 Elixir Conf presentation slides Guest Information - https://twitter.com/mattrudel (https://twitter.com/mattrudel) – on Twitter - https://github.com/mtrudel/ (https://github.com/mtrudel/) – on Github - https://mat.geeky.net (https://mat.geeky.net) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
12/6/20221 hour, 8 seconds
Episode Artwork

127: Ecto gets Lively in Livebook

We talked with Spawnfest competitors Filipe Cabaço & Joel Carlbark about their entry “Lively”. Lively was all about doing cool things with Ecto in Livebook. The project, later renamed to KinoEcto does 4 cool things around Ecto in Livebook. It builds Entity Relationship diagrams from the Ecto Schemas in your Elixir project. It can visualize the dense Postgres explain output and highlight a problem like when a full table scan is performed. It includes a ChangesetValidator SmartCell, and a QueryBuilder that uses NimbleParsec to parse a raw SQL query and do the initial work of turning that into an Ecto query. We talk about what the 48-hour competition was like, what they accomplished and what they plan to do next! Show Notes online - http://podcast.thinkingelixir.com/127 (http://podcast.thinkingelixir.com/127) Elixir Community News - https://github.com/AdRoll/rebar3_hank (https://github.com/AdRoll/rebar3_hank) – rebar3hank detects dead code in Erlang projects and reports it. - https://twitter.com/fiquscoop/status/1592539028578250757 (https://twitter.com/fiquscoop/status/1592539028578250757) - https://unused.codes/ (https://unused.codes/) - https://github.com/hauleth/mix_unused (https://github.com/hauleth/mix_unused) - https://hexdocs.pm/ex_doc/cheatsheet.html (https://hexdocs.pm/ex_doc/cheatsheet.html) – ExDoc v0.29.1 is out with initial support for media prints for cheatsheets - https://twitter.com/josevalim/status/1594649732768489475 (https://twitter.com/josevalim/status/1594649732768489475) - https://github.com/pawurb/ectopsqlextras/pull/31 (https://github.com/pawurb/ecto_psql_extras/pull/31) – Add ability to gets all active connections to the database which can be displayed on the Phoenix LiveDashboard for Ecto. - https://paraxial.io/blog/securing-elixir (https://paraxial.io/blog/securing-elixir) – Learned 2 additional CI checks to run on Elixir projects - https://fly.io/phoenix-files/github-actions-for-elixir-ci/ (https://fly.io/phoenix-files/github-actions-for-elixir-ci/) – Mark's CI/CD guide was updated to include the new checks - https://github.com/mirego/mix_audit (https://github.com/mirego/mix_audit) - https://hexdocs.pm/hex/Mix.Tasks.Hex.Audit.html (https://hexdocs.pm/hex/Mix.Tasks.Hex.Audit.html) – mix hex.audit - https://twitter.com/nathanwillson/status/1594565494941458432 (https://twitter.com/nathanwillson/status/1594565494941458432) – Nathan Willson noticed that Chris recently updated the components in LiveBeats to use the new Phoenix 1.7 abilities - https://github.com/fly-apps/livebeats/blob/master/lib/livebeatsweb/components/corecomponents.ex (https://github.com/fly-apps/live_beats/blob/master/lib/live_beats_web/components/core_components.ex) – LiveBeats project with new corecomponents.ex file - https://twitter.com/agundy_/status/1594558443125350400 (https://twitter.com/agundy_/status/1594558443125350400) – Aaron Gunderson created a really cool basic fly.io Phoenix Function as a Service with auto shutdown sample project. - https://github.com/agundy/fly-faast (https://github.com/agundy/fly-faast) - https://adventofcode.com/2022 (https://adventofcode.com/2022) – Advent of Code 2022 starts on Dec 1st. - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU 2023 - in Lisbon Portugal. Hybrid conference 20-21 April 2023 - In person and virtual - https://fosdem.org/2023/ (https://fosdem.org/2023/) – FOSDEM 2023 - Sunday, 5 February 2023 in Brussels, Belgium - https://beam-fosdem.dev/ (https://beam-fosdem.dev/) – BEAM specific gathering and devroom information - https://elixirstatus.com/p/mJpKy-erlang-elixir-and-friends-devroom--fosdem-2023-call-for-talks (https://elixirstatus.com/p/mJpKy-erlang-elixir-and-friends-devroom--fosdem-2023-call-for-talks) - http://elixirstream.dev (http://elixirstream.dev) – David moved the Elixir diffing project and other tools from utils.zest.dev to ElixirStream.dev - https://twitter.com/bernheisel/status/1594549004687364098 (https://twitter.com/bernheisel/status/1594549004687364098) - Starting in 2023, we may not include an interview with every episode. Still bringing you the news! 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://spawnfest.org/ (https://spawnfest.org/) - https://github.com/spawnfest/lively (https://github.com/spawnfest/lively) – Spawnfest submission repo - https://github.com/vorce/kino_ecto (https://github.com/vorce/kino_ecto) – Project continuing after competition - https://forvillelser.vorce.se/posts/2022-11-11-spawnfest-kino-ecto-fka-lively.html (https://forvillelser.vorce.se/posts/2022-11-11-spawnfest-kino-ecto-fka-lively.html) – Blog post about Lively project - https://twitter.com/filipecabaco/status/1581786455688777728 (https://twitter.com/filipecabaco/status/1581786455688777728) – Tweet about the project - https://remote.com/ (https://remote.com/) - https://supabase.com/ (https://supabase.com/) - https://www.talkdesk.com/ (https://www.talkdesk.com/) - https://github.com/dashbitco/nimble_parsec (https://github.com/dashbitco/nimble_parsec) - https://github.com/cocoa-xu/evision (https://github.com/cocoa-xu/evision) - https://twitter.com/uwucocoa (https://twitter.com/_uwu_cocoa) - https://github.com/sorentwo/oban (https://github.com/sorentwo/oban) - https://twitter.com/thramosal (https://twitter.com/thramosal) – Teammate - Thiago Ramos - https://twitter.com/vittoria_bitton (https://twitter.com/vittoria_bitton) – Teammate - Vittoria Bitton Guest Information - https://twitter.com/filipecabaco (https://twitter.com/filipecabaco) – Filipe Cabaço on Twitter - https://github.com/filipecabaco/ (https://github.com/filipecabaco/) – Filipe Cabaço on Github - https://filipecabaco.com (https://filipecabaco.com) – Blog - https://twitter.com/octavorce (https://twitter.com/octavorce) – Joel Carlbark on Twitter - https://github.com/vorce/ (https://github.com/vorce/) – Joel Carlbark on Github - https://forvillelser.vorce.se/ (https://forvillelser.vorce.se/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/29/202253 minutes, 26 seconds
Episode Artwork

126: Working at a Software Agency with the Wizards

As software developers, there are many different types of companies we can work at. We met up with the Elixir Wizards crew to learn more about working at a Software Agency like SmartLogic. We compare what this is like vs working at a product company. Of course, we take the opportunity to learn more about Sundi Myint and Owen Bickford, their journeys to Elixir and the work they are doing now. Sundi shares how becoming an Engineering Manager presented new growth opportunities and Owen goes deeper on the ETL system he's creating to migrate an MSSQL DB to Postgres and how gets to play with Broadway in the process. Show Notes online - http://podcast.thinkingelixir.com/126 (http://podcast.thinkingelixir.com/126) Elixir Community News - https://www.youtube.com/playlist?list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr (https://www.youtube.com/playlist?list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr) – Final batch of ElixirConf US 2022 videos were released! - https://fly.io/phoenix-files/github-actions-for-elixir-ci/ (https://fly.io/phoenix-files/github-actions-for-elixir-ci/) – CI for Elixir projects using Github Actions and CD to auto-deploying on Fly.io - https://nathanwillson.com/blog/posts/2022-11-11-partitioned_tests/ (https://nathanwillson.com/blog/posts/2022-11-11-partitioned_tests/) – Nathan Wilson showed how to partition CI tests over more runners for faster overall time. - https://twitter.com/nathanwillson/status/1591604043780358144 (https://twitter.com/nathanwillson/status/1591604043780358144) – Nathan Wilson documented how dead-view controllers, pages, and views were restructured. - https://fly.io/phoenix-files/opentelemetry-and-the-infamous-n-plus-1/ (https://fly.io/phoenix-files/opentelemetry-and-the-infamous-n-plus-1/) – Alex Koutmos wrote a guide and sample project showing how to use OpenTelemetry with Elixir and visualize the data in Grafana. - https://elixirforum.com/t/visual-font-for-diagramming-elixir/51477 (https://elixirforum.com/t/visual-font-for-diagramming-elixir/51477) – Unique Elixir font created that renders as graphics of data structures. 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://smartlogic.io/ (https://smartlogic.io/) - https://smartlogic.io/podcast/elixir-wizards/ (https://smartlogic.io/podcast/elixir-wizards/) - https://smartlogic.io/about/team (https://smartlogic.io/about/team) - https://www.cava.com/ (https://www.cava.com/) - https://smartlogic.io/software-development/ (https://smartlogic.io/software-development/) - https://elixir-broadway.org/ (https://elixir-broadway.org/) - https://en.wikipedia.org/wiki/Extract,transform,load (https://en.wikipedia.org/wiki/Extract,_transform,_load) - https://www.microsoft.com/en-us/sql-server/sql-server-downloads (https://www.microsoft.com/en-us/sql-server/sql-server-downloads) - https://github.com/elixir-ecto/tds (https://github.com/elixir-ecto/tds) - https://hex.pm/packages/webauthnlivecomponent (https://hex.pm/packages/webauthn_live_component) - https://www.youtube.com/watch?v=krbriAecqUk (https://www.youtube.com/watch?v=krbriAecqUk) – Owen's ElixirConf talk about his WebAuthnLiveComponent - https://smartlogic.io/about/jobs (https://smartlogic.io/about/jobs) Guest Information - https://twitter.com/smartlogic (https://twitter.com/smartlogic) – SmartLogic on Twitter - https://twitter.com/owenbickford (https://twitter.com/owenbickford) – Owen on Twitter - https://twitter.com/sundikhin (https://twitter.com/sundikhin) – Sundi on Twitter - https://github.com/smartlogic/ (https://github.com/smartlogic/) – SmartLogic on Github - https://github.com/type1fool/ (https://github.com/type1fool/) – Owen Bickford on Github - https://github.com/liveshowy/webauthnlivecomponent (https://github.com/liveshowy/webauthn_live_component) - https://www.owencode.com/ (https://www.owencode.com/) – Owen's blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/22/20221 hour, 44 seconds
Episode Artwork

125: Elixir at the Royal Bank of Canada

While hearing how Elixir is being used in the Royal Bank of Canada's Capital Markets, we learned a lot of extra things we didn't expect! Thanos Vassilakis, head of R&D in the CM group, explained how middle managers talk about “scaling” to mean hiring staff with the goal of using all of their budgets. Not the kind of scaling we typically think about! Thanos identified the biggest problem limiting Elixir's adoption at large financial institutions and it wasn't what we expected. He also shared stories of how LiveView greatly out performed React when rendering hundreds of live updating financial charts and, after experimenting with it, the React devs fully adopted LiveView! Lots of great insights and stories in this one! Show Notes online - http://podcast.thinkingelixir.com/125 (http://podcast.thinkingelixir.com/125) Elixir Community News - https://phoenixframework.org/blog/phoenix-1.7-released (https://phoenixframework.org/blog/phoenix-1.7-released) – Phoenix 1.7.0-rc.0 released! - https://twitter.com/chris_mccord/status/1589721565692067840 (https://twitter.com/chris_mccord/status/1589721565692067840) – Chris McCord's Twitter announcement - https://github.com/phoenixframework/phoenix/blob/v1.7.0-rc.0/CHANGELOG.md (https://github.com/phoenixframework/phoenix/blob/v1.7.0-rc.0/CHANGELOG.md) – Phoenix 1.7.0-rc.0 changelog - https://www.youtube.com/watch?v=9-rqBLjr5Eo (https://www.youtube.com/watch?v=9-rqBLjr5Eo) – Chris McCord's keynote - https://twitter.com/clarkware/status/1587894081572569089 (https://twitter.com/clarkware/status/1587894081572569089) – Mike Clark shows how params can be added in embedded in Sigil P routes - https://hex.pm/packages/heroicons (https://hex.pm/packages/heroicons) – Heroicons - https://github.com/mtrudel/bandit (https://github.com/mtrudel/bandit) – Alternative webservers like Bandit become possible - https://twitter.com/bernheisel/status/1589803460320710656 (https://twitter.com/bernheisel/status/1589803460320710656) – David's diff of for going to new Phoenix 1.7 - https://utils.zest.dev/gendiff (https://utils.zest.dev/gendiff) – David's free Diff Generator tool for Phoenix projects - https://twitter.com/josevalim/status/1589738157196869634 (https://twitter.com/josevalim/status/1589738157196869634) – Jose Valim's summation of new Phoenix release - https://www.youtube.com/watch?v=mOeONt6Hkf8&list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr&index=15 (https://www.youtube.com/watch?v=mOeONt6Hkf8&list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr&index=15) – New batch of ElixirConf 2022 videos were released Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.rbccm.com/en/ (https://www.rbccm.com/en/) - https://shapeshift.com/ (https://shapeshift.com/) - https://en.wikipedia.org/wiki/Ada(programminglanguage) (https://en.wikipedia.org/wiki/Ada_(programming_language)) - https://en.wikipedia.org/wiki/JoeArmstrong(programmer) (https://en.wikipedia.org/wiki/Joe_Armstrong_(programmer)) - https://en.wikipedia.org/wiki/Hope(programminglanguage) (https://en.wikipedia.org/wiki/Hope_(programming_language)) - https://en.wikipedia.org/wiki/Miranda(programminglanguage) (https://en.wikipedia.org/wiki/Miranda_(programming_language)) - https://www.investopedia.com/terms/c/capitalmarkets.asp (https://www.investopedia.com/terms/c/capitalmarkets.asp) - https://www.investopedia.com/terms/f/financialrisk.asp (https://www.investopedia.com/terms/f/financialrisk.asp) - https://couchdb.apache.org/ (https://couchdb.apache.org/) - https://www.ericsson.com/en (https://www.ericsson.com/en) - https://docs.oracle.com/cd/E1526101/tuxedo/docs11gr1/techarticles/CORBA.html (https://docs.oracle.com/cd/E15261_01/tuxedo/docs11gr1/tech_articles/CORBA.html) - https://www.amazon.com/Programming-Erlang-Concurrent-Pragmatic-Programmers/dp/193778553X (https://www.amazon.com/Programming-Erlang-Concurrent-Pragmatic-Programmers/dp/193778553X) - https://www.postgresql.org/ (https://www.postgresql.org/) - https://github.com/absinthe-graphql/absinthe (https://github.com/absinthe-graphql/absinthe) - https://github.com/lasp-lang/partisan (https://github.com/lasp-lang/partisan) - https://github.com/devinus/poolboy (https://github.com/devinus/poolboy) - https://docs.python.org/3/library/multiprocessing.html (https://docs.python.org/3/library/multiprocessing.html) - https://en.wikipedia.org/wiki/XWindowSystem (https://en.wikipedia.org/wiki/X_Window_System) - https://openwhisk.apache.org/ (https://openwhisk.apache.org/) - https://www.drools.org/ (https://www.drools.org/) - https://en.wikipedia.org/wiki/Rete_algorithm (https://en.wikipedia.org/wiki/Rete_algorithm) - https://en.wikipedia.org/wiki/COBOL (https://en.wikipedia.org/wiki/COBOL) - https://sqlite.org/src4/doc/trunk/www/bt.wiki (https://sqlite.org/src4/doc/trunk/www/bt.wiki) - https://www.honeybadger.io/blog/elixir-memory-structure/ (https://www.honeybadger.io/blog/elixir-memory-structure/) - https://docs.python.org/3/library/multiprocessing.shared_memory.html (https://docs.python.org/3/library/multiprocessing.shared_memory.html) - https://github.com/membraneframework/shmex (https://github.com/membraneframework/shmex) - https://semiengineering.com/the-rise-of-smartnics/ (https://semiengineering.com/the-rise-of-smartnics/) - https://www.nvidia.com/en-us/networking/ethernet-adapters/ (https://www.nvidia.com/en-us/networking/ethernet-adapters/) - https://www.nvidia.com/en-us/networking/products/data-processing-unit/hpc/ (https://www.nvidia.com/en-us/networking/products/data-processing-unit/hpc/) - https://github.com/zeroc-ice/ice (https://github.com/zeroc-ice/ice) - https://github.com/afiniate/seresye (https://github.com/afiniate/seresye) Guest Information - https://twitter.com/thanos_tweets (https://twitter.com/thanos_tweets) – on Twitter - thanos.vassilakis@rbccm.com (thanos.vassilakis@rbccm.com) – Email - https://www.rbccm.com/en/ (https://www.rbccm.com/en/) – Royal Bank of Canada Capital Markets - https://elixirforum.com/u/thanos/summary (https://elixirforum.com/u/thanos/summary) – Thanos on Elixir Forum Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/15/202258 minutes, 56 seconds
Episode Artwork

124: Caching Things Anywhere with Nebulex

We wanted to go deeper on the caching library Nebulex, so we visited with the creator, Carlos Bolaños, to learn what prompted its creation. Nebulex takes a couple unique approaches to things. It supports a decorator pattern to indicate that a function should be cached without having to write the boilerplate code for reading and writing to the cache. Nebulex was inspired by Ecto, in that it supports multiple adapters to different backends like Redis, Cachex and even Horde! It also supports multiple caching strategies. It's an interesting project that aims to solve common caching challenges in new ways and we enjoyed learning more about it. Show Notes online - http://podcast.thinkingelixir.com/124 (http://podcast.thinkingelixir.com/124) Elixir Community News - https://hex.pm/blog/hex-v2.0-released-with-new-version-solver (https://hex.pm/blog/hex-v2.0-released-with-new-version-solver) – Hex 2.0 released with a new version solver - https://twitter.com/emjii/status/1587116679724765184 (https://twitter.com/emjii/status/1587116679724765184) - https://nex3.medium.com/pubgrub-2fb6470504f (https://nex3.medium.com/pubgrub-2fb6470504f) – Based on the algorithm PubGrub used by Dart's packager at https://pub.dev - https://twitter.com/benoitc/status/1584699685822164995 (https://twitter.com/benoitc/status/1584699685822164995) – erlang-certifi 2.10.0, updated SSL Certificates bundle - https://twitter.com/josevalim/status/1585290898497224712 (https://twitter.com/josevalim/status/1585290898497224712) – Broadway update has new version of the Google Cloud PubSub adapter - https://twitter.com/joladev/status/1585302755085717504 (https://twitter.com/joladev/status/1585302755085717504) - https://elixir-broadway.org/ (https://elixir-broadway.org/) - https://twitter.com/josevalim/status/1585733673256906752 (https://twitter.com/josevalim/status/1585733673256906752) – VegaLite, the graphing library used in Livebook, was updated to add support for binning, scaling, and different color schemes. - https://twitter.com/akoutmos/status/1586566107447656449 (https://twitter.com/akoutmos/status/1586566107447656449) – Alex Koutmos is adding a file upload SmartCell for Livebook and shared a preview of it online. - https://twitter.com/davydog187/status/1584967478991388674 (https://twitter.com/davydog187/status/1584967478991388674) – Dave Lucia got TimescaleDB working in Livebook - https://github.com/timescale (https://github.com/timescale) - https://twitter.com/sean_moriarity/status/1571983702413959175 (https://twitter.com/sean_moriarity/status/1571983702413959175) – Sean Moriarity wrote 15 Livebook guides which go deeper into some of Axon's APIs. - https://elixir-nx.github.io/axon/Axon.html (https://elixir-nx.github.io/axon/Axon.html) - https://fly.io/phoenix-files/shut-down-idle-phoenix-app/ (https://fly.io/phoenix-files/shut-down-idle-phoenix-app/) – Chris McCord wrote a blog post about how a Phoenix app can shut itself down when idle. - https://newrelic.com/blog/how-to-relic/memory-spikes-erlang (https://newrelic.com/blog/how-to-relic/memory-spikes-erlang) – Article about using Observer to debug memory bugs by Matt Baker - https://open.spotify.com/episode/0yMdXbB2MVmIb8MN8crEgV (https://open.spotify.com/episode/0yMdXbB2MVmIb8MN8crEgV) – Jose Valim was the guest on the "Software Unscripted" podcast to talk about introducing static types to Elixir. - https://www.youtube.com/watch?v=q49vsCjpWGs&list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr (https://www.youtube.com/watch?v=q49vsCjpWGs&list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr) – A batch of ElixirConf 2022 videos were released - https://elixirconf.uy/ (https://elixirconf.uy/) – ElixirConf UY - Uruguay - In-person and virtual on Nov 12th 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/cabol/nebulex (https://github.com/cabol/nebulex) - https://www.oracle.com/java/coherence/ (https://www.oracle.com/java/coherence/) - https://github.com/duomark/epocxy (https://github.com/duomark/epocxy) - https://github.com/derekkraan/horde (https://github.com/derekkraan/horde) - https://github.com/whitfin/cachex (https://github.com/whitfin/cachex) - https://github.com/arjan/decorator (https://github.com/arjan/decorator) - https://www.erlang.org/doc/man/mnesia.html (https://www.erlang.org/doc/man/mnesia.html) - https://www.martinfowler.com/bliki/TwoHardThings.html (https://www.martinfowler.com/bliki/TwoHardThings.html) - There are only two hard things in Computer Science - cache invalidation and naming things. -Phil Karlton Guest Information - https://twitter.com/CAndresBolanos (https://twitter.com/CAndresBolanos) – on Twitter - https://github.com/cabol/ (https://github.com/cabol/) – on Github - http://cabol.github.io/ (http://cabol.github.io/) – Blog - https://medium.com/@cabol (https://medium.com/@cabol) – Medium Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/8/202257 minutes, 52 seconds
Episode Artwork

123: Ash Framework Models Resources

Creator of the Ash Framework, Zach Daniel, shares how he feels Ecto is such a good tool, that people haven't built a modeling layer above it and end up using Ecto directly. Ash models a resource above Ecto, making it more expressive while supporting LiveView, REST, and GraphQL interfaces on top. While cutting boilerplate, a major goal builds in escape hatches to keep from being boxed in. Ash Framework recently celebrated a 2.0 release, accompanied by the release of the Ash HQ website. A fun look into the achievements and philosophy that make the Ash Framework what it is today! Show Notes online - http://podcast.thinkingelixir.com/123 (http://podcast.thinkingelixir.com/123) Elixir Community News - https://twitter.com/josevalim/status/1582770471728484352 (https://twitter.com/josevalim/status/1582770471728484352) – ExDoc v0.29 is out with a new Cheatsheet feature - https://devhints.io (https://devhints.io) – DevHints was a source of inspiration for Cheatsheets - https://www.youtube.com/watch?v=MTE7dLhkQ8Q (https://www.youtube.com/watch?v=MTE7dLhkQ8Q) – Phoenix LiveView Storybook video published. Demo of v0.4.5 - https://podcast.thinkingelixir.com/117 (https://podcast.thinkingelixir.com/117) – Previous interview about Phoenix LiveView Storybook - https://github.com/spawnfest/graphqlsmartcell (https://github.com/spawnfest/graphql_smart_cell) – GraphQL Smart Cell for Elixir Livebook - https://twitter.com/mcrumm/status/1581350976354627584 (https://twitter.com/mcrumm/status/1581350976354627584) – Michael Crumm explains they intend to further develop the project. - https://twitter.com/alan_zimm/status/1583012582847262720 (https://twitter.com/alan_zimm/status/1583012582847262720) – WhatsApp team released a new Tree Sitter Erlang Github project - https://github.com/WhatsApp/tree-sitter-erlang (https://github.com/WhatsApp/tree-sitter-erlang) – The Erlang Tree Sitter project - https://twitter.com/katafrakt_pl/status/1582808419157041152 (https://twitter.com/katafrakt_pl/status/1582808419157041152) – Try "mix hex.outdated" to see nice DX feature - https://twitter.com/bernheisel/status/1583252469550678016 (https://twitter.com/bernheisel/status/1583252469550678016) – LiveViewJS as in LiveView API but all in JavaScript? - https://www.youtube.com/watch?v=7khBftbpHLs (https://www.youtube.com/watch?v=7khBftbpHLs) – Strangeloop presentation on LiveViewJS - https://github.com/floodfx/liveviewjs (https://github.com/floodfx/liveviewjs) – LiveViewJS project - https://github.com/kipcole9/image (https://github.com/kipcole9/image) – Kip Cole's Image library - https://twitter.com/kipcole9/status/1583632387589566464 (https://twitter.com/kipcole9/status/1583632387589566464) – Kip's weekend project to generate meme images for fun 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://ash-hq.org/ (https://ash-hq.org/) - https://github.com/ash-project/ash (https://github.com/ash-project/ash) - https://github.com/ash-project (https://github.com/ash-project) - https://podcast.thinkingelixir.com/27 (https://podcast.thinkingelixir.com/27) – Previous discussion from Dec 2020 - https://alembic.com.au/ (https://alembic.com.au/) - https://rethinkdb.com/ (https://rethinkdb.com/) - https://github.com/ash-project/ash_phoenix (https://github.com/ash-project/ash_phoenix) - https://hexdocs.pm/ash_phoenix/AshPhoenix.Form.html (https://hexdocs.pm/ash_phoenix/AshPhoenix.Form.html) - https://ash-hq.org/docs/module/ash/latest/ash-flow (https://ash-hq.org/docs/module/ash/latest/ash-flow) – Ash.Flow docs - https://twitter.com/ZachSDaniel1/status/1582139826752483329 (https://twitter.com/ZachSDaniel1/status/1582139826752483329) – Family showing support for the milestone - STAPLE Stack - Surface, Tailwind, Ash, Phoenix, LiveView, Elixir - https://discord.com/invite/D7FNG2q - Discord invite (https://discord.com/invite/D7FNG2q - Discord invite) - https://elixirforum.com/t/ash-framework-a-declarative-resource-oriented-application-development-framework-for-elixir/51119 (https://elixirforum.com/t/ash-framework-a-declarative-resource-oriented-application-development-framework-for-elixir/51119) Guest Information - https://twitter.com/ZachSDaniel1 (https://twitter.com/ZachSDaniel1) – on Twitter - https://github.com/zachdaniel/ (https://github.com/zachdaniel/) – on Github - https://twitter.com/AshFramework (https://twitter.com/AshFramework) – Ash on Twitter - https://ash-hq.org/ (https://ash-hq.org/) – Ash HQ Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/1/202255 minutes, 20 seconds
Episode Artwork

122: Securing Elixir and Teaching the Team

It’s important to learn safe coding practices. As developers, we want people to love our products and happily pay to use them. We also want to protect our services and users from hackers and information leaks. However, sometimes we unknowingly create vulnerabilities in our systems. One of the best ways to prevent problems is to train the team working on the project. To help do this, Holden Oullette started an OpenSource project called Elixir Secure Coding Training for teams. Livebook based, the lessons can be forked and customized for what’s relevant to our projects. Check out what's already available! There’s more work and lessons to create. People are invited to jump in and help out. The goal is to create an education and training resource for the Elixir community! Show Notes online - http://podcast.thinkingelixir.com/122 (http://podcast.thinkingelixir.com/122) Elixir Community News - https://twitter.com/AshFramework/status/1582062954891350016 (https://twitter.com/AshFramework/status/1582062954891350016) – Ash Framework 2.0 released - https://github.com/ash-project/ash/blob/2.0/CHANGELOG.md (https://github.com/ash-project/ash/blob/2.0/CHANGELOG.md) – Ash Framework changelog - https://www.ash-hq.org/ (https://www.ash-hq.org/) - https://elixirforum.com/t/ex-cldr-common-locale-data-repository-cldr-functions-for-elixir/17350/92 (https://elixirforum.com/t/ex-cldr-common-locale-data-repository-cldr-functions-for-elixir/17350/92) – Ex_cldr and Kip Cole's development plans - https://podcast.thinkingelixir.com/120 (https://podcast.thinkingelixir.com/120) – Interview with Kip Cole - https://hexdocs.pm/excldrroutes (https://hexdocs.pm/ex_cldr_routes) – New CLDR library to help localize Phoenix routes - https://hexdocs.pm/phoenixlocalizedroutes (https://hexdocs.pm/phoenix_localized_routes) – There are other route localizing options as well - https://twitter.com/lukaszsamson/status/1578521810554916864 (https://twitter.com/lukaszsamson/status/1578521810554916864) – Elixir-LS fixed 4 year old bug with help from reporter! - https://github.com/elixir-lsp/elixir-ls/issues/120 (https://github.com/elixir-lsp/elixir-ls/issues/120) – Elixir-LS history and details on the fix - https://twitter.com/fhunleth/status/1580524909939556353 (https://twitter.com/fhunleth/status/1580524909939556353) – Nerves on Apple silicon improvements in upcoming release - https://spawnfest.org/ (https://spawnfest.org/) – Spawnfest competition closed. People sharing their creations. - https://twitter.com/spawnfest/status/1581347422671806464 (https://twitter.com/spawnfest/status/1581347422671806464) – List of Spawnfest judges - https://twitter.com/michalmuskala/status/1581743531764617217 (https://twitter.com/michalmuskala/status/1581743531764617217) – JSON Native project shared - https://github.com/spawnfest/json_native (https://github.com/spawnfest/json_native) - https://twitter.com/livebookdev/status/1581995785637756928 (https://twitter.com/livebookdev/status/1581995785637756928) – Livebook Ecto extension called Lively supports Entity Relationship Diagrams and more. - https://github.com/orgs/spawnfest/repositories?q=2022+in%3Atopics (https://github.com/orgs/spawnfest/repositories?q=2022+in%3Atopics) – See all the submissions with this non-obvious GitHub search - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU 2023 in in Lisbon Portugal - Hybrid conference 20-21 April 2023 - In person and virtual 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/Podium/elixir-secure-coding (https://github.com/Podium/elixir-secure-coding) - https://www.podium.com/ (https://www.podium.com/) - https://jupyter.org/ (https://jupyter.org/) - https://twitter.com/holdenoullette/status/1565486046237921280 (https://twitter.com/holdenoullette/status/1565486046237921280) - https://2022.elixirconf.com/speakers/holden-oullette (https://2022.elixirconf.com/speakers/holden-oullette) - https://owasp.org/Top10/ (https://owasp.org/Top10/) - https://en.wikipedia.org/wiki/Capturetheflag_(cybersecurity) (https://en.wikipedia.org/wiki/Capture_the_flag_(cybersecurity)) - https://github.com/podium/elixir-secure-coding/blob/main/modules/4-graphql.livemd (https://github.com/podium/elixir-secure-coding/blob/main/modules/4-graphql.livemd) – Incomplete GraphQL module - https://hex.pm/packages/sobelow (https://hex.pm/packages/sobelow) - https://semgrep.dev/ (https://semgrep.dev/) - https://www.theregister.com/2016/03/23/npmleftpad_chaos/ (https://www.theregister.com/2016/03/23/npm_left_pad_chaos/) – Background on "left pad" - https://github.com/podium/vigil (https://github.com/podium/vigil) Guest Information - https://twitter.com/holdenoullette (https://twitter.com/holdenoullette) – on Twitter - https://github.com/houllette/ (https://github.com/houllette/) – on Github - https://oullette.xyz (https://oullette.xyz) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/25/202245 minutes, 50 seconds
Episode Artwork

121: Self Taught Coder to First Elixir Job

She started at the very beginning of her self-directed, non-traditional route to coding. She first had to learn to code. She worked, studied, and leaned on mentors and others until she reached the point of being hired for a full time job. What language did she tackle as that very first one? Elixir! We talked with Kimberly Johnson about how she did it. She shared her story at ElixirConf which we found inspiring. We wanted to go deeper on how she kept going when things got hard and how she built up a network of mentors and resources to help along the way. A great story and potential roadmap for others who want to follow a non-traditional path to a software development career! Show Notes online - http://podcast.thinkingelixir.com/121 (http://podcast.thinkingelixir.com/121) Elixir Community News - https://elixirforum.com/t/phoenix-1-3-1-4-1-5-and-1-6-security-releases-for-wildcard-check-origin-vulnerability/50902 (https://elixirforum.com/t/phoenix-1-3-1-4-1-5-and-1-6-security-releases-for-wildcard-check-origin-vulnerability/50902) – Phoenix Security Releases for versions 1.3, 1.4, 1.5, and 1.6 - https://github.com/elixir-lang/elixir/releases/tag/v1.14.1 (https://github.com/elixir-lang/elixir/releases/tag/v1.14.1) – Elixir 1.14.1 released - https://github.com/phoenixframework/phoenixliveview/blob/master/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md) – Phoenix LiveView 0.18.3 bug fix release - https://blog.appsignal.com/2022/10/11/phoenix-liveview-018-new-special-html-attributes.html (https://blog.appsignal.com/2022/10/11/phoenix-liveview-018-new-special-html-attributes.html) – Sophie DeBennedetto wrote an article that covers the new :let, :if, and :for special forms - https://github.com/CargoSense/absinthe_client (https://github.com/CargoSense/absinthe_client) – AbsintheClient - new library that is a GraphQL client for Absinthe with built-in support for subscriptions - https://podcast.thinkingelixir.com/99 (https://podcast.thinkingelixir.com/99) – Episode 99 with Michael Davis to learn more about Slipstream - https://github.com/elixir-ecto/ecto_sql/blob/master/CHANGELOG.md#v390-2022-09-27 (https://github.com/elixir-ecto/ecto_sql/blob/master/CHANGELOG.md#v390-2022-09-27) – EctoSQL v3.9.0 released - https://fly.io/phoenix-files/safe-ecto-migrations/ (https://fly.io/phoenix-files/safe-ecto-migrations/) – Safe Ecto Migrations guide - https://twitter.com/josevalim/status/1578411348404228096 (https://twitter.com/josevalim/status/1578411348404228096) – Livebook v0.7 released - https://elixir-lang.org/blog/2022/10/05/my-future-with-elixir-set-theoretic-types/ (https://elixir-lang.org/blog/2022/10/05/my-future-with-elixir-set-theoretic-types/) – New blog post from José Valim on Elixir's future with set-theoretic types - https://codebeamamerica.com/ (https://codebeamamerica.com/) – Code Beam America conference. Held November 3-4 in the Computer History Museum in Mountain View, CA. & online - https://www.cloudflare.com/products/turnstile/ (https://www.cloudflare.com/products/turnstile/) – Cloudflare created a new captcha replacement called Turnstile Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.travelpassgroup.com/ (https://www.travelpassgroup.com/) - https://www.udemy.com/course/the-complete-elixir-and-phoenix-bootcamp-and-tutorial/ (https://www.udemy.com/course/the-complete-elixir-and-phoenix-bootcamp-and-tutorial/) - https://pragmaticstudio.com/phoenix-liveview (https://pragmaticstudio.com/phoenix-liveview) - https://pragmaticstudio.com/elixir (https://pragmaticstudio.com/elixir) - https://grox.io/about (https://grox.io/about) - https://www.psychologytoday.com/us/basics/grit (https://www.psychologytoday.com/us/basics/grit) – Grit on Psychology Today - https://en.wikipedia.org/wiki/Rubberduckdebugging (https://en.wikipedia.org/wiki/Rubber_duck_debugging) - https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/ (https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/) - https://www.manning.com/books/elixir-in-action-second-edition (https://www.manning.com/books/elixir-in-action-second-edition) Guest Information - https://twitter.com/siestakimberly (https://twitter.com/siestakimberly) – on Twitter - https://github.com/siestakimberly/ (https://github.com/siestakimberly/) – on Github - https://www.linkedin.com/in/kimberly-johnson-716869142/ (https://www.linkedin.com/in/kimberly-johnson-716869142/) – LinkedIn Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/18/202254 minutes, 45 seconds
Episode Artwork

120: Localize and Personalize Your Elixir Apps

Localizing and personalizing an application is separate from the language used in the interface. Kip Cole explains how the mismatch of computers with the culture of our audience creates friction we may not even be aware of. In fact, our benign app may be unintentionally offensive to millions of people! Kip created the libraries ex_cldr, money and tempo to help Elixir developers localize applications in a culture aware way. What does that mean? It means using minimal information we can infer how names should appear, how numbers are represented, the assumed numeric rounding rules, first day of the week, the calendar being used, and more! Show Notes online - http://podcast.thinkingelixir.com/120 (http://podcast.thinkingelixir.com/120) Elixir Community News - https://github.com/phoenixframework/phoenixliveview (https://github.com/phoenixframework/phoenix_live_view) – LiveView v0.18.1 and 0.18.2 were released - https://twitter.com/mcrumm/status/1575571809470070784 (https://twitter.com/mcrumm/status/1575571809470070784) – PhoenixProfiler plugin updated for LiveView 0.18 - https://github.com/mcrumm/phoenix_profiler (https://github.com/mcrumm/phoenix_profiler) - https://podcast.thinkingelixir.com/88 (https://podcast.thinkingelixir.com/88) – Previous interview with Michael Crumm about PhoenixProfiler - https://news.livebook.dev/how-to-query-and-visualize-data-from-amazon-athena-using-livebook-4dfQ5y (https://news.livebook.dev/how-to-query-and-visualize-data-from-amazon-athena-using-livebook-4dfQ5y) – Livebook blog tutorial post showing how to use Amazon Athena - https://aws.amazon.com/athena/ (https://aws.amazon.com/athena/) – Amazon Athena service page - https://github.com/phenixdigital/phxlivestorybook (https://github.com/phenixdigital/phx_live_storybook) – PhxLiveStorybook released v.0.4 - https://github.com/phenixdigital/phxlivestorybook/blob/main/CHANGELOG.md (https://github.com/phenixdigital/phx_live_storybook/blob/main/CHANGELOG.md) - https://podcast.thinkingelixir.com/117 (https://podcast.thinkingelixir.com/117) – Previous interview about PhxLiveStorybook - https://supabase.com/blog/postgres-wasm (https://supabase.com/blog/postgres-wasm) – Supabase open-sources PostgreSQL on WASM - https://dockyard.com/blog/2022/10/01/liveview-native-weekly-update-4 (https://dockyard.com/blog/2022/10/01/liveview-native-weekly-update-4) – LiveView Native - weekly update 4 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/wiebemarten/status/1557852447414132739 (https://twitter.com/wiebemarten/status/1557852447414132739) - https://github.com/kipcole9 (https://github.com/kipcole9) - https://2022.elixirconf.com/speakers/kip-cole (https://2022.elixirconf.com/speakers/kip-cole) – Time algebra - a new way to think about and work with time - https://github.com/kipcole9/tempo (https://github.com/kipcole9/tempo) – Tempo library - https://github.com/kipcole9/money (https://github.com/kipcole9/money) - https://github.com/elixir-cldr/cldr (https://github.com/elixir-cldr/cldr) – ex_cldr - Elixir implementation of CLDR/ICU - https://www.amazon.com/Astronomical-Algorithms-Jean-Meeus/dp/0943396611 (https://www.amazon.com/Astronomical-Algorithms-Jean-Meeus/dp/0943396611) - https://github.com/kimlai/tz_world (https://github.com/kimlai/tz_world) - https://www.iflscience.com/what-is-a-leap-second-and-why-do-amazon-facebook-and-google-want-to-scrap-it-64625 (https://www.iflscience.com/what-is-a-leap-second-and-why-do-amazon-facebook-and-google-want-to-scrap-it-64625) - https://github.com/kipcole9/money (https://github.com/kipcole9/money) Guest Information - https://twitter.com/kipcole9 (https://twitter.com/kipcole9) – on Twitter - https://github.com/kipcole9/ (https://github.com/kipcole9/) – on Github - https://elixirforum.com/u/kip/summary (https://elixirforum.com/u/kip/summary) – ElixirForum Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/11/202256 minutes, 25 seconds
Episode Artwork

119: NPM CLI Maintainer Moves to Phoenix and Rust

Kat Marchán was the maintainer of NPM CLI for 5 years but now works at Microsoft on the VisualStudio product. Kat is passionate about Rust and uses Elixir and Phoenix to build a new Banchan Art site to serve artists. It helps connect artists with clients who want to commission custom artwork. The goal is to create a platform that does not exploit artists like many of the existing options. Amazingly, the Banchan Art Elixir project is OpenSource as well! Show Notes online - http://podcast.thinkingelixir.com/119 (http://podcast.thinkingelixir.com/119) Elixir Community News - https://twitter.com/elixirphoenix/status/1572934094098694145 (https://twitter.com/elixirphoenix/status/1572934094098694145) – Phoenix LiveView v0.18 was released! - https://phoenixframework.org/blog/phoenix-liveview-0.18-released (https://phoenixframework.org/blog/phoenix-liveview-0.18-released) – LiveView release blog post - https://github.com/phoenixframework/phoenixliveview/blob/v0.18.0/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_view/blob/v0.18.0/CHANGELOG.md) – LiveView changelog - https://www.youtube.com/watch?v=9-rqBLjr5Eo (https://www.youtube.com/watch?v=9-rqBLjr5Eo) – Chris McCord's ElixirConf keynote talking about the release - https://docs.google.com/forms/d/e/1FAIpQLSckJPn7n-k-vorjpQLTKtOlo4pxKYP64J71yg5iutTeY9jG5w/viewform (https://docs.google.com/forms/d/e/1FAIpQLSckJPn7n-k-vorjpQLTKtOlo4pxKYP64J71yg5iutTeY9jG5w/viewform) – Code Smells online survey - https://github.com/lucasvegi/Elixir-Code-Smells (https://github.com/lucasvegi/Elixir-Code-Smells) – Previous Elixir Code Smells github repository - https://ti.to/strange-loop/2023 (https://ti.to/strange-loop/2023) – Strange Loop's final conference held in Saint Louis, MO. Sept 21-22 in 2023 - Elixir 1.14 hidden date/time gem Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.npmjs.com/ (https://www.npmjs.com/) - https://docs.npmjs.com/cli/v6 (https://docs.npmjs.com/cli/v6) - https://visualstudio.microsoft.com/vs/ (https://visualstudio.microsoft.com/vs/) - https://www.erlang.org/ (https://www.erlang.org/) - https://elixir-lang.org/ (https://elixir-lang.org/) - https://www.rust-lang.org/ (https://www.rust-lang.org/) - https://banchan.art/beta (https://banchan.art/beta) – Banchan Art site - https://github.com/BanchanArt/banchan (https://github.com/BanchanArt/banchan) – Banchan Art Elixir project Guest Information - https://twitter.com/zkat__ (https://twitter.com/zkat__) – Kat on Twitter - https://twitter.com/BanchanArt (https://twitter.com/BanchanArt) – BanchanArt on Twitter - https://github.com/zkat/ (https://github.com/zkat/) – on Github - https://banchan.art/beta (https://banchan.art/beta) – BanchanArt site - https://github.com/BanchanArt/banchan (https://github.com/BanchanArt/banchan) – Banchan Art Elixir Project Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/4/202251 minutes, 13 seconds
Episode Artwork

118: Making Users Anonymous Upon Request

Honoring a user's “right to be forgotten” is not only respectful, but it may be a legal requirement. Clément Quaresma joins us to share how their ecto_anon library helps us make a user anonymous. A naive approach at removing a user's data may corrupt our own database! We dig into how this library works, the problems it solves, and how it might be used for even more than GDPR compliance. Show Notes online - http://podcast.thinkingelixir.com/118 (http://podcast.thinkingelixir.com/118) Elixir Community News - https://elixir-nx.github.io/axon/Axon.html (https://elixir-nx.github.io/axon/Axon.html) – Sean Moriarity wrote 15 Livebook guides which go deeper into some of Axon's APIs. - https://twitter.com/sean_moriarity/status/1571983702413959175 (https://twitter.com/sean_moriarity/status/1571983702413959175) – Sean Moriarity talking about the guides - https://twitter.com/sean_moriarity/status/1570154419164954625 (https://twitter.com/sean_moriarity/status/1570154419164954625) – Sean Moriarity teases a new Axon.Serving module - https://twitter.com/bcardarella/status/1571310160148054016 (https://twitter.com/bcardarella/status/1571310160148054016) – Dockyard is now sharing LiveView Native Weekly Updates. - https://dockyard.com/blog/2022/09/18/liveview-native-weekly-update-2 (https://dockyard.com/blog/2022/09/18/liveview-native-weekly-update-2) – LiveView Native update describes they are working on “SwiftUI modifiers” - https://github.com/liveviewnative/liveview-client-swiftui/issues/42 (https://github.com/liveviewnative/liveview-client-swiftui/issues/42) – LiveView Native list of SwiftUI views to support - https://github.com/apple/swift-evolution/blob/main/proposals/0336-distributed-actor-isolation.md#acknowledgments--prior-art (https://github.com/apple/swift-evolution/blob/main/proposals/0336-distributed-actor-isolation.md#acknowledgments--prior-art) – Apple Swift Evolution project credits Erlang and Elixir as inspirations. - https://twitter.com/josevalim/status/1571511215175733248 (https://twitter.com/josevalim/status/1571511215175733248) – Rustler gets improved binary support for zero copy dataframes in Nx and Explorer. - https://news.adobe.com/news/news-details/2022/Adobe-to-Acquire-Figma/default.aspx (https://news.adobe.com/news/news-details/2022/Adobe-to-Acquire-Figma/default.aspx) – Figma gets bought by Adobe for $20B - https://twitter.com/nathanwillson/status/1570786011369869317 (https://twitter.com/nathanwillson/status/1570786011369869317) – Figmex is a technology PoC written with Phoenix, runs globally distributed - https://figmex.nathanwillson.com (https://figmex.nathanwillson.com) – Where you can play with the Figmex demo - http://fabricjs.com/ (http://fabricjs.com/) – Figemx doesn't use LiveView, uses fabric.js for canvas control - https://spawnfest.org/#rules (https://spawnfest.org/#rules) – Spawnfest 2022 is gearing up - https://spawnfest.org/ideas (https://spawnfest.org/ideas) – Spawnfest list of suggested ideas for those wanting inspiration 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/WTTJ/ecto_anon (https://github.com/WTTJ/ecto_anon) - https://twitter.com/wttj_tech/status/1544603864464236544 (https://twitter.com/wttj_tech/status/1544603864464236544) - https://medium.com/wttj-tech/ecto-anon-our-open-source-library-for-anonymizing-data-easily-8d4d8c6b4041 (https://medium.com/wttj-tech/ecto-anon-our-open-source-library-for-anonymizing-data-easily-8d4d8c6b4041) - https://www.welcometothejungle.com/ (https://www.welcometothejungle.com/) - https://github.com/WTTJ/algoliax (https://github.com/WTTJ/algoliax) – Elixir library for working with Algolia search engine - https://www.algolia.com/ (https://www.algolia.com/) Guest Information - https://twitter.com/quaresc (https://twitter.com/quaresc) – on Twitter - https://github.com/quaresc/ (https://github.com/quaresc/) – on Github - https://www.linkedin.com/in/clement-quaresma/ (https://www.linkedin.com/in/clement-quaresma/) – LinkedIn - https://twitter.com/wttj (https://twitter.com/wttj) – Welcome to the Jungle on Twitter Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/27/202239 minutes, 36 seconds
Episode Artwork

117: PhxLiveStorybook

A UI Storybook for Phoenix LiveView components? Christian Blavier joins to share what his team created and made OpenSource. The project was even mentioned during Chris McCord's keynote as possibly becoming part of the Phoenix project. We learn what a UI Storybook is, how it works in a project, and how it helps teams and individuals maintain consistent styles throughout a project. Show Notes online - http://podcast.thinkingelixir.com/117 (http://podcast.thinkingelixir.com/117) Elixir Community News - https://www.youtube.com/playlist?list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr (https://www.youtube.com/playlist?list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr) – ElixirConf Keynote videos - https://twitter.com/chris_mccord/status/1568234495052070915 (https://twitter.com/chris_mccord/status/1568234495052070915) – Chris McCord - Phoenix + LiveView Updates - https://twitter.com/clintgibler/status/1566924159120130048 (https://twitter.com/clintgibler/status/1566924159120130048) – Elixir Secure Coding Training - https://www.lightbend.com/blog/why-we-are-changing-the-license-for-akka (https://www.lightbend.com/blog/why-we-are-changing-the-license-for-akka) – Akka - changing to the Business Source License (BSL) v1.1 - https://www.citusdata.com/blog/2022/09/12/distributed-postgres-goes-full-open-source-with-citus/ (https://www.citusdata.com/blog/2022/09/12/distributed-postgres-goes-full-open-source-with-citus/) – Postgres Citus going open source - https://twitter.com/michalmuskala/status/1569414615271981057 (https://twitter.com/michalmuskala/status/1569414615271981057) – Jason v1.4.0 with improved performance for float-heavy Jason.encode on OTP 24.1+ - https://twitter.com/CodeBEAMio/status/1567618827185176576 (https://twitter.com/CodeBEAMio/status/1567618827185176576) – Code BEAM America conference details Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://github.com/phenixdigital/phxlivestorybook (https://github.com/phenixdigital/phx_live_storybook) - https://twitter.com/cblavier/status/1557099417706106885 (https://twitter.com/cblavier/status/1557099417706106885) - https://elixirforum.com/t/would-you-be-interested-in-an-opensource-liveview-storybook/48890 (https://elixirforum.com/t/would-you-be-interested-in-an-opensource-liveview-storybook/48890) – ElixirForum thread where the project started and updates are found - https://phx-live-storybook-sample.fly.dev/ (https://phx-live-storybook-sample.fly.dev/) – Demo storybook - https://en.wikipedia.org/wiki/AWS_Lambda (https://en.wikipedia.org/wiki/AWS_Lambda) - https://www.raspberrypi.org/ (https://www.raspberrypi.org/) - https://reactnative.dev/ (https://reactnative.dev/) - https://github.com/surface-ui/surface_catalogue (https://github.com/surface-ui/surface_catalogue) - https://tailwindcss.com/ (https://tailwindcss.com/) - https://css-tricks.com/bem-101/ (https://css-tricks.com/bem-101/) - https://www.figma.com/ (https://www.figma.com/) Guest Information - http://twitter.com/cblavier (http://twitter.com/cblavier) – on Twitter - https://github.com/cblavier/ (https://github.com/cblavier/) – on Github - https://www.christianblavier.com (https://www.christianblavier.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/20/202246 minutes, 43 seconds
Episode Artwork

116: Remote Development and Elixir

In episode 110, we talked about, and rejected, the argument for the “End of Localhost Development”. Carter Bryden joins us to share a perspective from the other side, one in favor of remote development. We learn about the benefits to contractors, PR reviews, giving demos, and how containerizing our development environment even improves local development. We learn about the tools, services, and techniques that make it possible. An interesting look into a different way of developing our favorite language! Show Notes online - http://podcast.thinkingelixir.com/116 (http://podcast.thinkingelixir.com/116) Elixir Community News - https://www.humblebundle.com/books/elixir-programming-pragmatic-programmers-books (https://www.humblebundle.com/books/elixir-programming-pragmatic-programmers-books) – Elixir Programming Book bundle - Humble Bundle - https://twitter.com/whatyouhide/status/1566774954393305088 (https://twitter.com/whatyouhide/status/1566774954393305088) – Upcoming Elixir features - https://github.com/elixir-lang/elixir/pull/12109 (https://github.com/elixir-lang/elixir/pull/12109) – PR adding diffs for "mix format --check-formatted" - https://twitter.com/scenicframework/status/1566720982412173312 (https://twitter.com/scenicframework/status/1566720982412173312) – Scenic v0.11.0 was released - https://hexdocs.pm/scenic/upgradingtov0-11.html (https://hexdocs.pm/scenic/upgrading_to_v0-11.html) – Scenic upgrade guide - https://twitter.com/dockyard/status/1565769297393135617 (https://twitter.com/dockyard/status/1565769297393135617) – DockYard ElixirConf keynote talked about 4 major R&D projects. - https://dockyard.com/blog/2022/08/29/dockyard-r-d-beacon-brings-phoenix-speeds-to-your-cms (https://dockyard.com/blog/2022/08/29/dockyard-r-d-beacon-brings-phoenix-speeds-to-your-cms) – DockYard's Beacon CMS project - https://twitter.com/amnicd/status/1563253296101756929 (https://twitter.com/amnicd/status/1563253296101756929) – Another example of a mobile app written in Elixir. - https://gitlab.com/Nicd/geo-therminator (https://gitlab.com/Nicd/geo-therminator) – Gitlab project of the Android Elixir app - https://podcast.thinkingelixir.com/98 (https://podcast.thinkingelixir.com/98) – Interview with Dominic Letz about Elixir Desktop project - https://twitter.com/atyborska93/status/1565997307031703553 (https://twitter.com/atyborska93/status/1565997307031703553) – Elixir track on Exercism.io is now running Elixir 1.14. - https://surface-ui.org/blog/what-s-new-in-surface-0-8 (https://surface-ui.org/blog/what-s-new-in-surface-0-8) – Surface 0.8.0 was released during the conference - https://github.com/surface-ui/surface/blob/main/CHANGELOG.md#v080-2022-09-01 (https://github.com/surface-ui/surface/blob/main/CHANGELOG.md#v080-2022-09-01) – Surface changelog includes "Scoped CSS styles" - https://twitter.com/livebookdev/status/1565434195324936194 (https://twitter.com/livebookdev/status/1565434195324936194) – José Valim tweeted demonstration of Livebook's ability to manipulate pipelines using dbg feature 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://podcast.thinkingelixir.com/110 (https://podcast.thinkingelixir.com/110) – End of Localhost Development? - https://twitter.com/CarterBryden/status/1555299999952486401 (https://twitter.com/CarterBryden/status/1555299999952486401) – Twitter response to episode prompting interview - https://quantifiedcitizen.com (https://quantifiedcitizen.com) - https://approximated.app (https://approximated.app) - https://github.com/features/codespaces (https://github.com/features/codespaces) – Github CodeSpaces - https://aws.amazon.com/cloud9/ (https://aws.amazon.com/cloud9/) – Amazon Cloud9 - https://www.gitpod.io/ (https://www.gitpod.io/) – Gitpod.io - https://code.visualstudio.com/docs/remote/containers (https://code.visualstudio.com/docs/remote/containers) - https://github.com/jamestthompson3/nvim-remote-containers (https://github.com/jamestthompson3/nvim-remote-containers) - https://mosh.org/ (https://mosh.org/) - https://rails.new/ (https://rails.new/) Guest Information - https://twitter.com/carterbryden (https://twitter.com/carterbryden) – on Twitter - https://approximated.app/ (https://approximated.app/) – Solo app Carter mentioned - http://quantifiedcitizen.com/ (http://quantifiedcitizen.com/) – Carter's day job - http://indielixir.com (http://indielixir.com) – Carter's hobby Elixir podcast Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/13/20221 hour, 5 minutes, 31 seconds
Episode Artwork

115: ElixirConf 2022 Recap

ElixirConf US 2022 just finished! We cover the big announcements, talk highlights, and other relevant tech news. We discuss what some of these big announcements and projects represent and what they might mean for the Elixir community going forward. We talk about the Elixir 1.14 release, Livebook advances, Phoenix 1.7, machine learning progress, and the surprise announcement of Phoenix LiveView Native! Show Notes online - http://podcast.thinkingelixir.com/115 (http://podcast.thinkingelixir.com/115) Elixir Community News - https://elixir-lang.org/blog/2022/09/01/elixir-v1-14-0-released/ (https://elixir-lang.org/blog/2022/09/01/elixir-v1-14-0-released/) – Elixir v1.14 officially released - https://github.com/elixir-lang/elixir/blob/v1.14.0/CHANGELOG.md#changelog-for-elixir-v114 (https://github.com/elixir-lang/elixir/blob/v1.14.0/CHANGELOG.md#changelog-for-elixir-v114) – Elixir 1.14 changelog - https://github.com/elixir-lang/elixir/blob/v1.14.0/CHANGELOG.md#changelog-for-elixir-v114 (https://github.com/elixir-lang/elixir/blob/v1.14.0/CHANGELOG.md#changelog-for-elixir-v114) – Nerves v1.9.0 fixed Elixir 1.14 warnings - Phoenix 1.7 upcoming release discussed - Phoenix 1.7 generators will use Tailwind CSS - New phx.gen.auth --live option - https://github.com/liveviewnative/liveview-client-swiftui (https://github.com/liveviewnative/liveview-client-swiftui) – Phoenix LiveView Native was announced - https://github.com/liveviewnative/elixirconf_chat (https://github.com/liveviewnative/elixirconf_chat) – ElixirConf Chat project created using Phoenix LiveView Native - https://getfirefly.org (https://getfirefly.org) – Lumen was renamed to Firefly - https://twitter.com/HoldenOullette/status/1565486046237921280 (https://twitter.com/HoldenOullette/status/1565486046237921280) – Podium released an OWASP security training LiveBook for Elixir developers. - https://github.com/podium/elixir-secure-coding (https://github.com/podium/elixir-secure-coding) – Elixir Secure Coding Training (ESCT) - https://www.ectoinproduction.com (https://www.ectoinproduction.com) – Ecto In Production future home - https://github.com/liveshowy/webauthnlivecomponent (https://github.com/liveshowy/webauthn_live_component) – SmartLogic released a LiveComponent to support WebAuthn authentication for your LiveView app - https://github.com/liveshowy/webauthnlivecomponent_demo (https://github.com/liveshowy/webauthn_live_component_demo) – WebAuthn authentication demo page - https://github.com/kipcole9/tempo (https://github.com/kipcole9/tempo) – Kip Cole released a new kind of DateTime library called Tempo - https://kipcole9.github.io/tempo/2021-01-04-its-about-time/ (https://kipcole9.github.io/tempo/2021-01-04-its-about-time/) – Temp blog post explains more about it. - https://twitter.com/steveschoger/status/1562117153591107586 (https://twitter.com/steveschoger/status/1562117153591107586) – Heroicons v2.0 released. Used in TailwindUI templates. - https://twitter.com/louispilfold/status/1564247740879609860 (https://twitter.com/louispilfold/status/1564247740879609860) – Louie Pilford showed a screenshot of Gleam compiling Elixir's Plug - https://blog.heroku.com/next-chapter (https://blog.heroku.com/next-chapter) – Heroku, a popular PaaS made significant policy changes. Ending free tier and more. - https://spectrum.ieee.org/top-programming-languages-2022 (https://spectrum.ieee.org/top-programming-languages-2022) – IEEE Top Programming Languages 2022 - https://twitter.com/josevalim/status/1565408635961884673 (https://twitter.com/josevalim/status/1565408635961884673) – José Valim shared they are porting non-neural algorithms to Elixir/Nx which runs on both CPU/GPU. Shared impressive performance comparisons. - Chris Grainger gave a keynote about how Elixir is ready for real, production machine learning work. - https://www.lambdadays.org/lambdadays2022 (https://www.lambdadays.org/lambdadays2022) – Lambda Days conference. 5-6 June 2023 in Krakow, Poland 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) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/6/202238 minutes, 42 seconds
Episode Artwork

114: Countdown to Conf

We cover the news and look forward to ElixirConf US which is about to start! We talk about breaking changes that somehow manage to not break things, why Cade is excited by time series databases, and the announcements and conference activities we're looking forward to. Show Notes online - http://podcast.thinkingelixir.com/114 (http://podcast.thinkingelixir.com/114) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/blob/master/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md) – LiveView v0.18.0 nearing release - https://twitter.com/josevalim/status/1560552538004389890 (https://twitter.com/josevalim/status/1560552538004389890) – Either evolve (and break things) or stagnate (and be stable) - https://twitter.com/Azure/status/1560386060001107968 (https://twitter.com/Azure/status/1560386060001107968) – Microsoft Azure launches devboxes - https://podcast.thinkingelixir.com/110 (https://podcast.thinkingelixir.com/110) – Earlier discussion on remote development environments - https://github.com/bitfo/timescale (https://github.com/bitfo/timescale) – New Ecto adapter for TimescaleDB 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://2022.elixirconf.com/schedule (https://2022.elixirconf.com/schedule) – Elixir Conf speaker list released Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/30/202221 minutes, 11 seconds
Episode Artwork

113: Livebook Desktop

Livebook Desktop is a recent project that makes it much easier for people to start using Elixir and Livebook. Wojtek Mach joins us to explain what Livebook Desktop is and how it works. We learn who the project is for and the problems it helps solve. We ask if this approach makes sense for other projects and how to get started. Wojtek also shares some cool things in the works that make it possible to load our own Phoenix project into a Livebook! Show Notes online - http://podcast.thinkingelixir.com/113 (http://podcast.thinkingelixir.com/113) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.14.0-rc.1 (https://github.com/elixir-lang/elixir/releases/tag/v1.14.0-rc.1) – Elixir v1.14.0-rc.1 - the last stop before v1.14 - https://twitter.com/elixirlang/status/1559133733478977538 (https://twitter.com/elixirlang/status/1559133733478977538) – Elixir v1.14.0-rc.1 announced as the last stop before v1.14 - https://github.com/phenixdigital/phxlivestorybook (https://github.com/phenixdigital/phx_live_storybook) – Phoenix Live Storybook - A pluggable storybook for your LiveView components - https://phx-live-storybook-sample.fly.dev/storybook/colors (https://phx-live-storybook-sample.fly.dev/storybook/colors) – Public sample project of Phx Live Storybook - https://github.com/elixir-lsp/elixir-ls/releases/tag/v0.11.0 (https://github.com/elixir-lsp/elixir-ls/releases/tag/v0.11.0) – Update to ElixirLS - https://twitter.com/lukaszsamson/status/1558923305012400136 (https://twitter.com/lukaszsamson/status/1558923305012400136) – ElixirLS adds Elixir 1.14 support - https://asdf-vm.com/ (https://asdf-vm.com/) – Version manager for multiple runtimes like Erlang, Elixir, Node and many more - https://twitter.com/josevalim/status/1558156309454798848 (https://twitter.com/josevalim/status/1558156309454798848) – José shared that Livebook Enterprise will be shipping soon - https://twitter.com/michalmuskala/status/1557374130793680899 (https://twitter.com/michalmuskala/status/1557374130793680899) – Research paper describing the WhatsApp approach to static types in Erlang with the eqWAlizer project - https://research.facebook.com/publications/inferl-scalable-and-extensible-erlang-static-analysis/ (https://research.facebook.com/publications/inferl-scalable-and-extensible-erlang-static-analysis/) – The eqWAlizer static types research paper - https://twitter.com/josevalim/status/1558554226384670723 (https://twitter.com/josevalim/status/1558554226384670723) – Nx v0.3.0 was released - https://twitter.com/sean_moriarity/status/1558579500761358336 (https://twitter.com/sean_moriarity/status/1558579500761358336) – Axon/AxonOnnx v0.2.0 released - https://elixirconf.uy/ (https://elixirconf.uy/) – Nov 11-12, the first Elixir conference to be held in Montevideo, Uruguay. 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://livebook.dev/ (https://livebook.dev/) - https://github.com/livebook-dev/livebook/blob/27f1e1406481edd2b38c730d75ce72df514ab4a6/mix.exs#L146:L178 (https://github.com/livebook-dev/livebook/blob/27f1e1406481edd2b38c730d75ce72df514ab4a6/mix.exs#L146:L178) – AppBundler setup - https://fly.io/phoenix-files/safe-ecto-migrations/ (https://fly.io/phoenix-files/safe-ecto-migrations/) - https://github.com/elixir-desktop/desktop (https://github.com/elixir-desktop/desktop) - https://podcast.thinkingelixir.com/98 (https://podcast.thinkingelixir.com/98) – Elixir desktop interview "Elixir in the iOS App Store with Dominic Letz" - https://en.wikipedia.org/wiki/LAMP(softwarebundle) (https://en.wikipedia.org/wiki/LAMP_(software_bundle)) - https://github.com/burrito-elixir/burrito (https://github.com/burrito-elixir/burrito) - https://news.livebook.dev/how-to-query-and-visualize-data-from-google-bigquery-using-livebook-3o2leU (https://news.livebook.dev/how-to-query-and-visualize-data-from-google-bigquery-using-livebook-3o2leU) – How to query and visualize data from Google BigQuery using Livebook - https://github.com/burrito-elixir/burrito (https://github.com/burrito-elixir/burrito) – Burrito project - https://github.com/elixir-lang/elixir/pull/12051 (https://github.com/elixir-lang/elixir/pull/12051) – Mix.install :configpath + :lockfile - https://github.com/livebook-dev/kino/issues/132#issuecomment-1207293134 (https://github.com/livebook-dev/kino/issues/132#issuecomment-1207293134) – kinobenchee to automatically render benchee results in Livebook - https://hexdocs.pm/req/changelog.html#v0-3-0-2022-06-21 (https://hexdocs.pm/req/changelog.html#v0-3-0-2022-06-21) – Req v0.3.0 changelog - https://nsis.sourceforge.io/Download (https://nsis.sourceforge.io/Download) - https://nsis.sourceforge.io/Main_Page (https://nsis.sourceforge.io/Main_Page) - https://en.wikipedia.org/wiki/NullsoftScriptableInstall_System (https://en.wikipedia.org/wiki/Nullsoft_Scriptable_Install_System) - https://www.winamp.com/ (https://www.winamp.com/) - https://github.com/livebook-dev/livebook/tree/main/app_bundler (https://github.com/livebook-dev/livebook/tree/main/app_bundler) - https://github.com/boydm/scenic (https://github.com/boydm/scenic) Guest Information - https://twitter.com/wojtekmach (https://twitter.com/wojtekmach) – on Twitter - https://github.com/wojtekmach/ (https://github.com/wojtekmach/) – on Github - http://wojtekmach.pl/ (http://wojtekmach.pl/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/23/202253 minutes, 55 seconds
Episode Artwork

112: Putting LiveView in a Chrome Extension

Google Chrome extension that displays a LiveView and integrates with a web page like Gmail? Steve Bussey shares how he did just that! We learn how it worked, why he did it, the benefits he sees, and how this differs from the conventional approach. He explains the small JS shim used, recommends a library to help when integrating with Gmail and he explains how the user experience is great, particularly when rolling out new versions! Steve goes further to talk about Chrome's new v3 extension API and targeting multiple browsers. Show Notes online - http://podcast.thinkingelixir.com/112 (http://podcast.thinkingelixir.com/112) Elixir Community News - https://github.com/WhatsApp/eqwalizer/blob/main/FAQ.md (https://github.com/WhatsApp/eqwalizer/blob/main/FAQ.md) – WhatsApp static type checker eqWAlizer added a FAQ. - https://twitter.com/robertoaloi/status/1555470447671754753 (https://twitter.com/robertoaloi/status/1555470447671754753) – Experimental support in erlang_ls has also been built for eqWAlizer - https://github.com/erlang-ls/erlang_ls/pull/1356 (https://github.com/erlang-ls/erlang_ls/pull/1356) – Erlang LS eqWAlizer support - https://twitter.com/michalmuskala/status/1554813818475319296 (https://twitter.com/michalmuskala/status/1554813818475319296) – Erlang/OTP's Dialyzer can now be run incrementally, which works out ~7x faster on average - https://github.com/erlang/otp/pull/5997 (https://github.com/erlang/otp/pull/5997) – Dialyzer PR with more details - https://twitter.com/chris_mccord/status/1554478915477028864 (https://twitter.com/chris_mccord/status/1554478915477028864) – Initial verified routes announcement from Chris McCord for Phoenix 1.7 - https://twitter.com/josevalim/status/1554512359485542400 (https://twitter.com/josevalim/status/1554512359485542400) – José Valim gave more clarification on what verified routes means. - https://twitter.com/hugobarauna/status/1554547730302832641 (https://twitter.com/hugobarauna/status/1554547730302832641) – Hugo Baraúna created a 5 minute Youtube video showing how to integrate Livebook with Google BigQuery. - https://twitter.com/akoutmos/status/1556046188784324616 (https://twitter.com/akoutmos/status/1556046188784324616) – Alex Koutmos teased that he's adding Benchee support to Livebook. - https://podcast.thinkingelixir.com/94 (https://podcast.thinkingelixir.com/94) – Benchee discussion with Tobias Pfeiffer in episode 94. - https://erlangforums.com/t/pgmp-postgresql-client-with-logical-replication-to-ets/1707 (https://erlangforums.com/t/pgmp-postgresql-client-with-logical-replication-to-ets/1707) – Interesting Erlang library launched called pgmp - https://github.com/shortishly/pgmp (https://github.com/shortishly/pgmp) – pgmp is a PostgreSQL client with support for simple and extended query, and logical replication to ETS. 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/1544434779327811585 (https://twitter.com/yoooodaaaa/status/1544434779327811585) – Tweet about creating a chrome extension - https://pragprog.com/titles/sbsockets/real-time-phoenix/ (https://pragprog.com/titles/sbsockets/real-time-phoenix/) – Author of "Real-Time Phoenix" book - https://salesloft.com/ (https://salesloft.com/) - https://chrome.google.com/webstore/detail/honey-automatic-coupons-r/bmnlcjabgnpnenekpadlanbbkooimhnj?hl=en-GB (https://chrome.google.com/webstore/detail/honey-automatic-coupons-r/bmnlcjabgnpnenekpadlanbbkooimhnj?hl=en-GB) - https://www.streak.com/post/announcing-inboxsdk (https://www.streak.com/post/announcing-inboxsdk) - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe) Guest Information - https://twitter.com/YOOOODAAAA (https://twitter.com/YOOOODAAAA) – on Twitter - https://github.com/sb8244/ (https://github.com/sb8244/) – on Github - https://stephenbussey.com (https://stephenbussey.com) – Blog - https://pragprog.com/titles/sbsockets/real-time-phoenix/ (https://pragprog.com/titles/sbsockets/real-time-phoenix/) – Real-Time Phoenix book Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/16/202254 minutes, 34 seconds
Episode Artwork

111: Deploying a PR for Review

Ever wanted to deploy a PR to a temporary server for show-and-tell, QA testing, or to get feedback on it? Jason Axelson joins us to share how he did that on Render.com. We explore how it can be done on other platforms like Fly.io as well. We talk about how this ability benefits teams and companies. We dig into how setting up a seeded DB for the code isolates data changes but also makes it easier for people to test the code with multiple data scenarios. Turns out doing this may be easier than I thought! Show Notes online - http://podcast.thinkingelixir.com/111 (http://podcast.thinkingelixir.com/111) Elixir Community News - https://github.com/elixir-lang/elixir/tree/v1.14.0-rc.0 (https://github.com/elixir-lang/elixir/tree/v1.14.0-rc.0) – Elixir 1.14.0-rc.0 was tagged. This begins the sequence of Release Candidates leading up to the final 1.14 release. - https://github.com/elixir-lang/elixir/blob/v1.14.0-rc.0/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.14.0-rc.0/CHANGELOG.md) – Elixir 1.14.0-rc.0 Changelog - https://twitter.com/michalmuskala/status/1554455230846119937 (https://twitter.com/michalmuskala/status/1554455230846119937) - https://github.com/WhatsApp/eqwalizer (https://github.com/WhatsApp/eqwalizer) – WhatsApp's newly open sourced type-checker for Erlang - https://engineering.fb.com/2022/07/27/developer-tools/programming-languages-endorsed-for-server-side-use-at-meta/ (https://engineering.fb.com/2022/07/27/developer-tools/programming-languages-endorsed-for-server-side-use-at-meta/) – Outlines which languages are approved for use in Facebook/Meta. - https://twitter.com/polvalente/status/1552176607045029889 (https://twitter.com/polvalente/status/1552176607045029889) – Elixir gRPC project released v0.5.0. Includes all commits since v0.5.0-beta.1 in mid 2020. - https://github.com/elixir-grpc/grpc/releases/tag/v0.5.0 (https://github.com/elixir-grpc/grpc/releases/tag/v0.5.0) - https://dockyard.com/blog/2022/07/26/what-to-expect-from-the-dockyard-academy-q-a-with-instructor-brooklin-myers (https://dockyard.com/blog/2022/07/26/what-to-expect-from-the-dockyard-academy-q-a-with-instructor-brooklin-myers) – Update on the DockYard Academy - a 90-day, online Elixir bootcamp - https://github.com/DockYard-Academy/beta_curriculum (https://github.com/DockYard-Academy/beta_curriculum) – DockYard Academy's beta curriculum - https://elixirstatus.com/p/GpNe2-intellij-elixir-v1320 (https://elixirstatus.com/p/GpNe2-intellij-elixir-v1320) – IntelliJ Elixir v13.2.0 - https://github.com/superfly/litefs (https://github.com/superfly/litefs) – LiteFS is a FUSE-based file system for replicating SQLite databases across a cluster of machines - https://podcast.thinkingelixir.com/101 (https://podcast.thinkingelixir.com/101) – Our interview with Ben Johnson about SQLite and Litestream 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://felt.com/ (https://felt.com/) - https://felt.com/careers (https://felt.com/careers) - https://elixirforum.com/ (https://elixirforum.com/) - https://github.com/elixir-lsp/elixir-ls (https://github.com/elixir-lsp/elixir-ls) - https://github.com/boydm/scenic (https://github.com/boydm/scenic) - https://twitter.com/bostonvaulter/status/1531757674236243968 (https://twitter.com/bostonvaulter/status/1531757674236243968) – Button to deploy a PR branch for easy review. - https://render.com/docs/preview-environments#automatic-expiration (https://render.com/docs/preview-environments#automatic-expiration) – Render documentation about Preview Environment and Automatic Expiration - https://github.com/superfly/fly-pr-review-apps (https://github.com/superfly/fly-pr-review-apps) – Ability to do PR reviews on Fly.io using Github Actions - https://render.com/docs/infrastructure-as-code (https://render.com/docs/infrastructure-as-code) – Render docs for Infrastructure as Code (IaC) - https://render.com/docs/preview-environments (https://render.com/docs/preview-environments) – Render docs for Preview Environments Guest Information - https://twitter.com/bostonvaulter (https://twitter.com/bostonvaulter) – on Twitter - https://github.com/axelson/ (https://github.com/axelson/) – on Github - https://jasonaxelson.com/ (https://jasonaxelson.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/9/202240 minutes, 57 seconds
Episode Artwork

110: The End of Localhost Development?

Some people excitedly talk about the “end of localhost development” when developer machines move to the cloud. Presumably this is better because our environments, infrastructure and projects are so complex that they need this additional layer of abstraction just to keep teams productive. Is this our inevitable future? Or is this trying to solve the wrong problem? We talk about what we think this movement is about and how it relates to us. Elixir projects can potentially be much simpler with fewer external dependencies making this move to the cloud less compelling. Join us as we contemplate how Elixir and Phoenix might fare in a world with no “localhost development”. Show Notes online - http://podcast.thinkingelixir.com/110 (http://podcast.thinkingelixir.com/110) Elixir Community News - https://twitter.com/whatyouhide/status/1549295894721445888 (https://twitter.com/whatyouhide/status/1549295894721445888) – Explanation thread about how new Kernel.dbg function works. - https://twitter.com/whatyouhide/status/1551463778893631488 (https://twitter.com/whatyouhide/status/1551463778893631488) – New Kernel.dbg/0 prints the current bindings. - https://twitter.com/sorentwo/status/1550155422438494211 (https://twitter.com/sorentwo/status/1550155422438494211) – Oban v2.13.0 and Oban Pro v0.12.0 were released. - https://getoban.pro/docs/pro/changelog.html (https://getoban.pro/docs/pro/changelog.html) – Oban Pro changelog - https://hexdocs.pm/oban/changelog.html (https://hexdocs.pm/oban/changelog.html) – Oban OSS changelog - https://hexdocs.pm/kino/Kino.Process.html (https://hexdocs.pm/kino/Kino.Process.html) – New Kino.Process module added to Kino 0.6.2. - https://github.com/elixir-plug/plug/pull/1111 (https://github.com/elixir-plug/plug/pull/1111) – Plug gets a new “Copy to markdown” button - https://twitter.com/MachinesAreUs/status/1549072505423503363 (https://twitter.com/MachinesAreUs/status/1549072505423503363) – New tool for automatically detecting cyclic dependencies between modules in Elixir? - https://github.com/elixir-ecto/ecto_sql/pull/428 (https://github.com/elixir-ecto/ecto_sql/pull/428) – EctoSQL gets a new pgadvisorylock configuration option for Postgres users - https://elixir-makeup.github.io/makeup_demo/ (https://elixir-makeup.github.io/makeup_demo/) – Make-up's new demo pages showing off how it highlights code. - https://github.com/elixir-makeup/makeup (https://github.com/elixir-makeup/makeup) – The makeup project Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://news.ycombinator.com/item?id=31669762 (https://news.ycombinator.com/item?id=31669762) – HackerNews post that re-ignited this discussion - https://dx.tips/the-end-of-localhost (https://dx.tips/the-end-of-localhost) – The HN post which lays out he arguments - https://www.youtube.com/watch?v=pW-SOdj4Kkk (https://www.youtube.com/watch?v=pW-SOdj4Kkk) – Jonathan Blow - Preventing the Collapse of Civilization (English only) - https://www.laurencegellert.com/2015/08/is-localhost-development-obsolete/ (https://www.laurencegellert.com/2015/08/is-localhost-development-obsolete/) – Discussion dates back to at least 2015 - https://twitter.com/MarioWhoWrites/status/1542294811067109376 (https://twitter.com/MarioWhoWrites/status/1542294811067109376) – It feels like DevOps at the language level - https://podcast.thinkingelixir.com/105 (https://podcast.thinkingelixir.com/105) – Recent interview with Uku Taht at Plausible Analytics. - https://hanselminutes.com/847/engineering-stack-overflow-with-roberta-arcoverde (https://hanselminutes.com/847/engineering-stack-overflow-with-roberta-arcoverde) – Stack Overflow infrastructure described Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/2/202251 minutes, 13 seconds
Episode Artwork

109: Digital Signal Processing with NxSignal

A new library in the Nx ecosystem under active development is called NxSignal by Paulo Valente. We talk with Paulo to learn what a DSP (Digital Signal Processor) is, how it works, and we touch on the kinds of problems it can solve. We learn about his involvement in Nx, where the library is going, and some unusual ways he's applied it. He also shares how he's using Nx Explorer in production to clean up and process financial data returned in a JSON API and much more! Show Notes online - http://podcast.thinkingelixir.com/109 (http://podcast.thinkingelixir.com/109) Elixir Community News - https://asciinema.org/a/FYnQFc358WaL5uBfwZPoK5IRm (https://asciinema.org/a/FYnQFc358WaL5uBfwZPoK5IRm) – José Valim showed off a new Elixir.1.14 feature of line-by-line breakpoints demonstrated in IEx. - https://github.com/elixir-lang/elixir/pull/11974 (https://github.com/elixir-lang/elixir/pull/11974) – PR for initial Kernel.dbg/2 work - https://twitter.com/josevalim/status/1547154092019122176 (https://twitter.com/josevalim/status/1547154092019122176) - https://github.com/erlang/otp/pull/6144 (https://github.com/erlang/otp/pull/6144) – Implement new Erlang shell - https://blog.rabbitmq.com/posts/2022/07/rabbitmq-3-11-feature-preview-super-streams/ (https://blog.rabbitmq.com/posts/2022/07/rabbitmq-3-11-feature-preview-super-streams/) – RabbitMQ gets a new feature called “Super Streams” - https://github.com/elixir-grpc/grpc (https://github.com/elixir-grpc/grpc) – Paulo Valente became the new maintainer of the Elixir gRPC library - https://twitter.com/josevalim/status/1549091140246331399 (https://twitter.com/josevalim/status/1549091140246331399) – Livebook announcement. Cloud host or new Desktop option. - http://livebook.dev (http://livebook.dev) – Livebook Desktop was launched 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/polvalente/nx-signal (https://github.com/polvalente/nx-signal) – NxSignal project - https://twitter.com/polvalente/status/1533954854946848771 (https://twitter.com/polvalente/status/1533954854946848771) - https://www.stone.co/ (https://www.stone.co/) – Where Paulo Valente works - https://www.premierguitar.com/gear/gibsons-self-tuning-guitar (https://www.premierguitar.com/gear/gibsons-self-tuning-guitar) – Example of self tuning guitar with built-in DSP - https://en.wikipedia.org/wiki/ListofSuperNESenhancement_chips#DSP (https://en.wikipedia.org/wiki/List_of_Super_NES_enhancement_chips#DSP) – SNES DSP enhancement chips - https://github.com/polvalente/grpclassify (https://github.com/polvalente/grpclassify) – His academic project for transcribing musical notes - http://www.repositorio.poli.ufrj.br/monografias/monopoli10029831.pdf (http://www.repositorio.poli.ufrj.br/monografias/monopoli10029831.pdf) – The final project for his engineering degree that led him to get involved with Nx. - https://grpc.io/ (https://grpc.io/) – gRPC project - https://github.com/elixir-grpc/grpc (https://github.com/elixir-grpc/grpc) – An Elixir implementation of gRPC - https://prometheus.io/docs/introduction/overview/ (https://prometheus.io/docs/introduction/overview/) Guest Information - https://twitter.com/polvalente (https://twitter.com/polvalente) – on Twitter - https://github.com/polvalente/ (https://github.com/polvalente/) – on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
7/26/202235 minutes, 27 seconds
Episode Artwork

108: Stack Overflow Survey Results 2022

We were surprised to see how well Elixir and Phoenix performed in the Stack Overflow survey results for 2022! Elixir came in as the #2 most loved language and Phoenix as the #1 most loved framework! And this was their first year appearing as official choices in the survey! We discuss what it means, what we can learn from it, how it compares to other languages and frameworks and what it may indicate for the future. We also discuss ideas to help support and grow the community. Show Notes online - http://podcast.thinkingelixir.com/108 (http://podcast.thinkingelixir.com/108) Elixir Community News - https://twitter.com/josevalim/status/1544350119759212550 (https://twitter.com/josevalim/status/1544350119759212550) – José Valim's ElixirConf EU keynote is available online. - https://www.youtube.com/playlist?list=PLvL2NEhYV4ZuuF39ADAh6IwIuh8K6gd (https://www.youtube.com/playlist?list=PLvL2NEhYV4ZuuF39_A_DAh6IwIuh8K6gd) – Playlist of other talks. As of this recording there are only 3 available. - José promoted the 5-part series we did with him covering many of the Elixir releases over the past 10 years. - https://podcast.thinkingelixir.com/82 (https://podcast.thinkingelixir.com/82) – Part 1 - https://podcast.thinkingelixir.com/87 (https://podcast.thinkingelixir.com/87) – Part 2 - https://podcast.thinkingelixir.com/91 (https://podcast.thinkingelixir.com/91) – Part 3 - https://podcast.thinkingelixir.com/96 (https://podcast.thinkingelixir.com/96) – Part 4 - https://podcast.thinkingelixir.com/100 (https://podcast.thinkingelixir.com/100) – Part 5 - https://twitter.com/samaaron/status/1544985753964482560 (https://twitter.com/samaaron/status/1544985753964482560) – The "Jab Ready" v4 of Sonic Pi was released. - https://podcast.thinkingelixir.com/106 (https://podcast.thinkingelixir.com/106) – Our recent interview with Sam Aaron on the Sonic Pi project. - https://github.com/sonic-pi-net/sonic-pi/releases/tag/v4.0.0 (https://github.com/sonic-pi-net/sonic-pi/releases/tag/v4.0.0) – v4 of the Sonic Pi - https://twitter.com/yoooodaaaa/status/1544434779327811585 (https://twitter.com/yoooodaaaa/status/1544434779327811585) – Steve Bussey created a Chrome browser extension using LiveView - https://twitter.com/josevalim/status/1545160415042314241 (https://twitter.com/josevalim/status/1545160415042314241) – Livebook Pro idea is dropped. Pursuing an idea called Livebook Hub - https://livebook.dev/ (https://livebook.dev/) – Livebook site, register to be notified about Livebook Hub - https://github.com/fuelen/ecto_erd (https://github.com/fuelen/ecto_erd) – Ecto ERD docs updated. Works fine on umbrella projects. - https://elixirforum.com/t/nerves-1-8-released/48887 (https://elixirforum.com/t/nerves-1-8-released/48887) – Nerves v1.8 released - https://github.com/elixir-lsp/elixir-ls/blob/v0.10.0/CHANGELOG.md#v0100-10-june-2022 (https://github.com/elixir-lsp/elixir-ls/blob/v0.10.0/CHANGELOG.md#v0100-10-june-2022) – ElixirLS v0.10.0 has been released - https://blog.rustprooflabs.com/2022/07/postgres-15-unique-improvement-with-null (https://blog.rustprooflabs.com/2022/07/postgres-15-unique-improvement-with-null) – Postgres 15 adds a new UNIQUE NULLS NOT DISTINCT option - https://twitter.com/AshFramework/status/1545501181308551168 (https://twitter.com/AshFramework/status/1545501181308551168) – Ash Framework coming out of beta with revamped docs - https://podcast.thinkingelixir.com/27 (https://podcast.thinkingelixir.com/27) – Interview with Zach Daniel about Ash Framework - https://2022.elixirconf.com/registration (https://2022.elixirconf.com/registration) – ElixirConf 2022 - hybrid conference. Aug 30+31 are training days - Sept 1+2 are conference days 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://survey.stackoverflow.co/2022/ (https://survey.stackoverflow.co/2022/) – The Stack Overflow survey results for 2022 - https://twitter.com/josevalim/status/1540252711626706944 (https://twitter.com/josevalim/status/1540252711626706944) – José Valim's thoughts on what the results meant - https://twitter.com/brainlid/status/1542470805149319170 (https://twitter.com/brainlid/status/1542470805149319170) – Asking what others thought it meant. Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
7/19/202239 minutes, 50 seconds
Episode Artwork

107: Catching Up with Alex Koutmos

We caught up with Alex Koutmos, a co-host on an Elixir podcast, book author, and OpenSource library creator. We talk about some of his well known libraries like PromEx, but then go into some of his potentially lesser known ones like Doctor, Replug, Unplug, and MJML EEx. I'm happy to learn more about MJML EEx, an email formatting library for improved cross-mail client readers! We talk about the Nerves Weather Station book, and his new book project Elixir Patterns that makes heavy use of Livebook. Come enjoy a deeper visit with an Elixir community contributor! Show Notes online - http://podcast.thinkingelixir.com/107 (http://podcast.thinkingelixir.com/107) Elixir Community News - https://hex.pm/packages/kino (https://hex.pm/packages/kino) – Kino 0.6.2 was released. This includes Alex Koutmos recent work that makes it easy to render a supervision tree in Livebook. - https://twitter.com/akoutmos/status/1542324451425107968 (https://twitter.com/akoutmos/status/1542324451425107968) - https://github.com/livebook-dev/kino/blob/main/CHANGELOG.md (https://github.com/livebook-dev/kino/blob/main/CHANGELOG.md) - https://twitter.com/akoutmos/status/1542710874586112001 (https://twitter.com/akoutmos/status/1542710874586112001) – Another crazy Livebook improvement that Alex teased is a process tracing viewer. - https://twitter.com/owenbickford/status/1543369745306632192 (https://twitter.com/owenbickford/status/1543369745306632192) – Elixir-LS got an update - “Suggest an appropriate module name with the 'defmodule' snippet” - https://github.com/elixir-lsp/elixir-ls/pull/684 (https://github.com/elixir-lsp/elixir-ls/pull/684) – PR with demonstration video. - https://github.com/fuelen/ecto_erd/ (https://github.com/fuelen/ecto_erd/) – Ecto.ERD library generates ERD diagram from your Ecto schemas - https://twitter.com/josevalim/status/1542165462599057408 (https://twitter.com/josevalim/status/1542165462599057408) – Combined June Elixir announcements - https://pragprog.com/titles/puphoe/building-table-views-with-phoenix-liveview/ (https://pragprog.com/titles/puphoe/building-table-views-with-phoenix-liveview/) – New book titled “Building Table Views with Phoenix LiveView” by Peter Ullrich. - https://twitter.com/sasajuric/status/1542859420740239361 (https://twitter.com/sasajuric/status/1542859420740239361) – Saša Jurić announced he’s working on Elixir in Action 3rd Edition. - https://github.com/peburrows/goth/blob/v1.3.0/CHANGELOG.md (https://github.com/peburrows/goth/blob/v1.3.0/CHANGELOG.md) – Goth library released v1.3. - https://twitter.com/adamwathan/status/1539752930349293569 (https://twitter.com/adamwathan/status/1539752930349293569) – Self-project management tip - "Everything goes smoother when you focus on getting 10% of a project 100% done instead of getting 100% of a project 10% done." 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://hex.pm/users/akoutmos (https://hex.pm/users/akoutmos) – Published packages that Alex maintains - https://pragprog.com/titles/passweather/build-a-weather-station-with-elixir-and-nerves/ (https://pragprog.com/titles/passweather/build-a-weather-station-with-elixir-and-nerves/) – Nerves weather Station book - https://elixirpatterns.dev/ (https://elixirpatterns.dev/) – Elixir Patterns book that I am currently working on with Hugo - https://eaglemms.com/ (https://eaglemms.com/) – Bootstrapping a business with Elixir and LiveView - https://akoutmos.com/post/plug-runtime-config (https://akoutmos.com/post/plug-runtime-config) – Post about Unplug and Replug - https://hex.pm/packages/replug (https://hex.pm/packages/replug) - https://hex.pm/packages/unplug (https://hex.pm/packages/unplug) - https://twitter.com/akoutmos/status/1541078170383835136 (https://twitter.com/akoutmos/status/1541078170383835136) – Tweet about rendering supervision trees using Kino and Mermaid in Livebook. - https://www.whoosh.io/ (https://www.whoosh.io/) - https://www.beamrad.io/ (https://www.beamrad.io/) – Beam Radio podcast where Alex co-hosts. - https://prometheus.io/docs/prometheus/latest/getting_started/ (https://prometheus.io/docs/prometheus/latest/getting_started/) - https://prometheus.io/ (https://prometheus.io/) - https://github.com/beam-telemetry (https://github.com/beam-telemetry) - https://www.timescale.com/ (https://www.timescale.com/) - https://en.wikipedia.org/wiki/TimescaleDB (https://en.wikipedia.org/wiki/TimescaleDB) - https://elixir-radar.com/ (https://elixir-radar.com/) - https://github.com/livebook-dev/kino (https://github.com/livebook-dev/kino) - https://github.com/akoutmos/doctor (https://github.com/akoutmos/doctor) – Doctor library for checking documentation coverage - https://podcast.thinkingelixir.com/101 (https://podcast.thinkingelixir.com/101) – Interview with Ben Johnson about Litestream - https://github.com/akoutmos/litestream (https://github.com/akoutmos/litestream) – Alex's litestream project - https://github.com/akoutmos/sqlite_scale (https://github.com/akoutmos/sqlite_scale) – Experiment with Ecto Dynamic Repos and SQLite - https://hex.pm/packages/mjml_eex (https://hex.pm/packages/mjml_eex) – MjmlEEx allows you to easily create beautiful looking responsive Emails using the MJML template language, with the ergonomics and safety of a Phoenix template. - https://github.com/adoptoposs/mjml_nif (https://github.com/adoptoposs/mjml_nif) - https://mjml.io/ (https://mjml.io/) – The MJML website with documentation about email formatting features. - https://github.com/jdrouet/mrml (https://github.com/jdrouet/mrml) - https://hex.pm/packages/prom_ex (https://hex.pm/packages/prom_ex) – PromEx library - https://www.youtube.com/watch?v=0SkVsUdUutE (https://www.youtube.com/watch?v=0SkVsUdUutE) – Alex's Code BEAM talk from last spring if people want to learn more BEAM + Prometheus + Grafana = Observability Heaven Guest Information - https://twitter.com/akoutmos (https://twitter.com/akoutmos) – on Twitter - https://github.com/akoutmos/ (https://github.com/akoutmos/) – on Github - https://akoutmos.com/ (https://akoutmos.com/) – Blog - https://elixirpatterns.dev/ (https://elixirpatterns.dev/) – Elixir Patterns book Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
7/12/202256 minutes, 56 seconds
Episode Artwork

106: Coding Music Live in SonicPi with Sam Aaron

The SonicPi project has been letting people live code musical performances for years. Sam Aaron joins us to talk about the project and how Elixir is playing an increased role. The project uses multiple languages and frameworks, in fact, Joe Armstrong created the Erlang portion for handling the concurrent IO needs. We talk about where the project is, what's new in the upcoming release, and more about the future of Elixir with the project. LiveView as a UI for jamming with your friends in a distributed musical performance tool? Cool! We also talk about SonicPi being used in the education space and introducing kids to coding and much more! Show Notes online - http://podcast.thinkingelixir.com/106 (http://podcast.thinkingelixir.com/106) Elixir Community News - https://github.blog/2022-06-27-github-advisory-database-now-supports-erlang-and-elixir-packages/ (https://github.blog/2022-06-27-github-advisory-database-now-supports-erlang-and-elixir-packages/) – GitHub launched support for Hex in tracking and reporting security advisories for projects - https://survey.stackoverflow.co/2022/ (https://survey.stackoverflow.co/2022/) – StackOverflow released their Developer Survey results - Elixir is no.2 most loved language - Phoenix is no.1 most loved web framework - https://twitter.com/josevalim/status/1540252711626706944 (https://twitter.com/josevalim/status/1540252711626706944) – José Valim's thoughts on the results - https://elixirpatterns.dev (https://elixirpatterns.dev) – Elixir Patterns book is a project by Alex Koutmos and Hugo Baraúna - https://twitter.com/akoutmos/status/1541078170383835136 (https://twitter.com/akoutmos/status/1541078170383835136) – Alex created Kino PR for rendering supervision tree in Livebook - https://hex.pm/packages/nervessystemmangopimqpro (https://hex.pm/packages/nerves_system_mangopi_mq_pro) – Frank Hunleth announced that Nerves now has support for the RISC-V MangoPi - https://twitter.com/fhunleth/status/1541116329553428480 (https://twitter.com/fhunleth/status/1541116329553428480) – Frank's announcement - https://mangopi.cc/ (https://mangopi.cc/) – MangoPi site - https://lpil.uk/blog/deploying-gleam-on-fly-io/ (https://lpil.uk/blog/deploying-gleam-on-fly-io/) – Louis Pilfold use new v0.22 Gleam deployment feature for deploying to Fly.io - https://twitter.com/cigrainger/status/1539538577344045057 (https://twitter.com/cigrainger/status/1539538577344045057) – Explorer v0.2.0 was released - https://podcast.thinkingelixir.com/104 (https://podcast.thinkingelixir.com/104) – Recently interview with Chris Grainger in episode 104 about Explorer. - https://github.com/erlang/rebar3/releases/tag/3.19.0 (https://github.com/erlang/rebar3/releases/tag/3.19.0) – Rebar 3.19.0 - http://pesquisecomelixir.com.br (http://pesquisecomelixir.com.br) – José Valim announced a new initiative called "Research with Elixir" - https://twitter.com/josevalim/status/1541775306767450114 (https://twitter.com/josevalim/status/1541775306767450114) – Announcement post from José that includes more information 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://sonic-pi.net/ (https://sonic-pi.net/) - https://github.com/sonic-pi-net/sonic-pi (https://github.com/sonic-pi-net/sonic-pi) - https://github.com/samaaron (https://github.com/samaaron) - https://twitter.com/josevalim/status/1519377962063249409 (https://twitter.com/josevalim/status/1519377962063249409) - https://twitter.com/matschaffer/status/1520914785625280512 (https://twitter.com/matschaffer/status/1520914785625280512) - https://supercollider.github.io/ (https://supercollider.github.io/) - https://en.wikipedia.org/wiki/Kintsugi (https://en.wikipedia.org/wiki/Kintsugi) – Fixing broken pottery with gold - https://www.patreon.com/samaaron (https://www.patreon.com/samaaron) Guest Information - https://twitter.com/samaaron (https://twitter.com/samaaron) – Sam Aaron on Twitter - https://twitter.com/Sonic_Pi (https://twitter.com/Sonic_Pi) – Sonic Pi on Twitter - https://github.com/samaaron (https://github.com/samaaron) – on Github - https://www.instagram.com/samaaron/ (https://www.instagram.com/samaaron/) – Instagram - https://www.linkedin.com/in/samaaron/ (https://www.linkedin.com/in/samaaron/) – LinkedIn - https://www.patreon.com/samaaron (https://www.patreon.com/samaaron) – Patreon Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
7/5/20221 hour, 8 minutes, 10 seconds
Episode Artwork

105: Plausible Analytics, Elixir, and Privacy with Uku Taht

We learn about Plausible Analytics, a privacy respecting alternative to Google Analytics that is cloud or self-hostable, OpenSource and written in Elixir! Uku Taht shares how he founded the company, the mission he is on, and what he prioritizes. The company practices a “transparent by default” approach. This means they share a lot about what’s going on, this includes how they recently reached $1m ARR, some of their growing pains, and dealing with the weight of being “the one who has to fix things.” We end with a candid discussion about wellness in our profession and how when we are too close to the problems, we become blind to our own successes. A great, transparent conversation with Uku! Show Notes online - http://podcast.thinkingelixir.com/105 (http://podcast.thinkingelixir.com/105) Elixir Community News - https://2022.elixirconf.com/ (https://2022.elixirconf.com/) – ElixirConf 2022 - Aug 30 - Sep 2 in Denver, CO. Call for proposals due July 2nd - https://2022.elixirconf.com/registration (https://2022.elixirconf.com/registration) – Early bird tickets are on sale - https://twitter.com/CodeBEAMio/status/1537502784790085634 (https://twitter.com/CodeBEAMio/status/1537502784790085634) – CodeBEAM America (November) is accepting training ideas for their upcoming conference. - https://hexdocs.pm/req/changelog.html#v0-3-0 (https://hexdocs.pm/req/changelog.html#v0-3-0) – Req v0.3 released with a new API - https://hexdocs.pm/req/changelog.html#plugins (https://hexdocs.pm/req/changelog.html#plugins) – List of available Req plugins - reqeasyhtml, reqs3, reqhex, reqgithub_oauth - https://twitter.com/sean_moriarity/status/1537405584710029313 (https://twitter.com/sean_moriarity/status/1537405584710029313) – Sean Moriarity shared a major milestone! The public release of Axon and AxonONNX. - https://podcast.thinkingelixir.com/102 (https://podcast.thinkingelixir.com/102) – Recent interview with Sean Moriarity about this work. - https://twitter.com/elixirweekly/status/1538082201212006400 (https://twitter.com/elixirweekly/status/1538082201212006400) – IntelliJ IDE gets updated Elixir plugin, v13.1.0 - https://twitter.com/whatyouhide/status/1538908870743101440 (https://twitter.com/whatyouhide/status/1538908870743101440) – NimbleLZ4, for performing LZ4 lossless compression, released with the help of Rustler Precompiled 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/plausible/analytics (https://github.com/plausible/analytics) - https://twitter.com/PlausibleHQ/status/1532265765042376704 (https://twitter.com/PlausibleHQ/status/1532265765042376704) - https://plausible.io/about (https://plausible.io/about) - http://elixirkoans.io/ (http://elixirkoans.io/) - https://www.youtube.com/watch?v=6U7cLUygMeI (https://www.youtube.com/watch?v=6U7cLUygMeI) - https://en.wikipedia.org/wiki/Facebook%E2%80%93CambridgeAnalyticadata_scandal (https://en.wikipedia.org/wiki/Facebook%E2%80%93Cambridge_Analytica_data_scandal) - https://clickhouse.com/ (https://clickhouse.com/) - https://en.wikipedia.org/wiki/Onlineanalyticalprocessing (https://en.wikipedia.org/wiki/Online_analytical_processing) - https://github.com/plausible/clickhouse_ecto (https://github.com/plausible/clickhouse_ecto) - https://plausible.io/blog/you-probably-dont-need-a-single-page-app (https://plausible.io/blog/you-probably-dont-need-a-single-page-app) - https://twitter.com/PlausibleHQ/status/1532265765042376704 (https://twitter.com/PlausibleHQ/status/1532265765042376704) – Announced they reached a revenue milestone Guest Information - https://twitter.com/ukutaht (https://twitter.com/ukutaht) – Uku on Twitter - https://twitter.com/PlausibleHQ (https://twitter.com/PlausibleHQ) – Plausible HQ on Twitter - https://fosstodon.org/@plausible (https://fosstodon.org/@plausible) – Mastodon - https://github.com/ukutaht/ (https://github.com/ukutaht/) – Uku on Github - https://github.com/plausible (https://github.com/plausible) – Plausible on Github - https://plausible.io/blog (https://plausible.io/blog) – Plausible Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
6/28/202255 minutes, 8 seconds
Episode Artwork

104: Exploring Our Data with Chris Grainger

Chris Grainger explains Explorer, Nx's recent addition. It's a “Data Frame” library which sounds far more nebulous than it is. It lets us explore and manipulate two-dimensional data like we already do with DB tables, spreadsheets, CSV files, etc. Only this works in memory, is faster, and has predefined functions that make it very powerful. Explorer fills an important slot in the overall pie for data science and ML in Elixir. However, Explorer is also one of the tools that “regular” Elixir devs can take advantage of today! Show Notes online - http://podcast.thinkingelixir.com/104 (http://podcast.thinkingelixir.com/104) Elixir Community News - https://twitter.com/josevalim/status/1535008937640181760 (https://twitter.com/josevalim/status/1535008937640181760) – At ElixirConf EU, José Valim announced there is an ongoing PhD scholarship for researching and developing a type system for Elixir that is powered by set-theoretic types. - https://www.irif.fr/~gc/ (https://www.irif.fr/~gc/) – Giuseppe Castagna's Home Page. Senior Research Scientist - https://arxiv.org/abs/2111.03354 (https://arxiv.org/abs/2111.03354) – Programming with union, intersection, and negation types - https://twitter.com/fhunleth/status/1534826558774464512 (https://twitter.com/fhunleth/status/1534826558774464512) - https://podcast.thinkingelixir.com/72 (https://podcast.thinkingelixir.com/72) – Typecheck interview - https://github.com/ergo-services/ergo (https://github.com/ergo-services/ergo) – We learned of a Golang library called “ergo” that is an “actor based Framework for creating microservices using technologies and design patterns of Erlang/OTP in Golang” - https://twitter.com/erlangforums/status/1534822378722713601 (https://twitter.com/erlangforums/status/1534822378722713601) – Patch Package OTP 25.0.1 Released - https://erlangforums.com/t/patch-package-otp-25-0-1-released/1526 (https://erlangforums.com/t/patch-package-otp-25-0-1-released/1526) – Minor bug fixes. Zlib updated - https://flowbite.com/docs/getting-started/introduction/ (https://flowbite.com/docs/getting-started/introduction/) – More free alternative to TailwindUI - https://github.com/tailwindlabs/tailwindcss/releases/tag/v3.1.2 (https://github.com/tailwindlabs/tailwindcss/releases/tag/v3.1.2) – tailwindcss CLI v3.1.2 released which includes postcss-import into the CLI bundle - https://twitter.com/adamwathan/status/1535989815778463746 (https://twitter.com/adamwathan/status/1535989815778463746) – Adam Wathan, the Tailwind CSS guy, had a fun quote that we liked. - “Open source is “right to repair” for software — nothing more, nothing less. Maintain that attitude and any frustration or entitlement you feel will be replaced with gratitude. Better for maintainers, and better for you.” 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/elixir-nx/explorer (https://github.com/elixir-nx/explorer) - https://hexdocs.pm/explorer/Explorer.html (https://hexdocs.pm/explorer/Explorer.html) - https://hexdocs.pm/explorer/Explorer.DataFrame.html (https://hexdocs.pm/explorer/Explorer.DataFrame.html) - https://hexdocs.pm/explorer/Explorer.Series.html (https://hexdocs.pm/explorer/Explorer.Series.html) - https://twitter.com/cigrainger/status/1518896955921154048 (https://twitter.com/cigrainger/status/1518896955921154048) – Tweet about using Rustler and Rustler Precompiled - https://hexdocs.pm/explorer/exploring_explorer.html (https://hexdocs.pm/explorer/exploring_explorer.html) – Includes a “Ten Minutes to Explorer” Livebook guide in the docs to walk you through setup to getting started with a good overview. - https://www.cigrainger.com/posts/introducing-explorer/ (https://www.cigrainger.com/posts/introducing-explorer/) - https://databricks.com/glossary/what-are-dataframes (https://databricks.com/glossary/what-are-dataframes) - https://pandas.pydata.org/docs/user_guide/dsintro.html (https://pandas.pydata.org/docs/user_guide/dsintro.html) - https://dataframes.juliadata.org/stable/ (https://dataframes.juliadata.org/stable/) - https://cran.r-project.org/web/packages/tidyr/vignettes/tidy-data.html (https://cran.r-project.org/web/packages/tidyr/vignettes/tidy-data.html) - https://github.com/dashbitco/table (https://github.com/dashbitco/table) - https://huggingface.co/ (https://huggingface.co/) - https://www.amplified.ai/ (https://www.amplified.ai/) – Chris' company - https://pandas.pydata.org/ (https://pandas.pydata.org/) - https://en.wikipedia.org/wiki/Extract%2Ctransform%2Cload (https://en.wikipedia.org/wiki/Extract%2C_transform%2C_load) - https://github.com/tyrchen/ex_polars (https://github.com/tyrchen/ex_polars) – Library that got him started with Rust, Rustler and working with polars - https://hexdocs.pm/rustler_precompiled/RustlerPrecompiled.html (https://hexdocs.pm/rustler_precompiled/RustlerPrecompiled.html) - https://github.com/philss/rustler_precompiled (https://github.com/philss/rustler_precompiled) - https://huggingface.co/docs/transformers/main_classes/tokenizer (https://huggingface.co/docs/transformers/main_classes/tokenizer) - https://github.com/elixir-nx/tokenizers (https://github.com/elixir-nx/tokenizers) - https://docs.rs/crate/polars/0.22.0 (https://docs.rs/crate/polars/0.22.0) - https://github.com/pola-rs/polars (https://github.com/pola-rs/polars) - https://parquet.apache.org/ (https://parquet.apache.org/) - https://avro.apache.org/ (https://avro.apache.org/) - https://arrow.apache.org/overview/ (https://arrow.apache.org/overview/) - https://vega.github.io/vega-lite/ (https://vega.github.io/vega-lite/) - https://www.rdocumentation.org/packages/dplyr/ (https://www.rdocumentation.org/packages/dplyr/) Guest Information - https://twitter.com/cigrainger (https://twitter.com/cigrainger) – on Twitter - https://github.com/cigrainger/ (https://github.com/cigrainger/) – on Github - https://cigrainger.com (https://cigrainger.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
6/21/202248 minutes, 54 seconds
Episode Artwork

103: Vaxine.io and CRDT DBs with James Arthur

James Arthur shares his project Vaxine.io, an Elixir layer built on top of a CRDT based distributed Erlang database called Antidote DB. We cover what CRDTs are and introduce how they work. We learn more about Antidote DB, the CURE protocol and especially the Vaxine.io project that adds Ecto types and makes it more approachable to Elixir applications. As applications become more global, the need for strongly consistent distributed writes becomes much more important. Show Notes online - http://podcast.thinkingelixir.com/103 (http://podcast.thinkingelixir.com/103) Elixir Community News - https://www.elixirconf.eu/talks/typecheck-effortless-runtime-type-checking/ (https://www.elixirconf.eu/talks/typecheck-effortless-runtime-type-checking/) – Marten shared an update on the TypeCheck project from ElixirConf.EU (June 9-10) - https://podcast.thinkingelixir.com/72 (https://podcast.thinkingelixir.com/72) – Episode with Martin about TypeCheck - https://twitter.com/elixirphoenix/status/1532707770415325185 (https://twitter.com/elixirphoenix/status/1532707770415325185) - https://twitter.com/wojtekmach/status/1532662628077785088 (https://twitter.com/wojtekmach/status/1532662628077785088) – Screenshot showing the single-file LiveView page - https://github.com/wojtekmach/mixinstallexamples/blob/main/phoenixliveview.exs (https://github.com/wojtekmach/mix_install_examples/blob/main/phoenix_live_view.exs) - Mix Install Examples - Phoenix LiveView app in ~70 LOC (Mix Install Examples - Phoenix LiveView app in ~70 LOC) - https://twitter.com/polvalente/status/1532439823964946432 (https://twitter.com/polvalente/status/1532439823964946432) – New Nx library called nx-signal was shared by the author, Paulo Valente - https://github.com/polvalente/nx-signal (https://github.com/polvalente/nx-signal) - https://twitter.com/josevalim/status/1533136904736198656 (https://twitter.com/josevalim/status/1533136904736198656) – José's cryptic tweet about Torchvision, ONNX, and a LiveView app - https://pytorch.org/vision/stable/index.html (https://pytorch.org/vision/stable/index.html) – Torchvision docs - https://onnx.ai/ (https://onnx.ai/) – ONNX a format for transporting trained machine learning models - https://github.com/thehaigo/live_onnx (https://github.com/thehaigo/live_onnx) – LiveOnnx project that combines the previous things with Axon and LiveView - https://github.com/oestrich/aino (https://github.com/oestrich/aino) – Aino released 0.5 - https://twitter.com/ericoestrich/status/1533995968793919488 (https://twitter.com/ericoestrich/status/1533995968793919488) – Eric explained v0.5 Aino changes - https://twitter.com/josevalim/status/1533907809942880261 (https://twitter.com/josevalim/status/1533907809942880261) – José Valim tweeted a new graphic, teasing something new in Nx land. - https://twitter.com/josevalim/status/1534120503182602240 (https://twitter.com/josevalim/status/1534120503182602240) – José mentioned that there are 3 major announcements this month starting at ElixirConfEU. Stay tuned! 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://vaxine.io (https://vaxine.io) – Vaxine.io website - https://antidotedb.eu (https://antidotedb.eu) – Antidote DB website - https://crdt.tech (https://crdt.tech) – CRDT information website - https://vaxine.io/tech/how-it-works (https://vaxine.io/tech/how-it-works) - https://github.com/vaxine-io (https://github.com/vaxine-io) - https://github.com/AntidoteDB/antidote (https://github.com/AntidoteDB/antidote) – Erlang project by a different group "A planet scale, highly available, transactional database built on CRDT technology" - https://www.antidotedb.eu/ (https://www.antidotedb.eu/) - https://github.com/vaxine-io/vaxine (https://github.com/vaxine-io/vaxine) - https://github.com/vaxine-io/vax (https://github.com/vaxine-io/vax) – Data access library and Ecto integration - https://github.com/vaxine-io/examples (https://github.com/vaxine-io/examples) – Example and demo apps - https://www.foundationdb.org/ (https://www.foundationdb.org/) - https://riak.com/index.html (https://riak.com/index.html) - https://www.cockroachlabs.com/ (https://www.cockroachlabs.com/) - https://en.wikipedia.org/wiki/CockroachDB (https://en.wikipedia.org/wiki/CockroachDB) - https://supabase.com/ (https://supabase.com/) - https://lunar.vc/ (https://lunar.vc/) Guest Information - https://twitter.com/VaxineIO (https://twitter.com/VaxineIO) – Vaxine.io on Twitter - https://github.com/vaxine-io/ (https://github.com/vaxine-io/) – Vaxine Github Organization - https://vaxine.io (https://vaxine.io) – Vaxine.io website - https://vaxine.io/blog (https://vaxine.io/blog) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
6/14/202254 minutes, 27 seconds
Episode Artwork

102: Machine Learning in Elixir with Sean Moriarity

Sean Moriarity, the author of Genetic Algorithms in Elixir, lays out Machine Learning in the Elixir space. We talk about where it is today and where it's going in the future. Sean talks more about his book, how that led to working with José Valim which then led to the creation of Nx. He fills us in on recent ML events with Google and Facebook and shows us how Elixir fits into the bigger picture. It's a fast developing area and Sean helps us follow the important points even if we aren't doing ML ourselves… because our teams may still need it. Show Notes online - http://podcast.thinkingelixir.com/102 (http://podcast.thinkingelixir.com/102) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/blob/v0.17.10/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_view/blob/v0.17.10/CHANGELOG.md) – Phoenix LiveView gets a minor release v0.17.10 with formatting improvements - https://www.rakeroutes.com/2022/05/18/let-s-write-an-elixir-livebook-smart-cell (https://www.rakeroutes.com/2022/05/18/let-s-write-an-elixir-livebook-smart-cell) – Creating custom Livebook Smart Cells - https://twitter.com/evadne/status/1527651328188723209 (https://twitter.com/evadne/status/1527651328188723209) – Etso was updated to work with the latest Ecto - https://github.com/evadne/etso (https://github.com/evadne/etso) – Etso library Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/ (https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/) – Genetic Algorithms in Elixir - https://github.com/elixir-nx/nx (https://github.com/elixir-nx/nx) – Numerical Elixir (Nx) - https://github.com/elixir-nx/axon (https://github.com/elixir-nx/axon) – Nx-powered Neural Networks for Elixir. - https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/ (https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/) – Book - Genetic Algorithms in Elixir - https://scala-lang.org/ (https://scala-lang.org/) - https://www.quora.com/ (https://www.quora.com/) - https://pragprog.com/titles/elixir16/programming-elixir-1-6/ (https://pragprog.com/titles/elixir16/programming-elixir-1-6/) - https://pragprog.com/titles/phoenix14/programming-phoenix-1-4/ (https://pragprog.com/titles/phoenix14/programming-phoenix-1-4/) - https://www.linkedin.com/in/briancardarella/ (https://www.linkedin.com/in/briancardarella/) - https://dockyard.com/ (https://dockyard.com/) - https://dockyard.com/blog/authors/sean-moriarity (https://dockyard.com/blog/authors/sean-moriarity) – Sean's blog posts on Dockyard blog - https://numpy.org/ (https://numpy.org/) - https://llvm.org/ (https://llvm.org/) - https://en.wikipedia.org/wiki/Softmax_function (https://en.wikipedia.org/wiki/Softmax_function) - https://en.wikipedia.org/wiki/Naturallanguageprocessing (https://en.wikipedia.org/wiki/Natural_language_processing) - https://xkcd.com/1897/ (https://xkcd.com/1897/) – XKCD comic - https://www.image-net.org/ (https://www.image-net.org/) - https://www.deeplearningbook.org/ (https://www.deeplearningbook.org/) - https://ai.googleblog.com/2022/04/pathways-language-model-palm-scaling-to.html (https://ai.googleblog.com/2022/04/pathways-language-model-palm-scaling-to.html) - https://erlef.org/wg/machine-learning (https://erlef.org/wg/machine-learning) – Erlang Eco-system foundation machine working group Guest Information - https://twitter.com/sean_moriarity (https://twitter.com/sean_moriarity) – on Twitter - https://github.com/seanmor5/ (https://github.com/seanmor5/) – on Github - https://seanmoriarity.com (https://seanmoriarity.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
6/7/202242 minutes, 12 seconds
Episode Artwork

101: Replicating SQLite using Litestream with Ben Johnson

Ben Johnson explains his project Litestream.io, an OpenSource tool that replicates SQLite databases to remote servers and to backup locations like S3 for durability. We talk about how moving data out to the user creates true edge applications. We discuss what types of problems this helps solve, the architectures that become possible, and how a globally distributed Phoenix application could use this. He shares how Fly.io acquired the project and brought him on full-time to continue his work on it. Fascinating discussion that challenges many of the assumptions about how we've been building “web” systems for years. Show Notes online - http://podcast.thinkingelixir.com/101 (http://podcast.thinkingelixir.com/101) Elixir Community News - https://www.erlang.org/blog/my-otp-25-highlights/ (https://www.erlang.org/blog/my-otp-25-highlights/) – OTP 25 was officially released - https://www.erlang.org/eeps/eep-0049 (https://www.erlang.org/eeps/eep-0049) – EEP document discussing the “maybe” expression - https://www.erlang.org/doc/reference_manual/expressions.html#maybe (https://www.erlang.org/doc/reference_manual/expressions.html#maybe) – Official docs for “maybe” feature - https://www.erlang.org/blog/faster-rand/ (https://www.erlang.org/blog/faster-rand/) – A new fast Pseudo Random Generator - https://jobs.ericsson.com/job/Stockholm-Open-SourceErlang-Developer-Stoc/746811902/ (https://jobs.ericsson.com/job/Stockholm-Open-SourceErlang-Developer-Stoc/746811902/) – Ericsson, the company behind Erlang, is hiring for an OpenSource developer to join the Erlang team. - https://www.bbc.com/news/business-61562651 (https://www.bbc.com/news/business-61562651) – Klarna layoffs - https://hexdocs.pm/elixir/main/PartitionSupervisor.html (https://hexdocs.pm/elixir/main/PartitionSupervisor.html) – PartitionManager feature coming in Elixir v1.14 has docs online so you can learn about it early. - https://twitter.com/DNAutics/status/1528434291872505856 (https://twitter.com/DNAutics/status/1528434291872505856) – Isaac Yonemoto made the JavaScript engine in Zig accessible through Zigler and therefore Elixir - https://podcast.thinkingelixir.com/98 (https://podcast.thinkingelixir.com/98) – Follow-up from episode 98 with Dominic Letz about writing an Elixir application that runs on mobile devices and can be installed from the iOS AppStore. - https://ionicframework.com/ (https://ionicframework.com/) - https://twitter.com/ElixirConf/status/1526654041626923008 (https://twitter.com/ElixirConf/status/1526654041626923008) – ElixirConf 2022 in Colorado - CFP is open - https://2022.elixirconf.com/speaker-cfp (https://2022.elixirconf.com/speaker-cfp) – Where to submit your talk proposal - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU in London on June 9-10 - https://elixirconf.com/events (https://elixirconf.com/events) – ElixirConf US in Colorado on August 30-Sep2 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://litestream.io/ (https://litestream.io/) - https://fly.io/blog/all-in-on-sqlite-litestream/ (https://fly.io/blog/all-in-on-sqlite-litestream/) - https://github.com/benbjohnson/litestream (https://github.com/benbjohnson/litestream) – Project on Github - https://sqlite.org/index.html (https://sqlite.org/index.html) - https://sqlite.org/whentouse.html (https://sqlite.org/whentouse.html) – SQLite guide on "when to use" it - https://github.com/elixir-sqlite/ecto_sqlite3 (https://github.com/elixir-sqlite/ecto_sqlite3) - https://github.com/boltdb/bolt (https://github.com/boltdb/bolt) - https://en.wikipedia.org/wiki/Write-ahead_logging (https://en.wikipedia.org/wiki/Write-ahead_logging) - https://raft.github.io/ (https://raft.github.io/) - https://en.wikipedia.org/wiki/Conflict-freereplicateddata_type (https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type) - https://litestream.io/tips/ (https://litestream.io/tips/) – Page covers tips - https://www.kernel.org/doc/html/latest/filesystems/fuse.html (https://www.kernel.org/doc/html/latest/filesystems/fuse.html) – Understanding what a FUSE filesystem is Guest Information - https://twitter.com/benbjohnson (https://twitter.com/benbjohnson) – on Twitter - https://github.com/benbjohnson/ (https://github.com/benbjohnson/) – on Github - https://github.com/benbjohnson/litestream (https://github.com/benbjohnson/litestream) – Project on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
5/31/20221 hour, 2 minutes, 15 seconds
Episode Artwork

100: 10 Years of Elixir with José Valim

Our 100th episode is spent with José Valim celebrating 10 years of Elixir. We close out our 5-part series talking about the recent 1.13 release, the upcoming 1.14 release and looking into the future and v2.0. We learn that many features were created with Nx in mind but are still broadly helpful to Elixir developers. José gives a 1-minute explanation of how ex_unit works, explains what usually makes it into a point release, and how adding stepped ranges meant changes to many Enum functions and so much more! In addition to Elixir, we talk about his journey with Dashbit and we end up learning how the song "The Final Countdown" by Europe might actually be teaching functional programming and recursion?? A super packed episode! Show Notes online - http://podcast.thinkingelixir.com/100 (http://podcast.thinkingelixir.com/100) Elixir Community News - https://news.livebook.dev/v0.6-automate-and-learn-with-smart-cells-mxJJe (https://news.livebook.dev/v0.6-automate-and-learn-with-smart-cells-mxJJe) – Livebook v0.6 released with new "Smart Cells" - https://twitter.com/josevalim/status/1524761086880276482 (https://twitter.com/josevalim/status/1524761086880276482) – Livebook Twitter thread - https://www.youtube.com/watch?v=4hVIxyHxwK8 (https://www.youtube.com/watch?v=4hVIxyHxwK8) – Livebook announcement and demonstration video - https://youtu.be/4hVIxyHxwK8?t=409 (https://youtu.be/4hVIxyHxwK8?t=409) – Time signature for talking about making custom Smart Cells - https://github.com/livebook-dev/nerves_livebook (https://github.com/livebook-dev/nerves_livebook) – Nerves Livebook v0.6 was also released - https://stackoverflow.blog/2022/05/11/stack-overflow-2022-developer-survey-is-open/ (https://stackoverflow.blog/2022/05/11/stack-overflow-2022-developer-survey-is-open/) – Stack Overflow - 2022 Developer Survey is open until June 1st. - https://meta.stackoverflow.com/questions/417991/take-the-2022-developer-survey (https://meta.stackoverflow.com/questions/417991/take-the-2022-developer-survey) – More information about the survey - https://twitter.com/DNAutics/status/1526358294016794624 (https://twitter.com/DNAutics/status/1526358294016794624) – Zig adds the ability to execute Javascript from Zig - https://github.com/wojtekmach/req (https://github.com/wojtekmach/req) – Wojtek Mach is working on Req and is adding some pretty cool features - https://github.com/wojtekmach/req_easyhtml (https://github.com/wojtekmach/req_easyhtml) - https://github.com/wojtekmach/req_hex (https://github.com/wojtekmach/req_hex) - https://twitter.com/wojtekmach/status/1525226000283467776 (https://twitter.com/wojtekmach/status/1525226000283467776) – Wojtek teasing a new Req feature - https://twitter.com/wojtekmach/status/1525972732680232960 (https://twitter.com/wojtekmach/status/1525972732680232960) – Wojtek teasing another new Req feature - https://www.youtube.com/playlist?list=PLyO-58-sOapwMYqvLRtvV8AGPdREu5Wg7 (https://www.youtube.com/playlist?list=PLyO-58-sOapwMYqvLRtvV8AGPdREu5Wg7) – Empex MTN presentation videos are up! - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU in London on June 9-10 - https://elixirconf.com/events (https://elixirconf.com/events) – ElixirConf US in Colorado on August 30 - Sep 2 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://podcast.thinkingelixir.com/82 (https://podcast.thinkingelixir.com/82) – Reviewing Elixir with José Valim - Part 1 - https://podcast.thinkingelixir.com/87 (https://podcast.thinkingelixir.com/87) – Reviewing Elixir with José Valim - Part 2 - https://podcast.thinkingelixir.com/91 (https://podcast.thinkingelixir.com/91) – Reviewing Elixir with José Valim - Part 3 - https://podcast.thinkingelixir.com/96 (https://podcast.thinkingelixir.com/96) – Reviewing Elixir with José Valim - Part 4 - https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md) – v1.13 - https://podcast.thinkingelixir.com/60 (https://podcast.thinkingelixir.com/60) – 60 - Compile Faster with Marc-André Lafortune - mix xref trace FILE - https://podcast.thinkingelixir.com/54 (https://podcast.thinkingelixir.com/54) – AST Parsing using Sourceror with Lucas San Román - New power operator "**" - mix test supports --profile-require=time - https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md) – v1.14 - Dashbit as a company and growth over time. - Elixir v2.0? - https://podcast.thinkingelixir.com/54 (https://podcast.thinkingelixir.com/54) – AST Parsing using Sourceror with Lucas San Román - https://talonvoice.com/ (https://talonvoice.com/) - https://www.erlang.org/eeps/eep-0054.html (https://www.erlang.org/eeps/eep-0054.html) - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU - hybrid conference 9-10 June 2022 - https://livebook.dev/ (https://livebook.dev/) - https://github.com/elixir-nx/explorer (https://github.com/elixir-nx/explorer) - https://github.com/elixir-nx/scholar (https://github.com/elixir-nx/scholar) - https://github.com/elixir-nx/axon/ (https://github.com/elixir-nx/axon/) - https://podcast.thinkingelixir.com/95 (https://podcast.thinkingelixir.com/95) – Rustler Precompiled with Philip Sampaio - https://github.com/lukaszsamson (https://github.com/lukaszsamson) - https://github.com/elixir-lsp/elixir-ls (https://github.com/elixir-lsp/elixir-ls) - https://github.com/elixir-lang/elixir/issues?q=is%3Aopen+is%3Aissue+milestone%3Av2.0 (https://github.com/elixir-lang/elixir/issues?q=is%3Aopen+is%3Aissue+milestone%3Av2.0) - https://www.youtube.com/watch?v=9jK-NcRmVcw (https://www.youtube.com/watch?v=9jK-NcRmVcw) – Europe - The Final Countdown Guest Information - https://twitter.com/josevalim (https://twitter.com/josevalim) – on Twitter - https://github.com/josevalim (https://github.com/josevalim) – on Github - https://dashbit.co/ (https://dashbit.co/) – Dashbit website and blog - https://erlef.org/news/ (https://erlef.org/news/) – The Erlang Ecosystem Foundation news Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
5/24/20221 hour, 31 minutes, 51 seconds
Episode Artwork

99: Slipstream and Tree-Sitter with Michael Davis

Michael Davis explains Slipstream, a Phoenix channels websocket client library that enables Elixir applications to become a client of a Phoenix channel on another server. Out of this work, an underlying websocket library was created built on mint, which has now officially become part of the mint project. We talk about other libraries in the same space and why Slipstream was created. Michael was also involved in the recent Tree-Sitter Elixir work that Github celebrated and he shares some insight into that work as well! Show Notes online - http://podcast.thinkingelixir.com/99 (http://podcast.thinkingelixir.com/99) Elixir Community News - https://twitter.com/remote_ruby/status/1522546728922226691 (https://twitter.com/remote_ruby/status/1522546728922226691) – José Valim was a guest on the Remote Ruby podcast talking about his history as a Rails core contributor and the creation of Elixir. - https://share.transistor.fm/s/7dc8e2e3 (https://share.transistor.fm/s/7dc8e2e3) – Remote Ruby podcast - https://github.com/kipcole9/image (https://github.com/kipcole9/image) – New image-processing library called Image that leverages libvips though NIF bindings. - https://github.com/libvips/libvips (https://github.com/libvips/libvips) - https://github.com/lucasvegi/Elixir-Code-Smells (https://github.com/lucasvegi/Elixir-Code-Smells) – Elixir Code Smells project - https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd (https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd) – Elixir Code Smells Livebook notebook - https://litestream.io/ (https://litestream.io/) – Litestream project for SQLite replication - https://fly.io/blog/all-in-on-sqlite-litestream/ (https://fly.io/blog/all-in-on-sqlite-litestream/) – Ben Johnson joined Fly.io and will continue work on Litestream - David's wife had a baby girl! Congrats! Now has 2 kids. - Next episode is 100 and will be the final visit José Valim in our series. Also covers future development. 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/NFIBrokerage/slipstream (https://github.com/NFIBrokerage/slipstream) – Slipstream Phoenix channels websocket client library - https://github.com/NFIBrokerage/mintwebsocket (https://github.com/NFIBrokerage/mint_web_socket) – Separate library that uses Mint and supports websockets. - https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md (https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md) - https://github.com/Azolo/websockex (https://github.com/Azolo/websockex) – Pure Elixir websockets implemented as a special OTP process - https://github.com/ninenines/gun (https://github.com/ninenines/gun) – Popular Erlang HTTP/WebSocket client library from the same group of dependencies as cowboy, the underlying HTTP/WebSocket server for Phoenix - https://github.com/jeremyong/websocket_client (https://github.com/jeremyong/websocket_client) – WebSocket client that underlies phoneixclient and phoenixgensocketclient. Appears to be inactive and it no longer compiles on OTP25. - https://hex.pm/packages/phoenixchannelclient (https://hex.pm/packages/phoenix_channel_client) – Retired library by Justin Schneck - https://hex.pm/packages/phoenix_client (https://hex.pm/packages/phoenix_client) – by Justin Schneck “Elixir Phoenix Client for Channels” - https://github.com/J0/phoenixgensocket_client (https://github.com/J0/phoenix_gen_socket_client) – Another Phoenix Channel client - https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456 (https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456) – ElixirForum post on Slipstream - https://github.com/nerves-hub/nerveshublink (https://github.com/nerves-hub/nerves_hub_link) – A more prominent dependent of Slipstream. Slipstream is used as the default communication system for embedded devices to talk to the nerves hub (which provides firmware updates) - https://twitter.com/whatyouhide/status/1521381183229210624 (https://twitter.com/whatyouhide/status/1521381183229210624) – mintwebsocket was just moved under the elixir-mint organization - https://twitter.com/josevalim/status/1521390714025758720 (https://twitter.com/josevalim/status/1521390714025758720) – Jose Valim recently credited NFIBrokerage for bringing even more contributions to the Elixir community - https://helix-editor.com/ (https://helix-editor.com/) - https://clojure.org/ (https://clojure.org/) - https://github.com/NFIBrokerage (https://github.com/NFIBrokerage) - https://www.eventstore.com/eventstoredb (https://www.eventstore.com/eventstoredb) - https://github.com/elixir-mint/mint (https://github.com/elixir-mint/mint) - https://github.com/elixir-lang/gen_stage (https://github.com/elixir-lang/gen_stage) - https://grpc.io/ (https://grpc.io/) - https://github.com/tree-sitter/tree-sitter (https://github.com/tree-sitter/tree-sitter) - https://github.com/elixir-lang/tree-sitter-elixir (https://github.com/elixir-lang/tree-sitter-elixir) - https://elixir-lang.org/tree-sitter-elixir/ (https://elixir-lang.org/tree-sitter-elixir/) - https://github.com/jonatanklosko (https://github.com/jonatanklosko) – Jonatan Kłosko did the majority of the work on the Elixir Tree-Sitter library - https://github.com/gleam-lang/tree-sitter-gleam/ (https://github.com/gleam-lang/tree-sitter-gleam/) - https://github.com/ninenines/gun (https://github.com/ninenines/gun) - https://github.com/Azolo/websockex (https://github.com/Azolo/websockex) - https://hex.pm/packages/phoenix_client (https://hex.pm/packages/phoenix_client) - https://github.com/nerves-hub/nerveshublink (https://github.com/nerves-hub/nerves_hub_link) - https://en.wikipedia.org/wiki/HTTP/2 (https://en.wikipedia.org/wiki/HTTP/2) - https://github.com/NFIBrokerage/spear (https://github.com/NFIBrokerage/spear) Guest Information - https://github.com/the-mikedavis (https://github.com/the-mikedavis) – on Github - https://github.com/NFIBrokerage (https://github.com/NFIBrokerage) – Work Github organization Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
5/17/202243 minutes, 49 seconds
Episode Artwork

98: Elixir in the iOS App Store with Dominic Letz

Dominic Letz did something I thought was impossible. He got an Elixir application packaged up, approved, and available through the Apple App Store on iOS devices. The application runs Elixir on the device, creates a web view, and hosts Phoenix LiveView pages. They went further and created a bridge to integrate with more of the platform specific features of the device. Is Android your preferred platform? They have it running there as well and in the Google Play Store. We talk about how it works, challenges overcome, and where it is now. They also created several Github projects that show how to do this yourself to create a cross-platform desktop application and apps for Apple and Android mobile devices. Very cool! They want your help to make it even better. Show Notes online - http://podcast.thinkingelixir.com/98 (http://podcast.thinkingelixir.com/98) Elixir Community News - https://twitter.com/whatyouhide/status/1521381183229210624 (https://twitter.com/whatyouhide/status/1521381183229210624) – Mint now has an official WebSocket client - https://github.com/elixir-mint/mintwebsocket (https://github.com/elixir-mint/mint_web_socket) - https://github.com/NFIBrokerage (https://github.com/NFIBrokerage) - https://github.com/NFIBrokerage/slipstream (https://github.com/NFIBrokerage/slipstream) - https://twitter.com/josevalim/status/1519377962063249409 (https://twitter.com/josevalim/status/1519377962063249409) – José Valim announced Dashbit is sponsoring part-time development of sonic_pi for the next 6 months - https://sonic-pi.net/ (https://sonic-pi.net/) – Sonic Pi website - https://github.com/sonic-pi-net/sonic-pi (https://github.com/sonic-pi-net/sonic-pi) – Sonic Pi project - https://github.blog/2022-04-29-bringing-code-navigation-to-communities/ (https://github.blog/2022-04-29-bringing-code-navigation-to-communities/) – Github gave Elixir another shout-out in a recent blog post “Bringing code navigation to communities”. - https://twitter.com/josevalim/status/1519630932583632897 (https://twitter.com/josevalim/status/1519630932583632897) – The Nx project reaches two major milestones at the same time. - https://github.com/elixir-nx/nx (https://github.com/elixir-nx/nx) - https://hex.pm/packages/exla (https://hex.pm/packages/exla) – EXLA package now on Hex.pm - https://hex.pm/packages/torchx (https://hex.pm/packages/torchx) – Torchx package now on Hex.pm - https://twitter.com/robertoaloi/status/1520395745064542209 (https://twitter.com/robertoaloi/status/1520395745064542209) – WhatsApp's Erlang implementation of the Raft consensus algorithm is now open source - https://github.com/WhatsApp/waraft (https://github.com/WhatsApp/waraft) – WARaft is a Raft library in Erlang by WhatsApp. It provides an Erlang implementation to obtain consensus among replicated state machines. 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://apps.apple.com/us/app/diode-drive/id1605222443 (https://apps.apple.com/us/app/diode-drive/id1605222443) – Diode Drive iOS app - https://play.google.com/store/apps/details?id=io.diode.drive (https://play.google.com/store/apps/details?id=io.diode.drive) – Google Play listing - https://github.com/elixir-desktop/desktop (https://github.com/elixir-desktop/desktop) - https://github.com/elixir-desktop/ios-example-app (https://github.com/elixir-desktop/ios-example-app) – iOS example app - https://github.com/elixir-desktop/android-example-app (https://github.com/elixir-desktop/android-example-app) – Android example app - https://github.com/elixir-desktop/runtimes (https://github.com/elixir-desktop/runtimes) – Prepared runtimes for android and iOS devices. - https://github.com/elixir-desktop/bridge (https://github.com/elixir-desktop/bridge) – Used by “desktop” - does native integrations - https://podcast.thinkingelixir.com/69 (https://podcast.thinkingelixir.com/69) – Previous interview - episode 69 - https://diode.io/diode%20drive/self-custody-for-data-22032/ (https://diode.io/diode%20drive/self-custody-for-data-22032/) – Why you should care about Self-Custody for data now - https://github.com/couchbaselabs/iErl14 (https://github.com/couchbaselabs/iErl14) - https://podcast.thinkingelixir.com/81 (https://podcast.thinkingelixir.com/81) – Elixir in a Burrito with Quinn and Digit - https://www.wxwidgets.org/ (https://www.wxwidgets.org/) Guest Information - https://twitter.com/DominicLetz (https://twitter.com/DominicLetz) – on Twitter - https://github.com/dominicletz/ (https://github.com/dominicletz/) – on Github - https://diode.io/ (https://diode.io/) – Diode.io website - https://github.com/diodechain (https://github.com/diodechain) – Diode Github organization - Elixir Slack's desktop channel Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
5/10/202247 minutes, 26 seconds
Episode Artwork

97: Avro and Elixir with Dave Lucia

Dave Lucia released version 2.0 of AvroEx, an Elixir library for working with Avro protocols and schemas. To understand Avro, we need an overview of the whole Kafka-centric flow! He gives us a taste of the Enterprise soup of JVM tools used for populating data lakes, all for the business benefit of data analysis and machine learning. We may work on Elixir systems that are tasked with hooking into this other Enterprise-y world and getting an overview of the pieces and awareness of the tools available can really help out! Dave also shares his goal of creating a new Markdown parser for Elixir and updates us on the next chapter of his professional journey. Show Notes online - http://podcast.thinkingelixir.com/97 (http://podcast.thinkingelixir.com/97) Elixir Community News - https://twitter.com/wojtekmach/status/1516533938977705990 (https://twitter.com/wojtekmach/status/1516533938977705990) – Wojtek Mach shared some additional reasons for using NIFs to work with Rust or Zig that aren't performance related. - https://twitter.com/atyborska93/status/1516773412848422919 (https://twitter.com/atyborska93/status/1516773412848422919) – Angelika Tyborska shared that the Elixir track on Exercism.io got two new fun practice exercises - http://exercism.org/tracks/elixir/exercises/killer-sudoku-helper (http://exercism.org/tracks/elixir/exercises/killer-sudoku-helper) – Exercism.io Elixir puzzle - Killer Sudoku Helper - https://exercism.org/tracks/elixir/exercises/state-of-tic-tac-toe (https://exercism.org/tracks/elixir/exercises/state-of-tic-tac-toe) – Exercism.io Elixir puzzle - State of Tic Tac Toe - https://gleam.run/news/v0.21-introducing-the-gleam-language-server/ (https://gleam.run/news/v0.21-introducing-the-gleam-language-server/) – Gleam now has a language server - https://twitter.com/cigrainger/status/1518896955921154048 (https://twitter.com/cigrainger/status/1518896955921154048) – Nx Explorer project reaches a new milestone and was released to Hex. - https://hexdocs.pm/explorer/exploring_explorer.html (https://hexdocs.pm/explorer/exploring_explorer.html) – Includes a “Ten Minutes to Explorer” Livebook guide - https://twitter.com/MozillaHubs/status/1516469058849312768 (https://twitter.com/MozillaHubs/status/1516469058849312768) – Mozilla hiring for a Senior Elixir Engineer to help work on their Hubs Team to help build open social spaces for the web. - https://hubs.mozilla.com/ (https://hubs.mozilla.com/) - https://github.com/mozilla/hubs (https://github.com/mozilla/hubs) - https://github.com/mozilla/reticulum (https://github.com/mozilla/reticulum) - https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla (https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla) – Elixir blog post from a year ago about the Mozilla Hubs Elixir project. - https://github.com/elixir-makeup/makeup_diff (https://github.com/elixir-makeup/makeup_diff) – Parker Selbert created makeup_diff for displaying diff markup in ExDocs - https://www.erlang.org/blog/type-based-optimizations-in-the-jit/ (https://www.erlang.org/blog/type-based-optimizations-in-the-jit/) – Blog post on the Erlang blog looked interesting. About OTP 25 type optimizations for the JIT compiler. - https://codesync.global/conferences/code-beam-sto-2022/#schedule (https://codesync.global/conferences/code-beam-sto-2022/#schedule) – CodeBeam in Stockholm Sweden speaker lineup and schedule are out. - https://www.empex.co/mtn (https://www.empex.co/mtn) – Empex MTN in Salt Lake City on May 6 - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU in London on June 9-10 - https://elixirconf.com/events (https://elixirconf.com/events) – ElixirConf US in Colorado on August 30-Sep2 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://davelucia.com/blog/avro-2.0 (https://davelucia.com/blog/avro-2.0) - https://github.com/beam-community/avro_ex (https://github.com/beam-community/avro_ex) - https://avro.apache.org/ (https://avro.apache.org/) - https://kafka.apache.org/ (https://kafka.apache.org/) - https://podcast.thinkingelixir.com/75 (https://podcast.thinkingelixir.com/75) – Previous discussion - https://www.bloomberg.com/professional/solution/bloomberg-terminal/ (https://www.bloomberg.com/professional/solution/bloomberg-terminal/) - https://theoutline.com/ (https://theoutline.com/) - https://elm-lang.org/ (https://elm-lang.org/) - https://developers.google.com/protocol-buffers/ (https://developers.google.com/protocol-buffers/) - https://thrift.apache.org/ (https://thrift.apache.org/) - https://github.com/klarna/erlavro (https://github.com/klarna/erlavro) - https://databricks.com/ (https://databricks.com/) - https://spark.apache.org/ (https://spark.apache.org/) - https://en.wikipedia.org/wiki/Extract,transform,load (https://en.wikipedia.org/wiki/Extract,_transform,_load) - https://databricks.com/glossary/what-is-parquet (https://databricks.com/glossary/what-is-parquet) - https://www.snowflake.com/workloads/data-lake/ (https://www.snowflake.com/workloads/data-lake/) - https://github.com/beam-community (https://github.com/beam-community) - https://github.com/doomspork (https://github.com/doomspork) - https://github.com/surface-ui/surface (https://github.com/surface-ui/surface) - https://github.com/pragdave/earmark (https://github.com/pragdave/earmark) - https://github.com/pragdave (https://github.com/pragdave) - https://github.com/davydog187/marx (https://github.com/davydog187/marx) - https://www.youtube.com/watch?v=dmBdFh5N1g4 (https://www.youtube.com/watch?v=dmBdFh5N1g4) – Migrating from Kafka to RabbitMQ at SimpleBet - Why and How - https://twitter.com/davydog187/status/1512393866653011968 (https://twitter.com/davydog187/status/1512393866653011968) – Announced leaving SimpleBet and co-founding something new. - https://twitter.com/davydog187/status/1512393877575110668 (https://twitter.com/davydog187/status/1512393877575110668) – Co-Founding Bitfo as the CTO. - https://www.bitfo.com/ (https://www.bitfo.com/) - https://ethereumprice.org/ (https://ethereumprice.org/) - https://www.bitcoinprice.com/ (https://www.bitcoinprice.com/) - https://defirate.com/ (https://defirate.com/) Guest Information - https://twitter.com/davydog187 (https://twitter.com/davydog187) – on Twitter - https://github.com/davydog187/ (https://github.com/davydog187/) – on Github - https://davelucia.com (https://davelucia.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
5/3/202248 minutes, 36 seconds
Episode Artwork

96: Reviewing Elixir with José Valim - Part 4

José Valim returns for part 4 in our 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love! In Part 4, we talk through the Elixir releases of 1.10, 1.11, and 1.12. We go deeper on the philosophy of “explicit vs implicit” and how that informs many design decisions about the language. We learn about how Elixir and Erlang loggers were unified, how matching on map keys in guards enabled receives block enhancements, how common date sorting bugs were solved with Enum.sort improvements (that you should really listen to), the improvements to application config, how exceptions work in Erlang and Elixir and much more! A packed episode! Show Notes online - http://podcast.thinkingelixir.com/96 (http://podcast.thinkingelixir.com/96) Elixir Community News - https://github.com/livebook-dev/livebook/pull/1115 (https://github.com/livebook-dev/livebook/pull/1115) – Livebook adds “Code Focus Mode” making it easier to focus on the code cells. - https://github.com/livebook-dev/livebook/discussions (https://github.com/livebook-dev/livebook/discussions) – Livebook project announced and opened a Github Discussions section to the project. - https://github.com/phoenixframework/phoenixlivedashboard/pull/367 (https://github.com/phoenixframework/phoenix_live_dashboard/pull/367) – Full screen mode contribution added to Phoenix LiveDashboard project. - https://podcast.thinkingelixir.com/92 (https://podcast.thinkingelixir.com/92) – Mitch Hanberg talked with us previously about Temple - https://github.com/mhanberg/eexcompilervisualizer (https://github.com/mhanberg/eex_compiler_visualizer) – Mitch Hanberg created an “EEX Compiler Visualizer” project. - https://twitter.com/mitchellh/status/1515369637726224385?s=12&t=so7B66NTrJKPwDWLqMxpJA (https://twitter.com/mitchellh/status/1515369637726224385?s=12&t=so7B66NTrJKPwDWLqMxpJA) – The Zig language reached the milestone of being self-hosted - https://github.com/ziglang/zig/pull/11442 (https://github.com/ziglang/zig/pull/11442) – Zig being self-hosted means the compiler is capable of building itself. 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/elixir-lang/elixir/blob/v1.10/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.10/CHANGELOG.md) – Elixir 1.10 changelog - https://elixirforum.com/t/discussion-incorporating-erlang-otp-21-map-guards-in-elixir/14816 (https://elixirforum.com/t/discussion-incorporating-erlang-otp-21-map-guards-in-elixir/14816) – Incorporating Erlang/OTP 21 map guards in Elixir - https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.md) – Elixir 1.11 changelog - https://github.com/elixir-lang/elixir/blob/v1.12/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.12/CHANGELOG.md) – Elixir 1.12 changelog - https://www.erlang.org/eeps/eep-0054.html (https://www.erlang.org/eeps/eep-0054.html) – EEP 54 - Provide more information about errors - https://github.com/sasa1977/boundary (https://github.com/sasa1977/boundary) - https://hexdocs.pm/elixir/Enum.html#sort/2-sorting-structs (https://hexdocs.pm/elixir/Enum.html#sort/2-sorting-structs) – Improvements to sort-based APIs in Enum - Enum.sort(dates, Date) - https://hexdocs.pm/elixir/Calendar.html#strftime/3 (https://hexdocs.pm/elixir/Calendar.html#strftime/3) - https://github.com/elixir-nx/nx (https://github.com/elixir-nx/nx) - https://livebook.dev/ (https://livebook.dev/) - https://hexdocs.pm/mix/Mix.html#install/2 (https://hexdocs.pm/mix/Mix.html#install/2) - CMD+\ or CTRL+\ - https://github.com/doawoo/teex (https://github.com/doawoo/teex) - https://hexdocs.pm/elixir/Kernel.html (https://hexdocs.pm/elixir/Kernel.html) - https://hexdocs.pm/elixir/Kernel.html#then/2 (https://hexdocs.pm/elixir/Kernel.html#then/2) - https://hexdocs.pm/elixir/Kernel.html#tap/2 (https://hexdocs.pm/elixir/Kernel.html#tap/2) - https://hexdocs.pm/elixir/Range.html (https://hexdocs.pm/elixir/Range.html) - https://hexdocs.pm/elixir/Range.html#disjoint?/2 (https://hexdocs.pm/elixir/Range.html#disjoint?/2) - https://github.com/elixir-lang/elixir/blob/a64d42f5d3cb6c32752af9d3312897e8cd5bb7ec/lib/elixir/lib/range.ex#L249-L251 (https://github.com/elixir-lang/elixir/blob/a64d42f5d3cb6c32752af9d3312897e8cd5bb7ec/lib/elixir/lib/range.ex#L249-L251) - https://math.stackexchange.com/questions/1656120/formula-to-find-the-first-intersection-of-two-arithmetic-progressions (https://math.stackexchange.com/questions/1656120/formula-to-find-the-first-intersection-of-two-arithmetic-progressions) Guest Information - https://twitter.com/josevalim (https://twitter.com/josevalim) – on Twitter - https://github.com/josevalim (https://github.com/josevalim) – on Github - https://dashbit.co/ (https://dashbit.co/) – Dashbit website and blog - https://erlef.org/news/ (https://erlef.org/news/) – The Erlang Ecosystem Foundation news Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
4/26/20221 hour, 18 minutes, 3 seconds
Episode Artwork

95: Rustler Precompiled with Philip Sampaio

The recent announcement of Rustler Precompiled prompted a lot of interest and questions. We talk with Philip Sampaio to understand what he created and what problem it helps solve. The project helps lower the bar for using Rust libraries for NIFs in Elixir making it possible to see more libraries using Rustler in the future. He explains what prompted the work initially and how projects can benefit from it. We discuss what it means for internal company projects and especially for libraries. He explains how the project addresses the many architecture and platform combinations too. We end with learning about his sample CI project that shows us how to set up our own CI systems to use it. Show Notes online - http://podcast.thinkingelixir.com/95 (http://podcast.thinkingelixir.com/95) Elixir Community News - https://github.com/phoenixframework/phoenix/pull/4742 (https://github.com/phoenixframework/phoenix/pull/4742) – Phoenix presence client - https://twitter.com/elixirphoenix/status/1511393478873427982 (https://twitter.com/elixirphoenix/status/1511393478873427982) – Twitter thread discussing the Phoenix presence client - https://hexdocs.pm/phoenixliveview/changelog.html#0-17-8-2022-04-06 (https://hexdocs.pm/phoenix_live_view/changelog.html#0-17-8-2022-04-06) – LiveView 0.17.8 released. Includes the HEEx template formatter - https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.HTMLFormatter.html (https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.HTMLFormatter.html) – Docs on how to set it up - Issues discussing VS Code problems - https://github.com/elixir-lsp/vscode-elixir-ls/issues/242 (https://github.com/elixir-lsp/vscode-elixir-ls/issues/242) - https://github.com/elixir-lsp/vscode-elixir-ls/issues/241 (https://github.com/elixir-lsp/vscode-elixir-ls/issues/241) - https://github.com/DockYard/flame_on (https://github.com/DockYard/flame_on) – flameon library updated - https://dockyard.com/blog/2022/02/22/profiling-elixir-applications-with-flame-graphs-and-flame-on (https://dockyard.com/blog/2022/02/22/profiling-elixir-applications-with-flame-graphs-and-flame-on) – Original flameon announcement post for more info - https://twitter.com/sorentwo/status/1513630468490645509 (https://twitter.com/sorentwo/status/1513630468490645509) – Oban adds “inline mode” to make testing more straightforward - https://www.mitchellhanberg.com/how-eex-turns-your-template-into-html/ (https://www.mitchellhanberg.com/how-eex-turns-your-template-into-html/) – Mitchell Hanberg wrote an article about how EEx works - https://podcast.thinkingelixir.com/92 (https://podcast.thinkingelixir.com/92) – Previous interview with Mitchell Hanberg - https://exercism.org/tracks/elixir/exercises/take-a-number-deluxe (https://exercism.org/tracks/elixir/exercises/take-a-number-deluxe) – Exercism.io GenServer learning exercise was added. - https://twitter.com/atyborska93/status/1513807461043552256 (https://twitter.com/atyborska93/status/1513807461043552256) – Angelika shares about the Exercism.io update - https://twitter.com/whatyouhide/status/1512100896653590535 (https://twitter.com/whatyouhide/status/1512100896653590535) – Andrea Leopardi is working at Apple now on their Environment team. - https://www.apple.com/environment/ (https://www.apple.com/environment/) – More about the Apple Environment team - https://www.youtube.com/watch?v=R7t7zca8SyM (https://www.youtube.com/watch?v=R7t7zca8SyM) – “Elixir in 100 seconds” video 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://dashbit.co/blog/rustler-precompiled (https://dashbit.co/blog/rustler-precompiled) - https://twitter.com/philipsampaio/status/1503809314489831441 (https://twitter.com/philipsampaio/status/1503809314489831441) - https://github.com/philss/rustler_precompiled (https://github.com/philss/rustler_precompiled) - https://github.com/philss/rustlerprecompilationexample (https://github.com/philss/rustler_precompilation_example) - https://github.com/philss/floki (https://github.com/philss/floki) - https://github.com/rusterlium/rustler (https://github.com/rusterlium/rustler) - https://github.com/servo/html5ever (https://github.com/servo/html5ever) - https://github.com/elixir-nx/nx (https://github.com/elixir-nx/nx) - https://hex.pm/packages?search=depends%3Ahexpm%3Arustler&sort=total_downloads (https://hex.pm/packages?search=depends%3Ahexpm%3Arustler&sort=total_downloads) – Current Hex packages using rustler - https://github.com/elixir-nx/nx/tree/main/nx#readme (https://github.com/elixir-nx/nx/tree/main/nx#readme) - https://elixir-nx.github.io/explorer/Explorer.DataFrame.html (https://elixir-nx.github.io/explorer/Explorer.DataFrame.html) - https://www.pola.rs/ (https://www.pola.rs/) - https://github.com/discord/sortedsetnif (https://github.com/discord/sorted_set_nif) - https://ziglang.org/ (https://ziglang.org/) - https://github.com/ityonemo/zigler (https://github.com/ityonemo/zigler) - https://github.com/philss/rustlerprecompiled/blob/main/PRECOMPILATIONGUIDE.md (https://github.com/philss/rustler_precompiled/blob/main/PRECOMPILATION_GUIDE.md) - https://github.com/philss/rustlerprecompilationexample (https://github.com/philss/rustler_precompilation_example) Guest Information - https://twitter.com/philipsampaio (https://twitter.com/philipsampaio) – on Twitter - https://github.com/philss/ (https://github.com/philss/) – on Github - https://dashbit.co/blog (https://dashbit.co/blog) – Dashbit blog where he writes - https://phils.dev (https://phils.dev) – Personal blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
4/19/202238 minutes, 54 seconds
Episode Artwork

94: Benchee and OpenSource with Tobias Pfeiffer

We talk with Tobias Pfeiffer about his popular performance benchmarking tool Benchee. We learn about why he created it, what's special about it, and the big features in the latest release. It was 2 years between this release and the previous one. Tobi talks openly about the technical challenges that compounded with personal challenges, feelings of obligation, anxiety, and the drive for perfection. As developers, many of us struggle with these same issues and it helps just hearing that we're not alone. Show Notes online - http://podcast.thinkingelixir.com/94 (http://podcast.thinkingelixir.com/94) Elixir Community News - https://www.devsforukraine.io/ (https://www.devsforukraine.io/) – Devs for Ukraine online conference, April 25-26 - https://github.com/sorentwo/oban/pull/677 (https://github.com/sorentwo/oban/pull/677) – Oban library putting effort into documentation guides. Testing is the first out. - https://medium.com/membraneframework/introducing-auto-demands-release-of-membrane-v0-9-0-c0213d8efa51 (https://medium.com/membraneframework/introducing-auto-demands-release-of-membrane-v0-9-0-c0213d8efa51) – Membrane Framework release v0.9.0 was announced - https://podcast.thinkingelixir.com/43 (https://podcast.thinkingelixir.com/43) – Previous show covering more about Membrane - https://supabase.com/blog/2022/03/30/supabase-enterprise#elixir-livebooks (https://supabase.com/blog/2022/03/30/supabase-enterprise#elixir-livebooks) – Supabase announced Livebooks for Supabase - https://github.com/supabase/livebooks (https://github.com/supabase/livebooks) - https://podcast.thinkingelixir.com/73 (https://podcast.thinkingelixir.com/73) – Previous show with Paul Copplestone about Supabase 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/bencheeorg/benchee (https://github.com/bencheeorg/benchee) - https://pragtob.wordpress.com/2022/03/08/benchee-1-1-0-released-why-did-it-take-so-long/ (https://pragtob.wordpress.com/2022/03/08/benchee-1-1-0-released-why-did-it-take-so-long/) - http://www.pragtob.info/ (http://www.pragtob.info/) - https://github.com/PragTob?tab=repositories (https://github.com/PragTob?tab=repositories) – List of current github repositories - https://remote.com/ (https://remote.com/) - https://nextjs.org/ (https://nextjs.org/) – NextJS is react - https://spawnfest.org/ (https://spawnfest.org/) - https://github.com/github/scientist (https://github.com/github/scientist) – Scientist ruby gem - https://github.com/cwbriones/scientist (https://github.com/cwbriones/scientist) – Elixir port of the library - Application Performance Monitoring (APM) (Application Performance Monitoring (APM)) - https://en.wikipedia.org/wiki/Garbagecollection(computer_science) (https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)) - https://www.youtube.com/watch?v=aqLujfzvUgM (https://www.youtube.com/watch?v=aqLujfzvUgM) – Devon Estes - Digging through the garbage - https://github.com/OvermindDL1 (https://github.com/OvermindDL1) - https://github.com/whatyouhide/stream_data (https://github.com/whatyouhide/stream_data) - https://www.rug-b.de/ (https://www.rug-b.de/) - https://github.com/bencheeorg/benchee/issues/313 (https://github.com/bencheeorg/benchee/issues/313) – Benchee Mac issue - https://www.shopify.com/ (https://www.shopify.com/) - https://rubygems.org/gems/simplecov (https://rubygems.org/gems/simplecov) - https://github.com/alco/benchfella (https://github.com/alco/benchfella) - https://rubygems.org/gems/benchmark-ips (https://rubygems.org/gems/benchmark-ips) - https://github.com/bencheeorg/benchee#hooks-setup-teardown-etc (https://github.com/bencheeorg/benchee#hooks-setup-teardown-etc) Guest Information - https://twitter.com/PragTob (https://twitter.com/PragTob) – on Twitter - https://github.com/PragTob/ (https://github.com/PragTob/) – on Github - http://www.pragtob.info/ (http://www.pragtob.info/) – Blog - https://pragtob.wordpress.com/ (https://pragtob.wordpress.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
4/12/20221 hour, 22 seconds
Episode Artwork

93: Preventing Service Abuse with Michael Lubas

We talk with Michael Lubas about steps we can take to protect our Phoenix applications from common automated bot attacks. We cover API abuse to send email spam, carding attacks, and credential stuffing. We learn how Michael started paraxial.io which aims to specifically serve the Elixir community and more! Show Notes online - http://podcast.thinkingelixir.com/93 (http://podcast.thinkingelixir.com/93) Elixir Community News - https://erlef.org/blog/eef/election-2022-results (https://erlef.org/blog/eef/election-2022-results) – Erlang Ecosystem Foundation board election voting results - https://erlef.org/blog/eef/election-2022 (https://erlef.org/blog/eef/election-2022) – Previous election notice and explanations - https://hexdocs.pm/ex_doc/changelog.html (https://hexdocs.pm/ex_doc/changelog.html) – ExDoc v0.28.3 was released - https://twitter.com/josevalim/status/1508528099973120004 (https://twitter.com/josevalim/status/1508528099973120004) – Call to help move ExDoc away from webpack to esbuild - https://twitter.com/dominicletz/status/1506675402059792388 (https://twitter.com/dominicletz/status/1506675402059792388) – iOS app store now has an Elixir application deployed in it! - https://podcast.thinkingelixir.com/69 (https://podcast.thinkingelixir.com/69) – Previous interview with Dominic Letz about doing Elixir on the desktop and mobile. - https://www.erlang.org/news/155 (https://www.erlang.org/news/155) – Erlang 25.0 rc-2 was released and requesting feedback - https://twitter.com/josevalim/status/1507443537851392007 (https://twitter.com/josevalim/status/1507443537851392007) – Jose Valim's experience compiling Elixir from scratch on Apple's new MacStudio M1 Max - Conference reminders - https://www.empex.co/mtn (https://www.empex.co/mtn) – Empex MTN in Salt Lake City on May 6 - https://codesync.global/conferences/code-beam-sto-2022/ (https://codesync.global/conferences/code-beam-sto-2022/) – CodeBEAM in Stockholm on May 19-20 - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU in London on June 9-10 - https://elixirconf.com/events (https://elixirconf.com/events) – ElixirConf US in Colorado on August 30-Sep2 - https://github.com/lucasvegi/Elixir-Code-Smells (https://github.com/lucasvegi/Elixir-Code-Smells) – Elixir Code Smells - public project - https://fly.io/phoenix-files/safe-ecto-migrations/ (https://fly.io/phoenix-files/safe-ecto-migrations/) – Safe Ecto Migrations - https://twitter.com/TylerAYoung/status/1508413319178297352 (https://twitter.com/TylerAYoung/status/1508413319178297352) – Today I Learned about doctests and importing Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.paraxial.io/blog/throttle-requests (https://www.paraxial.io/blog/throttle-requests) - https://github.com/michalmuskala/plug_attack (https://github.com/michalmuskala/plug_attack) - https://owasp.org/Top10/ (https://owasp.org/Top10/) - https://github.com/magento/magento2/issues/28614 (https://github.com/magento/magento2/issues/28614) – What is a carding attack? - https://owasp.org/www-project-automated-threats-to-web-applications/ (https://owasp.org/www-project-automated-threats-to-web-applications/) - http://paraxial.io/ (http://paraxial.io/) - https://frame.io/ (https://frame.io/) - https://news.adobe.com/news/news-details/2021/Adobe-Completes-Acquisition-of-Frame.io/default.aspx (https://news.adobe.com/news/news-details/2021/Adobe-Completes-Acquisition-of-Frame.io/default.aspx) - https://www.metasploit.com/ (https://www.metasploit.com/) - https://www.crunchbase.com/ (https://www.crunchbase.com/) - https://owasp.org/www-community/attacks/Credential_stuffing (https://owasp.org/www-community/attacks/Credential_stuffing) - https://en.wikipedia.org/wiki/Webapplicationfirewall (https://en.wikipedia.org/wiki/Web_application_firewall) Guest Information - https://twitter.com/paraxialio (https://twitter.com/paraxialio) – on Twitter - https://github.com/paraxialio/ (https://github.com/paraxialio/) – on Github - https://paraxial.io/ (https://paraxial.io/) – Website - sales@paraxial.io Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
4/5/202252 minutes, 37 seconds
Episode Artwork

92: Temple with Mitchell Hanberg

We talk with Mitchell Hanberg and learn about why he created the alternate Phoenix templating language called “Temple”. He explains how Temple works, some of its unique benefits and where he's going with it in the future. Mitchell also took over maintenance of the testing project Wallaby from Chris Keathley. We revisit what Wallaby is and the special place it can have when building automated full system tests for our projects. Show Notes online - http://podcast.thinkingelixir.com/92 (http://podcast.thinkingelixir.com/92) Elixir Community News - https://twitter.com/josevalim/status/1506248906979659782 (https://twitter.com/josevalim/status/1506248906979659782) – José shared his personal definition of a reduction as "energy". - https://twitter.com/thibaut_barrere/status/1501909747854942212 (https://twitter.com/thibaut_barrere/status/1501909747854942212) – PSA for people whose app fails to start on port 5000 when running on the new macOS. - https://dashbit.co/blog/rustler-precompiled (https://dashbit.co/blog/rustler-precompiled) – Rustler Precompiled project was announced on the Dashbit blog by Philip Sampaio - https://twitter.com/nervesproject/status/1504821571524964357 (https://twitter.com/nervesproject/status/1504821571524964357) – Lots of update Nerves releases on Hex - https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/ (https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/) – A popular NPM package was maliciously updated by the maintainer as an act of protest. Impacted Vue.js projects. 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/mhanberg/temple (https://github.com/mhanberg/temple) - https://github.com/mhanberg/tableau (https://github.com/mhanberg/tableau) - https://github.com/mhanberg/blog/tree/mh/tableau (https://github.com/mhanberg/blog/tree/mh/tableau) - https://github.com/elixir-wallaby/wallaby (https://github.com/elixir-wallaby/wallaby) - https://twitter.com/elixir_wallaby (https://twitter.com/elixir_wallaby) - https://www.selenium.dev/documentation/webdriver/ (https://www.selenium.dev/documentation/webdriver/) - https://github.com/markaby/markaby (https://github.com/markaby/markaby) - https://crystal-lang.org/ (https://crystal-lang.org/) - https://luckyframework.org/ (https://luckyframework.org/) - https://laravel.com/ (https://laravel.com/) - https://laravel.com/docs/9.x/blade (https://laravel.com/docs/9.x/blade) - https://github.com/elixir-lsp/elixir_sense (https://github.com/elixir-lsp/elixir_sense) - https://surface-ui.org/template_syntax (https://surface-ui.org/template_syntax) - https://surface-ui.org/ (https://surface-ui.org/) - https://teamcapybara.github.io/capybara/ (https://teamcapybara.github.io/capybara/) - https://hexdocs.pm/hound/readme.html (https://hexdocs.pm/hound/readme.html) - https://www.selenium.dev/ (https://www.selenium.dev/) - https://keathley.io/blog/concurrent-feature-testing-with-wallaby.html (https://keathley.io/blog/concurrent-feature-testing-with-wallaby.html) - https://github.com/elixir-wallaby/wallaby/discussions (https://github.com/elixir-wallaby/wallaby/discussions) - https://github.com/puppeteer/puppeteer (https://github.com/puppeteer/puppeteer) Guest Information - https://twitter.com/mitchhanberg (https://twitter.com/mitchhanberg) – on Twitter - https://github.com/mhanberg/ (https://github.com/mhanberg/) – on Github - https://www.mitchellhanberg.com (https://www.mitchellhanberg.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
3/29/202248 minutes, 19 seconds
Episode Artwork

91: Reviewing Elixir with José Valim - Part 3

José Valim returns to continue with part 3 of our 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love. In Part 3, we talk through the Elixir releases of 1.7, 1.8, and 1.9. We talk about the unification efforts between Elixir and Erlang. These came through changes to error stacktraces, how documentation is stored, a unified logger, and more. We learn how features like Mix.target made a big difference for the Nerves project. We also hear the call for contributors to help bring a few remaining date/time features to Elixir. The big feature in Elixir 1.9 was the addition of deployment releases and the early efforts at managing config for releases. We thought this would be a short episode but found there was a lot to talk about and learn! Show Notes online - http://podcast.thinkingelixir.com/91 (http://podcast.thinkingelixir.com/91) Elixir Community News - https://github.com/bencheeorg/benchee (https://github.com/bencheeorg/benchee) – Benchee 1.1.0 release - https://pragtob.wordpress.com/2022/03/08/benchee-1-1-0-released-why-did-it-take-so-long/ (https://pragtob.wordpress.com/2022/03/08/benchee-1-1-0-released-why-did-it-take-so-long/) – Blog post on Benchee release and why the release took so long - https://twitter.com/josevalim/status/1501482561511510018 (https://twitter.com/josevalim/status/1501482561511510018) – ExDoc gets a new minor feature that lets us syntax highlight HEEx templates - https://elixirpatterns.dev/ (https://elixirpatterns.dev/) – “Elixir Patterns” book is being pre-launched by the authors, Alex Koutmos and Hugo Baraúna. - https://davelucia.com/blog/avro-2.0 (https://davelucia.com/blog/avro-2.0) – AvroEx 2.0 released - https://www.functionalconf.com/ (https://www.functionalconf.com/) – Functional Conference 2022 - Asia's Premier Functional Programming Conference 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://podcast.thinkingelixir.com/82 (https://podcast.thinkingelixir.com/82) – Part 1 - https://podcast.thinkingelixir.com/87 (https://podcast.thinkingelixir.com/87) – Part 2 - https://github.com/elixir-lang/elixir/blob/v1.7/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.7/CHANGELOG.md) – Elixir changelog for v1.7 - https://www.erlang.org/eeps/eep-0048 (https://www.erlang.org/eeps/eep-0048) – EEP 48 - https://hexdocs.pm/nx/Nx.html (https://hexdocs.pm/nx/Nx.html) - https://github.com/elixir-lang/elixir/blob/v1.8/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.8/CHANGELOG.md) – Elixir changelog for v1.8 - https://hexdocs.pm/elixir/Kernel.html#guards (https://hexdocs.pm/elixir/Kernel.html#guards) – Elixir docs on guards - “dunder“ = a Double Underscore - https://hexdocs.pm/elixir/Protocol.html#derive/3 (https://hexdocs.pm/elixir/Protocol.html#derive/3) – Protocol derive - https://hexdocs.pm/elixir/Inspect.html#module-deriving (https://hexdocs.pm/elixir/Inspect.html#module-deriving) – Deriving for inspect - https://github.com/elixir-lang/elixir/blob/v1.9/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.9/CHANGELOG.md) – Elixir changelog for v1.9 - https://hexdocs.pm/ecto/Ecto.Schema.html#field/3-options (https://hexdocs.pm/ecto/Ecto.Schema.html#field/3-options) - https://hex.pm/packages/datetimeparser (https://hex.pm/packages/date_time_parser) - https://github.com/bitwalker/distillery (https://github.com/bitwalker/distillery) – Mix package used for releases before it was built into Elixir. Guest Information - https://twitter.com/josevalim (https://twitter.com/josevalim) – on Twitter - https://github.com/josevalim (https://github.com/josevalim) – on Github - https://dashbit.co/ (https://dashbit.co/) – Dashbit website and blog - https://erlef.org/news/ (https://erlef.org/news/) – The Erlang Ecosystem Foundation news Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
3/22/202259 minutes, 20 seconds
Episode Artwork

90: Elixir Cards with Tetiana Dushenkivska

We talk with Tetiana Dushenkivska, the creator of Elixir Cards, a series of Elixir flashcards with multiple ways to use them. We talk about why she created the cards, how they helped her, and how others have used them. We talk about learning models and the importance of repetition for memorizing things. Tetiana shares how LiveView is used in the creation of the cards and more! David shares how he used the cards for fun drills at meetups and Tetiana fondly recalls a tournament held at a previous Elixir conf. She also shares what she's working on now for a future online learning system. Show Notes online - http://podcast.thinkingelixir.com/90 (http://podcast.thinkingelixir.com/90) Elixir Community News - https://lu.ma/elixir-social (https://lu.ma/elixir-social) – Elixir lunch is now Elixir social - https://twitter.com/josevalim/status/1499132873114361872 (https://twitter.com/josevalim/status/1499132873114361872) – The Phoenix HEEX template formatter now merged in to LiveView - https://twitter.com/nivenhuh/status/1483895710932078593 (https://twitter.com/nivenhuh/status/1483895710932078593) – Apple was hiring for an Elixir developer to join their Environment team. Position is closed, but an insight to Elixir usage at the company. - https://www.apple.com/environment/ (https://www.apple.com/environment/) – Apple environment initiative - https://twitter.com/emjii/status/1500574395936485384 (https://twitter.com/emjii/status/1500574395936485384) – Performance work continues for Apple's M1 chips and Elixir. This tweet is about slow package unpacking during mix deps.get - https://github.com/akoutmos/prom_ex/pull/122 (https://github.com/akoutmos/prom_ex/pull/122) – Alex Koutmos shared that PromEx now allows you to bundle Grafana's Agent so you can push metrics to Prometheus. - https://fly.io/blog/intro-to-accessibility/ (https://fly.io/blog/intro-to-accessibility/) – An intro to Accessibility on the web. LiveBeats will continue to get enhancements so we can see an example. - https://twitter.com/fhunleth/status/1500521232965451776 (https://twitter.com/fhunleth/status/1500521232965451776) – Frank Hunleth tuning Nerves for the new Grisp 2 board. Can get pre-built binaries to play with. - https://www.grisp.org/ (https://www.grisp.org/) – Grisp 2 is a hardware device built with Elixir and Erlang in mind - https://github.com/erlang/otp/pull/4750#issuecomment-823816722 (https://github.com/erlang/otp/pull/4750#issuecomment-823816722) – Correction about constant time and :crypto.hash_equals 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/elixircards (https://twitter.com/elixircards) – Elixir Cards Twitter account - https://twitter.com/gitcards (https://twitter.com/gitcards) – Git Cards Twitter account - https://www.elixircards.co.uk/ (https://www.elixircards.co.uk/) – Website for sales/marketing of Elixir Cards - https://gitflashcards.com/ (https://gitflashcards.com/) – Git cards website - https://pragprog.com/titles/elixir16/programming-elixir-1-6/ (https://pragprog.com/titles/elixir16/programming-elixir-1-6/) - https://hexdocs.pm/elixir/Enum.html (https://hexdocs.pm/elixir/Enum.html) - https://www.eng.auburn.edu/current-students/documents/forgetting-curve.pdf (https://www.eng.auburn.edu/current-students/documents/forgetting-curve.pdf) - https://kapeli.com/dash (https://kapeli.com/dash) – Dash tool on MacOS for combined documentation searching - https://zealdocs.org/ (https://zealdocs.org/) – Zeal is a Dash-like tool that is OpenSource and cross platform for Linux and Windows. - https://xkcd.com/1168/ (https://xkcd.com/1168/) – Comic about remembering Tar commands - sales@cleverbunny.io Guest Information - https://twitter.com/Tetiana12345678 (https://twitter.com/Tetiana12345678) – on Twitter - https://github.com/tetiana12345678 (https://github.com/tetiana12345678) – on Github - sales@cleverbunny.io Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
3/15/202242 minutes, 19 seconds
Episode Artwork

89: Reducing the Friction in Your Flow

We talk about how designing applications with lower friction points is a valuable goal. LiveView plays a powerful role in that mission. Mark pitches why he thinks it's time to take another look at LiveView if you haven't lately. We talk over some of the business benefits, efficiencies gained and we address some common reasons given for "why it can't work." We also cover some remaining areas of improvement for LiveView. Then we talk about how moving your servers closer to users removes additional friction both for deployment and application design. Mark shares how the fly_postgres library works and how it enables people to build "normal" Phoenix applications using Postgres read-replicas across multiple regions. A fun discussion! Show Notes online - http://podcast.thinkingelixir.com/89 (http://podcast.thinkingelixir.com/89) Elixir Community News - https://erlef.org/blog/eef/election-2022 (https://erlef.org/blog/eef/election-2022) – Erlang Ecosystem Foundation is holding elections soon. You can get involved! - https://gleam.run/news/gleam-v0.20-released/ (https://gleam.run/news/gleam-v0.20-released/) – Gleam 0.20 released - https://twitter.com/louispilfold/status/1496108145185337344 (https://twitter.com/louispilfold/status/1496108145185337344) – Gleam source code is recognized as a language on GitHub and gets syntax highlighting - https://twitter.com/louispilfold/status/1497320401461993473 (https://twitter.com/louispilfold/status/1497320401461993473) – Work has begun on a Gleam Language Server - https://github.com/DockYard/flame_on (https://github.com/DockYard/flame_on) – New performance analyzing library released by Dockyard called "flameon" - https://dockyard.com/blog/2022/02/22/profiling-elixir-applications-with-flame-graphs-and-flame-on (https://dockyard.com/blog/2022/02/22/profiling-elixir-applications-with-flame-graphs-and-flame-on) – Post explains more about the flameon library Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.youtube.com/watch?v=IqnZnFpxLjI (https://www.youtube.com/watch?v=IqnZnFpxLjI) – Mark's 2021 Elixir Conf talk - https://github.com/readme/featured/server-side-languages-for-front-end (https://github.com/readme/featured/server-side-languages-for-front-end) – GitHub article "Move over JavaScript - Back-end languages are coming to the front-end" - https://utils.zest.dev/gendiff (https://utils.zest.dev/gendiff) – David's Phoenix version diffing tool - https://github.com/superfly/flyrpcelixir (https://github.com/superfly/fly_rpc_elixir) - https://github.com/superfly/flypostgreselixir (https://github.com/superfly/fly_postgres_elixir) - https://fly.io/docs/getting-started/elixir/ (https://fly.io/docs/getting-started/elixir/) - https://fly.io/docs/reference/regions/ (https://fly.io/docs/reference/regions/) - https://podcast.thinkingelixir.com/20 (https://podcast.thinkingelixir.com/20) – Caleb Porzio interview - https://plausible.io/ (https://plausible.io/) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
3/8/202249 minutes, 3 seconds
Episode Artwork

88: Phoenix Debug Toolbar and LiveView Forms with Michael Crumm

We talk with Michael Crumm, the primary author of the Phoenix Live Dashboard, about a new project of his. He is working on a development toolbar that is rendered on your pages and helps profile performance, expose route info, show crash info and more. It’s called PhoenixProfiler and it ties into Telemetry events for data. While still early, it can be a great tool for teams. We also talk about another goal of his, to improve working with forms in LiveView! Show Notes online - http://podcast.thinkingelixir.com/88 (http://podcast.thinkingelixir.com/88) Elixir Community News - https://github.com/J3RN/tree-sitter-gleam (https://github.com/J3RN/tree-sitter-gleam) – Gleam gets tree-sitter support - https://www.erlang.org/news/153 (https://www.erlang.org/news/153) – Erlang/OTP 25.0-rc1, (Release Candidate 1) - https://twitter.com/stfnlptk/status/1494329717259837443 (https://twitter.com/stfnlptk/status/1494329717259837443) – Speed improvements for compiling on M1 chips - New ETS table option {writeconcurrency, auto} - https://github.com/erlang/otp/pull/4719 (https://github.com/erlang/otp/pull/4719) – erlang:floatto_binary/2 has new short option - https://www.erlang.org/eeps/eep-0049 (https://www.erlang.org/eeps/eep-0049) – Improved the JIT’s support for tools perf and gdb - https://hexdocs.pm/ex_doc/readme.html#admonition-blocks (https://hexdocs.pm/ex_doc/readme.html#admonition-blocks) – New "Admonition Blocks" feature added to ExDoc - https://twitter.com/brooklinjmyers/status/1494813972750483457 (https://twitter.com/brooklinjmyers/status/1494813972750483457) – Brooklin Myers working on a Livebook "carousel" feature - Ability to create custom Livebook controls using Kino.JS.Live and Kino.JS - https://github.com/cocoa-xu/otter (https://github.com/cocoa-xu/otter) – Otter project - "Call C functions in a shared library without writing a NIF" - https://podcast.thinkingelixir.com/85 (https://podcast.thinkingelixir.com/85) – Interview with Cocoa 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/mcrumm/phoenix_profiler (https://github.com/mcrumm/phoenix_profiler) – Phoenix debug toolbar profiler - https://github.com/phoenixframework/phoenixlivedashboard (https://github.com/phoenixframework/phoenix_live_dashboard) – Live Dashboard project - https://www.cargosense.com/ (https://www.cargosense.com/) - https://www.manning.com/books/the-little-elixir-and-otp-guidebook (https://www.manning.com/books/the-little-elixir-and-otp-guidebook) - https://hexdocs.pm/iex/IEx.Pry.html (https://hexdocs.pm/iex/IEx.Pry.html) - https://symfony.com/ (https://symfony.com/) - https://symfony.com/doc/current/profiler.html (https://symfony.com/doc/current/profiler.html) - https://github.com/jazzband/django-debug-toolbar (https://github.com/jazzband/django-debug-toolbar) - https://github.com/MiniProfiler/rack-mini-profiler (https://github.com/MiniProfiler/rack-mini-profiler) - https://github.com/dejan/rails_panel (https://github.com/dejan/rails_panel) Guest Information - Michael Allen Crumm Jr. - https://twitter.com/mcrumm (https://twitter.com/mcrumm) – on Twitter - https://github.com/mcrumm/ (https://github.com/mcrumm/) – on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
3/1/202253 minutes, 1 second
Episode Artwork

87: Reviewing Elixir with José Valim - Part 2

José Valim returns to continue with part 2 of our 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love. In Part 2, we talk through the Elixir releases of 1.4, 1.5, and 1.6. We still manage to sneak in discussions about some new things in Elixir 1.13 and the upcoming release. We go deeper on GenStage, Registry, and growing up through production releases. We also learn about the history with unicode while touching on the recent unicode security issues that hit everywhere. We get some behind the scenes insights about the Elixir formatter and the complex logic required to bring ExUnit's pretty diff features, and much more! Show Notes online - http://podcast.thinkingelixir.com/87 (http://podcast.thinkingelixir.com/87) Elixir Community News - https://twitter.com/importantshock/status/1491835261705199620 (https://twitter.com/importantshock/status/1491835261705199620) – GitHub code search based navigation now works with Elixir - https://twitter.com/josevalim/status/1491833991401463809 (https://twitter.com/josevalim/status/1491833991401463809) – José Valim credits the work and says the 10th language to get this feature. - https://github.com/github/roadmap/issues/445 (https://github.com/github/roadmap/issues/445) – GitHub public roadmap item - Advisory Database, Elixir/mix support - https://github.com/dependabot/elixir-security-advisories (https://github.com/dependabot/elixir-security-advisories) – Dependabot Elixir security advisories - https://github.com/readme/featured/server-side-languages-for-front-end (https://github.com/readme/featured/server-side-languages-for-front-end) – GitHub published an article feature Elixir and LiveView - https://anchor.fm/helloerlang (https://anchor.fm/helloerlang) – New Erlang focused podcast called “Hello Erlang!” - https://twitter.com/josevalim/status/1492464780480856069 (https://twitter.com/josevalim/status/1492464780480856069) – New versions of makeup, flow, nimbleparsec, nimblepool, and plug were released. - https://github.com/elixir-makeup/makeup (https://github.com/elixir-makeup/makeup) – Makeup is a "generic syntax highlighter" used in ExDoc - https://github.com/dashbitco/nimble_parsec (https://github.com/dashbitco/nimble_parsec) - https://github.com/dashbitco/flow (https://github.com/dashbitco/flow) - https://github.com/elixir-plug/plug (https://github.com/elixir-plug/plug) 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://podcast.thinkingelixir.com/82 (https://podcast.thinkingelixir.com/82) – Part 1 - Episode 82 - https://github.com/elixir-lang/elixir/blob/v1.4/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.4/CHANGELOG.md) – CHANGELOG v1.4 - https://elixirforum.com/ (https://elixirforum.com/) - https://en.wikipedia.org/wiki/Embarrassingly_parallel (https://en.wikipedia.org/wiki/Embarrassingly_parallel) - https://hexdocs.pm/flow/Flow.html (https://hexdocs.pm/flow/Flow.html) - https://hexdocs.pm/elixir/Task.html#async_stream/3 (https://hexdocs.pm/elixir/Task.html#async_stream/3) - https://hexdocs.pm/elixir/Registry.html (https://hexdocs.pm/elixir/Registry.html) - https://github.com/bitwalker/distillery (https://github.com/bitwalker/distillery) - https://github.com/elixir-lang/elixir/blob/v1.5/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.5/CHANGELOG.md) – CHANGELOG v1.5 - https://github.com/phoenixframework/phoenix/blob/v1.3/CHANGELOG.md (https://github.com/phoenixframework/phoenix/blob/v1.3/CHANGELOG.md) – Phoenix 1.3 released - https://trojansource.codes/ (https://trojansource.codes/) - https://hexdocs.pm/iex/IEx.Pry.html (https://hexdocs.pm/iex/IEx.Pry.html) - https://www.youtube.com/watch?v=p4uE-jTB_Uk (https://www.youtube.com/watch?v=p4uE-jTB_Uk) – The Feature That No One Knew About in Elixir 1.5 - José Valim - https://github.com/rrrene/credo (https://github.com/rrrene/credo) - https://github.com/elixir-lang/elixir/blob/v1.6/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.6/CHANGELOG.md) – CHANGELOG v1.6 - https://medium.com/@JakeBeckerCode/introducing-elixirls-the-elixir-language-server-d449bbbdfc01 (https://medium.com/@JakeBeckerCode/introducing-elixirls-the-elixir-language-server-d449bbbdfc01) - mix test --slowest 3 - CMD+\ or CTRL+\ Guest Information - https://twitter.com/josevalim (https://twitter.com/josevalim) – on Twitter - https://github.com/josevalim (https://github.com/josevalim) – on Github - https://dashbit.co/ (https://dashbit.co/) – Dashbit website and blog - https://erlef.org/news/ (https://erlef.org/news/) – The Erlang Ecosystem Foundation news Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
2/22/20221 hour, 6 minutes, 23 seconds
Episode Artwork

86: SavvyCal and Indie SaaS with Derrick Reimer

We talk with Derrick Reimer about his product SavvyCal. He used Elixir as a solo dev to create a service that can take on an 800lb gorilla like Calendly. He shares what competitive advantages he feels he has both from Elixir but also in being more nimble. We also talk about creating a company as an independent, solo developer and how that can work. Derrick shares some tips and resources that were helpful for him on his journey. We feel the PETAL stack positions Elixir developers well for optionally taking that Indie path if desired. Check it out! Lots of nuggets here! Show Notes online - http://podcast.thinkingelixir.com/86 (http://podcast.thinkingelixir.com/86) Elixir Community News - https://twitter.com/josevalim/status/1488640181364273160 (https://twitter.com/josevalim/status/1488640181364273160) – Livebook Kino gets a new Youtube control feature - https://twitter.com/josevalim/status/1489234959592214531 (https://twitter.com/josevalim/status/1489234959592214531) – Only display LiveView topbar progress animation after a delay - https://github.com/phoenixframework/phoenixliveview/commit/22ac99b108a167c324182f22be369aeea9eff346 (https://github.com/phoenixframework/phoenix_live_view/commit/22ac99b108a167c324182f22be369aeea9eff346) – Commit showing the topbar changes to add delay - https://fly.io/phoenix-files/make-your-liveview-feel-faster/ (https://fly.io/phoenix-files/make-your-liveview-feel-faster/) – Mark's blog post about the topbar progress delay - https://twitter.com/josevalim/status/1489522409426325504 (https://twitter.com/josevalim/status/1489522409426325504) – Ecto minimal cheatsheet - https://twitter.com/innovation_code/status/1490729612892069889 (https://twitter.com/innovation_code/status/1490729612892069889) – Grisp2 boards are shipping - https://www.kickstarter.com/projects/peerstritzinger/grisp-2 (https://www.kickstarter.com/projects/peerstritzinger/grisp-2) – Grisp2 Kickstarter project - https://medium.com/opentelemetry/opentelemetry-erlang-elixir-javascript-and-ruby-v1-0-3a0c32e0add4 (https://medium.com/opentelemetry/opentelemetry-erlang-elixir-javascript-and-ruby-v1-0-3a0c32e0add4) – OpenTelemetry for Elixir/Erlang reached 1.0 - https://hex.pm/orgs/opentelemetry (https://hex.pm/orgs/opentelemetry) – OpenTelemetry group - https://www.germanvelasco.com/blog/starting-elixir-lunch (https://www.germanvelasco.com/blog/starting-elixir-lunch) – German Velasco is starting a remote Elixir lunch - https://github.com/fly-apps/live_beats (https://github.com/fly-apps/live_beats) – LiveBeats project works great as an example 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/derrickreimer (https://twitter.com/derrickreimer) - https://twitter.com/savvycal (https://twitter.com/savvycal) - https://savvycal.com/ (https://savvycal.com/) - https://twitter.com/frigidcode/status/1477656247772094467 (https://twitter.com/frigidcode/status/1477656247772094467) - https://artofproductpodcast.com/ (https://artofproductpodcast.com/) – Podcast Derrick co-hosts - https://www.drip.com/ (https://www.drip.com/) - https://github.com/whitfin/cachex (https://github.com/whitfin/cachex) - https://www.amazon.com/Lost-Founder-Painfully-Honest-Startup/dp/0735213321 (https://www.amazon.com/Lost-Founder-Painfully-Honest-Startup/dp/0735213321) - https://tinyseed.com/ (https://tinyseed.com/) - https://microconf.com/ (https://microconf.com/) - https://www.indiehackers.com/ (https://www.indiehackers.com/) - https://www.derrickreimer.com/books-for-founders (https://www.derrickreimer.com/books-for-founders) – List of books Derrick recommends Guest Information - https://twitter.com/derrickreimer (https://twitter.com/derrickreimer) – on Twitter - https://github.com/derrickreimer/ (https://github.com/derrickreimer/) – on Github - http://derrickreimer.com/ (http://derrickreimer.com/) – Blog - http://savvycal.com/ (http://savvycal.com/) – SavvyCal website Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
2/15/202250 minutes, 35 seconds
Episode Artwork

85: Computer Vision in Elixir with Cocoa Xu

We talk with Cocoa Xu about his PhD robotics project and his related Evision project that creates Elixir bindings to the OpenCV library. The project enables computer vision in Elixir much easier by building on existing projects. We learn about the kinds of features this enables and how it can target embedded devices as well. His goal of a clustered, collaborative, hoard of Elixir robots is terrifyingly fascinating! 😄 Show Notes online - http://podcast.thinkingelixir.com/85 (http://podcast.thinkingelixir.com/85) Elixir Community News - https://github.com/livebook-dev/livebook/pull/948 (https://github.com/livebook-dev/livebook/pull/948) – New feature added to Livebook draws red squiggly lines under syntax errors. - https://tecnoblog.net/noticias/2022/01/24/as-5-linguagens-de-programacao-mais-usadas-no-brasil-segundo-o-github/ (https://tecnoblog.net/noticias/2022/01/24/as-5-linguagens-de-programacao-mais-usadas-no-brasil-segundo-o-github/) – Elixir is the 5th most growing programming language in Brazil in 2021 on GitHub. Article in Portuguese. - https://pragprog.com/titles/liveview/programming-phoenix-liveview/ (https://pragprog.com/titles/liveview/programming-phoenix-liveview/) – Updated version of the book "Programming Phoenix LiveView" - https://twitter.com/akoutmos/status/1487545038632628245 (https://twitter.com/akoutmos/status/1487545038632628245) – Inspired by episode 81 about "burrito", Alex Koutmos created a json terminal tool in Elixir - https://gist.github.com/akoutmos/f14e0f719b4efbee2526858b34869004 (https://gist.github.com/akoutmos/f14e0f719b4efbee2526858b34869004) – Alex shared a Gist so people can do this themselves - https://github.com/elixir-lang/elixir/releases/tag/v1.13.2 (https://github.com/elixir-lang/elixir/releases/tag/v1.13.2) – Elixir v1.13.2 with enhanced "mix format" support and more - https://github.com/feliperenan/heex_formatter (https://github.com/feliperenan/heex_formatter) – New alpha state library is a HEEx formatter - https://fly.io/blog/free-postgres/ (https://fly.io/blog/free-postgres/) – Hosting provider Fly.io announced free Postgres databases. 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/cocoa-xu/evision (https://github.com/cocoa-xu/evision) - https://twitter.com/brainlid/status/1470588461371568129 (https://twitter.com/brainlid/status/1470588461371568129) - https://github.com/opencv/opencv (https://github.com/opencv/opencv) - https://pypi.org/project/opencv-python/ (https://pypi.org/project/opencv-python/) - https://github.com/cocoa-xu/evision/tree/main/examples (https://github.com/cocoa-xu/evision/tree/main/examples) – Usage examples that part of the repo - https://cocoa-xu.github.io/evision/ (https://cocoa-xu.github.io/evision/) – Online docs at the moment - https://twitter.com/uwucocoa/status/1466898968164679696 (https://twitter.com/_uwu_cocoa/status/1466898968164679696) - https://github.com/opencv/opencv (https://github.com/opencv/opencv) – Open Source Computer Vision Guest Information - https://twitter.com/uwucocoa (https://twitter.com/_uwu_cocoa) – on Twitter - https://github.com/cocoa-xu/ (https://github.com/cocoa-xu/) – on Github - https://cocoa-research.works/ (https://cocoa-research.works/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
2/8/202227 minutes, 5 seconds
Episode Artwork

84: LiveBeats with Chris McCord

We talk with Chris McCord about the LiveBeats project he created. It’s a high-quality, showcase, open source project that highlights new and powerful features in LiveView. LiveBeats is a social music playing application that challenges current ideas about what LiveView is able to do. It uses presence, new JS features, defines reusable Tailwind styled components, includes accessibility and more! An exciting project that people can actually use in addition to being a great community resource. We also get into what’s coming out in Phoenix 1.7 that may interest people getting ready to start a new project! Show Notes online - http://podcast.thinkingelixir.com/84 (http://podcast.thinkingelixir.com/84) Elixir Community News - https://news.livebook.dev/v0.5-flowcharts-custom-widgets-intellisense-and-ui-improvements-4FcvbG (https://news.livebook.dev/v0.5-flowcharts-custom-widgets-intellisense-and-ui-improvements-4FcvbG) – Livebook 0.5 released blog post - https://twitter.com/josevalim/status/1483907938590810118 (https://twitter.com/josevalim/status/1483907938590810118) – José Valim's Twitter thread announcing the release - https://twitter.com/josevalim/status/1484915718223286276 (https://twitter.com/josevalim/status/1484915718223286276) – Livebook future release will include BEAM memory display on the sidebar - https://github.com/mcrumm/liveuploadexample/commit/8be00c0d451f94ad82860a9b85ab020092e2a8b7 (https://github.com/mcrumm/live_upload_example/commit/8be00c0d451f94ad82860a9b85ab020092e2a8b7) – Michael Crumm shared his PR that updated the liveviewupload example to HEEx templates as an example - https://www.empex.co/mtn (https://www.empex.co/mtn) – Empex MTN is Elixir conference in Salt Lake City, UT on May 6, 2022 - https://twitter.com/sorentwo/status/1478021043486928896 (https://twitter.com/sorentwo/status/1478021043486928896) – Oban Pro feature makes it easy to get the result of an async job 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/blog/livebeats/ (https://fly.io/blog/livebeats/) – Blog post by Chris where he talks about the project. - https://github.com/fly-apps/live_beats (https://github.com/fly-apps/live_beats) – Source code for the project. - https://livebeats.fly.dev/ (https://livebeats.fly.dev/) – Visit the running hosted app. - https://livebeats.fly.dev/signin (https://livebeats.fly.dev/signin) - https://fly.io/phoenix-files/tailwind-standalone/ (https://fly.io/phoenix-files/tailwind-standalone/) - https://github.com/phoenixframework/tailwind (https://github.com/phoenixframework/tailwind) - https://fly.io/phoenix-files/live-render-sticky-option/ (https://fly.io/phoenix-files/live-render-sticky-option/) - https://github.com/petalframework/petal_components (https://github.com/petalframework/petal_components) - https://milligram.io/ (https://milligram.io/) - https://github.com/phoenixframework/phoenix/pull/4100 (https://github.com/phoenixframework/phoenix/pull/4100) - https://surface-ui.org/getting_started (https://surface-ui.org/getting_started) Guest Information - https://twitter.com/chris_mccord (https://twitter.com/chris_mccord) – on Twitter - https://github.com/chrismccord (https://github.com/chrismccord) – on Github - http://chrismccord.com/ (http://chrismccord.com/) – Blog - https://twitter.com/flydotio (https://twitter.com/flydotio) – Fly.io on Twitter Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
2/2/202257 minutes, 52 seconds
Episode Artwork

83: Zig and Zigler with Isaac Yonemoto

We talk with Isaac Yonemoto about the Zig language and his Zigler Elixir library. We learn where Zig came from, why it is capturing people's interest, and how Zigler makes it easy to write native, cross-compiled NIFs in Elixir! At the end we shift into talking about his OpenAPI Elixir project that comes at the problem from a different direction than others. A fun get-to-know-you with Isaac and a great look into Zig and where it might go with Elixir in the future. Show Notes online - http://podcast.thinkingelixir.com/83 (http://podcast.thinkingelixir.com/83) Elixir Community News - https://gleam.run/news/gleam-v0.19-released/ (https://gleam.run/news/gleam-v0.19-released/) – Gleam release v0.19 enables publishing Gleam packages to Hex as Erlang libraries. - https://github.com/gleam-lang/mix_gleam (https://github.com/gleam-lang/mix_gleam) – Mix Gleam makes it easier to integrate Gleam into your Elixir project - Brooklin Myers joined DockYard as a full time employee to help build an open Elixir bootcamp. - https://github.com/lpil/thoas/ (https://github.com/lpil/thoas/) – Jason library ported to Erlang - https://www.irif.fr/~gc/stageElixir.en.html (https://www.irif.fr/~gc/stageElixir.en.html) – Masters project working to add "Set-theoretic types" to Elixir - https://github.com/nvim-treesitter/nvim-treesitter/issues/1957 (https://github.com/nvim-treesitter/nvim-treesitter/issues/1957) – Neovim performance impact from tree-sitter regression - https://github.com/tree-sitter/tree-sitter/issues/1510 (https://github.com/tree-sitter/tree-sitter/issues/1510) – Link to the tree-sitter issue - https://twitter.com/pragprog/status/1481287351376629766 (https://twitter.com/pragprog/status/1481287351376629766) – The Elixir and Nerves book "Build a Weather Station with Elixir and Nerves" is now out of beta and available at PragProg - https://www.lambdadays.org/lambdadays2022/#register (https://www.lambdadays.org/lambdadays2022/#register) – LambdaDays rescheduled dates are Thu, 28 Jul 2022 - Fri, 29 Jul 2022 - https://github.com/livebook-dev/kino/issues/72 (https://github.com/livebook-dev/kino/issues/72) – Using Livebook for interviewing - https://podcast.thinkingelixir.com/75 (https://podcast.thinkingelixir.com/75) – Our interview with Dave Lucia at SimpleBet 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/DNAutics/status/1425819709895806976 (https://twitter.com/DNAutics/status/1425819709895806976) - https://ziglang.org/ (https://ziglang.org/) - https://github.com/ityonemo/zigler (https://github.com/ityonemo/zigler) - https://www.youtube.com/watch?v=lDfjdGva3NE&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=31 (https://www.youtube.com/watch?v=lDfjdGva3NE&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=31) – Isaac's Elixir Conf 2021 Presentation about Zig - https://julialang.org/ (https://julialang.org/) - https://www.ruby-lang.org/en/ (https://www.ruby-lang.org/en/) - https://llvm.org/ (https://llvm.org/) - https://gcc.gnu.org/ (https://gcc.gnu.org/) - https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html (https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html) - https://gohugo.io/ (https://gohugo.io/) - https://www.openapis.org/ (https://www.openapis.org/) - https://www.merriam-webster.com/dictionary/apiarist (https://www.merriam-webster.com/dictionary/apiarist) - https://github.com/ityonemo/exonerate (https://github.com/ityonemo/exonerate) - https://hexdocs.pm/exonerate/Exonerate.html (https://hexdocs.pm/exonerate/Exonerate.html) Guest Information - https://twitter.com/DNAutics (https://twitter.com/DNAutics) – on Twitter - https://github.com/ityonemo/ (https://github.com/ityonemo/) – on Github - https://www.youtube.com/channel/UCarZZW7eavljSdGRQx9kkSA/featured (https://www.youtube.com/channel/UCarZZW7eavljSdGRQx9kkSA/featured) – Isaac's YouTube channel Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
1/25/202245 minutes, 43 seconds
Episode Artwork

82: Reviewing Elixir with José Valim - Part 1

José Valim joins us to kick off part 1 of a 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love. In Part 1, we talk through the Elixir releases of 1.1, 1.2, and 1.3. We cover the significant changes in each release, what instigated the change, the thinking behind it, and more. We cover some long-present features that people may not be aware of and recall what these changes meant to us. Show Notes online - http://podcast.thinkingelixir.com/82 (http://podcast.thinkingelixir.com/82) Elixir Community News - https://dashbit.co/blog/elixir-and-machine-learning-nx-v0.1 (https://dashbit.co/blog/elixir-and-machine-learning-nx-v0.1) – Nx (Numerical Elixir) v0.1 released - https://twitter.com/peterlodewijk/status/1479838598790893571 (https://twitter.com/peterlodewijk/status/1479838598790893571) – Project called Numerl is announced for Erlang. - https://www.info.ucl.ac.be/~pvr/Losseau457814002022.pdf (https://www.info.ucl.ac.be/~pvr/Losseau_45781400_2022.pdf) – PDF to the Numerl paper titled "Efficient Vector and Matrix Computation for Erlang" - https://twitter.com/theerlef/status/1480632969140310017 (https://twitter.com/theerlef/status/1480632969140310017) – Lambda Days conference moved to July 2022 - https://github.com/KronicDeth/intellij-elixir/releases/tag/v12.1.0 (https://github.com/KronicDeth/intellij-elixir/releases/tag/v12.1.0) – Updates to the IntelliJ plugin that supports Elixir - https://twitter.com/kronicdeth/status/1479538579298820098 (https://twitter.com/kronicdeth/status/1479538579298820098) – IntelliJ Elixir plugin tweet announcement - https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md#v0270-2022-01-11 (https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md#v0270-2022-01-11) – ExDoc v0.27 was released - https://twitter.com/josevalim/status/1480815810503495683 (https://twitter.com/josevalim/status/1480815810503495683) – Tweet threat about ExDoc v0.27 showing features - https://hexdocs.pm/nx/Nx.html (https://hexdocs.pm/nx/Nx.html) – Nx library docs using the new ExDoc - https://twitter.com/brooklinjmyers/status/1480614054360018951 (https://twitter.com/brooklinjmyers/status/1480614054360018951) – Brooklin Myers announced he's joining DockYard to help create an Elixir Developer Bootcamp - https://www.elixirnewbie.com/ (https://www.elixirnewbie.com/) – Brooklin Myers Elixir Newbie Podcast 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/elixir-lang/elixir/blob/v1.1/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.1/CHANGELOG.md) – Changelog for v1.1 - https://groups.google.com/g/elixir-lang-core/c/yd90kWN99FE/m/x2WZu7iqPcgJ (https://groups.google.com/g/elixir-lang-core/c/yd90kWN99FE/m/x2WZu7iqPcgJ) – Discussion thread about maps in Elixir - https://github.com/elixir-lang/elixir/blob/v1.2/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.2/CHANGELOG.md) – Changelog for v1.2 - https://www.youtube.com/watch?v=X25xOhntr6s (https://www.youtube.com/watch?v=X25xOhntr6s) – ElixirConf 2015 - Keynote - Elixir Should Take Over the World by Jessica Kerr - https://hexdocs.pm/elixir/Protocol.html#module-consolidation (https://hexdocs.pm/elixir/Protocol.html#module-consolidation) – Protocol consolidation - https://github.com/elixir-lang/elixir/blob/v1.3/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.3/CHANGELOG.md) – Changelog for v1.3 - https://github.com/elixir-lang/elixir/blob/v1.3/CHANGELOG.md#mix-escriptinstall (https://github.com/elixir-lang/elixir/blob/v1.3/CHANGELOG.md#mix-escriptinstall) – Mix escript install - mix test --stale - https://elixirforum.com/t/how-to-describe-many-contexts-in-exunit-without-a-hierarchy/1551 (https://elixirforum.com/t/how-to-describe-many-contexts-in-exunit-without-a-hierarchy/1551) – How to Describe Many Contexts in ExUnit without a Hierarchy Guest Information - https://twitter.com/josevalim (https://twitter.com/josevalim) – on Twitter - https://github.com/josevalim (https://github.com/josevalim) – on Github - https://dashbit.co/ (https://dashbit.co/) – Dashbit website and blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
1/18/20221 hour, 13 seconds
Episode Artwork

81: Elixir in a Burrito with Quinn and Digit

We talk with Digit and Quinn Wilton about the Burrito project. It wraps up Elixir to a single binary, enables cross-platform builds, and uses Zig to help while also enabling NIFs! They share how the security focused software they create uses this to run in isolated environments where Elixir can’t be installed. A really cool project that can be used for one-off scripts, long running CLI applications with full OTP features and more. They share some of the challenges they had to overcome in creating Burrito and how it being OpenSource helps the company and their project. Show Notes online - http://podcast.thinkingelixir.com/81 (http://podcast.thinkingelixir.com/81) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.13.1 (https://github.com/elixir-lang/elixir/releases/tag/v1.13.1) – Elixir 1.13.1 released. Bug fixes. - https://github.com/BeaconCMS/beacon (https://github.com/BeaconCMS/beacon) – BeaconCMS announced by Dockyard - https://twitter.com/1stAvenger/status/1474167882946957313 (https://twitter.com/1stAvenger/status/1474167882946957313) – Mike Binns talks about his work on BeaconCMS - https://github.com/cloveapp/notion_renderer (https://github.com/cloveapp/notion_renderer) – Steve Bussey released a Notion renderer for Phoenix - https://ziglang.org/download/0.9.0/release-notes.html (https://ziglang.org/download/0.9.0/release-notes.html) – Zig release updates - https://twitter.com/wojtekmach/status/1477196958179680256 (https://twitter.com/wojtekmach/status/1477196958179680256) – Wojtek Mach gives context to the Zig release for Elixir - https://github.com/nerves-project/nervessystembr/blob/main/CHANGELOG.md#v1180 (https://github.com/nerves-project/nerves_system_br/blob/main/CHANGELOG.md#v1180) – Nerves updates in time for the New Year - https://twitter.com/NervesProject/status/1477054737921060869 (https://twitter.com/NervesProject/status/1477054737921060869) – Nerves update announcement on Twitter - https://www.kickstarter.com/projects/peerstritzinger/grisp-2/posts/3394103 (https://www.kickstarter.com/projects/peerstritzinger/grisp-2/posts/3394103) – Grisp 2 Boards Kickstarter update 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/burrito-elixir/burrito (https://github.com/burrito-elixir/burrito) - https://github.com/wojtekmach/elixir-run (https://github.com/wojtekmach/elixir-run) – Wojtek Mach's experiment - https://github.com/spawnfest/bakeware (https://github.com/spawnfest/bakeware) - https://github.com/bake-bake-bake/bakeware (https://github.com/bake-bake-bake/bakeware) – Bakeware project - https://www.youtube.com/watch?v=y8-9yZlye30 (https://www.youtube.com/watch?v=y8-9yZlye30) – Quinn's talk - https://www.youtube.com/watch?v=gQb58bqwDOc (https://www.youtube.com/watch?v=gQb58bqwDOc) – Digit's talk - https://www.synopsys.com/ (https://www.synopsys.com/) - https://hex.pm/packages/teex (https://hex.pm/packages/teex) - https://github.com/elixir-lang/elixir_make (https://github.com/elixir-lang/elixir_make) - https://github.com/ndreynolds/ratatouille (https://github.com/ndreynolds/ratatouille) - https://github.com/nsf/termbox (https://github.com/nsf/termbox) - https://ziglang.org/ (https://ziglang.org/) - https://llvm.org/ (https://llvm.org/) - https://invisible-island.net/ncurses/ (https://invisible-island.net/ncurses/) Guest Information - https://twitter.com/wilton_quinn (https://twitter.com/wilton_quinn) – Quinn on Twitter - https://github.com/QuinnWilton/ (https://github.com/QuinnWilton/) – Quinn on Github - https://quinnwilton.com/ (https://quinnwilton.com/) – Quinn's Site - https://twitter.com/doawoo (https://twitter.com/doawoo) – Digit on Twitter - https://github.com/doawoo (https://github.com/doawoo) – Digit on Github - https://puppy.surf (https://puppy.surf) – Digit's Site Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
1/11/202253 minutes, 44 seconds
Episode Artwork

80: Waffle Making with Boris Kuznetsov

We talk with Boris Kuznetsov to learn about the Waffle library and how it is used to attach images, video, and audio to your Ecto records while also processing the attachments for thumbnails, encodings, and more. We learn about the history of the project having forked from Arc, which is no longer maintained. We cover the challenges of supporting and maintaining a library created as a fork. We talk about Second System Syndrome and the desire we often feel that it would be easier to just start over. All this and more! Show Notes online - http://podcast.thinkingelixir.com/80 (http://podcast.thinkingelixir.com/80) Elixir Community News - https://github.com/phoenixframework/tailwind (https://github.com/phoenixframework/tailwind) – New Phoenix library makes adding TailwindCSS support easier - https://fly.io/phoenix-files/tailwind-standalone/ (https://fly.io/phoenix-files/tailwind-standalone/) – Chris McCord's blog post on how to add it to your existing projects now - https://github.com/akoutmos/prom_ex/pull/39 (https://github.com/akoutmos/prom_ex/pull/39) – Alex Koutmos added Broadway support into PromEx - https://twitter.com/akoutmos/status/1473784677521633282 (https://twitter.com/akoutmos/status/1473784677521633282) – Alex Koutmos tweet about it, shared a screenshot - https://hexdocs.pm/rebar3exdoc (https://hexdocs.pm/rebar3_ex_doc) – Erlang projects can more easily publish documentation using ExDoc using a hex package called rebar3exdoc - https://tutorials.membraneframework.org/tutorials/videoroom/ (https://tutorials.membraneframework.org/tutorials/videoroom/) – Membrane Framework put out a multi-part tutorial for creating your own video conference room 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/elixir-waffle/waffle (https://github.com/elixir-waffle/waffle) - https://curiosum.com/blog/how-upload-file-elixir-waffle (https://curiosum.com/blog/how-upload-file-elixir-waffle) - https://github.com/stavro/arc (https://github.com/stavro/arc) – Arc is the project that waffle forked from - https://github.com/elixir-waffle (https://github.com/elixir-waffle) – Github organization with 3 waffle projects - https://github.com/stavro/arc (https://github.com/stavro/arc) - https://rubygems.org/gems/paperclip (https://rubygems.org/gems/paperclip) - https://rubygems.org/gems/carrierwave (https://rubygems.org/gems/carrierwave) - https://en.wikipedia.org/wiki/Second-system_effect (https://en.wikipedia.org/wiki/Second-system_effect) - https://elixircasts.io/file-uploads-with-waffle (https://elixircasts.io/file-uploads-with-waffle) - https://elixirforum.com/t/emacs-like-text-editor-in-elixir/44676 (https://elixirforum.com/t/emacs-like-text-editor-in-elixir/44676) - https://notepad-plus-plus.org/ (https://notepad-plus-plus.org/) - https://elixirforum.com/ (https://elixirforum.com/) - https://github.com/achempion/alice (https://github.com/achempion/alice) – Text editor prototype written in Elixir - https://elixirforum.com/t/emacs-like-text-editor-in-elixir/44676 (https://elixirforum.com/t/emacs-like-text-editor-in-elixir/44676) – Announcement and discussion of Alice on ElixirForum - https://www.twitch.tv/achempion (https://www.twitch.tv/achempion) – Boris' TwitchTV channel Guest Information - https://github.com/achempion/ (https://github.com/achempion/) – on Github - https://achempion.com/ (https://achempion.com/) – Blog - https://www.twitch.tv/achempion (https://www.twitch.tv/achempion) – on Twitch - https://www.youtube.com/channel/UCGP7X21WMpxbq9QJP9PCGjQ (https://www.youtube.com/channel/UCGP7X21WMpxbq9QJP9PCGjQ) – Youtube Channel Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
1/4/202232 minutes, 35 seconds
Episode Artwork

79: Collaborative Music in LiveView with Nathan Willson

We talk with Nathan Willson about GEMS, his collaborative music generator written in LiveView. He explains how it's built, the JS sound library integrations, what could be done by Phoenix and what is done in the browser. Nathan shares how he deployed it globally to 10 regions using Fly.io. We go over some of the challenges he overcame creating an audio focused web application. It's a fun open-source project that pushes the boundaries of what we think LiveView apps can do! Show Notes online - http://podcast.thinkingelixir.com/79 (http://podcast.thinkingelixir.com/79) Elixir Community News - https://twitter.com/josevalim/status/1472956310207533057 (https://twitter.com/josevalim/status/1472956310207533057) – José Valim concluded his Advent of Code live streaming. - https://www.twitch.tv/josevalim (https://www.twitch.tv/josevalim) – Find them all on his Twitch Channel. - https://groups.google.com/g/elixir-lang-core/c/jesGwAl8E1s (https://groups.google.com/g/elixir-lang-core/c/jesGwAl8E1s) – New Elixir proposal for "for" comprehensions - https://gist.github.com/josevalim/fe6b0bcc728539a5adf9b2821bd4a0f5 (https://gist.github.com/josevalim/fe6b0bcc728539a5adf9b2821bd4a0f5) – Github gist showing proposed change - https://twitter.com/guieevc/status/1002494428748140544 (https://twitter.com/guieevc/status/1002494428748140544) – Presentation picture about ~90% of all internet traffic goes through Erlang-controlled nodes, with Cisco alone shipping 2 million devices a year that use Erlang. - https://erlef.org/wg/machine-learning (https://erlef.org/wg/machine-learning) – The Machine Learning working group has worked on many projects this year. You can get involved. - https://twitter.com/sean_moriarity/status/1473017611994734593 (https://twitter.com/sean_moriarity/status/1473017611994734593) – Dockyard sponsoring Sean Moriarity's work on Nx and Axon - https://twitter.com/importantshock/status/1471585318658793485 (https://twitter.com/importantshock/status/1471585318658793485) – GitHub's syntax highlighting now uses the Tree-sitter grammar for Elixir - https://twitter.com/wilton_quinn/status/1471803799064887300 (https://twitter.com/wilton_quinn/status/1471803799064887300) – Quinn Wilton's explanation on significance - https://github.com/michalmuskala/jason/releases/tag/v1.3.0 (https://github.com/michalmuskala/jason/releases/tag/v1.3.0) – Jason 1.3 released with new features - https://www.lambdadays.org/lambdadays2022/ (https://www.lambdadays.org/lambdadays2022/) – Lambda Days conference will be Feb 10-11, 2022 and will be a hybrid conference 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/nathanwillson/status/1466389153503866892 (https://twitter.com/nathanwillson/status/1466389153503866892) - https://gems.nathanwillson.com/ (https://gems.nathanwillson.com/) – Play with it online - https://github.com/nbw/gems (https://github.com/nbw/gems) – Source code - https://en.wikipedia.org/wiki/Yukihiro_Matsumoto (https://en.wikipedia.org/wiki/Yukihiro_Matsumoto) - https://tonejs.github.io/ (https://tonejs.github.io/) - https://webassembly.org/ (https://webassembly.org/) – WASM - https://www.ableton.com/en/ (https://www.ableton.com/en/) - https://en.wikipedia.org/wiki/MIDI (https://en.wikipedia.org/wiki/MIDI) - https://webaudio.github.io/web-midi-api/ (https://webaudio.github.io/web-midi-api/) - https://medicalxpress.com/news/2021-06-human-ear-half-millisecond.html (https://medicalxpress.com/news/2021-06-human-ear-half-millisecond.html) – The human ear detects a half-millisecond delay in sound - https://fly.io/docs/reference/regions/ (https://fly.io/docs/reference/regions/) – The set of global regions that Fly.io supports - https://github.com/bitwalker/libcluster (https://github.com/bitwalker/libcluster) - https://twitter.com/gotbones (https://twitter.com/gotbones) – Bitwalker on Twitter - https://www.erlang.org/doc/man/pg.html (https://www.erlang.org/doc/man/pg.html) Guest Information - https://twitter.com/nathanwillson (https://twitter.com/nathanwillson) – on Twitter - https://github.com/nbw/ (https://github.com/nbw/) – on Github - https://nathanwillson.com (https://nathanwillson.com) – Blog - https://gems.nathanwillson.com (https://gems.nathanwillson.com) – GEMS project running online Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
12/28/202144 minutes, 24 seconds
Episode Artwork

78: Logflare with Chase Granberry

We talk with Chase Granberry about Logflare. We learn why Chase started the company, what Logflare does, how it's built on Elixir, about their custom Elixir logger, where the data is stored, how it's queried, and more! We talk about dealing with the constant stream of log data, how Logflare is collecting and displaying metrics, and talk more about Supabase acquiring the company! Show Notes online - http://podcast.thinkingelixir.com/78 (http://podcast.thinkingelixir.com/78) Elixir Community News - https://www.twitch.tv/josevalim (https://www.twitch.tv/josevalim) – José Valim still live streaming Advent of Code solutions - https://github.com/josevalim/aoc (https://github.com/josevalim/aoc) – Source code for his solutions. - https://github.com/miladamilli/AdventofCode_2021/blob/master/day09.livemd#L103 (https://github.com/miladamilli/Advent_of_Code_2021/blob/master/day09.livemd#L103) – Others like Milada are sharing their solutions. She used VegaLite for graphing a solution. - https://twitter.com/chris_mccord/status/1468998944009166849 (https://twitter.com/chris_mccord/status/1468998944009166849) – Launch a new Elixir app on Fly.io in two commands! mix phx.new and fly launch - https://github.com/phoenixframework/phoenix/pull/4609 (https://github.com/phoenixframework/phoenix/pull/4609) – Chris McCord added phx.gen.release --docker in Phoenix 1.6.4 making it easier to deploy your Elixir app anywhere that uses Docker. - https://community.fly.io/t/introducing-dashboard-logs-page/3371 (https://community.fly.io/t/introducing-dashboard-logs-page/3371) – Fly.io LiveView dashboard added live streaming logs - https://hex.pm/blog/hex-v1.0-released-and-the-future-of-hex (https://hex.pm/blog/hex-v1.0-released-and-the-future-of-hex) – Hex v1.0 released along with a description for their roadmap and backward compatibility. - https://twitter.com/elixirmembrane/status/1468941532589867017 (https://twitter.com/elixirmembrane/status/1468941532589867017) – Membrane Framework introducing BEAMchmark - https://twitter.com/ZachSDaniel1/status/1470512859629170688 (https://twitter.com/ZachSDaniel1/status/1470512859629170688) – ElixirSense gets support for plugins - https://github.com/ash-project/ash (https://github.com/ash-project/ash) – ElixirSense feature driven by Zach Daniel of the Ash Framework - http://podcast.thinkingelixir.com/27 (http://podcast.thinkingelixir.com/27) – Our earlier interview with Zach Daniel about the Ash Framework - https://www.erlang-solutions.com/blog/twenty-years-of-open-source-erlang/ (https://www.erlang-solutions.com/blog/twenty-years-of-open-source-erlang/) – Happy Birthday Open Source Erlang! 23 years ago! 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://logflare.app (https://logflare.app) - https://datastudio.google.com/u/0/reporting/1OiXkL1AOTJw4-dpudE1yAGQcmThGm-/page/kcvr?s=gIAFsUMbDS4 (https://datastudio.google.com/u/0/reporting/1OiXkL1AOTJw4-dpudE1y_AGQc_mThGm-/page/kcvr?s=gIAFsUMbDS4) – When clicked “Backend Status (Elixir)” - https://github.com/Logflare/logflareloggerbackend (https://github.com/Logflare/logflare_logger_backend) – Elixir Logger backend - https://github.com/Logflare/logflare_erl (https://github.com/Logflare/logflare_erl) – Erlang Logflare client - https://www.elastic.co/what-is/elk-stack (https://www.elastic.co/what-is/elk-stack) - https://dev.splunk.com/enterprise/ (https://dev.splunk.com/enterprise/) - https://vercel.com/ (https://vercel.com/) - https://cloud.google.com/bigquery/ (https://cloud.google.com/bigquery/) - https://elixir-broadway.org/ (https://elixir-broadway.org/) - https://hexdocs.pm/phoenix_pubsub/Phoenix.PubSub.html (https://hexdocs.pm/phoenix_pubsub/Phoenix.PubSub.html) - https://www.loom.com/share/22ed1613d1f74c15b9beac88ee6705f9 (https://www.loom.com/share/22ed1613d1f74c15b9beac88ee6705f9) – Supabase Logs & Logflare Endpoints - https://supabase.com/blog/2021/12/02/supabase-acquires-logflare (https://supabase.com/blog/2021/12/02/supabase-acquires-logflare) – Supabase acquires Logflare Guest Information - https://twitter.com/chasers (https://twitter.com/chasers) – Chase on Twitter - https://github.com/Logflare/logflare (https://github.com/Logflare/logflare) – Logflare on Github - https://github.com/chasers (https://github.com/chasers) – Chase on Github - https://logflare.app (https://logflare.app) – Logflare website - https://supabase.com/blog (https://supabase.com/blog) – Supabase blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
12/21/202140 minutes, 50 seconds
Episode Artwork

77: EMPEX Mtn and Starting Knock with Chris Bell

We talk with Chris Bell, host of the Elixir Talk podcast and EMPEX conference organizer. Chris tells us about a new EMPEX chapter in the US Western states. EMPEX MTN will be in Salt Lake City, Utah. Chris started a new company called Knock using Elixir. We hear what problems it helps solve and more about his startup journey. A fun discussion with some tech insights, architecture overviews, and more on the rollercoaster of starting your own thing! Show Notes online - http://podcast.thinkingelixir.com/77 (http://podcast.thinkingelixir.com/77) Elixir Community News - https://www.twitch.tv/josevalim (https://www.twitch.tv/josevalim) – José Valim started the Advent of Code live streams on Twitch - https://github.com/josevalim/aoc/tree/main/2021 (https://github.com/josevalim/aoc/tree/main/2021) – Livebook solution source code - https://www.youtube.com/playlist?list=PLNP8vc86-SOV1ZEvXq9BLYWL586zWnF (https://www.youtube.com/playlist?list=PLNP8vc86_-SOV1ZEvX_q9BLYWL586zWnF) – Playlist of edited live streams that are shorter to watch with chapter breaks - https://twitter.com/uwucocoa/status/1467078512293130243 (https://twitter.com/_uwu_cocoa/status/1467078512293130243) – Computer vision in Livebook using OpenCV - https://github.com/cocoa-xu/evision (https://github.com/cocoa-xu/evision) – evision pulls OpenCV source code from GitHub, parse and automatically generates corresponding OpenCV-Elixir bindings. - https://twitter.com/uwucocoa/status/1466675653072371717 (https://twitter.com/_uwu_cocoa/status/1466675653072371717) – The extra steps were taken to make a reduced set of OpenCV functionality work on Nerves. - https://elixir-lang.org/blog/2021/12/03/elixir-v1-13-0-released/ (https://elixir-lang.org/blog/2021/12/03/elixir-v1-13-0-released/) – Elixir 1.13 released - blog post highlighting features - https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md) – The more detailed changelog that identifies the new language features. - https://twitter.com/atyborska93/status/1467520341023068162 (https://twitter.com/atyborska93/status/1467520341023068162) – Angelika Tyborska updated her Elixir Enum Cheatsheet that visually explains what functions do. - https://angelika.me/elixir-enum-cheatsheet/#slide/3 (https://angelika.me/elixir-enum-cheatsheet/#slide/3) – Angelika's update cheatsheet and the slide function - https://gleam.run/news/gleam-v0.18-released/ (https://gleam.run/news/gleam-v0.18-released/) – Gleam v0.18 released - https://blog.rentpathcode.com/introducing-eflamb%C3%A9-3065e70f9eb (https://blog.rentpathcode.com/introducing-eflamb%C3%A9-3065e70f9eb) – eFlambé by Trevor Brown - a SpawnFest winner - https://github.com/livebook-dev/livebook/blob/main/CHANGELOG.md#v040-2021-12-05 (https://github.com/livebook-dev/livebook/blob/main/CHANGELOG.md#v040-2021-12-05) – Livebook v0.4 was released - https://twitter.com/dorgan_/status/1467189972847452169 (https://twitter.com/dorgan_/status/1467189972847452169) – The Sourceror library got a new release. V0.9.0. - http://podcast.thinkingelixir.com/54 (http://podcast.thinkingelixir.com/54) – Our previous interview with Lucas San Román about Sourceror - https://github.com/supabase/supabase/tree/master/studio (https://github.com/supabase/supabase/tree/master/studio) – Supabase recently open sourced their Dashboard. - https://thinkingelixir.fireside.fm/73 (https://thinkingelixir.fireside.fm/73) – Our previous interview with Paul Copplestone at Supabase - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU 2022 is happening in London/virtual on April 6-8 Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.empex.co/mtn (https://www.empex.co/mtn) – EMPEX MTN - Salt Lake City, UT - May 6, 2022 - https://www.youtube.com/channel/UCIYiFWyuEytDzyju6uXW40Q (https://www.youtube.com/channel/UCIYiFWyuEytDzyju6uXW40Q) – YouTube Playlists for previous EMPEX Conferences - https://knock.app/ (https://knock.app/) - https://podcasts.apple.com/us/podcast/elixir-talk/id1298287048 (https://podcasts.apple.com/us/podcast/elixir-talk/id1298287048) – Elixir Talk podcast - https://knock.app/about (https://knock.app/about) - https://www.twilio.com/ (https://www.twilio.com/) - https://sendgrid.com/ (https://sendgrid.com/) - https://www.frame.io/ (https://www.frame.io/) - https://mux.com/ (https://mux.com/) - https://twitter.com/codevisuals/status/838881724016787457?lang=en (https://twitter.com/codevisuals/status/838881724016787457?lang=en) – Flowchart for how Slack decides whether to send a notification or not. - https://github.com/sorentwo/oban (https://github.com/sorentwo/oban) Guest Information - https://twitter.com/cjbell_ (https://twitter.com/cjbell_) – on Twitter - https://github.com/cjbell/ (https://github.com/cjbell/) – on Github - https://twitter.com/empexco (https://twitter.com/empexco) – Empex on Twitter Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
12/14/202153 minutes, 24 seconds
Episode Artwork

76: Safe Ecto Migrations with David Bernheisel

We talk with host David Bernheisel about his Safe Ecto Migrations guide that was recently released. Intended as a resource for the community, it’s a 4-part series covering how Ecto migrations work, running migrations on production, provides a set of common-task recipes and strategies for migrating data in addition to DB structure. We discuss ideas around migrations like avoiding table locks on production, how to safely add DB check constraints, separating data migrations from structure changes, painful learning experiences and much more! Show Notes online - http://podcast.thinkingelixir.com/76 (http://podcast.thinkingelixir.com/76) Elixir Community News - https://github.com/elixir-nx/nx/pull/558 (https://github.com/elixir-nx/nx/pull/558) – Implement hooks and tokens for Nx - https://twitter.com/josevalim/status/1463239485685129216 (https://twitter.com/josevalim/status/1463239485685129216) – José Valim's explanation and excitement for the Nx PR - https://twitter.com/chris_mccord/status/1462851686352015361 (https://twitter.com/chris_mccord/status/1462851686352015361) – Chris McCord teased a fully accessible Tailwind UI styled dropdown component along with something he's working on. - https://twitter.com/josevalim/status/1463605416861081602 (https://twitter.com/josevalim/status/1463605416861081602) – José shares what Philip Sampaio is doing with R&D towards precompiled NIFs - https://twitter.com/philipsampaio/status/1463602239558270980 (https://twitter.com/philipsampaio/status/1463602239558270980) – Philip Sampaio is working on precompiled NIFs using Rustler - https://www.empex.co/mtn (https://www.empex.co/mtn) – Empex Mountain Conference - Held in Salt Lake City, Utah on May 6th 2022 - CFP is open - https://www.twitch.tv/josevalim (https://www.twitch.tv/josevalim) – Advent of Code is getting started. Jose Valim will be live-coding solutions using Elixir on Twitch. 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/fly-apps/safe-ecto-migrations (https://github.com/fly-apps/safe-ecto-migrations) - https://fly.io/phoenix-files/safe-ecto-migrations/ (https://fly.io/phoenix-files/safe-ecto-migrations/) - https://fly.io/phoenix-files/ (https://fly.io/phoenix-files/) - https://elixirmix.com/68 (https://elixirmix.com/68) – ElixirMix - Contributing to the Elixir Community with David Bernheisel & Cory Schmitt - https://elixirmix.com/92 (https://elixirmix.com/92) – ElixirMix - Managing Change with Ecto with David Bernheisel Guest Information - https://twitter.com/bernheisel (https://twitter.com/bernheisel) – on Twitter - https://github.com/dbernheisel (https://github.com/dbernheisel) – on Github - https://bernheisel.com/blog (https://bernheisel.com/blog) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
12/7/202136 minutes, 21 seconds
Episode Artwork

75: RabbitMQ and Commanded at Simplebet with Dave Lucia

We talk with Dave Lucia about Simplebet’s use of RabbitMQ and Commanded for solving unique real-time problems. We learn how Simplebet uses Elixir when creating real-time sports betting markets. We also learn what CQRS systems are, how the Commanded library supports that in Elixir, and how Commanded pairs well with RabbitMQ. Dave talks about moving away from Kafka to RabbitMQ and how that made sense for their use cases. Also valuable, Dave shares where they have found the “dragons” in their design. A helpful discussion that helps identify when CQRS systems might be a tool to use when solving our own problems. Also, Simplebet is betting on SurfaceUI for front-end design in a big and interesting way as well! Show Notes online - http://podcast.thinkingelixir.com/75 (http://podcast.thinkingelixir.com/75) Elixir Community News - https://fly.io/phoenix-files/ (https://fly.io/phoenix-files/) – Phoenix focused section of Fly.io blog - https://fly.io/phoenix-files/safe-ecto-migrations/ (https://fly.io/phoenix-files/safe-ecto-migrations/) – Safe Ecto Migrations multi-part guide - https://github.com/erlang/otp/pull/5292 (https://github.com/erlang/otp/pull/5292) – Erlang 25 is documenting all the built-in types - https://twitter.com/theerlef/status/1460683487317577734 (https://twitter.com/theerlef/status/1460683487317577734) – Erlang Ecosystem Foundation shared that they reached the milestone of 1000 members! - https://www.youtube.com/watch?v=y8-9yZlye30 (https://www.youtube.com/watch?v=y8-9yZlye30) – Quinn Wilton's "100 years of Erlang" Code Beam America presentation - https://slides.com/rc-6/100-years-of-erlang-slimmed (https://slides.com/rc-6/100-years-of-erlang-slimmed) – Quinn's slides - https://github.com/spawnfest/eep49ers/ (https://github.com/spawnfest/eep49ers/) – SpawnFest Overall Winner - https://github.com/spawnfest/eArangoDB (https://github.com/spawnfest/eArangoDB) – SpawnFest Maintainability Winner - https://github.com/spawnfest/beamoji (https://github.com/spawnfest/beamoji) – SpawnFest Innovation Winner - https://www.twitch.tv/josevalim (https://www.twitch.tv/josevalim) – Advent of Code problems will be solved by Jose Valim on Twitch - https://github.com/rrrene/credo/blob/master/CHANGELOG.md (https://github.com/rrrene/credo/blob/master/CHANGELOG.md) – Credo 1.6 release includes mix credo --first-run feature - https://github.com/livebook-dev/kino/pull/50 (https://github.com/livebook-dev/kino/pull/50) – Jonathan's Kino PR that adds "controls" and is demonstrated by playing multi-player Pong in a Livebook notebook! - https://github.com/pprzetacznik/IElixir (https://github.com/pprzetacznik/IElixir) – Jupyter's kernel for Elixir - https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md (https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md) – ExDoc v0.26.0 is out with new usability features - https://twitter.com/josevalim/status/1462436734285795340 (https://twitter.com/josevalim/status/1462436734285795340) – José Valim highlights several new ExDoc features - https://vimeo.com/647867227 (https://vimeo.com/647867227) – Oban Web v2.8.0 is out along with Oban Pro v0.9.3 and a video demonstrates the changes Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.youtube.com/watch?v=dmBdFh5N1g4 (https://www.youtube.com/watch?v=dmBdFh5N1g4) – Migrating from Kafka to RabbitMQ at SimpleBet: Why and How | David Lucia | RabbitMQ Summit 21 - https://medium.com/@davelucia/two-years-of-elixir-at-the-outline-ad671a56c9ce (https://medium.com/@davelucia/two-years-of-elixir-at-the-outline-ad671a56c9ce) - https://medium.com/@davelucia/beyond-functions-in-elixir-refactoring-for-maintainability-5c73daba77f3 (https://medium.com/@davelucia/beyond-functions-in-elixir-refactoring-for-maintainability-5c73daba77f3) - https://medium.com/@davelucia/battleship-elixir-json-sunk-my-float-dc3df46447db (https://medium.com/@davelucia/battleship-elixir-json-sunk-my-float-dc3df46447db) - https://soundcloud.com/elixirtalk/episode-153-feat-dave-lucia-the-dream-stack-with-rust-elixir (https://soundcloud.com/elixirtalk/episode-153-feat-dave-lucia-the-dream-stack-with-rust-elixir) - https://www.youtube.com/watch?v=xmUfTl33-fU (https://www.youtube.com/watch?v=xmUfTl33-fU) – Rustling up predictive sporting betting models on the BEAM - DAVID LUCIA - https://www.youtube.com/watch?v=wvfhrvAFOoQ (https://www.youtube.com/watch?v=wvfhrvAFOoQ) – David Lucia - Refactoring Elixir for maintainability | Code BEAM SF 19 - https://www.youtube.com/watch?v=Lh5rA1pgWCk (https://www.youtube.com/watch?v=Lh5rA1pgWCk) – ElixirConf 2021 - Dave Lucia - Surface - a bridge to the Javascript community - https://github.com/davydog187/migratingfromkafka (https://github.com/davydog187/migrating_from_kafka) - https://speakerdeck.com/davydog187/betting-on-observability-at-simplebet (https://speakerdeck.com/davydog187/betting-on-observability-at-simplebet) - https://lightstep.com/case-studies/simplebet/ (https://lightstep.com/case-studies/simplebet/) - https://theoutline.com/ (https://theoutline.com/) - https://www.bloomberg.com/ (https://www.bloomberg.com/) - https://www.theverge.com/ (https://www.theverge.com/) - https://www.bdg.com/ (https://www.bdg.com/) - https://www.draftkings.com/ (https://www.draftkings.com/) - https://www.amqp.org/ (https://www.amqp.org/) - https://www.rabbitmq.com/ (https://www.rabbitmq.com/) - https://github.com/commanded/commanded (https://github.com/commanded/commanded) - https://opencollective.com/commanded (https://opencollective.com/commanded) - https://microservices.io/patterns/data/cqrs.html (https://microservices.io/patterns/data/cqrs.html) - https://en.wikipedia.org/wiki/Conflict-freereplicateddata_type (https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type) - https://www.confluent.io/blog/avro-kafka-data/ (https://www.confluent.io/blog/avro-kafka-data/) - https://kafka.apache.org/ (https://kafka.apache.org/) - https://www.linkedin.com/in/joseph-lozano/ (https://www.linkedin.com/in/joseph-lozano/) - https://en.wikipedia.org/wiki/Synthetic_monitoring (https://en.wikipedia.org/wiki/Synthetic_monitoring) - https://github.com/surface-ui/surface (https://github.com/surface-ui/surface) Guest Information - https://twitter.com/davydog187 (https://twitter.com/davydog187) – Dave Lucia on Twitter - https://twitter.com/sb_engineers (https://twitter.com/sb_engineers) – Simplebet Engineering on Twitter - https://twitter.com/simplebethq (https://twitter.com/simplebethq) – Simplebet on Twitter - https://github.com/davydog187/ (https://github.com/davydog187/) – on Github - https://davelucia.com (https://davelucia.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/30/202155 minutes, 31 seconds
Episode Artwork

74: New to Elixir and Women in Tech with Miki and Kate Rezentes

We talk with mother/daughter team Miki and Kate Rezentes about their experiences learning and working with Elixir and as women in the tech industry. Miki presented “Greasing the Wheel of Adoption” at ElixirConf. Her focus was on the people aspect of adoption and we had a great time going deeper on that topic here. Kate, who is just starting her career as a developer, talks about ways we can share tech with the young people around us. We get their ideas and suggestions for ways to support women in tech, young people learning tech, and more! Show Notes online - http://podcast.thinkingelixir.com/74 (http://podcast.thinkingelixir.com/74) Elixir Community News - https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md) – Elixir 1.13's final RC? - https://twitter.com/tylerayoung/status/1458075015098814477 (https://twitter.com/tylerayoung/status/1458075015098814477) – Tyler Young drew our attention to some new Elixir 1.13 features that went largely unnoticed - https://hexdocs.pm/elixir/1.13.0-rc.0/Map.html#map/2 (https://hexdocs.pm/elixir/1.13.0-rc.0/Map.html#map/2) – Map.map/2 - https://hexdocs.pm/elixir/1.13.0-rc.0/Map.html#filter/2 (https://hexdocs.pm/elixir/1.13.0-rc.0/Map.html#filter/2) – Map.filter/2 - https://hexdocs.pm/elixir/1.13.0-rc.0/Map.html#reject/2 (https://hexdocs.pm/elixir/1.13.0-rc.0/Map.html#reject/2) – Map.reject/2 - https://twitter.com/josevalim/status/1458888727980388360 (https://twitter.com/josevalim/status/1458888727980388360) – Mac M1 Max chips and anecdotal speed improvements for Elixir - https://github.com/erlang/otp/pull/4869 (https://github.com/erlang/otp/pull/4869) – Erlang OTP 25 PR for JIT optimizations for ARM chips - https://elixir-lang.org/blog/2021/11/10/embracing-open-data-with-elixir-at-the-ministry-of-ecological-transition-in-france/ (https://elixir-lang.org/blog/2021/11/10/embracing-open-data-with-elixir-at-the-ministry-of-ecological-transition-in-france/) – New Case Study on the Elixir Lang website - https://techcrunch.com/2021/11/15/utahs-podium-raises-pre-ipo-round-boosting-its-valuation-to-3-billion/ (https://techcrunch.com/2021/11/15/utahs-podium-raises-pre-ipo-round-boosting-its-valuation-to-3-billion/) – Podium, a Utah-based company that heavily uses Elixir, was highlighted in TechCrunch recently - https://twitter.com/elixirmembrane/status/1458109629985013761 (https://twitter.com/elixirmembrane/status/1458109629985013761) – Membrane Framework updated to 0.8.0 - https://thinkingelixir.com/podcast-episodes/043-membrane-with-marcin-lewandowski/ (https://thinkingelixir.com/podcast-episodes/043-membrane-with-marcin-lewandowski/) – Previous discussion about Membrane Framework - https://twitter.com/chriskeathley/status/1458215357433454596 (https://twitter.com/chriskeathley/status/1458215357433454596) – Chris Keathley to continue Elixir usage but stepping back from public contributions - https://sonic-pi.net/ (https://sonic-pi.net/) – Sonic Pi project - https://github.com/sonic-pi-net/sonic-pi/commit/ed04519d38e1c0be90915f1c4ee5c1534ccec3cb (https://github.com/sonic-pi-net/sonic-pi/commit/ed04519d38e1c0be90915f1c4ee5c1534ccec3cb) – Sonic Pi gets Phoenix support merged into project - https://github.com/nerves-project/nerves/releases/tag/v1.7.12 (https://github.com/nerves-project/nerves/releases/tag/v1.7.12) – Nerves v1.7.12 released. Elixir 1.13.0-rc.0 now can be used to build projects. - https://github.com/livebook-dev/nerves_livebook/blob/main/CHANGELOG.md#v032---2021-11-13 (https://github.com/livebook-dev/nerves_livebook/blob/main/CHANGELOG.md#v032---2021-11-13) – Nerves Livebook v0.3.2 includes Livebook v0.3.2 release and adds support for Raspberry Pi Zero 2 W - https://github.com/elixir-lang/ex_doc#rendering-mermaid-graphs (https://github.com/elixir-lang/ex_doc#rendering-mermaid-graphs) – Mermaid Graphs are supported in ExDoc - https://github.com/phoenixframework/phoenixliveview/pull/1747 (https://github.com/phoenixframework/phoenix_live_view/pull/1747) – Declarative API for LiveView Components Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.youtube.com/watch?v=xxS8VLhuKGY&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=32&t=42s (https://www.youtube.com/watch?v=xxS8VLhuKGY&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=32&t=42s) – Kate Rezentes lighting talk - https://www.youtube.com/watch?v=YVI_8V2ULXM (https://www.youtube.com/watch?v=YVI_8V2ULXM) – Miki Rezentes talk “Greasing the Wheel of Adoption” - https://pragprog.com/titles/elixir16/programming-elixir-1-6/ (https://pragprog.com/titles/elixir16/programming-elixir-1-6/) - https://pragprog.com/titles/liveview/programming-phoenix-liveview/ (https://pragprog.com/titles/liveview/programming-phoenix-liveview/) - https://www.shift5.io/ (https://www.shift5.io/) - https://en.wikipedia.org/wiki/Peter_principle (https://en.wikipedia.org/wiki/Peter_principle) - https://www.youtube.com/watch?v=PXzuDXZwZtI (https://www.youtube.com/watch?v=PXzuDXZwZtI) – Incubus - Pardon Me - https://www.playpiper.com/products/piper-computer-kit-3 (https://www.playpiper.com/products/piper-computer-kit-3) - Probably the same company https://www.amazon.com/Piper-Computer-Kit-Minecraft-Raspberry/dp/B07HPFF3KC (Probably the same company https://www.amazon.com/Piper-Computer-Kit-Minecraft-Raspberry/dp/B07HPFF3KC) - https://www.youtube.com/watch?v=LpuPe81bc2w (https://www.youtube.com/watch?v=LpuPe81bc2w) – Binary Numbers and Base Systems as Fast as Possible Guest Information - https://twitter.com/mikirez (https://twitter.com/mikirez) – Miki Rezentes on Twitter - https://github.com/mrezentes (https://github.com/mrezentes) – Miki on Github - https://www.linkedin.com/in/miki-rezentes-823ba02a/ (https://www.linkedin.com/in/miki-rezentes-823ba02a/) – Miki on LinkedIn - https://twitter.com/RezKate (https://twitter.com/RezKate) – Kate Rezentes on Twitter - https://github.com/KateRezentes (https://github.com/KateRezentes) – Kate on Github - https://www.linkedin.com/in/kfrezent/ (https://www.linkedin.com/in/kfrezent/) – Kate on LinkedIn Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/23/20211 hour, 3 minutes, 32 seconds
Episode Artwork

73: Elixir at Supabase with Paul Copplestone

We talk with Paul Copplestone, founder and CEO of Supabase. Supabase leverages the power of Elixir, Postgres, and more to create an OpenSource Firebase alternative that brings these powers to the Jamstack community. We cover TechCrunch’s coverage of their funding and how Paul considers Supabase as “the easiest way to use Postgres”. They offer a row-level security feature and we dig in to understand that. We go deeper on how an OpenSource company got VC funding and how their business model works. Paul shares how Elixir, Phoenix and PubSub solve some hard problems that other ecosystems just don’t handle and how Supabase helps those other communities get some of those benefits using the tools they already selected. Some interesting features are that you can self-host if you want, swap out different components, and the permissive licenses. It really seems to embody the OSS ethos. Great to learn about another company using Elixir to create a lot of business value! Show Notes online - http://podcast.thinkingelixir.com/73 (http://podcast.thinkingelixir.com/73) Elixir Community News - https://github.com/elixir-protobuf/protobuf (https://github.com/elixir-protobuf/protobuf) – Updates to the pure-Elixir Protobuf implementation - https://twitter.com/whatyouhide/status/1455812251517063169 (https://twitter.com/whatyouhide/status/1455812251517063169) – Andrea Leopardi shares what's new and that the work done by Community.com - https://www.erlang.org/news/151 (https://www.erlang.org/news/151) – New Erlang website was launched - https://www.erlang.org/doc/search (https://www.erlang.org/doc/search) – Check out the new full text documentation search! - https://github.com/akoutmos/prom_ex/blob/master/CHANGELOG.md (https://github.com/akoutmos/prom_ex/blob/master/CHANGELOG.md) – PromEx was updated to v1.5 with new dashboard panels for Ecto and Phoenix - https://twitter.com/wojtekmach/status/1457276012539138049 (https://twitter.com/wojtekmach/status/1457276012539138049) – Wojtek Mach shared a helpful PSA for macOS users and the new OpenSSL 3 version support issues - https://github.com/wojtekmach/notebooks/blob/main/req_0.2.0.livemd (https://github.com/wojtekmach/notebooks/blob/main/req_0.2.0.livemd) – Req HTTP client library updated to v0.2.0. Includes new "Run in Livebook" button to demo usage. 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://supabase.io/ (https://supabase.io/) - https://techcrunch.com/2021/09/09/supabase-raises-30m-for-its-open-source-insta-backend/ (https://techcrunch.com/2021/09/09/supabase-raises-30m-for-its-open-source-insta-backend/) - https://github.com/supabase/supabase (https://github.com/supabase/supabase) - https://github.com/supabase/realtime (https://github.com/supabase/realtime) – Elixir project - https://coldfusion.adobe.com/ (https://coldfusion.adobe.com/) - https://firebase.google.com/ (https://firebase.google.com/) - https://jamstack.org/what-is-jamstack/ (https://jamstack.org/what-is-jamstack/) - https://www.postgresql.org/docs/current/datatype-json.html (https://www.postgresql.org/docs/current/datatype-json.html) - https://github.com/cainophile/cainophile (https://github.com/cainophile/cainophile) - https://github.com/PostgREST/postgrest (https://github.com/PostgREST/postgrest) - https://postgrest.org/en/v8.0/ (https://postgrest.org/en/v8.0/) - https://aws.amazon.com/amplify/ (https://aws.amazon.com/amplify/) - https://plausible.io/ (https://plausible.io/) Guest Information - https://twitter.com/kiwicopple (https://twitter.com/kiwicopple) – on Twitter - https://github.com/kiwicopple/ (https://github.com/kiwicopple/) – on Github - https://paul.copplest.one/ (https://paul.copplest.one/) – Blog - https://supabase.io/ (https://supabase.io/) – Supabase website Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/16/202145 minutes, 4 seconds
Episode Artwork

72: TypeCheck with Wiebe-Marten Wijnja

We talk with Wiebe-Marten Wijnja about his project TypeCheck that provides a new kind of runtime type checking for Elixir applications. The syntax builds on your existing spec types so it still works for dialyzer but adds additional compile time created checks. It also works for generating property based test data. This feature comes out in a new ability called "spectest". Like doctests, you can have automated checks that verify the function adheres to the spec! We also cover how TypeCheck allows writing type declarations for other libraries like Ecto and Plug. There are some interesting ways for people to contribute! A very interesting library! Show Notes online - http://podcast.thinkingelixir.com/72 (http://podcast.thinkingelixir.com/72) Elixir Community News - https://twitter.com/erlang_org/status/1453018514617475074 (https://twitter.com/erlang_org/status/1453018514617475074) – Ericsson OTP Team announced the launch of the brand new Erlang Forums - https://hello.erlangforums.com (https://hello.erlangforums.com) – New Erlang Forum - https://github.com/elixir-lang/elixir/releases/tag/v1.13.0-rc.0 (https://github.com/elixir-lang/elixir/releases/tag/v1.13.0-rc.0) – Elixir 1.13 RC was released - https://twitter.com/wojtekmach/status/1453671121820192770 (https://twitter.com/wojtekmach/status/1453671121820192770) – Ability to globally customize inspect. - https://groups.google.com/g/elixir-lang-core/c/LYmkUopaWN4/m/SwBzRt2zBQAJ (https://groups.google.com/g/elixir-lang-core/c/LYmkUopaWN4/m/SwBzRt2zBQAJ) – Mailing list discussion - https://github.com/elixir-lang/elixir/pull/11349 (https://github.com/elixir-lang/elixir/pull/11349) – PR discussion - https://twitter.com/tylerayoung/status/1454780291374096384 (https://twitter.com/tylerayoung/status/1454780291374096384) – Tyler Young's comment thread about the process - https://twitter.com/livebookdev/status/1455236497960013836 (https://twitter.com/livebookdev/status/1455236497960013836) – Livebook 0.3 released - https://www.youtube.com/watch?v=4lNkiACemM0 (https://www.youtube.com/watch?v=4lNkiACemM0) – Jose Valim's video demonstrating new features 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/Qqwy/elixir-type_check (https://github.com/Qqwy/elixir-type_check) – TypeCheck GitHub repo - https://hexdocs.pm/type_check/type-checking-and-spec-testing-with-typecheck.html (https://hexdocs.pm/type_check/type-checking-and-spec-testing-with-typecheck.html) – Introductory article - https://elixirforum.com/t/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886 (https://elixirforum.com/t/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886) – Forum topic with many examples and updates - https://hexdocs.pm/type_check/comparing-typecheck-and-norm.html (https://hexdocs.pm/type_check/comparing-typecheck-and-norm.html) – Comparison with Norm - https://twitter.com/strzibnyj/status/1438393349644464130 (https://twitter.com/strzibnyj/status/1438393349644464130) - https://hexdocs.pm/type_check/comparing-typecheck-and-elixir-typespecs.html (https://hexdocs.pm/type_check/comparing-typecheck-and-elixir-typespecs.html) – Feature-parity of TypeCheck with Elixir's builtin typespecs - https://www.youtube.com/watch?v=6sNmJtoKDCo (https://www.youtube.com/watch?v=6sNmJtoKDCo) – Clarity - Saša Jurić - ElixirConf EU 2021 - https://racket-lang.org/ (https://racket-lang.org/) Guest Information - https://twitter.com/wiebemarten (https://twitter.com/wiebemarten) – on Twitter - https://github.com/Qqwy/ (https://github.com/Qqwy/) – on Github - https://wmcode.nl/ (https://wmcode.nl/) – Personal site - https://resilia.nl/ (https://resilia.nl/) – Work site Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/9/202146 minutes, 19 seconds
Episode Artwork

71: LiveView and the 7-GUI Tasks with German Velasco

We catch up with German Velasco then talk about how he learned of the 7-GUI Tasks online challenge and how he wanted to see how LiveView could approach it. We talk about his ElixirConf presentation and how the idea of modeling state impacted his solutions to these problems. We go over what these common UI patterns are and how LiveView is able to approach them differently. We talk about Chris McCord’s idea of “Live Apps” and how LiveView really is different from what other languages and communities can do. We discuss using LiveView to implement UI patterns that it wasn’t designed for and how that process has gotten better over time and much more! Show Notes online - http://podcast.thinkingelixir.com/71 (http://podcast.thinkingelixir.com/71) Elixir Community News - https://fly.io/blog/how-safari-ruined-my-tuesday/ (https://fly.io/blog/how-safari-ruined-my-tuesday/) – How Safari Ruined My Tuesday by Chris McCord - https://github.com/phoenixframework/phoenixliveview/commit/7205df526863b8f391a432ff93700d06e951dfc0 (https://github.com/phoenixframework/phoenix_live_view/commit/7205df526863b8f391a432ff93700d06e951dfc0) – LiveView PR for dealing with Safari bug - https://github.com/phoenixframework/phoenixliveview/blob/master/CHANGELOG.md#0172-2021-10-22 (https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md#0172-2021-10-22) – Phoenix LV 0.17 - https://twitter.com/josevalim/status/1450484094383665156 (https://twitter.com/josevalim/status/1450484094383665156) – Run in Livebook showing up online - https://thinkingelixir.com/podcast-episodes/066-tracing-production-with-kai-wern-choong/ (https://thinkingelixir.com/podcast-episodes/066-tracing-production-with-kai-wern-choong/) – Episode 66 - Tracing Production with Kai Wern Choong - https://twitter.com/fhunleth/status/1450496248847519755 (https://twitter.com/fhunleth/status/1450496248847519755) – Nerves Livebook 0.3.0 also released - https://twitter.com/wojtekmach/status/1452669971323047947 (https://twitter.com/wojtekmach/status/1452669971323047947) – Wojtek Mach teased a picture showing the Livebook graphic on a macOS dock - https://twitter.com/josevalim/status/1450823190477955080 (https://twitter.com/josevalim/status/1450823190477955080) – ExDoc v0.25.5 is out with .livemd support - https://www.youtube.com/playlist?list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv (https://www.youtube.com/playlist?list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv) – ElixirConf 2021 videos are all up! - https://www.youtube.com/watch?v=IqnZnFpxLjI&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=28 (https://www.youtube.com/watch?v=IqnZnFpxLjI&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=28) – Mark Ericksen's presentation about Globally Distributed Elixir Apps on Fly.io - https://twitter.com/josevalim/status/1451639067989397514 (https://twitter.com/josevalim/status/1451639067989397514) – Elixir 1.13 RC should be out - https://twitter.com/louispilfold/status/1452305571047251970 (https://twitter.com/louispilfold/status/1452305571047251970) – Gleam now has the ability to publish hex.pm packages - https://twitter.com/dashbit/status/1452638207271600129 (https://twitter.com/dashbit/status/1452638207271600129) – New Phoenix project called PLDS (Phoenix LiveDashboard Standalone) - https://www.youtube.com/watch?v=Rzl5BH8nb8M (https://www.youtube.com/watch?v=Rzl5BH8nb8M) – Youtube video showing PLDS usage - https://twitter.com/scenicframework/status/1451276015041343502 (https://twitter.com/scenicframework/status/1451276015041343502) – Scenic v0.11.0-beta.0 is published - https://codesync.global/conferences/code-beam-sf-2021/ (https://codesync.global/conferences/code-beam-sf-2021/) – Code BEAM America - 3-5 November 2021 - https://www.thebigelixir.com/ (https://www.thebigelixir.com/) – Big Elixir - March 24-25 2022 Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.germanvelasco.com/blog/seven-guis-flight-booker (https://www.germanvelasco.com/blog/seven-guis-flight-booker) - https://www.tddphoenix.com/ (https://www.tddphoenix.com/) – Test-Driven Development with Phoenix - online book - http://testingliveview.com (http://testingliveview.com) - https://eugenkiss.github.io/7guis/tasks/ (https://eugenkiss.github.io/7guis/tasks/) – The 7-GUI Tasks defined - https://www.youtube.com/watch?v=Xu2QtHUbFmc&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=48 (https://www.youtube.com/watch?v=Xu2QtHUbFmc&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=48) – German Velasco's ElixirConf talk - Making invalid states unrepresentable in LiveView - https://www.germanvelasco.com/blog/seven-guis-counter (https://www.germanvelasco.com/blog/seven-guis-counter) – Counter - https://www.germanvelasco.com/blog/seven-guis-temperature (https://www.germanvelasco.com/blog/seven-guis-temperature) – Temp Converter - https://thinkingelixir.com/podcast-episodes/018-tdd-and-phoenix-with-german-velasco/ (https://thinkingelixir.com/podcast-episodes/018-tdd-and-phoenix-with-german-velasco/) – Previous interview - https://github.com/woylie/ectonestedchangeset (https://github.com/woylie/ecto_nested_changeset) - https://www.testingliveview.com/ (https://www.testingliveview.com/) - https://www.germanvelasco.com/ (https://www.germanvelasco.com/) Guest Information - https://twitter.com/germsvel (https://twitter.com/germsvel) – on Twitter - https://github.com/germsvel/ (https://github.com/germsvel/) – on Github - https://www.germanvelasco.com/ (https://www.germanvelasco.com/) – Blog - https://www.testingliveview.com/ (https://www.testingliveview.com/) – Testing LiveView online Course Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/2/202152 minutes, 3 seconds
Episode Artwork

70: PardallMarkdown with Alfred Reinold Baudisch

After a big news section, we talk with Alfred Reinold Baudisch about his project PardallMarkdown. It's a reactive Elixir server that reads markdown files, compiles them to HTML, stores them in an ETS table, and serves them up. It's a different take on serving markdown files for a blog. It can also be used as a wiki and supports deeply nested hierarchies. An interesting feature is it can be used as a library inside your own Phoenix application to provide blog posts or other "static" content. Show Notes online - http://podcast.thinkingelixir.com/70 (http://podcast.thinkingelixir.com/70) Elixir Community News - https://twitter.com/bernheisel/status/1449140793990598659 (https://twitter.com/bernheisel/status/1449140793990598659) – Next ElixirConf will be in Gaylord Resort in Aurora (Denver) CO where it was a couple years ago - https://www.youtube.com/playlist?list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv (https://www.youtube.com/playlist?list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv) – Link the conference playlist. Videos starting to appear. - https://www.youtube.com/watch?v=Of1phFsC4ZI (https://www.youtube.com/watch?v=Of1phFsC4ZI) – Chris McCord's keynote talking about Phoenix 1.6 and LiveView 0.17 - https://gist.github.com/chrismccord/2ab350f154235ad4a4d0f4de6decba7b (https://gist.github.com/chrismccord/2ab350f154235ad4a4d0f4de6decba7b) – Phoenix 1.5.x to 1.6 upgrade instructions - https://github.com/phoenixframework/phoenixliveview/tree/master (https://github.com/phoenixframework/phoenix_live_view/tree/master) – Phoenix LiveView 0.17 - https://github.com/phoenixframework/phoenixliveview/pull/1663 (https://github.com/phoenixframework/phoenix_live_view/pull/1663) – New LiveView 0.17 feature for JS Commands - https://github.com/phoenixframework/phoenixliveview/pull/1661 (https://github.com/phoenixframework/phoenix_live_view/pull/1661) – Slots in LV - https://twitter.com/josevalim/status/1449391020999856139 (https://twitter.com/josevalim/status/1449391020999856139) – Elixir 1.13 covered by Jose Valim in an Elixir Conf talk - https://www.youtube.com/watch?v=ydjx2kKHzrM&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=3 (https://www.youtube.com/watch?v=ydjx2kKHzrM&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=3) – Jose Valim's presentation about Elixir 1.13 - https://livebook.dev/ (https://livebook.dev/) – Livebook gets its own website! - https://twitter.com/josevalim/status/1450460641601462282 (https://twitter.com/josevalim/status/1450460641601462282) – Jose's Twitter thread announcing the Livebook website and sharing what's cool - https://github.com/hauleth/mix_unused (https://github.com/hauleth/mix_unused) – mixunused update 0.3 brings awareness to unused structs - https://twitter.com/atyborska93/status/1448666832802443273 (https://twitter.com/atyborska93/status/1448666832802443273) – Angelika Tyborska shared how using mixunused on a big 5 year old project identified over 1,000 lines of code they were able to remove. - https://www.forbes.com/sites/alexkonrad/2021/10/14/gitlab-reaches-15-bil-market-cap-as-shares-jump-in-ipo/?sh=702033906a82 (https://www.forbes.com/sites/alexkonrad/2021/10/14/gitlab-reaches-15-bil-market-cap-as-shares-jump-in-ipo/?sh=702033906a82) – GitLab goes public and reaches $15B market valuation - https://techcrunch.com/2021/10/14/3-things-gitlabs-wild-ipo-pricing-says-about-public-markets/ (https://techcrunch.com/2021/10/14/3-things-gitlabs-wild-ipo-pricing-says-about-public-markets/) – GitLab's wild pricing story - https://twitter.com/ChrisKeathley/status/1448685914046308354 (https://twitter.com/ChrisKeathley/status/1448685914046308354) – Chris Keathley transfers a number of Elixir packages he's created to be managed and maintained more as community projects. - https://twitter.com/chriskeathley/status/1449020207746453506 (https://twitter.com/chriskeathley/status/1449020207746453506) – Finch HTTP client was transferred as well - https://github.com/mtrudel/bandit (https://github.com/mtrudel/bandit) – New HTTP server called bandit - https://github.com/mtrudel/thousand_island (https://github.com/mtrudel/thousand_island) – Thousand Island is a modern, pure Elixir socket server, inspired heavily by ranch. 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/alfredbaudisch/pardall_markdown (https://github.com/alfredbaudisch/pardall_markdown) - https://twitter.com/alfredbaudisch/status/1436712928858845188 (https://twitter.com/alfredbaudisch/status/1436712928858845188) - https://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections (https://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections) – Chris McCord's post about scaling Phoenix to 2 million websockets on a single server - https://docusaurus.io/docs (https://docusaurus.io/docs) - https://evernote.com/ (https://evernote.com/) - https://joplinapp.org/ (https://joplinapp.org/) - https://syncthing.net/ (https://syncthing.net/) - https://ghost.org/ (https://ghost.org/) Guest Information - https://twitter.com/alfredbaudisch (https://twitter.com/alfredbaudisch) – on Twitter - https://github.com/alfredbaudisch/ (https://github.com/alfredbaudisch/) – on Github - https://alfredbaudisch.com (https://alfredbaudisch.com) – Website with Projects - https://pardall.xyz (https://pardall.xyz) – Sample Wiki with PardallMarkdown - https://alfredbaudisch.medium.com (https://alfredbaudisch.medium.com) – Medium Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/26/202140 minutes, 37 seconds
Episode Artwork

69: Elixir on Mobile with Dominic Letz

We talk with Dominic Letz about running Elixir on an Android phone installed in an APK which hosts a LiveView application accessed through a WebView! All while also pursuing a Web 3.0 architecture of being decentralized! Wow! There’s a lot going on here! Oh, and the tech is OpenSource! Show Notes online - http://podcast.thinkingelixir.com/69 (http://podcast.thinkingelixir.com/69) Elixir Community News - https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md#162-2021-10-08 (https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md#162-2021-10-08) – Phoenix 1.6.1 and 1.6.2 were released. - https://twitter.com/mcrumm/status/1446594887034408960 (https://twitter.com/mcrumm/status/1446594887034408960) – Michael Crumm explains 1.6.2. It's cool! We all make mistakes! - https://www.cnbc.com/2021/10/05/facebook-says-sorry-for-mass-outage-and-reveals-why-it-happened.html (https://www.cnbc.com/2021/10/05/facebook-says-sorry-for-mass-outage-and-reveals-why-it-happened.html) – Facebook major outage. Cause? Bad BGP (Border Gateway Protocol) config, bugs in the "don't let that happen" checks, and being physically locked out of their offices because they couldn't be authenticated. - https://dev.to/oliverandrich/adding-bootstrap-to-a-phoenix-1-6-project-hfe (https://dev.to/oliverandrich/adding-bootstrap-to-a-phoenix-1-6-project-hfe) – How to setup Bootstrap with esbuild - https://twitter.com/elixirmembrane/status/1445768307643088897 (https://twitter.com/elixirmembrane/status/1445768307643088897) – Membrane Framework getting a big update. Ability to record WebRTC sessions to MP4 and WebM. - https://thinkingelixir.com/podcast-episodes/043-membrane-with-marcin-lewandowski/ (https://thinkingelixir.com/podcast-episodes/043-membrane-with-marcin-lewandowski/) – Previous discussion about Membrane - https://twitter.com/josevalim/status/1446443166048129028 (https://twitter.com/josevalim/status/1446443166048129028) – MSSQL / TDS Database driver for Elixir looking for new maintainer - https://github.com/elixir-ecto/tds/issues/128 (https://github.com/elixir-ecto/tds/issues/128) – TDS project issue with discussion - https://nts.strzibny.name/12factor-elixir-phoenix-releases/ (https://nts.strzibny.name/12factor-elixir-phoenix-releases/) – 12-Factor app guide by Josef Strzibny updated for Phoenix 1.6 and esbuild - https://12factor.net/ (https://12factor.net/) – 12-Factor is about "how to design your applications" - https://hexdocs.pm/phoenix_bakery/PhoenixBakery.html (https://hexdocs.pm/phoenix_bakery/PhoenixBakery.html) – New library for Phoenix, about better compression for Phoenix assets - https://twitter.com/fhunleth/status/1446448994310369281 (https://twitter.com/fhunleth/status/1446448994310369281) – Nerves get's bluetooth support enabled on hardware like the RPi3 while working in Nerves Livebook v0.2.25 - https://www.elixirconf.com/ (https://www.elixirconf.com/) – ElixirConf 2021 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/elixir-desktop/android-example-app/ (https://github.com/elixir-desktop/android-example-app/) - https://github.com/elixir-desktop/desktop-example-app (https://github.com/elixir-desktop/desktop-example-app) - https://github.com/elixir-desktop (https://github.com/elixir-desktop) - https://diode.io/ (https://diode.io/) - https://github.com/erlang/otp/blob/master/HOWTO/INSTALL-ANDROID.md (https://github.com/erlang/otp/blob/master/HOWTO/INSTALL-ANDROID.md) - https://github.com/elixir-sqlite/exqlite (https://github.com/elixir-sqlite/exqlite) - http://www.wings3d.com/ (http://www.wings3d.com/) - https://diode.io/resources/download/#diode-drive-download (https://diode.io/resources/download/#diode-drive-download) - https://github.com/boydm/scenic (https://github.com/boydm/scenic) - https://www.forbes.com/sites/forbestechcouncil/2020/01/06/what-is-web-3-0/?sh=6f627da58dfb (https://www.forbes.com/sites/forbestechcouncil/2020/01/06/what-is-web-3-0/?sh=6f627da58dfb) – Decentralized Web 3.0 approach - https://github.com/elixir-desktop (https://github.com/elixir-desktop) Guest Information - https://twitter.com/DominicLetz (https://twitter.com/DominicLetz) – on Twitter - https://github.com/dominicletz/ (https://github.com/dominicletz/) – on Github - https://elixirforum.com/u/dominicletz/summary (https://elixirforum.com/u/dominicletz/summary) – on Elixir Forum - https://diode.io/ (https://diode.io/) – Diode and blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/19/202146 minutes, 3 seconds
Episode Artwork

68: Rust and Elixir with Nik Begley

We talk with Niklas Begley about his Doctave service and the problems it's solving. From there we cover why they use Rust for a key piece of the service and how Elixir fits in. We cover tools like Rustler for integrating Elixir and Rust smoothly. We talk about business drivers, Nik's experience building a SaaS product using Elixir and more! Show Notes online - http://podcast.thinkingelixir.com/68 (http://podcast.thinkingelixir.com/68) Elixir Community News - https://github.com/hauleth/mix_unused (https://github.com/hauleth/mix_unused) – Compile errors formatted to be machine readable to make it viewable directly in GitHub Code Scanning or GitLab Code Quality - https://github.com/almightycouch/gitgud (https://github.com/almightycouch/gitgud) – GitHub-like self hosted project written in Elixir - https://github.com/phoenixframework/phoenix/pull/4471#issuecomment-931828623 (https://github.com/phoenixframework/phoenix/pull/4471#issuecomment-931828623) – Phoenix 1.6.0 made an auth change with a bigger impact than was initially expected. - https://www.tokens24.com/cryptopedia/mining/asic-mining-hashing-algorithm (https://www.tokens24.com/cryptopedia/mining/asic-mining-hashing-algorithm) – ASIC hashing - https://www.password-hashing.net/argon2-specs.pdf (https://www.password-hashing.net/argon2-specs.pdf) – Argon2 is a 'Memory Hard' hashing algorithm - https://pragmaticstudio.com/tutorials/adding-tailwind-css-to-phoenix (https://pragmaticstudio.com/tutorials/adding-tailwind-css-to-phoenix) – Pragmatic Studio (Mike Clark) updated their guide on adding TailwindCSS for Phoenix 1.6 - https://twitter.com/louispilfold/status/1444664945396879361 (https://twitter.com/louispilfold/status/1444664945396879361) – Gleam gets its own package manager 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.doctave.com/2021/08/19/using-rust-with-elixir-for-code-reuse-and-performance.html (https://blog.doctave.com/2021/08/19/using-rust-with-elixir-for-code-reuse-and-performance.html) - https://www.doctave.com (https://www.doctave.com) - https://github.com/Doctave/doctave (https://github.com/Doctave/doctave) - https://github.com/Doctave/doctave-markdown (https://github.com/Doctave/doctave-markdown) - https://blog.discord.com/using-rust-to-scale-elixir-for-11-million-concurrent-users-c6f19fc029d3 (https://blog.discord.com/using-rust-to-scale-elixir-for-11-million-concurrent-users-c6f19fc029d3) - https://github.com/discord/sortedsetnif (https://github.com/discord/sorted_set_nif) - https://www.writethedocs.org/guide/docs-as-code/ (https://www.writethedocs.org/guide/docs-as-code/) - https://backstage.io/docs/features/techdocs/techdocs-overview (https://backstage.io/docs/features/techdocs/techdocs-overview) - https://ziglang.org/ (https://ziglang.org/) - https://mermaid-js.github.io/ (https://mermaid-js.github.io/) - https://hex.pm/packages/rustler (https://hex.pm/packages/rustler) - http://erlang.org/doc/man/erl_nif.html (http://erlang.org/doc/man/erl_nif.html) - https://alpinejs.dev/ (https://alpinejs.dev/) Guest Information - https://twitter.com/NiklasBegley (https://twitter.com/NiklasBegley) – on Twitter - https://github.com/begleynk/ (https://github.com/begleynk/) – on Github - https://www.doctave.com (https://www.doctave.com) – Doctave website - nik@doctave.com Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/12/202140 minutes, 31 seconds
Episode Artwork

67: Building a Healthy Community

We talk about ways we can all contribute to building a healthy Elixir community. The Elixir community is a welcoming, encouraging and helpful place and we want to help keep it that way! We talk about common problems facing maintainers, tips for engaging productively, the value of expressing appreciation, and much more! Show Notes online - http://podcast.thinkingelixir.com/67 (http://podcast.thinkingelixir.com/67) Elixir Community News - https://www.erlang.org/news/149 (https://www.erlang.org/news/149) – Erlang/OTP 24.1 was released - https://github.com/livebook-dev/nerves_livebook (https://github.com/livebook-dev/nerves_livebook) – Nerves Livebook is now part of the Livebook organization on GitHub - https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtdiDIxP_rPMQ5VmVhs4CKJ (https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtdiDIxP_rPMQ5VmVhs4CKJ) – ElixirConf EU 2021 keynote videos - https://www.youtube.com/watch?v=6sNmJtoKDCo (https://www.youtube.com/watch?v=6sNmJtoKDCo) – Saša Jurić's presentation on Clarity - https://twitter.com/CodeBEAMio/status/1441149132278665235 (https://twitter.com/CodeBEAMio/status/1441149132278665235) – Code Beam America switched back to virtual - https://twitter.com/elixirphoenix/status/1441020298141253633 (https://twitter.com/elixirphoenix/status/1441020298141253633) – Phoenix.HTML from 3.0.0-3.0.3 had a security vulnerability. Please update to 3.0.4+ - https://hex.pm/packages/phoenix_html (https://hex.pm/packages/phoenix_html) – Phoenix HTML package page - https://www.phoenixframework.org/blog/phoenix-1.6-released (https://www.phoenixframework.org/blog/phoenix-1.6-released) – Phoenix 1.6.0 was released! This includes the esbuild by default change. - https://fly.io/blog/how-we-got-to-liveview/ (https://fly.io/blog/how-we-got-to-liveview/) – Chris McCord's post telling the story of "How We Got to LiveView" - https://thinkingelixir.com/petal-stack-in-elixir/ (https://thinkingelixir.com/petal-stack-in-elixir/) – Reminder of the PETAL stack and how central LiveView is to it. 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/elixir-lang/elixir#issues-tracker-management (https://github.com/elixir-lang/elixir#issues-tracker-management) – Explanation of the Elixir's Issue Tracker Management policy - https://github.com/elixir-lang/elixir#proposing-new-features (https://github.com/elixir-lang/elixir#proposing-new-features) – Resource for proposing Elixir features - https://github.com/elixir-lang/elixir/issues (https://github.com/elixir-lang/elixir/issues) – Elixir's well maintained issue tracker - https://www.chiark.greenend.org.uk/~sgtatham/bugs.html (https://www.chiark.greenend.org.uk/~sgtatham/bugs.html) – How to Report Bugs Effectively - https://opensource.guide/best-practices/ (https://opensource.guide/best-practices/) – GitHub's Best Practices for Maintainers - https://go.darrenhardy.com/darrendaily/ (https://go.darrenhardy.com/darrendaily/) – Darren Hardy daily email messages. - https://darrenhardy.cDarren Daily-om/darrendaily-on-demand (https://darrenhardy.cDarren Daily-om/darrendaily-on-demand) – Podcast form of the daily messages. - https://www.youtube.com/watch?v=6Z6cFvXb9_A (https://www.youtube.com/watch?v=6Z6cFvXb9_A) – YouTube video of the "jerk" segment called "A Simple Way to Change Other People" - https://twitter.com/adamwathan (https://twitter.com/adamwathan) – Adam Wathan, maintainer of TailwindCSS - Points to consider when interacting with different projects and maintainers. - Every project is different. - Maintainers work in their spare time. They are not obligated to help you. Make it easier for them to reproduce problems. - Provide good bug reports. - Keep your emotions out of it. - https://twitter.com/tylerayoung/status/1438824261947363329 (https://twitter.com/tylerayoung/status/1438824261947363329) – Tyler Young's comments on importance of maintainers setting a tone. - https://twitter.com/redrapids/status/1438111195886673929 (https://twitter.com/redrapids/status/1438111195886673929) – Bruce Tate's call to action. Let people and project know you appreciate their work. Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/5/202140 minutes, 28 seconds
Episode Artwork

66: Tracing Production with Kai Wern Choong

We talk with Kai Wern Choong about his experience with tracing performance problems in production. We talk about what “tracing” means in a BEAM system, available tools like recon, great resources for learning how the tools work and general approaches for troubleshooting live production Elixir systems. Kai also shares his Livebook notebook setup for demonstrating tracing techniques in an interactive way. Show Notes online - http://podcast.thinkingelixir.com/66 (http://podcast.thinkingelixir.com/66) Elixir Community News - https://twitter.com/hexpm/status/1439268469296570368 (https://twitter.com/hexpm/status/1439268469296570368) – New version of Hex released that fixes issues with version downgrades and slow version resolutions. Run mix local.hex to upgrade. - https://hexdocs.pm/credo/1.6.0-rc.0/changelog.html#1-6-0 (https://hexdocs.pm/credo/1.6.0-rc.0/changelog.html#1-6-0) – Credo 1.6.0 was released with new "First Run Mode" - https://twitter.com/elixirphoenix/status/1438222537301843970 (https://twitter.com/elixirphoenix/status/1438222537301843970) – Removing Phoenix compiler config change can speed up compilation times when on up-to-date versions - https://github.com/Qqwy/elixir-type_check (https://github.com/Qqwy/elixir-type_check) – New library called TypeCheck - https://blog.oestrich.org/2021/09/introducing-aino/ (https://blog.oestrich.org/2021/09/introducing-aino/) – Eric Osterich is experimenting with an alternative HTTP framework for Elixir - https://github.com/oestrich/aino (https://github.com/oestrich/aino) – The Aino project - https://techcrunch.com/2021/09/14/logistics-startup-stord-raises-90m-in-kleiner-perkins-led-round-becomes-a-unicorn-and-acquires-another-company/ (https://techcrunch.com/2021/09/14/logistics-startup-stord-raises-90m-in-kleiner-perkins-led-round-becomes-a-unicorn-and-acquires-another-company/) – Stord, an Elixir company, raised $90M and became a "unicorn" - https://spawnfest.org/ (https://spawnfest.org/) – SpawnFest 2021 happened - https://github.com/spawnfest/eflambe (https://github.com/spawnfest/eflambe) – SpawnFest submission - rapid generation of flamegraphs - https://github.com/spawnfest/Sketch (https://github.com/spawnfest/Sketch) – SpawnFest submission - library for creating generative art with Elixir - https://github.com/spawnfest/lotus (https://github.com/spawnfest/lotus) – SpawnFest submission - Lotus is a Surface UI wrapper for UIKit - https://github.com/spawnfest/Discovery (https://github.com/spawnfest/Discovery) – SpawnFest submission - Platform for hosting realtime, stateful servers with zero downtime deployment and horizontal scaling on Kubernetes - https://github.com/spawnfest/crash (https://github.com/spawnfest/crash) – SpawnFest submission - Crash is a simple (distributed) docker-on-docker Continuous Integration system 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) Discussion Resources - https://kaiwern.com/posts/2021/06/27/debugging-with-tracing-in-elixir-with-recon_trace/ (https://kaiwern.com/posts/2021/06/27/debugging-with-tracing-in-elixir-with-recon_trace/) - https://www.naluri.life/ (https://www.naluri.life/) - https://ferd.github.io/recon/recon.html (https://ferd.github.io/recon/recon.html) - https://hex.pm/packages/recon (https://hex.pm/packages/recon) - https://twitter.com/kw7oe/status/1409126300636254219 (https://twitter.com/kw7oe/status/1409126300636254219) - https://github.com/kw7oe/livebook-notebooks/blob/main/debugging-with-tracing-in-elixir-with-recon_trace.livemd (https://github.com/kw7oe/livebook-notebooks/blob/main/debugging-with-tracing-in-elixir-with-recon_trace.livemd) – Livebook notebook showing tracing examples - https://www.youtube.com/watch?v=sR9h3DZAA74 (https://www.youtube.com/watch?v=sR9h3DZAA74) – Debugging Live Systems on the BEAM talk by Jeffery Utter - https://www.youtube.com/watch?v=OR2Gc6_Le2U (https://www.youtube.com/watch?v=OR2Gc6_Le2U) – Operable Erlang and Elixir talk by Fred Hebert (skip to 25:51, where he started talking about tracing) - https://kaiwern.com/posts/2020/11/02/debugging-with-tracing-in-elixir/ (https://kaiwern.com/posts/2020/11/02/debugging-with-tracing-in-elixir/) – Tracing with dbg modules - https://en.wikipedia.org/wiki/Tracing_(software) (https://en.wikipedia.org/wiki/Tracing_(software)) - https://erlang.org/doc/man/dbg.html (https://erlang.org/doc/man/dbg.html) – dbg module in Erlang - :dbg.fun2ms - https://kubernetes.io/blog/2017/12/using-ebpf-in-kubernetes/ (https://kubernetes.io/blog/2017/12/using-ebpf-in-kubernetes/) - https://github.com/cilium/cilium (https://github.com/cilium/cilium) - https://opentelemetry.io/docs/erlang/ (https://opentelemetry.io/docs/erlang/) - https://www.brendangregg.com/blog/2019-01-01/learn-ebpf-tracing.html (https://www.brendangregg.com/blog/2019-01-01/learn-ebpf-tracing.html) - https://www.erlang-solutions.com/capabilities/wombatoam/ (https://www.erlang-solutions.com/capabilities/wombatoam/) - https://hex.pm/packages/recon_ex (https://hex.pm/packages/recon_ex) - https://erlang-in-anger.com/ (https://erlang-in-anger.com/) – Erlang in Anger (Chapter 9) - https://www.thegreatcodeadventure.com/testing-genservers-with-erlang-trace/ (https://www.thegreatcodeadventure.com/testing-genservers-with-erlang-trace/) – Testing GenServers with Erlang Trace - http://blog.plataformatec.com.br/2016/04/how-to-trace-elixir-nodes-with-erlyberly/ (http://blog.plataformatec.com.br/2016/04/how-to-trace-elixir-nodes-with-erlyberly/) – How to trace Elixir nodes with Erlyberly - Plataformatec Blog - http://erlang.org/doc/man/seq_trace.html#sequential-tracing (http://erlang.org/doc/man/seq_trace.html#sequential-tracing) – Seq_trace - http://erlang.org/doc/man/erlang.html#trace-3 (http://erlang.org/doc/man/erlang.html#trace-3) – Erlang:trace - https://github.com/andytill/erlyberly (https://github.com/andytill/erlyberly) – Erlang tracing for the masses - https://github.com/tatsuya6502/recon_ex (https://github.com/tatsuya6502/recon_ex) – Elixir wrapper for Recon, tools to diagnose Erlang VM safely in production Guest Information - https://twitter.com/kw7oe (https://twitter.com/kw7oe) – on Twitter - https://github.com/kw7oe/ (https://github.com/kw7oe/) – on Github - https://kaiwern.com/ (https://kaiwern.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/28/202139 minutes, 25 seconds
Episode Artwork

65: Meet Core Team Member Aleksei Magusev

We talk with Elixir Core Team Member Aleksei Magusev about how he got involved in Elixir, what it’s like being on the Core Team, some of his contributions, areas in Elixir that interest him, and his tips for learning a new programming language! He also shares some of his interests outside of computing. Meet Aleksei! Show Notes online - http://podcast.thinkingelixir.com/65 (http://podcast.thinkingelixir.com/65) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/issues/1617 (https://github.com/phoenixframework/phoenix_live_view/issues/1617) – Initial proposal to bring slots to LiveView components. - https://twitter.com/elixirbookclub/status/1437034456037068804 (https://twitter.com/elixirbookclub/status/1437034456037068804) – Book Club started "Elixir in Action" - https://techcrunch.com/2021/09/09/supabase-raises-30m-for-its-open-source-insta-backend/ (https://techcrunch.com/2021/09/09/supabase-raises-30m-for-its-open-source-insta-backend/) – Supabase, which uses Elixir in their "realtime" project raised $30m - https://github.com/supabase/realtime (https://github.com/supabase/realtime) – Realtime project on github - https://twitter.com/BrooklinJMyers/status/1436744292391923714 (https://twitter.com/BrooklinJMyers/status/1436744292391923714) – New Podcast "Elixir Newbie" - https://twitter.com/josevalim/status/1436386868539662338 (https://twitter.com/josevalim/status/1436386868539662338) – Fly.io is now a sponsor of the Livebook project! - https://github.com/elixir-desktop/android-example-app/ (https://github.com/elixir-desktop/android-example-app/) – Android Application that embeds Elixir, uses a Webview to connect locally to the server, and renders using LiveView! - https://github.com/elixir-lang/elixir/pull/11246 (https://github.com/elixir-lang/elixir/pull/11246) – Mix Formatter Plugins PR - ElixirConf EU has happened! - https://github.com/elixir-lang/elixir/releases/tag/v1.12.3 (https://github.com/elixir-lang/elixir/releases/tag/v1.12.3) – Elixir 1.12.3 released 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://forzafootball.com/ (https://forzafootball.com/) - https://tech.forzafootball.com/blog/binary-parsing-optimizations-in-elixir (https://tech.forzafootball.com/blog/binary-parsing-optimizations-in-elixir) – Blog post by Aleksei Magusev on the Forza Football site - https://github.com/celluloid/celluloid (https://github.com/celluloid/celluloid) - https://racket-lang.org/ (https://racket-lang.org/) - https://www.rubinius.com/about/ (https://www.rubinius.com/about/) - https://web.archive.org/web/20130422214345/http://www.matasano.com/articles/crypto-challenges/ (https://web.archive.org/web/20130422214345/http://www.matasano.com/articles/crypto-challenges/) – The Matasano Crypto Challenge isn't online anymore - this is from the Wayback Machine - https://hexdocs.pm/ex_unit/ExUnit.CaptureLog.html (https://hexdocs.pm/ex_unit/ExUnit.CaptureLog.html) - https://github.com/elixir-lang/elixir/pull/3390 (https://github.com/elixir-lang/elixir/pull/3390) – Early version of the capture_log work which was later simplified - https://github.com/kraftjectory/forgery (https://github.com/kraftjectory/forgery) - https://hex.pm/packages/forgery (https://hex.pm/packages/forgery) - https://hex.pm/packages/mint (https://hex.pm/packages/mint) - https://hex.pm/packages/finch (https://hex.pm/packages/finch) - https://en.wikipedia.org/wiki/Cache_stampede (https://en.wikipedia.org/wiki/Cache_stampede) - https://github.com/lexmag/cashmere (https://github.com/lexmag/cashmere) – Caching library Aleksei created and open sourced - https://cassandra.apache.org/_/index.html (https://cassandra.apache.org/_/index.html) - https://andrealeopardi.com/ (https://andrealeopardi.com/) - https://github.com/elixir-lang/elixir/pull/4430 (https://github.com/elixir-lang/elixir/pull/4430) – PR adding difference highlighting to ExUnit output - https://github.com/lexmag/elixir-style-guide (https://github.com/lexmag/elixir-style-guide) – He wrote the very early version of Elixir Style Guide Guest Information - https://twitter.com/lexmag (https://twitter.com/lexmag) – on Twitter - https://github.com/lexmag/ (https://github.com/lexmag/) – on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/21/202147 minutes, 31 seconds
Episode Artwork

64: OTP Certificate Woes with Bram Verburg

We talk with Bram Verburg about an important root certificate expiring at the end of September and how this impacts your Elixir and Erlang projects! Bram helps explain where this IS and IS NOT a problem. He also explains the different update options available. We also get Bram’s security perspectives from his years of focused study and contributions in the Elixir and Erlang communities. A great resource for understanding the current certificate situation and for protecting your Elixir projects! Show Notes online - http://podcast.thinkingelixir.com/64 (http://podcast.thinkingelixir.com/64) Elixir Community News - https://github.com/elixir-nx/explorer (https://github.com/elixir-nx/explorer) – New Elixir-Nx project called Explorer released - Explorer summarized with "When combined with other Nx libraries, Explorer is like a super-powerful spreadsheet" - https://twitter.com/cigrainger/status/1433934973682139139 (https://twitter.com/cigrainger/status/1433934973682139139) – Twitter announcement of Explorer - https://github.com/hauleth/mix_unused (https://github.com/hauleth/mix_unused) – mix_unused is a compiler tracer for detecting unused public functions. - https://hexdocs.pm/prom_ex/readme.html (https://hexdocs.pm/prom_ex/readme.html) – PromEx sees a new 1.4.x release - https://github.com/erlang/rebar3/releases/tag/3.17.0 (https://github.com/erlang/rebar3/releases/tag/3.17.0) – Rebar had a new release 3.17.0 - https://github.com/woylie/ectonestedchangeset (https://github.com/woylie/ecto_nested_changeset) – Ecto Nested Changeset project - https://github.com/elixir-ecto/ecto/pull/3731 (https://github.com/elixir-ecto/ecto/pull/3731) – Discussion that lead to pulling out as a separate library 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.voltone.net/post/29 (https://blog.voltone.net/post/29) – Initial post describing the problem - https://blog.voltone.net/post/30 (https://blog.voltone.net/post/30) – Updates and mitigation recommendations - https://www.youtube.com/watch?v=0jzcPnsE4nQ (https://www.youtube.com/watch?v=0jzcPnsE4nQ) – Learn you some 'ssl' for much security! - ElixirConfEU 2019 - https://erlef.github.io/security-wg/securecodinganddeploymenthardening/inets (https://erlef.github.io/security-wg/secure_coding_and_deployment_hardening/inets) - https://blog.voltone.net/post/27 (https://blog.voltone.net/post/27) – CVE-2020-35733 discovered in December - https://blog.voltone.net/post/28 (https://blog.voltone.net/post/28) - https://www.youtube.com/watch?v=r0DuAse9tK8 (https://www.youtube.com/watch?v=r0DuAse9tK8) - https://pragprog.com/titles/jaerlang2/programming-erlang-2nd-edition/ (https://pragprog.com/titles/jaerlang2/programming-erlang-2nd-edition/) - OTP 24.0.4 and later is good - OTP 23.3.4.6 and later is good - https://github.com/dlesl/erqwest (https://github.com/dlesl/erqwest) - https://hex.pm/packages/mint (https://hex.pm/packages/mint) - https://xkcd.com/927/ (https://xkcd.com/927/) – The referenced XKCD comic - https://arstechnica.com/gadgets/2020/12/lets-encrypt-comes-up-with-workaround-for-abandonware-android-devices/ (https://arstechnica.com/gadgets/2020/12/lets-encrypt-comes-up-with-workaround-for-abandonware-android-devices/) - https://github.com/elixir-mint/mint/pull/328 (https://github.com/elixir-mint/mint/pull/328) - https://blog.voltone.net/post/28 (https://blog.voltone.net/post/28) - https://blog.voltone.net/post/27 (https://blog.voltone.net/post/27) - https://en.wikipedia.org/wiki/Heartbleed (https://en.wikipedia.org/wiki/Heartbleed) - https://istio.io/ (https://istio.io/) - https://hex.pm/packages/hackney (https://hex.pm/packages/hackney) - https://hex.pm/packages/finch (https://hex.pm/packages/finch) - https://blog.voltone.net/ (https://blog.voltone.net/) Guest Information - https://twitter.com/voltonez (https://twitter.com/voltonez) – on Twitter - https://github.com/voltone/ (https://github.com/voltone/) – on Github - https://blog.voltone.net/ (https://blog.voltone.net/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/14/202142 minutes, 52 seconds
Episode Artwork

63: SMS Texting in Nerves with Peter Ullrich

We talk with Peter Ullrich about his experience sending SMS messages from a Raspberry Pi Zero using Nerves. We cover what went well, what didn’t and get a glimpse into the current state of Nerves for a newbie when dealing with hardware. Peter also tried Livebook for Nerves and had a great experience with that. We discuss the challenges of hardware systems dealing with the “real world” but see how Elixir makes the process easier to model and think about. Show Notes online - http://podcast.thinkingelixir.com/63 (http://podcast.thinkingelixir.com/63) Elixir Community News - https://github.com/elixir-lang/ex_doc/pull/1386#issuecomment-905623723 (https://github.com/elixir-lang/ex_doc/pull/1386#issuecomment-905623723) – LiveBook support in ExDocs - https://hexdocs.pm/phoenix/1.6.0-rc.0/fly.html#goals (https://hexdocs.pm/phoenix/1.6.0-rc.0/fly.html#goals) – Fly.io deployment guide in Phoenix documentation - https://github.com/wojtekmach/mixinstallexamples/blob/main/oban.exs (https://github.com/wojtekmach/mix_install_examples/blob/main/oban.exs) – Wojtek Mach's Mix.install script using the Oban library and database tables - https://github.com/smartlogic/augur (https://github.com/smartlogic/augur) – SmartLogic open sourced Augur library for helping Elixir systems that send SMS messages - https://elixir-broadway.org/ (https://elixir-broadway.org/) – Broadway library has it's own website - https://twitter.com/mcrumm/status/1431316375893467137 (https://twitter.com/mcrumm/status/1431316375893467137) – Michael Crumm shares how live_session/3 are 2x-4x faster for him - https://twitter.com/atyborska93/status/1431670143483060230 (https://twitter.com/atyborska93/status/1431670143483060230) – Angelika Tyborska shares that Exercism v3 is up with a new Elixir track - https://thinkingelixir.com/podcast-episodes/050-exercism-io-and-elixir-with-angelika-tyborska/ (https://thinkingelixir.com/podcast-episodes/050-exercism-io-and-elixir-with-angelika-tyborska/) – Previous interview with Angelika Tyborska about the Elixir track in Exercism v3 - https://exercism.org/tracks/elixir/ (https://exercism.org/tracks/elixir/) – Excercism.io's Elixir track - https://twitter.com/voltonez/status/1432208014103220224 (https://twitter.com/voltonez/status/1432208014103220224) – Erlang updates needed for expiring root CA certificate support - https://blog.voltone.net/post/30 (https://blog.voltone.net/post/30) – Bram Verburg's detailed write up on the needed updates - https://elixir-lang.org/getting-started/introduction.html (https://elixir-lang.org/getting-started/introduction.html) – Elixir getting started docs - https://hexdocs.pm/elixir/Kernel.html (https://hexdocs.pm/elixir/Kernel.html) – Elixir's docs in HexDocs - https://elixirschool.com/en/ (https://elixirschool.com/en/) – Elixir School, good free resource for learning Elixir - https://thinkingelixir.com/available-courses/pattern-matching/ (https://thinkingelixir.com/available-courses/pattern-matching/) – ThinkingElixir free Pattern Matching course for learning 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://www.peterullrich.com/sending-text-messages-with-nerves (https://www.peterullrich.com/sending-text-messages-with-nerves) - https://www.peterullrich.com/using-livebook-with-nerves (https://www.peterullrich.com/using-livebook-with-nerves) - https://podcasts.apple.com/us/podcast/explain-blockchain/id1326636335 (https://podcasts.apple.com/us/podcast/explain-blockchain/id1326636335) - https://www.youtube.com/watch?v=bsyjSW46TDg (https://www.youtube.com/watch?v=bsyjSW46TDg) - https://www.youtube.com/watch?v=mrpQHZcy3CI&ab_channel=CraftHubEvents (https://www.youtube.com/watch?v=mrpQHZcy3CI&ab_channel=CraftHubEvents) - https://nerves.group/ (https://nerves.group/) - https://github.com/fhunleth/nerves_livebook/releases (https://github.com/fhunleth/nerves_livebook/releases) - https://github.com/fhunleth/nerves_livebook (https://github.com/fhunleth/nerves_livebook) Guest Information - https://twitter.com/PJUllrich (https://twitter.com/PJUllrich) – on Twitter - https://github.com/PJUllrich/ (https://github.com/PJUllrich/) – on Github - http://peterullrich.com/ (http://peterullrich.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/7/202143 minutes, 33 seconds
Episode Artwork

62: Chris McCord joins Fly.io and Phoenix 1.6

We talk with Chris McCord about his recent announcement that he’s moved to work at Fly.io! We cover what this means for the Phoenix project and ongoing Phoenix development work. He shares why he’s excited about the Fly platform which includes how it replaces his need for a CDN! We also talk about the new Phoenix 1.6 release and all the goodness coming there. This release includes the HEEX engine for validated HTML at compile time, making the auth generators official, a new mailer generator, and the move away from Webpack to esbuild. We go deeper on what the move to esbuild means for existing projects before hearing where Chris wants to put his focus next. We covered a lot, so buckle up! Show Notes online - http://podcast.thinkingelixir.com/62 (http://podcast.thinkingelixir.com/62) Elixir Community News - https://github.com/elixir-lang/elixir/pull/11184 (https://github.com/elixir-lang/elixir/pull/11184) – Another improvement made to mix xref graph to find why module A depends on module B. - https://github.com/elixir-lang/elixir/pull/11201 (https://github.com/elixir-lang/elixir/pull/11201) – Recompile only necessary deps whenever config/lock change - https://github.com/livebook-dev/livebook/pull/513 (https://github.com/livebook-dev/livebook/pull/513) – IEx and Livebook both get improved intellisense (code completion) for structs and sigils. - https://twitter.com/akoutmos/status/1429835571745153024 (https://twitter.com/akoutmos/status/1429835571745153024) – PromEx sponsored by SmartLogic - https://twitter.com/mitchhanberg/status/1429854685087797248 (https://twitter.com/mitchhanberg/status/1429854685087797248) – Wallaby sponsored by SmartLogic - https://blog.erlang.org/scalable-ets-counters/ (https://blog.erlang.org/scalable-ets-counters/) – Lukas Larsson from the Erlang OTP team, wrote a blog post about using ETS tables for distributed counters. - https://github.com/erlang/otp/pull/4719 (https://github.com/erlang/otp/pull/4719) – OTP 24.1 gets better float to string 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/chris_mccord/status/1428821074553315332 (https://twitter.com/chris_mccord/status/1428821074553315332) – Chris McCord announced he joined Fly.io - https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md#changelog-for-v16 (https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md#changelog-for-v16) – Phoenix 1.6 changelog - https://github.com/phoenixframework/phoenixliveview (https://github.com/phoenixframework/phoenix_live_view) – Phoenix LiveView 0.16 released - https://github.com/surface-ui/surface (https://github.com/surface-ui/surface) - https://twitter.com/MarlusSaraiva (https://twitter.com/MarlusSaraiva) - https://github.com/surface-ui/surface_catalogue (https://github.com/surface-ui/surface_catalogue) - https://dashbit.co/blog/a-new-authentication-solution-for-phoenix (https://dashbit.co/blog/a-new-authentication-solution-for-phoenix) - https://github.com/heartcombo/devise (https://github.com/heartcombo/devise) - https://github.com/swoosh/swoosh (https://github.com/swoosh/swoosh) - https://esbuild.github.io/ (https://esbuild.github.io/) Guest Information - https://twitter.com/chris_mccord (https://twitter.com/chris_mccord) – on Twitter - https://github.com/chrismccord (https://github.com/chrismccord) – on Github - http://chrismccord.com/ (http://chrismccord.com/) – Blog - https://twitter.com/flydotio (https://twitter.com/flydotio) – Fly.io on Twitter Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/31/202156 minutes, 57 seconds
Episode Artwork

61: Elixir's Recent Brex-it

We cover the news then talk about the Brex announcement that they are shifting to a Kotlin-first strategy over Elixir. This reminds us of patterns we’ve seen in our careers and we reflect on what it means to us personally and professionally. We share our perspectives on Elixir, how it’s different from the languages we’ve used before and the unique value we get from it. Show Notes online - http://podcast.thinkingelixir.com/61 (http://podcast.thinkingelixir.com/61) Elixir Community News - https://medium.com/brexeng/building-backend-services-with-kotlin-7c8410795e4b (https://medium.com/brexeng/building-backend-services-with-kotlin-7c8410795e4b) – Brex announcement they are moving to Kotlin first - https://github.com/phoenixframework/phoenixliveview/blob/master/CHANGELOG.md#0160-2021-08-10 (https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md#0160-2021-08-10) – LiveView 0.16 released - https://github.com/phoenixframework/vscode-phoenix (https://github.com/phoenixframework/vscode-phoenix) – VSCode support for HEEx is coming in new extension - https://github.com/nvim-treesitter/nvim-treesitter/pull/1700/files (https://github.com/nvim-treesitter/nvim-treesitter/pull/1700/files) – nvim-treesitter gets HEEx support - https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/136 (https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/136) – ElixirLS 0.8.0 released - https://github.com/erlang-ls/erlang_ls/releases/tag/0.18.0 (https://github.com/erlang-ls/erlang_ls/releases/tag/0.18.0) – Erlang LS 0.18.0 released - https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir/ (https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir/) – Book "Concurrent Data Processing in Elixir" released by PragProg - https://twitter.com/elixirbookclub (https://twitter.com/elixirbookclub) – Book club is reading through this book right now if you're interested - https://github.com/wyeworks/boom (https://github.com/wyeworks/boom) – WyeWorks has an open source library called "boom" that was inspired by the ExceptionNotification Rack/Rails gem - https://github.com/mcrumm/liveuploadexample/pull/7 (https://github.com/mcrumm/live_upload_example/pull/7) – Example showing how to crop a photo using the croppr.js library and LiveView - https://slab.com/blog/announcing-delta-for-elixir/ (https://slab.com/blog/announcing-delta-for-elixir/) – Slab open-sourced their Operational Transforms library that pairs nicely with Quill, the JavaScript collaborative editor - https://github.com/slab/delta-elixir (https://github.com/slab/delta-elixir) – Slab's OT project - https://thinkingelixir.com/podcast-episodes/048-ecto-associations-with-sheharyar-naseer/ (https://thinkingelixir.com/podcast-episodes/048-ecto-associations-with-sheharyar-naseer/) – Interview with Sheharyar Naseer from Slab 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://thinkingelixir.com/podcast-episodes/059-how-elixir-came-to-spotify-with-joel-kemp/ (https://thinkingelixir.com/podcast-episodes/059-how-elixir-came-to-spotify-with-joel-kemp/) - https://twitter.com/ChrisKeathley/status/1425471653014876163 (https://twitter.com/ChrisKeathley/status/1425471653014876163) - https://www.theregister.com/2012/11/08/twitterepictrafficsavedby_java/ (https://www.theregister.com/2012/11/08/twitter_epic_traffic_saved_by_java/) - https://www.infoq.com/articles/twitter-java-use/ (https://www.infoq.com/articles/twitter-java-use/) - https://sysgears.com/articles/how-and-why-twitter-uses-scala/ (https://sysgears.com/articles/how-and-why-twitter-uses-scala/) - https://github.blog/2009-10-20-how-we-made-github-fast/ (https://github.blog/2009-10-20-how-we-made-github-fast/) - https://developer.github.com/changes/2018-04-25-github-services-deprecation/ (https://developer.github.com/changes/2018-04-25-github-services-deprecation/) - https://www.infoq.com/presentations/github-rails-monolith-microservices/ (https://www.infoq.com/presentations/github-rails-monolith-microservices/) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/24/202130 minutes, 32 seconds
Episode Artwork

60: Compile Faster with Marc-André Lafortune

We talk with Marc-André Lafortune about reducing Elixir project compile times. On larger projects, when a single file like a view template is changed and over 100 files get recompiled, there is something wrong. Marc-André explains how he identified the problems in his project and contributed to Elixir’s mix xref tool making it easier for us to find those problems in our own projects! We cover how these tooling improvements were used to improve the upcoming Phoenix 1.6 and Elixir 1.13! An additional mix xref flag was added to run CI checks on our code to prevent accidentally adding code that slows our compile times. Show Notes online - http://podcast.thinkingelixir.com/60 (http://podcast.thinkingelixir.com/60) Elixir Community News - https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread (https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread) – Elixir is number 4 among the "most loved" languages on Stack Overflow's developer survey - https://insights.stackoverflow.com/survey/2021#section-top-paying-technologies-top-paying-technologies (https://insights.stackoverflow.com/survey/2021#section-top-paying-technologies-top-paying-technologies) – Elixir is number 3 in highest paid languages on Stack Overflow's developer survey - https://github.com/nvim-treesitter/nvim-treesitter/pull/1645 (https://github.com/nvim-treesitter/nvim-treesitter/pull/1645) – Neovim adds tree-sitter (a syntax parser) support for the Surface library - https://github.com/surface-ui/surface_tailwind/issues/1#issuecomment-884981076 (https://github.com/surface-ui/surface_tailwind/issues/1#issuecomment-884981076) – Surface Catalogue to continue and may redesign the UI using TailwindCSS - https://github.com/phoenixframework/phoenix/issues/4403#issuecomment-895354673 (https://github.com/phoenixframework/phoenix/issues/4403#issuecomment-895354673) – Phoenix 1.6 possibly released this week? 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/josevalim/status/1421912595456569351 (https://twitter.com/josevalim/status/1421912595456569351) – Thread talks about the change - https://groups.google.com/g/elixir-lang-core/c/Hmg5y8S3v4E/m/FVK50RWBAQAJ?pli=1 (https://groups.google.com/g/elixir-lang-core/c/Hmg5y8S3v4E/m/FVK50RWBAQAJ?pli=1) – Elixir core mailing list where feature was discussed - https://hexdocs.pm/mix/master/Mix.Tasks.Xref.html#module-understanding-the-printed-graph (https://hexdocs.pm/mix/master/Mix.Tasks.Xref.html#module-understanding-the-printed-graph) - https://github.com/elixir-lang/elixir/pull/11044 (https://github.com/elixir-lang/elixir/pull/11044) – Add "--label compile-connected" option to mix xref graph - https://github.com/elixir-lang/elixir/pull/11048 (https://github.com/elixir-lang/elixir/pull/11048) – Add "--fail-above" option to mix xref making it good for CI systems - https://github.com/elixir-lang/elixir/pull/11049 (https://github.com/elixir-lang/elixir/pull/11049) – Support multiple sinks and sources in mix xref graph - https://github.com/elixir-lang/elixir/pull/11162 (https://github.com/elixir-lang/elixir/pull/11162) – Update docs - https://github.com/elixir-lang/elixir/pull/11080 (https://github.com/elixir-lang/elixir/pull/11080) – Rely on modification time and hash to determine modified sources - https://dashbit.co/blog/speeding-up-re-compilation-of-elixir-projects (https://dashbit.co/blog/speeding-up-re-compilation-of-elixir-projects) – Blog post on recompilations - https://github.com/phoenixframework/phoenix/issues/4408 (https://github.com/phoenixframework/phoenix/issues/4408) – Example 1 of sneaky macros introducing compile-time dependencies - https://github.com/phoenixframework/phoenix/issues/4409 (https://github.com/phoenixframework/phoenix/issues/4409) – Example 2 of sneaky macros introducing compile-time dependencies - https://exercism.io/tracks/elixir (https://exercism.io/tracks/elixir) - https://github.com/rbenv/rbenv (https://github.com/rbenv/rbenv) - https://rvm.io/ (https://rvm.io/) - https://www.super.mx/ (https://www.super.mx/) - https://xkcd.com/303/ (https://xkcd.com/303/) - --label compile-connected - --fail-above Guest Information - https://twitter.com/malafortune (https://twitter.com/malafortune) – on Twitter - https://github.com/marcandre/ (https://github.com/marcandre/) – on Github - http://blog.marc-andre.ca/ (http://blog.marc-andre.ca/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/17/202143 minutes, 2 seconds
Episode Artwork

59: How Elixir Came to Spotify with Joel Kemp

We talk with Joel Kemp about his experience introducing Elixir at Spotify. We learn about the concurrency problems he had with the default stack and how that was solved with the BEAM. We talk about the inertia that larger companies have that make introducing any change harder. Joel compares the process to running a marathon and shares some tactics used to help build internal support and interest. Fascinating insight into a well known company and how Elixir is helping internally. Show Notes online - http://podcast.thinkingelixir.com/59 (http://podcast.thinkingelixir.com/59) Elixir Community News - https://www.youtube.com/playlist?list=PLCv-QRhbg07E3pe58eQauGibLv0A1fYm8 (https://www.youtube.com/playlist?list=PLCv-QRhbg07E3pe58eQauGibLv0A1fYm8) – ElixirWizard's Conference 2021 videos are on YouTube. - https://pragprog.com/titles/lmelixir/testing-elixir/ (https://pragprog.com/titles/lmelixir/testing-elixir/) – Testing Elixir book. 40% off promo code "LMELIXIRCOMPLETE" - https://twitter.com/josevalim/status/1421912595456569351 (https://twitter.com/josevalim/status/1421912595456569351) – Elixir 1.13 gets "mix xref graph" improvements - https://en.wikipedia.org/wiki/Transitive_dependency (https://en.wikipedia.org/wiki/Transitive_dependency) – Transitive Dependency info - https://twitter.com/josevalim/status/1420810455854067723 (https://twitter.com/josevalim/status/1420810455854067723) – esbuild fixed last technical hurdle for use in Phoenix - https://github.com/josevalim/phxesbuilddemo/commit/0546034f26ac5d58d12867e5843037ce1b2d4dd1 (https://github.com/josevalim/phx_esbuild_demo/commit/0546034f26ac5d58d12867e5843037ce1b2d4dd1) – Jose Valim shows how to switch to esbuild on a project - Oban and Oban Pro updates released improving time scheduling (Oban and Oban Pro updates released improving time scheduling) – https://twitter.com/sorentwo/status/1421169698713088001 - https://elixir-lang.org/blog/2021/07/29/bootstraping-a-multiplayer-server-with-elixir-at-x-plane/ (https://elixir-lang.org/blog/2021/07/29/bootstraping-a-multiplayer-server-with-elixir-at-x-plane/) – Bootstrapping a multiplayer server with Elixir at X-Plane blog post - https://thinkingelixir.com/podcast-episodes/035-x-planes-elixir-mmo-with-tyler-young/ (https://thinkingelixir.com/podcast-episodes/035-x-planes-elixir-mmo-with-tyler-young/) – Our previous interview with Tyler Young about X-Plane and 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://medium.com/elixir-learnings/learnings-using-phoenix-liveview-for-internal-web-applications-38711193ca13 (https://medium.com/elixir-learnings/learnings-using-phoenix-liveview-for-internal-web-applications-38711193ca13) - https://mrjoelkemp.medium.com/jvm-struggles-and-the-beam-4d9c58547410 (https://mrjoelkemp.medium.com/jvm-struggles-and-the-beam-4d9c58547410) - https://www.spotify.com/ (https://www.spotify.com/) - https://www.lifeatspotify.com/ (https://www.lifeatspotify.com/) Guest Information - https://twitter.com/mrjoelkemp (https://twitter.com/mrjoelkemp) – on Twitter - https://github.com/mrjoelkemp (https://github.com/mrjoelkemp) – on Github - https://mrjoelkemp.medium.com/ (https://mrjoelkemp.medium.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/10/202143 minutes, 5 seconds
Episode Artwork

58: News and Livebook for Business Intelligence

After covering the news we catch up on what Elixir things we've been thinking about and working on. Mark brings up using Livebook as a Business Intelligence tool for doing analysis of a running application's data. David brings up how to design safe data migrations in Elixir systems, examples from the Rails ecosystem and how he's thinking about that for Elixir. Show Notes online - http://podcast.thinkingelixir.com/58 (http://podcast.thinkingelixir.com/58) Elixir Community News - https://2021.elixirconf.com/#up-next (https://2021.elixirconf.com/#up-next) – ElixirConf talks are being accepted! Speakers not yet fully announced. - https://github.com/livebook-dev/livebook/pull/453 (https://github.com/livebook-dev/livebook/pull/453) – Livebook gets "hover contexts". - https://github.com/fhunleth/nerves_livebook/releases/tag/v0.2.16 (https://github.com/fhunleth/nerves_livebook/releases/tag/v0.2.16) – Nerves Livebook updated release - https://www.youtube.com/watch?v=n2lUa7PACV8 (https://www.youtube.com/watch?v=n2lUa7PACV8) – Elixir Roundtable Number 4 - https://github.com/CargoSense/dart_sass (https://github.com/CargoSense/dart_sass) – Mix wrapper around dart-sass 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/blog/better-business-intelligence-in-elixir-with-livebook/ (https://fly.io/blog/better-business-intelligence-in-elixir-with-livebook/) - https://fly.io/docs/app-guides/elixir-livebook-connection-to-your-app/#business-intelligence-through-livebook (https://fly.io/docs/app-guides/elixir-livebook-connection-to-your-app/#business-intelligence-through-livebook) – Fly.io docs for doing BI with Livebook to running apps - https://github.com/livebook-dev/livebook (https://github.com/livebook-dev/livebook) – Livebook project - https://en.wikipedia.org/wiki/Business_intelligence (https://en.wikipedia.org/wiki/Business_intelligence) – Business Intelligence or BI - https://www.metabase.com/ (https://www.metabase.com/) – OpenSource BI tool - https://rubygems.org/gems/strong_migrations (https://rubygems.org/gems/strong_migrations) – RubyGem StrongMigrations Guest Information - No special guests this time. Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/3/202121 minutes, 25 seconds
Episode Artwork

57: Scaling Live Chat with Cade Ward

We sat down with co-host Cade Ward to hear how he and his team tackled a problem of hosting live web chats with crowds of 120K+ users coming together for live events. On the show, we have talked with a couple guests with similar bursting high-load situations. Cade had been through it too so it was time to dig in and cover how this situation can be solved. We cover the different attempts and temporary solutions used and the final solution that has been working really well. In fact it works so well, during a recent event, the auto-scaling didn’t kick in and everything was still fine! Show Notes online - http://podcast.thinkingelixir.com/57 (http://podcast.thinkingelixir.com/57) Elixir Community News - https://github.com/phoenixframework/phoenix/pull/4377 (https://github.com/phoenixframework/phoenix/pull/4377) – Phoenix v1.6 will officially use esbuild! - https://twitter.com/sorentwo/status/1417462054114537476 (https://twitter.com/sorentwo/status/1417462054114537476) – Parker Selbert identified the issue counts linked to JS packaging... ~30% of total issues! - https://twitter.com/mcrumm/status/1417141537541033985 (https://twitter.com/mcrumm/status/1417141537541033985) – Phoenix View can now be used as a separate package - https://utils.zest.dev/gendiff (https://utils.zest.dev/gendiff) – David's tool for diffing generated projects. Includes support for the different flags. - https://hexdocs.pm/k8s/changelog.html#1-0-0-2021-07-19 (https://hexdocs.pm/k8s/changelog.html#1-0-0-2021-07-19) – The "k8s" library was updated and got a 1.0 release tag - https://pragprog.com/titles/lmelixir/testing-elixir/ (https://pragprog.com/titles/lmelixir/testing-elixir/) – The Book "Testing Elixir" launched in Beta - https://twitter.com/remote/status/1414919265841557510 (https://twitter.com/remote/status/1414919265841557510) – Remote raises $150M and is using Elixir - https://github.com/livebook-dev/livebook/pull/418 (https://github.com/livebook-dev/livebook/pull/418) – Livebook UX improvement to restart runtime when Mix.install packages changed - https://github.com/livebook-dev/livebook/pull/449 (https://github.com/livebook-dev/livebook/pull/449) – Support for "branching sections" added to Livebook notebooks - https://github.com/wojtekmach/notebooks/blob/main/client_server.livemd (https://github.com/wojtekmach/notebooks/blob/main/client_server.livemd) – Wojtek Mach created a notebook using branching sections to create a client-server setup in a single notebook - https://github.com/livebook-dev/livebook/pull/441 (https://github.com/livebook-dev/livebook/pull/441) – Livebook notebooks can link to each other - https://erlang.org/pipermail/erlang-questions/2021-July/101209.html (https://erlang.org/pipermail/erlang-questions/2021-July/101209.html) – Frank Hunleth of the Nerves project encountered performance issue when shutting down a node. Interesting discussion with the OTP Team. - https://github.com/erlang/otp/pull/5032 (https://github.com/erlang/otp/pull/5032) – OTP PR opened for speeding up controlled shutdowns - https://github.com/fhunleth/nerves_livebook/releases/tag/v0.2.14 (https://github.com/fhunleth/nerves_livebook/releases/tag/v0.2.14) – Nerves 1.7.9 is out with minor updates to all systems and toolchain - https://nervesconf.com/ (https://nervesconf.com/) – Nerves Conf October 11 in Austin Texas, timed with ElixirConf 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://elixirforum.com/t/implementing-a-distributed-users-counter/39609 (https://elixirforum.com/t/implementing-a-distributed-users-counter/39609) – Link to Cade's Elixir Forum post with discussion - https://gist.github.com/cadebward/c24fc4aced526d9d35bb00a6a8140784 (https://gist.github.com/cadebward/c24fc4aced526d9d35bb00a6a8140784) – Gist of the Cade's working solution - https://www.vidangel.com/ (https://www.vidangel.com/) – First incarnation of company before pivot - https://invest.angel.com/ (https://invest.angel.com/) – Angel Studios kickstarter like projects - https://elixirforum.com/ (https://elixirforum.com/) - http://angel.com/apply (http://angel.com/apply) – Angel Studios is hiring! Guest Information - https://twitter.com/cadebward (https://twitter.com/cadebward) – on Twitter - https://github.com/cadebward/ (https://github.com/cadebward/) – on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
7/27/202157 minutes, 19 seconds
Episode Artwork

56: Fly-ing Elixir Close to Users with Kurt Mackey

We talk with Kurt Mackey, founder at Fly.io, about what makes the Fly platform unique and why hosting Elixir applications there makes a lot of sense. They started out looking to make a better CDN for developers and this pushed them to try deploying Full Stack applications closer to users, not just the static assets! We learn about the tech behind the networking, how databases can be moved closer to users, and how LiveView is even more awesome when it is close to users. Kurt also shares what he sees as the future for databases as the industry continues to move into globally distributed applications. Show Notes online - http://podcast.thinkingelixir.com/56 (http://podcast.thinkingelixir.com/56) Elixir Community News - https://github.com/elixir-lang/elixir/pull/11101 (https://github.com/elixir-lang/elixir/pull/11101) – Task.completed/1 function added - https://github.com/elixir-lang/elixir/releases/tag/v1.12.2 (https://github.com/elixir-lang/elixir/releases/tag/v1.12.2) – Elixir 1.12.2 minor release - https://github.com/phoenixframework/phoenixliveview/pull/1511 (https://github.com/phoenixframework/phoenix_live_view/pull/1511) – LV Lifecycle Hooks - https://github.com/phoenixframework/phoenixliveview/pull/1515 (https://github.com/phoenixframework/phoenix_live_view/pull/1515) – Add onmount option to livesession - https://github.com/phoenixframework/phoenixliveview/pull/1513 (https://github.com/phoenixframework/phoenix_live_view/pull/1513) – New formfor/4 - https://github.com/phoenixframework/phoenix/pull/4355 (https://github.com/phoenixframework/phoenix/pull/4355) – Add mailer generator for swoosh - https://github.com/akoutmos/prom_ex/blob/master/CHANGELOG.md (https://github.com/akoutmos/prom_ex/blob/master/CHANGELOG.md) – promex library has 1.3.0 release adding Absinthe GraphQL plugin and dashboard - https://fly.io/blog/monitoring-your-fly-io-apps-with-prometheus/ (https://fly.io/blog/monitoring-your-fly-io-apps-with-prometheus/) – Using promex on an Elixir project - https://github.com/wojtekmach/elixir-run (https://github.com/wojtekmach/elixir-run) – Wojtek Mach released a new project called "elixir-run" - https://github.com/nurturenature/elixir_actions#elixir-actions-for-github (https://github.com/nurturenature/elixir_actions#elixir-actions-for-github) – Elixir Github Actions CI example repo - https://twitter.com/evadne/status/1412083538988613636 (https://twitter.com/evadne/status/1412083538988613636) – Etso 0.1.6 was released adding "isnil" query 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://fly.io/ (https://fly.io/) - https://fly.io/docs/introduction/ (https://fly.io/docs/introduction/) - https://fly.io/blog/building-a-distributed-turn-based-game-system-in-elixir/ (https://fly.io/blog/building-a-distributed-turn-based-game-system-in-elixir/) - https://www.compose.com/ (https://www.compose.com/) - https://twitter.com/QuinnyPig (https://twitter.com/QuinnyPig) – Corey Quinn on Twitter - https://nats.io/ (https://nats.io/) - https://jamstack.org/ (https://jamstack.org/) - https://liveview-counter.fly.dev/ (https://liveview-counter.fly.dev/) - https://github.com/fly-apps/phoenix-liveview-cluster (https://github.com/fly-apps/phoenix-liveview-cluster) - https://en.wikipedia.org/wiki/Anycast (https://en.wikipedia.org/wiki/Anycast) - https://en.wikipedia.org/wiki/BorderGatewayProtocol (https://en.wikipedia.org/wiki/Border_Gateway_Protocol) - https://en.wikipedia.org/wiki/Contentdeliverynetwork (https://en.wikipedia.org/wiki/Content_delivery_network) - https://www.wireguard.com/ (https://www.wireguard.com/) - https://tailscale.com/ (https://tailscale.com/) - https://fly.io/blog/globally-distributed-postgres/ (https://fly.io/blog/globally-distributed-postgres/) - https://www.cockroachlabs.com/ (https://www.cockroachlabs.com/) - https://www.yugabyte.com/ (https://www.yugabyte.com/) - https://www.citusdata.com/ (https://www.citusdata.com/) - https://fly.io/blog/ (https://fly.io/blog/) - https://twitter.com/flydotio (https://twitter.com/flydotio) - https://en.wikipedia.org/wiki/JoeArmstrong(programmer) (https://en.wikipedia.org/wiki/Joe_Armstrong_(programmer)) Guest Information - https://twitter.com/mrkurt (https://twitter.com/mrkurt) – on Twitter - https://github.com/mrkurt (https://github.com/mrkurt) – on Github - https://fly.io/blog/ (https://fly.io/blog/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
7/13/202159 minutes, 32 seconds
Episode Artwork

55: Learning from Failure with Philipp Schmieder

We talk with Philipp Schmieder about his experience creating a LiveView application for a political party’s convention and then watching the app blow up. We learn how he recovered, why it failed, and how he fixed it going forward. We also discuss some other application architecture ideas and how they might work. It’s a great post-mortem discussion where Philipp shares his wisdom so others learn from the mistakes. After experiencing all this, find out why he’s still bullish on LiveView and Elixir! Show Notes online - http://podcast.thinkingelixir.com/55 (http://podcast.thinkingelixir.com/55) Elixir Community News - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConfEU - Warsaw Poland, September 9-10 - https://2021.elixirconf.com/ (https://2021.elixirconf.com/) – ElixirConf US 2021 Austin, TX October 12-13 and Online, October 14-15. - https://www.codebeambr.com/ (https://www.codebeambr.com/) – Code Beam Brazil posted their videos from 2020 - https://github.com/elixir-nx/livebook/pull/389 (https://github.com/elixir-nx/livebook/pull/389) – Livebook gets "reactive inputs" - https://github.com/elixir-nx/livebook/pull/410 (https://github.com/elixir-nx/livebook/pull/410) – Livebook gets input color selectors - https://github.com/kw7oe/livebook-notebooks/blob/main/debugging-with-tracing-in-elixir-with-recon_trace.livemd (https://github.com/kw7oe/livebook-notebooks/blob/main/debugging-with-tracing-in-elixir-with-recon_trace.livemd) – Notebook explaining recon_trace by Kai Wern - https://twitter.com/ThinkingElixir (https://twitter.com/ThinkingElixir) – Tell us about your project, post, conference, or other Elixir news! 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://pentacent.com/blog/failing-big-elixir-liveview/ (https://pentacent.com/blog/failing-big-elixir-liveview/) - https://twitter.com/pentacent_hq/status/1399330035937464320 (https://twitter.com/pentacent_hq/status/1399330035937464320) - :observer.start - :crashdump_viewer.start - https://hexdocs.pm/phoenix_pubsub/Phoenix.Tracker.html (https://hexdocs.pm/phoenix_pubsub/Phoenix.Tracker.html) - https://hex.pm/packages/etso (https://hex.pm/packages/etso) - https://www.keila.io/ (https://www.keila.io/) – MailChimp-like project extracted for helping with mailings Guest Information - https://twitter.com/pentacent_hq (https://twitter.com/pentacent_hq) – on Twitter - https://github.com/wmnnd/ (https://github.com/wmnnd/) – on Github - https://pentacent.com/ (https://pentacent.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
7/6/202137 minutes, 23 seconds
Episode Artwork

54: AST Parsing using Sourceror with Lucas San Román

We talk with Lucas San Román about his library Sourceror and how it was created to solve some AST parsing limitations. The Elixir parser discards code comments, so it can’t be used for re-writing Elixir code when refactoring. IDE’s often include more advanced refactoring tools and the ability to provide that requires a smarter parser. Sourceror keeps the comments while also providing advanced features like a Zipper API to more easily navigate around the source tree while inserting and removing nodes. Learn what Sourceror can do and what it can enable for future Elixir tools! Show Notes online - http://podcast.thinkingelixir.com/54 (http://podcast.thinkingelixir.com/54) Elixir Community News - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConfEU will be in Warsaw Poland on September 9-10 - https://2021.elixirconf.com/ (https://2021.elixirconf.com/) – ElixirConf US 2021 ElixirConf US 2021 is being held in Austin, TX October 12-13 and Online, October 14-15 - https://github.com/phoenixframework/phoenixliveview/pull/1490 (https://github.com/phoenixframework/phoenix_live_view/pull/1490) – livesession for optimized live navigation purely over websockets PR was merged and had docs - https://github.com/livewire/livewire/commit/5cffdbfe4204e0d932cde6f8c9bdf63f0928b4d4#diff-7ce6ac695f53fd2e2c50f1f962b00fb2da5cdf2576a1c1d6eeacca29f34b6024R291 (https://github.com/livewire/livewire/commit/5cffdbfe4204e0d932cde6f8c9bdf63f0928b4d4#diff-7ce6ac695f53fd2e2c50f1f962b00fb2da5cdf2576a1c1d6eeacca29f34b6024R291) – Alpine V3 released - https://twitter.com/bernheisel/status/1404832454536478722 (https://twitter.com/bernheisel/status/1404832454536478722) – Need to update your Phoenix LiveView hook for Alpine V3 - https://github.com/erlang/otp/pull/4869 (https://github.com/erlang/otp/pull/4869) – ARM support for OTP24/JIT was merged a couple weeks ago - https://twitter.com/josevalim/status/1405586165315604486 (https://twitter.com/josevalim/status/1405586165315604486) – Livebook 0.2 released - https://youtu.be/MOTEgF-wIEI?t=1132 (https://youtu.be/MOTEgF-wIEI?t=1132) – Jose Valim's demo video - time signature to the Kino section - https://twitter.com/josevalim/status/1407084358750572548 (https://twitter.com/josevalim/status/1407084358750572548) – Tweet thread showing Kino datatable and execution timing display - https://github.com/kentaro/offbroadwayotp_distribution (https://github.com/kentaro/off_broadway_otp_distribution) – offbroadwayotp_distribution library - https://twitter.com/gleamlang/status/1405504902655361024 (https://twitter.com/gleamlang/status/1405504902655361024) – Gleam 0.16 released and can now compile to Javascript - https://gleam.run/news/v0.16-gleam-compiles-to-javascript/ (https://gleam.run/news/v0.16-gleam-compiles-to-javascript/) – Gleam release announcement - https://github.com/phoenixframework/phoenix/pull/4337 (https://github.com/phoenixframework/phoenix/pull/4337) – Asset Pipeline rewrite merged - https://youtu.be/vdhK0QPN61E?t=839 (https://youtu.be/vdhK0QPN61E?t=839) – Elixir Roundtable 3 discussion talks about the JS woes. Time signature links to the mentioned part of the discussion. - https://twitter.com/MarlusSaraiva/status/1405621630597013508 (https://twitter.com/MarlusSaraiva/status/1405621630597013508) – Surface 0.5 released - https://surface-ui.org/template_syntax (https://surface-ui.org/template_syntax) – Surface's new template syntax - https://github.com/surface-ui/surface/blob/master/MIGRATING.md (https://github.com/surface-ui/surface/blob/master/MIGRATING.md) – Surface migration guide 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/doorgan/sourceror (https://github.com/doorgan/sourceror) - https://twitter.com/bostonvaulter/status/1403055559612375041 (https://twitter.com/bostonvaulter/status/1403055559612375041) - https://www.youtube.com/watch?v=aM0BLWgr0g4 (https://www.youtube.com/watch?v=aM0BLWgr0g4) – Arjan Scherpenisse - The Elixir parser under the microscope - ElixirConfEU - https://groups.google.com/u/1/g/elixir-lang-core/c/GM0yM5Su1Zc/m/poIKsiEVDQAJ (https://groups.google.com/u/1/g/elixir-lang-core/c/GM0yM5Su1Zc/m/poIKsiEVDQAJ) - https://github.com/elixir-lsp/elixir-ls (https://github.com/elixir-lsp/elixir-ls) - https://dorgan.netlify.app/posts/2021/04/theelixirast/ (https://dorgan.netlify.app/posts/2021/04/the_elixir_ast/) - https://github.com/andyl/rfx (https://github.com/andyl/rfx) - Tonći Galić Guest Information - https://twitter.com/dorgandash1 (https://twitter.com/dorgandash1) – on Twitter - https://github.com/doorgan/ (https://github.com/doorgan/) – on Github - https://dorgan.netlify.app/ (https://dorgan.netlify.app/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
6/29/202153 minutes, 39 seconds
Episode Artwork

53: SOLID Elixir with Ilya Averyanov

We talk with Ilya Averyanov about how the SOLID principles, typically associated with OOP, can apply to Elixir. We talk about Ilya's blog post where he applied these principles to his Github project and how that helped in PR discussions. We also talk about testing, architecture, and more. Show Notes online - http://podcast.thinkingelixir.com/53 (http://podcast.thinkingelixir.com/53) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/pull/1490 (https://github.com/phoenixframework/phoenix_live_view/pull/1490) – Phoenix LiveView live_session PR coming up - https://github.com/phoenixframework/phoenixliveview/pull/1474 (https://github.com/phoenixframework/phoenix_live_view/pull/1474) – Phoenix LiveView internal rewrite of JS - https://github.com/phoenixframework/phoenix/pull/4337 (related, where explanation lives) (https://github.com/phoenixframework/phoenix/pull/4337 (related, where explanation lives)) – PR for "comprehensive rewrite of the Phoenix asset pipeline" - https://www.youtube.com/watch?v=vdhK0QPN61E (https://www.youtube.com/watch?v=vdhK0QPN61E) – Elixir Roundtable 3 - discussion with Chris McCord about the pipeline changes - https://elixirforum.com/t/elixir-gotchas-and-common-issues-wiki/40261 (https://elixirforum.com/t/elixir-gotchas-and-common-issues-wiki/40261) – Elixir Gotchas and Common Issues Wiki - https://twitter.com/FrancisChabouis/status/1404342105053466627 (https://twitter.com/FrancisChabouis/status/1404342105053466627) – French Government is using Elixir and Phoenix - https://github.com/etalab/transport-site (https://github.com/etalab/transport-site) – French government project - https://twitter.com/hmans/status/1402723032850997257 (https://twitter.com/hmans/status/1402723032850997257) – WebComponents and LiveView example as 3D WebGL - https://twitter.com/PeterLodewijk/status/1404462934030487553 (https://twitter.com/PeterLodewijk/status/1404462934030487553) – Hera Platform announced, sensor network running Erlang on GRiSP boards - https://www.info.ucl.ac.be/~pvr/Kalbusch22701600Verpoten611015002021.pdf (https://www.info.ucl.ac.be/~pvr/Kalbusch_22701600_Verpoten_61101500_2021.pdf) – Details in the paper on how it works 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://dev.to/savonarola/why-solid-may-be-useful-for-you-in-elixir-58me (https://dev.to/savonarola/why-solid-may-be-useful-for-you-in-elixir-58me) - https://en.wikipedia.org/wiki/SOLID (https://en.wikipedia.org/wiki/SOLID) - https://hexdocs.pm/gen_stage/GenStage.html#module-usage-guidelines (https://hexdocs.pm/gen_stage/GenStage.html#module-usage-guidelines) - https://www.theerlangelist.com/article/spawnornot (https://www.theerlangelist.com/article/spawn_or_not) - http://erlang.org/doc/man/xref.html (http://erlang.org/doc/man/xref.html) - https://github.com/sasa1977/boundary (https://github.com/sasa1977/boundary) - https://github.com/funbox/clean_mixer (https://github.com/funbox/clean_mixer) - https://github.com/funbox/smppex (https://github.com/funbox/smppex) - https://github.com/savonarola/smppex_telemetry (https://github.com/savonarola/smppex_telemetry) - https://github.com/beam-telemetry/telemetry (https://github.com/beam-telemetry/telemetry) - https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern (https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern) - https://docs.oracle.com/en/java/javase/15/language/sealed-classes-and-interfaces.html (https://docs.oracle.com/en/java/javase/15/language/sealed-classes-and-interfaces.html) - http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/ (http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/) - https://gameprogrammingpatterns.com/ (https://gameprogrammingpatterns.com/) - http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/ (http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/) - https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164 (https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164) – Clean Architecture - https://www.archunit.org/ (https://www.archunit.org/) – Testing architecture Guest Information - https://twitter.com/motonarola (https://twitter.com/motonarola) – on Twitter - https://github.com/savonarola/ (https://github.com/savonarola/) – on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
6/22/202135 minutes, 49 seconds
Episode Artwork

52: IOList and Postgres with Nathan Long

We take a deeper dive with Nathan Long into IOLists in Elixir. We cover what they are, how they work, the power they have when concatenating strings, and how they are used in Phoenix and Logger. We even talk about improper lists and why they exist. And no, it isn’t a bug. We then talk about PostgreSQL features like materialized views, triggers, and using denormalized tables for solving complicated caching situations. Nathan shares some tips for when to use them and provides some cautions worth hearing. Show Notes online - http://podcast.thinkingelixir.com/52 (http://podcast.thinkingelixir.com/52) Elixir Community News - https://2021.elixirconf.com/ (https://2021.elixirconf.com/) – ElixirConf US 2021 ElixirConf US 2021 scheduled for October - https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla/ (https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla/) – New Elixir Case study about Mozilla using Phoenix to create an opensource virtual social space called "Hubs" - https://ziglang.org/ (https://ziglang.org/) – Zig, the language some use to create NIFs was updated for Apple Silicon. - https://github.com/ityonemo/zigler (https://github.com/ityonemo/zigler) – The Elixir library for working with embedded Zig code - https://twitter.com/sean_moriarity/status/1401182959844143104 (https://twitter.com/sean_moriarity/status/1401182959844143104) – Training Callback feature added to Axon - https://github.com/elixir-nx/livebook/pull/328 (https://github.com/elixir-nx/livebook/pull/328) – Livebook gets a new "inputs" feature - https://thinkingelixir.com/podcast-episodes/046-livebook-with-jonatan-klosko/ (https://thinkingelixir.com/podcast-episodes/046-livebook-with-jonatan-klosko/) – Previous discussion with Livebook developer Jonatan Kłosko - https://twitter.com/michalslaski/status/1402243589720117255 (https://twitter.com/michalslaski/status/1402243589720117255) – Livebook notebook example shows a scatterplot displaying BEAM statistics like reductions and memory of processes - https://www.mitchellhanberg.com/how-i-handle-static-assets-in-my-phoenix-apps/ (https://www.mitchellhanberg.com/how-i-handle-static-assets-in-my-phoenix-apps/) – Ditch webpack? Handling static assets with Phoenix and esbuild, postcss-cli, cpx - https://www.mitchellhanberg.com/how-to-set-up-neovim-for-elixir-development/ (https://www.mitchellhanberg.com/how-to-set-up-neovim-for-elixir-development/) – Followup from last week's news item about Neovim, Language Server integration 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://nathanmlong.com/2021/05/what-is-an-iolist/ (https://nathanmlong.com/2021/05/what-is-an-iolist/) - https://nathanmlong.com/2016/11/elixir-and-io-lists-part-2-io-lists-in-phoenix/ (https://nathanmlong.com/2016/11/elixir-and-io-lists-part-2-io-lists-in-phoenix/) – Discussion on IOLists in Phoenix - https://nathanmlong.com/2016/11/elixir-and-unicode-part-1-unicode-and-utf8-explained/ (https://nathanmlong.com/2016/11/elixir-and-unicode-part-1-unicode-and-utf8-explained/) – Unicode background part 1 - https://nathanmlong.com/2016/11/elixir-and-unicode-part-2-working-with-unicode-strings/ (https://nathanmlong.com/2016/11/elixir-and-unicode-part-2-working-with-unicode-strings/) – Unicode background part 2 - https://devchat.tv/elixir-mix/emx-078-phoenix-phrenzy-with-nathan-long/ (https://devchat.tv/elixir-mix/emx-078-phoenix-phrenzy-with-nathan-long/) – Mark talked with Nathan back on Elixir Mix 78 about his work on the Phoenix Phrenzy competition/project - https://thinkingelixir.com/podcast-episodes/044-elixir-data-types-with-sasha-fonseca/ (https://thinkingelixir.com/podcast-episodes/044-elixir-data-types-with-sasha-fonseca/) – Episode 44 with Sasha Fonseca covered IOLists - https://www.youtube.com/watch?v=uf6cgxm9iFQ (https://www.youtube.com/watch?v=uf6cgxm9iFQ) – Dockyard Elixir Roundtable - https://nathanmlong.com/2016/01/protect-your-data-with-postgresql-constraints/ (https://nathanmlong.com/2016/01/protect-your-data-with-postgresql-constraints/) - https://nathanmlong.com/2018/01/fast-fulltext-search-with-ecto-and-postgresql/ (https://nathanmlong.com/2018/01/fast-fulltext-search-with-ecto-and-postgresql/) - https://hashrocket.com/blog/posts/materialized-view-strategies-using-postgresql#eager-materialized-view (https://hashrocket.com/blog/posts/materialized-view-strategies-using-postgresql#eager-materialized-view) Guest Information - https://github.com/nathanl/ (https://github.com/nathanl/) – on Github - https://nathanmlong.com/blog/ (https://nathanmlong.com/blog/) – Blog - https://dockyard.com/blog/authors/nathan-long (https://dockyard.com/blog/authors/nathan-long) – Dockyard Blog Posts - Email - hello@nathanmlong.com Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
6/15/202149 minutes, 37 seconds
Episode Artwork

51: Live Auctions with Alex Loukissas

We talk with Alex Loukissas about using Phoenix sockets to provide live auction systems. We comment on the situation of flash-mob-like users coming to a system and needing to handle high traffic volumes for shorter durations. We talk about how the Horde library helps solve fun distributed clustering problems, we cover observability tools, how and why companies should support open source development through sponsorships and more! Show Notes online - http://podcast.thinkingelixir.com/51 (http://podcast.thinkingelixir.com/51) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.12.1 (https://github.com/elixir-lang/elixir/releases/tag/v1.12.1) – Elixir 1.12.1 released. Small set of bug fixes. - https://github.com/ananthakumaran/tree-sitter-elixir (https://github.com/ananthakumaran/tree-sitter-elixir) – New tree-sitter Elixir parser. Used in Atom, Neovim and Emacs - https://github.blog/2018-10-31-atoms-new-parsing-system/ (https://github.blog/2018-10-31-atoms-new-parsing-system/) - https://github.com/ubolonton/emacs-tree-sitter (https://github.com/ubolonton/emacs-tree-sitter) - https://github.com/nvim-treesitter (https://github.com/nvim-treesitter) - https://fly.io/blog/livebook-for-app-documentation/ (https://fly.io/blog/livebook-for-app-documentation/) – Mark's Fly.io blog post on using Livebook as a project documentation tool - https://twitter.com/josevalim/status/1399733953217679367 (https://twitter.com/josevalim/status/1399733953217679367) – Jose Valim teases new Livebook feature with this graphic - https://github.com/wojtekmach/mixinstallexamples (https://github.com/wojtekmach/mix_install_examples) – Wojtek Mach created a repo showing example usages of Mix.install. - https://twitter.com/thebroken_link/status/1399713273340207109 (https://twitter.com/thebroken_link/status/1399713273340207109) – Support for "curl url | sh" style scripts using Elixir - https://twitter.com/elixirlang/status/1399714176667471878 (https://twitter.com/elixirlang/status/1399714176667471878) – Stack Overflow survey is out and both Erlang/Elixir are on the menu. - https://stackoverflow.blog/2021/05/25/the-2021-developer-survey-is-now-open/ (https://stackoverflow.blog/2021/05/25/the-2021-developer-survey-is-now-open/) - https://stackoverflow.az1.qualtrics.com/jfe/form/SV_7arimtzVFf8ipfM (https://stackoverflow.az1.qualtrics.com/jfe/form/SV_7arimtzVFf8ipfM) 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 - http://whatnot.com (http://whatnot.com) - https://www.splunk.com/ (https://www.splunk.com/) - https://reactnative.dev/ (https://reactnative.dev/) - https://kotlinlang.org/ (https://kotlinlang.org/) - https://swift.org/ (https://swift.org/) - https://goshippo.com/ (https://goshippo.com/) - https://github.com/derekkraan/horde (https://github.com/derekkraan/horde) - https://fly.io/ (https://fly.io/) - https://fly.io/blog/building-a-distributed-turn-based-game-system-in-elixir/ (https://fly.io/blog/building-a-distributed-turn-based-game-system-in-elixir/) - https://newrelic.com/ (https://newrelic.com/) - https://www.erlang-solutions.com/capabilities/wombatoam/ (https://www.erlang-solutions.com/capabilities/wombatoam/) - https://www.honeycomb.io/ (https://www.honeycomb.io/) - https://jobs.lever.co/whatnot/ (https://jobs.lever.co/whatnot/) Guest Information - https://twitter.com/aloukissas (https://twitter.com/aloukissas) – on Twitter - https://github.com/aloukissas (https://github.com/aloukissas) – on Github - https://alexloukissas.com (https://alexloukissas.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
6/8/202141 minutes, 6 seconds
Episode Artwork

50: Exercism.io and Elixir with Angelika Tyborska

We talk with Angelika Tyborska about the history of exercism.io, her involvement, the issues addressed in v2 and what's new and cool in the soon to be released v3. We cover the Elixir track, her work as a maintainer, the journey of a student and how people can help as mentors. We also hear about the "fun" she had creating a maze generator and more! Show Notes online - http://podcast.thinkingelixir.com/50 (http://podcast.thinkingelixir.com/50) Elixir Community News - https://elixir-lang.org/blog/2021/05/19/elixir-v1-12-0-released/ (https://elixir-lang.org/blog/2021/05/19/elixir-v1-12-0-released/) – Elixir 1.12 was released! - https://thinkingelixir.com/elixir-1-12-and-your-first-mix-install-script/ (https://thinkingelixir.com/elixir-1-12-and-your-first-mix-install-script/) – Mix.install/2 intro post with example. Setup Elixir 1.12 through asdf - https://twitter.com/hauleth/status/1394575966463315970 (https://twitter.com/hauleth/status/1394575966463315970) – Global logger metadata as part of OTP 24 - https://angelika.me/elixir-enum-cheatsheet (https://angelika.me/elixir-enum-cheatsheet) – Angelika Tyborska updated her nice Enum visual cheatsheet - https://github.com/elixir-lang/elixir/pull/10637 (https://github.com/elixir-lang/elixir/pull/10637) – Registry module supports the :compressed option - https://twitter.com/dashbit/status/1395138662850048003 (https://twitter.com/dashbit/status/1395138662850048003) – Livebook is on Hex.pm using mix escript.install hex livebook - https://erlef.org/blog/machine-learning/machine-learning-updates-may-2021 (https://erlef.org/blog/machine-learning/machine-learning-updates-may-2021) – The Machine Learning group in the EEF outlines their progress - https://github.com/erlang/otp/pull/4869 (https://github.com/erlang/otp/pull/4869) – Erlang JIT is coming to AArch64 platforms such as Apple's new M1-based Macs - https://github.com/elixir-nx/livebook/pull/287 (https://github.com/elixir-nx/livebook/pull/287) – Livebook gets support for graphing through VegaLite - https://vega.github.io/vega-lite/ (https://vega.github.io/vega-lite/) - https://smartlogic.io/about/community/elixir-wizards-conference/ (https://smartlogic.io/about/community/elixir-wizards-conference/) – SmartLogic/Elixir Wizards is hosting an Elixir conference! - https://twitter.com/chris_mccord/status/1396600570614632451 (https://twitter.com/chris_mccord/status/1396600570614632451) – Chris McCord's script to simulate poor network for websocket connections on osx 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://exercism.io/ (https://exercism.io/) - https://exercism.io/tracks/elixir (https://exercism.io/tracks/elixir) - https://steadyhq.com/en (https://steadyhq.com/en) - https://steadyhq.com/en/product (https://steadyhq.com/en/product) - https://exercism.io/about (https://exercism.io/about) - https://adventofcode.com/ (https://adventofcode.com/) - https://www.youtube.com/watch?v=GWEEPt8VvmU (https://www.youtube.com/watch?v=GWEEPt8VvmU) - http://www.mazesforprogrammers.com/ (http://www.mazesforprogrammers.com/) - https://github.com/angelikatyborska/mazes (https://github.com/angelikatyborska/mazes) - https://angelika.me/elixir-enum-cheatsheet/ (https://angelika.me/elixir-enum-cheatsheet/) - https://github.com/angelikatyborska/vnu-elixir (https://github.com/angelikatyborska/vnu-elixir) - https://github.com/neenjaw/ (https://github.com/neenjaw/) – Other Elixir track maintainer - Tim Austin - https://angelika.me/ (https://angelika.me/) - https://mazes.angelika.me/ (https://mazes.angelika.me/) – Cool LiveView maze generator Guest Information - https://twitter.com/atyborska93 (https://twitter.com/atyborska93) – on Twitter - https://github.com/angelikatyborska/ (https://github.com/angelikatyborska/) – on Github - https://angelika.me/ (https://angelika.me/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
6/1/202154 minutes, 26 seconds
Episode Artwork

49: Pushing for Modularity with Maciej Kaszubowski

Maciej Kaszubowski returns to talk about how read models can help modularize our systems. There is a focus on background job systems and how they fit in our modular designs. We cover push vs pull based systems and which is more maintainable. Maciej also shares his approach to learning and understanding a new Elixir library and more! Show Notes online - http://podcast.thinkingelixir.com/49 (http://podcast.thinkingelixir.com/49) Elixir Community News - https://www.erlang.org/news/148 (https://www.erlang.org/news/148) – OTP 24 was released! - https://blog.erlang.org/My-OTP-24-Highlights/ (https://blog.erlang.org/My-OTP-24-Highlights/) – Lukas Larsson's blog post covers the highlights - https://github.com/erlang/otp/issues/4821#issuecomment-840051976 (https://github.com/erlang/otp/issues/4821#issuecomment-840051976) – OTP 24 minor release pains - crypto OpenSSL lib change affects people on MacOS - https://github.com/asdf-vm/asdf-erlang/wiki (https://github.com/asdf-vm/asdf-erlang/wiki) – David's contribution to supporting the wxWidgets webview - https://twitter.com/fhunleth/status/1392843846183174149 (https://twitter.com/fhunleth/status/1392843846183174149) – Livebook support on Nerves is improved - https://github.com/fhunleth/nerves_livebook (https://github.com/fhunleth/nerves_livebook) – Lets you try out the Nerves projects on real hardware without needing to build anything. Includes tutorials. - https://github.com/elixir-lang/elixir/issues/10983 (https://github.com/elixir-lang/elixir/issues/10983) – Allow tests to be compiled in ExUnit - https://github.com/elixir-nx/nx/pull/390 (https://github.com/elixir-nx/nx/pull/390) – Nx gets while loops - https://github.com/elixir-nx/nx/pull/406 (https://github.com/elixir-nx/nx/pull/406) – Nx gets maps support - https://github.com/phoenixframework/phoenixliveview/pull/1440 (https://github.com/phoenixframework/phoenix_live_view/pull/1440) – HEEx engine merged into Phoenix LiveView - https://dashbit.co/blog/surface-liveview (https://dashbit.co/blog/surface-liveview) – Dashbit blog covering Surface and HEEX engine 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://mkaszubowski.com/2021/03/27/modular-design-read-models-background-jobs.html (https://mkaszubowski.com/2021/03/27/modular-design-read-models-background-jobs.html) - https://thinkingelixir.com/podcast-episodes/009-decomposing-models-with-maciej-kaszubowski (https://thinkingelixir.com/podcast-episodes/009-decomposing-models-with-maciej-kaszubowski) – Previous interview with Maciej - https://www.joinblvd.com/ (https://www.joinblvd.com/) - https://www.cqrs.nu/tutorial/cs/03-read-models (https://www.cqrs.nu/tutorial/cs/03-read-models) - https://github.com/sorentwo/oban (https://github.com/sorentwo/oban) - https://github.com/commanded/commanded (https://github.com/commanded/commanded) Guest Information - https://twitter.com/mkaszubowski94 (https://twitter.com/mkaszubowski94) – on Twitter - https://github.com/mkaszubowski/ (https://github.com/mkaszubowski/) – on Github - https://mkaszubowski.com (https://mkaszubowski.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
5/25/202144 minutes, 37 seconds
Episode Artwork

48: Ecto Associations with Sheharyar Naseer

We talk with Sheharyar Naseer about Ecto's feature "association defaults" and how they work. We learn how they even support defining a function that gets called during your changeset operations which can be used to ensure multi-tenancy IDs get populated correctly. We learn more about Slab, talk about Single Table Inheritance designs and how we feel about them. We also talk about wrapping the Repo module for fun and profit! Show Notes online - http://podcast.thinkingelixir.com/48 (http://podcast.thinkingelixir.com/48) Elixir Community News - https://blog.taxjar.com/taxjar-will-be-joining-stripe-to-help-build-the-worlds-tax-compliance-infrastructure/ (https://blog.taxjar.com/taxjar-will-be-joining-stripe-to-help-build-the-worlds-tax-compliance-infrastructure/) – TaxJar, an Elixir-backed service, was acquired by Stripe - https://twitter.com/collision/status/1387108960881111040 (https://twitter.com/collision/status/1387108960881111040) – Potentially the largest acquisition of a fully-remote company to-date - https://twitter.com/garazdawi/status/1390303999484514314 (https://twitter.com/garazdawi/status/1390303999484514314) – OTP team shared that OTP 21 (older) received it's last patch and will no longer be supported. - https://twitter.com/MNishiguchiDC/status/1390658051267563520 (https://twitter.com/MNishiguchiDC/status/1390658051267563520) – Example of using Livebook on Nerves to experiment, document, and control a BMP280 temperature sensor connected to a Raspberry Pi - https://twitter.com/josevalim/status/1390944763139006464 (https://twitter.com/josevalim/status/1390944763139006464) – Jose Valim was on the Changelog podcast talking about Nx, Axon, Livebook and Machine Learning with Elixir - https://thinkingelixir.com/podcast-episodes/034-jose-valim-reveals-project-nx/ (https://thinkingelixir.com/podcast-episodes/034-jose-valim-reveals-project-nx/) – Our previous discussion with Jose when he revealed Nx publicly - https://github.com/elixir-nx/livebook/pull/260 (https://github.com/elixir-nx/livebook/pull/260) – Livebook got collaborative editing with user-specific cursors (similar to Google Docs) - https://alchemyconf.com (https://alchemyconf.com) – AlchemyConf is a virtual conference happening on May 28th organized by Subvisual - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConfEU hosting a "hybrid" conference event. Sept 9-10th in Warsaw and also on-line - https://en.wikipedia.org/wiki/Proofofstake (https://en.wikipedia.org/wiki/Proof_of_stake) – Feedback on crypto currency environmental concerns. Check out Proof-of-Stake as a more environmentally friendly approach than Proof-of-Work. 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://slab.com/blog/association-defaults-in-ecto/ (https://slab.com/blog/association-defaults-in-ecto/) - https://slab.com/ (https://slab.com/) - https://www.notion.so/product (https://www.notion.so/product) - https://www.atlassian.com/software/confluence (https://www.atlassian.com/software/confluence) - https://en.wikipedia.org/wiki/SingleTableInheritance (https://en.wikipedia.org/wiki/Single_Table_Inheritance) - https://hexdocs.pm/ecto/Ecto.Repo.html#c:prepare_query/3 (https://hexdocs.pm/ecto/Ecto.Repo.html#c:prepare_query/3) - https://hexdocs.pm/ecto/Ecto.Repo.html#c:exists?/2 (https://hexdocs.pm/ecto/Ecto.Repo.html#c:exists?/2) - https://the.slab.com/public/topics/careers-at-slab-4vhprcwg (https://the.slab.com/public/topics/careers-at-slab-4vhprcwg) – Slab is hiring! Guest Information - https://twitter.com/sheharyarn (https://twitter.com/sheharyarn) – on Twitter - https://github.com/sheharyarn (https://github.com/sheharyarn) – on Github - https://shyr.io/ (https://shyr.io/) – Blog - hello@sheharyar.me Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
5/18/202137 minutes, 21 seconds
Episode Artwork

47: Crypto Trading in Elixir with Kamil Skowron

We talk with Kamil Skowron about his Youtube channel that walks people through building a crypto-currency trading bot in Elixir. We learn how that led him to start a free online book sharing that content. He covers what people will learn from the process, his goal of helping people see a larger working Elixir system, and his experience writing the book. A fun chat! Show Notes online - http://podcast.thinkingelixir.com/47 (http://podcast.thinkingelixir.com/47) Elixir Community News - https://spawnfest.org/ (https://spawnfest.org/) – SpawnFest 2021 - Free to enter contest with cash prizes! Gather your team! - https://twitter.com/sean_moriarity/status/1388532916221878272 (https://twitter.com/sean_moriarity/status/1388532916221878272) – Axon gets Recurrent Neural Network support - https://en.wikipedia.org/wiki/Recurrentneuralnetwork (https://en.wikipedia.org/wiki/Recurrent_neural_network) - https://github.com/thbar/ex-portmidi (https://github.com/thbar/ex-portmidi) – Thibaut Barrère is bringing new life to ex-portmidi - https://twitter.com/fhunleth/status/1388864429052289025 (https://twitter.com/fhunleth/status/1388864429052289025) – Frank Hunleth playes with nerves and Livebook - https://twitter.com/fhunleth/status/1388557426283229188 (https://twitter.com/fhunleth/status/1388557426283229188) – Erlang and Elixir running on the RISC-V Beagleboard the BeagleV - https://github.com/phoenixframework/phoenixliveview/pull/1440 (https://github.com/phoenixframework/phoenix_live_view/pull/1440) – LiveView is getting an HTMLEngine and "heex" templates for components Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.youtube.com/c/Frathon (https://www.youtube.com/c/Frathon) – Youtube channel with the tutorial videos - https://www.elixircryptobot.com/ (https://www.elixircryptobot.com/) - https://github.com/frathon/create-a-cryptocurrency-trading-bot-in-elixir (https://github.com/frathon/create-a-cryptocurrency-trading-bot-in-elixir) – Book in online format - https://github.com/frathon/create-a-cryptocurrency-trading-bot-in-elixir-source-code (https://github.com/frathon/create-a-cryptocurrency-trading-bot-in-elixir-source-code) – Source code for the book examples - https://thinkingelixir.com/podcast-episodes/031-crawling-the-web-using-elixir-with-oleg-tarasenko-and-tze-yiing/ (https://thinkingelixir.com/podcast-episodes/031-crawling-the-web-using-elixir-with-oleg-tarasenko-and-tze-yiing/) Guest Information - https://twitter.com/kamilskowron (https://twitter.com/kamilskowron) – on Twitter - https://github.com/frathon/ (https://github.com/frathon/) – Frathon on Github - https://github.com/Cinderella-Man (https://github.com/Cinderella-Man) – Kamil on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
5/11/202126 minutes, 50 seconds
Episode Artwork

46: Livebook with Jonatan Kłosko

We talk with Jonatan Kłosko, the coder behind Livebook, to learn how it works, how the collaborative feature was done, what you can do with it, what you shouldn't do with it, some unusual ways people are using it, and more! We can’t help but talk about all the fun and cool ways it can be abused and how it's finding exciting uses outside of machine learning. A great discussion with lots of insights. Show Notes online - http://podcast.thinkingelixir.com/46 (http://podcast.thinkingelixir.com/46) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/blob/master/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md) – Phoenixliveview 0.15.5 released - https://twitter.com/josevalim/status/1384563154634657794 (https://twitter.com/josevalim/status/1384563154634657794) – Livebook gets autocompletion - https://www.erlang.org/news/147 (https://www.erlang.org/news/147) – OTP 24 RC3 updates - https://twitter.com/erik_schon/status/1385309748162088960 (https://twitter.com/erik_schon/status/1385309748162088960) – OTP 24 JIT Performance improvements seen at What'sApp - https://twitter.com/garazdawi/status/1384756997854277633 (https://twitter.com/garazdawi/status/1384756997854277633) – OTP 24 M1 update from Lukas Larsson - https://www.wsj.com/articles/discord-ends-deal-talks-with-microsoft-11618938806 (https://www.wsj.com/articles/discord-ends-deal-talks-with-microsoft-11618938806) – Microsoft acquisition of Discord appears to be off - https://github.com/phoenixframework/phoenixliveview/pull/1428 (https://github.com/phoenixframework/phoenix_live_view/pull/1428) – Phoenix LiveView gets component update - https://thinkingelixir.com/podcast-episodes/025-improving-developer-experience-with-marlus-saraiva/ (https://thinkingelixir.com/podcast-episodes/025-improving-developer-experience-with-marlus-saraiva/) – Previous interview with Marlus Saraiva 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/elixir-nx/livebook (https://github.com/elixir-nx/livebook) - https://dashbit.co/blog/announcing-livebook (https://dashbit.co/blog/announcing-livebook) - https://www.youtube.com/watch?v=RKvqc-UEe34 (https://www.youtube.com/watch?v=RKvqc-UEe34) - https://en.wikipedia.org/wiki/Operational_transformation (https://en.wikipedia.org/wiki/Operational_transformation) - https://github.com/Microsoft/monaco-editor (https://github.com/Microsoft/monaco-editor) - https://github.com/jonatanklosko/notebooks (https://github.com/jonatanklosko/notebooks) – Jonatan's Livebook notebooks - https://www.latex-project.org/ (https://www.latex-project.org/) – Project and format used for rendering math equations - https://katex.org/ (https://katex.org/) – The JS library used for LaTeX support - https://www.npmjs.com/package/marked (https://www.npmjs.com/package/marked) – Javascript markdown rendering library Guest Information - https://github.com/jonatanklosko/ (https://github.com/jonatanklosko/) – on Github - https://jonatanklosko.com (https://jonatanklosko.com) – Blog - jonatanklosko@gmail.com Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
5/4/202147 minutes, 57 seconds
Episode Artwork

45: Junior Devs with Michał Buszkiewicz

We talk with Michał Buszkiewicz about Junior Developers in the Elixir community. We share tips for Juniors both early in their careers but also more experienced developers coming new to Elixir. We talk about the University vs Bootcamp approaches and what you want to focus on coming from either side. We further discuss how we as employers can support and encourage juniors. A lot of great resources shared! Show Notes online - http://podcast.thinkingelixir.com/45 (http://podcast.thinkingelixir.com/45) Elixir Community News - https://github.com/phoenixframework/phoenix/pull/4268 (https://github.com/phoenixframework/phoenix/pull/4268) – SQLite added as database option to phx.new - https://twitter.com/sean_moriarity/status/1382092255868116996 (https://twitter.com/sean_moriarity/status/1382092255868116996) – Sean Moriarity porting all of the Axon examples to Live Markdown - https://github.com/elixir-nx/axon/tree/main/examples (https://github.com/elixir-nx/axon/tree/main/examples) – Axon examples for LiveBook - https://github.com/wojtekmach/req (https://github.com/wojtekmach/req) – Req library works well in Livebook because it can be Mix.install then download and unpack data files - https://github.com/elixir-nx/livebook/pull/186 (https://github.com/elixir-nx/livebook/pull/186) – Livebook gets LiveDashboard support added to it - https://www.libhunt.com/l/elixir/trending (https://www.libhunt.com/l/elixir/trending) – LibHunt trending Elixir libraries - https://twitter.com/mcrumm/status/1384203912215875585 (https://twitter.com/mcrumm/status/1384203912215875585) – FLoC - opting your site out of FLoC if desired 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://curiosum.dev (https://curiosum.dev) - https://curiosum.dev/blog/elixir-key-skills-junior (https://curiosum.dev/blog/elixir-key-skills-junior) – Blog post with numerous links and resources - https://xkcd.com/242/ (https://xkcd.com/242/) - https://curiosum.dev/blog/elixir-phoenix-liveview-messenger-part-4 (https://curiosum.dev/blog/elixir-phoenix-liveview-messenger-part-4) - https://pragprog.com/categories/elixir-phoenix-and-otp/ (https://pragprog.com/categories/elixir-phoenix-and-otp/) Guest Information - https://twitter.com/vincentvanbush (https://twitter.com/vincentvanbush) – Michał Buszkiewicz on Twitter - https://twitter.com/curiosum_dev (https://twitter.com/curiosum_dev) – Curiosum on Twitter - https://github.com/curiosum-dev (https://github.com/curiosum-dev) – on Github - https://curiosum.dev/blog (https://curiosum.dev/blog) – Curiosum Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
4/27/202142 minutes, 51 seconds
Episode Artwork

44: Elixir Data Types with Sasha Fonseca

We talk with Sasha Fonseca about Elixir's data types behind the scenes. We learn about binary leaks, discuss memory usage, performance considerations, what boxed values are and much more! Show Notes online - http://podcast.thinkingelixir.com/44 (http://podcast.thinkingelixir.com/44) Elixir Community News - https://twitter.com/sean_moriarity/status/1380124787318665218 (https://twitter.com/sean_moriarity/status/1380124787318665218) – Sean Moriarity released a new library built on NX called Axon - https://dockyard.com/blog/2021/04/08/up-and-running-nx (https://dockyard.com/blog/2021/04/08/up-and-running-nx) – Sean's guest blog writing and has a post on the Dockyard blog about getting started with Nx. - https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/125 (https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/125) – ElixirLS 0.7.0 released - https://github.com/erlang-ls/erlang_ls/releases/tag/0.14.0 (https://github.com/erlang-ls/erlang_ls/releases/tag/0.14.0) – Erlang LS 0.14.0 released - https://medium.com/very-big-things/towards-maintainable-elixir-testing-b32ac0604b99 (https://medium.com/very-big-things/towards-maintainable-elixir-testing-b32ac0604b99) – Sasa Juric concluded his "Maintainable Elixir" blog series with a post on Testing - https://thinkingelixir.com/podcast-episodes/038-maintainable-elixir-with-sasa-juric/ (https://thinkingelixir.com/podcast-episodes/038-maintainable-elixir-with-sasa-juric/) – Previous interview with Sasa Juric - https://twitter.com/bcardarella/status/1379834109560819718 (https://twitter.com/bcardarella/status/1379834109560819718) – Lumen project seeking help to implement ETS support and requested people contribute - https://twitter.com/sprsmpl/status/1381810172474064899 (https://twitter.com/sprsmpl/status/1381810172474064899) – Hex.pm diffs now allow you to share links to specific lines - https://github.com/thoughtbot/bamboo (https://github.com/thoughtbot/bamboo) – Bamboo v2.1.0 released adding interceptors - https://github.com/josevalim/nested-data-structure-traversal (https://github.com/josevalim/nested-data-structure-traversal) – Jose Valim requests developers from all programming languages to contribute solutions to a problem in different programming languages. Great just to look over. - https://dashbit.co/blog/announcing-livebook (https://dashbit.co/blog/announcing-livebook) – LiveBook Announced - https://youtu.be/RKvqc-UEe34 (https://youtu.be/RKvqc-UEe34) – Demonstration and explanation video - https://github.com/elixir-nx/livebook (https://github.com/elixir-nx/livebook) – Livebook github project Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.honeybadger.io/blog/elixir-memory-structure/ (https://www.honeybadger.io/blog/elixir-memory-structure/) - https://www.talkdesk.com/ (https://www.talkdesk.com/) - https://elm-lang.org/ (https://elm-lang.org/) - http://erlang.org/doc/man/mnesia.html (http://erlang.org/doc/man/mnesia.html) - http://erlang.org/doc/apps/erts/erlextdist.html (http://erlang.org/doc/apps/erts/erl_ext_dist.html) - https://github.com/phoenixframework/phoenixliveview/issues/616 (https://github.com/phoenixframework/phoenix_live_view/issues/616) - https://github.com/happi/theBeamBook (https://github.com/happi/theBeamBook) - http://beam-wisdoms.clau.se/en/latest/ (http://beam-wisdoms.clau.se/en/latest/) - https://github.com/kvakvs/beam-wisdoms (https://github.com/kvakvs/beam-wisdoms) - https://www.youtube.com/watch?v=_QUVpYXuR80 (https://www.youtube.com/watch?v=_QUVpYXuR80) - https://www.erlang-in-anger.com/ (https://www.erlang-in-anger.com/) - http://ferd.github.io/recon/recon.html (http://ferd.github.io/recon/recon.html) - https://github.com/devonestes/fast-elixir (https://github.com/devonestes/fast-elixir) - https://thinkingelixir.com/available-courses/ (https://thinkingelixir.com/available-courses/) – Free Pattern Matching course covers working with these data types Guest Information - https://twitter.com/SashaSFM (https://twitter.com/SashaSFM) – on Twitter - https://github.com/sashaafm/ (https://github.com/sashaafm/) – on Github - https://foofoobar.me (https://foofoobar.me) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
4/20/202149 minutes, 16 seconds
Episode Artwork

43: Membrane with Marcin Lewandowski

We talk with Marcin Lewandowski about Membrane Framework. We learn what it is, the project's goals, how people are using it and how it can solve the speed-to-market problem when streaming multimedia. We cover WebRTC, radio, industry challenges, why you want to deploy it to your own infrastructure, why startups fail and much more! Show Notes online - http://podcast.thinkingelixir.com/43 (http://podcast.thinkingelixir.com/43) Elixir Community News - https://twitter.com/josevalim/status/1377354990969233411 (https://twitter.com/josevalim/status/1377354990969233411) – Jose Valim said they are planning two big announcements related to Nx this April. One is Livebook - https://elixir-lang.org/blog/2021/04/02/marketing-and-sales-intelligence-with-elixir-at-pepsico/ (https://elixir-lang.org/blog/2021/04/02/marketing-and-sales-intelligence-with-elixir-at-pepsico/) – Elixir PepsiCo case study - https://github.com/pepsico-ecommerce/snowflex (https://github.com/pepsico-ecommerce/snowflex) - https://github.com/elixir-lang/elixir/releases/tag/v1.12.0-rc.0 (https://github.com/elixir-lang/elixir/releases/tag/v1.12.0-rc.0) – Elixir 1.12-rc.0 - https://twitter.com/wojtekmach/status/1377558916746334210 (https://twitter.com/wojtekmach/status/1377558916746334210) – Wojtek Mach is working on a new HTTP library based on the Finch library. - https://leanpub.com/create-a-cryptocurrency-trading-bot-in-elixir (https://leanpub.com/create-a-cryptocurrency-trading-bot-in-elixir) – A "pay what you want" Elixir book called "Create a cryptocurrency trading bot in Elixir" by Kamil Skowron - https://hexdocs.pm/oban/changelog.html (https://hexdocs.pm/oban/changelog.html) – Oban had a big release. v2.6 landed with a number of changes. - https://github.com/nerves-project/nervessystembr/releases/tag/v1.15.0 (https://github.com/nerves-project/nerves_system_br/releases/tag/v1.15.0) – Nerves Buildroot version released v1.15 - https://www.kickstarter.com/projects/peerstritzinger/grisp-2 (https://www.kickstarter.com/projects/peerstritzinger/grisp-2) – Peer Stritzinger has the GRiSP 2 board up for preorder with Nerves support - https://twitter.com/thibaut_barrere/status/1376897017545420805 (https://twitter.com/thibaut_barrere/status/1376897017545420805) – The asdf will install Erlang from precompiled binaries (much faster) instead of source on Mac Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.membraneframework.org/ (https://www.membraneframework.org/) – MembraneFramework - https://binarynoggin.com/blog/membrane-phoenix-nerves/ (https://binarynoggin.com/blog/membrane-phoenix-nerves/) – Connor Rigby's article about Membrane with Nerves - https://swmansion.com/ (https://swmansion.com/) – Software Mansion website - https://meet.jit.si/ (https://meet.jit.si/) - https://gstreamer.freedesktop.org/ (https://gstreamer.freedesktop.org/) - https://imagemagick.org/index.php (https://imagemagick.org/index.php) - https://webrtc.org/ (https://webrtc.org/) - https://membraneframework.org/guide/v0.6/introduction.html (https://membraneframework.org/guide/v0.6/introduction.html) - https://discord.gg/nwnfVSY (https://discord.gg/nwnfVSY) – Membrane Discord community - https://twitter.com/ElixirMembrane (https://twitter.com/ElixirMembrane) – Membrane on Twitter - info@membraneframework.org Guest Information - https://twitter.com/mspanc (https://twitter.com/mspanc) – on Twitter - https://github.com/mspanc (https://github.com/mspanc) – on Github - marcin.lewandowski@swmansion.com Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
4/13/20211 hour, 11 minutes, 40 seconds
Episode Artwork

42: LiveView Autocomplete and Blogging with Velina Petrova

We talk with Velina Petrova about a blog post she wrote showing how a "designer dreamed up" feature was delivered using LiveView and Alpine.js. She shares how she added the LiveView feature to a non-LiveView page demonstrating a great strategy for slowly moving a project in the direction you want to go without stopping to re-write. We also talk about blogging, the value of sharing and putting yourself out there. We all share some tips we've found helpful when creating content. A fun discussion with some great tips and tools shared! Show Notes online - http://podcast.thinkingelixir.com/42 (http://podcast.thinkingelixir.com/42) Elixir Community News - https://twitter.com/josevalim/status/1375764118255382529 (https://twitter.com/josevalim/status/1375764118255382529) – Another OTP 24 feature improves Erlang error messages - http://erlang.org/eeps/eep-0054.html (http://erlang.org/eeps/eep-0054.html) – OTP 24 EEP 54 information - https://www.erlang.org/news/146 (https://www.erlang.org/news/146) – OTP 24 RC 2 was released - https://discord.gg/w4fQWsMTcH (https://discord.gg/w4fQWsMTcH) – Elixir Book club Discord server - https://pragprog.com/titles/jgotp/designing-elixir-systems-with-otp/ (https://pragprog.com/titles/jgotp/designing-elixir-systems-with-otp/) – Elixir book club book - Designing Elixir Systems with OTP - https://github.com/thoughtbot/bamboo/blob/master/CHANGELOG.md#202---2021-03-26 (https://github.com/thoughtbot/bamboo/blob/master/CHANGELOG.md#202---2021-03-26) – German Valesco is maintaining Bamboo, pushing more releases - https://www.theregister.com/2021/03/25/rubyrailscode/ (https://www.theregister.com/2021/03/25/ruby_rails_code/) – Library problems in the Ruby on Rails community - https://pagure.io/mailcap/blob/master/f/mime.types (https://pagure.io/mailcap/blob/master/f/mime.types) – Elixir's mime type database source - https://github.com/elixir-plug/mime/blob/master/priv/mime.types (https://github.com/elixir-plug/mime/blob/master/priv/mime.types) – Plug's mime types file - https://twitter.com/josevalim/status/1374998681607372802 (https://twitter.com/josevalim/status/1374998681607372802) – Jose's perspective on dependencies - https://github.com/phoenixframework/phoenixliveview/blob/master/mix.exs (https://github.com/phoenixframework/phoenix_live_view/blob/master/mix.exs) – Phoenix LiveView's dependencies - https://www.bleepingcomputer.com/news/security/phps-git-server-hacked-to-add-backdoors-to-php-source-code/ (https://www.bleepingcomputer.com/news/security/phps-git-server-hacked-to-add-backdoors-to-php-source-code/) – PHP's self-hosted git server compromised leading to malicious code being inserted but caught - https://news-web.php.net/php.internals/113838 (https://news-web.php.net/php.internals/113838) – PHP project moves to Github for hosting official git project - https://seanmoriarity.com/ (https://seanmoriarity.com/) – Sean Moriarity's blog posting Nx tips 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://medium.com/everyday-elixir/autocomplete-search-component-with-phoenix-liveview-and-alpinejs-4a98b7287b9f (https://medium.com/everyday-elixir/autocomplete-search-component-with-phoenix-liveview-and-alpinejs-4a98b7287b9f) – Auto-complete implemented in LiveView - https://github.com/velinapetrova/autocomplete_search (https://github.com/velinapetrova/autocomplete_search) – Github repo accompanying blog post - https://www.mindvalley.com/about (https://www.mindvalley.com/about) - https://github.com/alpinejs/alpine/ (https://github.com/alpinejs/alpine/) – Alpine.js project - https://github.com/downshift-js/downshift (https://github.com/downshift-js/downshift) - https://balsamiq.com/ (https://balsamiq.com/) - https://excalidraw.com/ (https://excalidraw.com/) – Drawing tool for diagrams, wire-frames and sketches - https://elixirstream.dev (https://elixirstream.dev) – A place to share your large or small tips. - https://velina-petrova.medium.com/ (https://velina-petrova.medium.com/) Guest Information - https://twitter.com/VelinaPetrova7 (https://twitter.com/VelinaPetrova7) – on Twitter - https://github.com/velinapetrova (https://github.com/velinapetrova) – on Github - https://velina-petrova.medium.com/ (https://velina-petrova.medium.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
4/6/202151 minutes, 52 seconds
Episode Artwork

41: Secure IoT Systems using Ockam with Mrinal Wadhwa

We talk with Mrinal Wadhwa about Ockam.io, the project and the company. They are taking on the ambitious goal of building an open protocol through Elixir and Rust libraries to enable secure and trusted IoT platforms. We learn about recurring problems that the IoT industry faces and how they are seeking to solve them differently. A very informative and interesting discussion! Show Notes online - http://podcast.thinkingelixir.com/41 (http://podcast.thinkingelixir.com/41) Elixir Community News - https://www.bloomberg.com/news/articles/2021-03-23/microsoft-said-to-be-in-talks-to-buy-discord-for-more-than-10b (https://www.bloomberg.com/news/articles/2021-03-23/microsoft-said-to-be-in-talks-to-buy-discord-for-more-than-10b) – Microsoft in Talks to Buy Discord for More Than $10 Billion - https://erlef.org/blog/eef/election-2021-results (https://erlef.org/blog/eef/election-2021-results) – EEF (Erlang Ecosystem Foundation) new board members announced. - https://members.erlef.org/join-us (https://members.erlef.org/join-us) – Become a member of the EEF - https://www.youtube.com/watch?v=aFMLz3cpQ8c (https://www.youtube.com/watch?v=aFMLz3cpQ8c) – ash_admin gets it’s first beta release - https://thinkingelixir.com/podcast-episodes/027-ash-framework-with-zach-daniel/ (https://thinkingelixir.com/podcast-episodes/027-ash-framework-with-zach-daniel/) – Previous interview with Zach Daniel about Ash Framework - https://twitter.com/josevalim/status/1372925822537981954 (https://twitter.com/josevalim/status/1372925822537981954) – Jose Valim is teasing something new - https://twitter.com/chris_mccord/status/1374086404389666816 (https://twitter.com/chris_mccord/status/1374086404389666816) – Chris McCord is teasing a good PR going into Phoenix LiveView - https://madnight.github.io/githut/#/pull_requests/2020/4 (https://madnight.github.io/githut/#/pull_requests/2020/4) – Elixir's popularity measured by GitHub PRs comes in the top 20 languages! - https://elements.heroku.com/buildpacks (https://elements.heroku.com/buildpacks) – Another measure of Elixir's adoption is Heroku's buildpack list page. - https://groups.google.com/g/elixir-lang-core/c/U5EhplEqda4/m/vl_StEWVAQAJ?pli=1 (https://groups.google.com/g/elixir-lang-core/c/U5EhplEqda4/m/vl_StEWVAQAJ?pli=1) – Proposal to add syntax for specifying steps for ranges - https://elixirforum.com/t/ecto-sqlite3-an-ecto3-sqlite3-adapter/38391 (https://elixirforum.com/t/ecto-sqlite3-an-ecto3-sqlite3-adapter/38391) – Ecto is gaining a Sqlite3 adapter 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/ockam-network (https://github.com/ockam-network) – Ockam organization on Github - https://www.ockam.io/ (https://www.ockam.io/) - https://twitter.com/mrinal/status/1359996338117566467 (https://twitter.com/mrinal/status/1359996338117566467) - https://github.com/ockam-network/ockam/discussions/864 (https://github.com/ockam-network/ockam/discussions/864) – Contributor sponsorship program - https://www.ockam.io/learn/blog/zero_ipo (https://www.ockam.io/learn/blog/zero_ipo) – Open company blog post titled "Zero-To-IPO - Charting Ockam's Route" - https://www.cnn.com/2021/02/08/us/oldsmar-florida-hack-water-poison/index.html (https://www.cnn.com/2021/02/08/us/oldsmar-florida-hack-water-poison/index.html) - https://en.wikipedia.org/wiki/SCADA (https://en.wikipedia.org/wiki/SCADA) - https://www.dragos.com/resource/dragos-releases-annual-industrial-control-systems-cybersecurity-2020-year-in-review-report/ (https://www.dragos.com/resource/dragos-releases-annual-industrial-control-systems-cybersecurity-2020-year-in-review-report/) - https://www.linkedin.com/in/matthewgregory/ (https://www.linkedin.com/in/matthewgregory/) - https://www.influxdata.com/ (https://www.influxdata.com/) - https://future.ventures/ (https://future.ventures/) - https://www.okta.com/ (https://www.okta.com/) Guest Information - https://twitter.com/mrinal (https://twitter.com/mrinal) – Mrinal on Twitter - https://twitter.com/Ockam (https://twitter.com/Ockam) – Ockam on Twitter - https://github.com/mrinalwadhwa/ (https://github.com/mrinalwadhwa/) – Mrinal on Github - https://www.ockam.io/ (https://www.ockam.io/) – Ockam website - https://github.com/ockam-network/ (https://github.com/ockam-network/) – Ockam Organization on Github - https://github.com/ockam-network/ockam (https://github.com/ockam-network/ockam) – Ockam project on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
3/30/202157 minutes, 13 seconds
Episode Artwork

40: Mental Models for Elixir and LiveView

We talk about the mental models we use for writing our Elixir code and for thinking about our Elixir systems (starting at 5:46). We cover transformations, plug, and Mark's "Workshop Model" (starting at 23:45). We also talk about LiveView, (starting at 31:20) how we approach it today, mistakes we've both made and seen. A fun discussion! We want to continue the discussion with you over on ElixirForum. Check the show notes for links to those topics! Show Notes online - http://podcast.thinkingelixir.com/40 (http://podcast.thinkingelixir.com/40) Elixir Community News - https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.md) – Elixir 1.11.4 released - https://elixirstream.dev (https://elixirstream.dev) – ElixirSteam.dev soft launch experiment - https://twitter.com/elixirbookclub (https://twitter.com/elixirbookclub) – Elixir Book Club gearing up - https://pragprog.com/titles/jgotp/designing-elixir-systems-with-otp/ (https://pragprog.com/titles/jgotp/designing-elixir-systems-with-otp/) – Book Club selection "Designing Elixir Systems with OTP" - https://techcrunch.com/2021/03/16/sumup-which-helps-businesses-take-card-payments-raises-895m-to-double-down-on-growth/ (https://techcrunch.com/2021/03/16/sumup-which-helps-businesses-take-card-payments-raises-895m-to-double-down-on-growth/) – Techcrunch covered the London based startup SumUp for raising $895M - https://www.youtube.com/watch?v=3O_3X7InOw8 (https://www.youtube.com/watch?v=3O_3X7InOw8) – TailwindCSS update with experimental JIT for improved dev styles - https://github.com/tailwindlabs/tailwindcss-jit (https://github.com/tailwindlabs/tailwindcss-jit) – Experimental jit project - https://github.com/elixir-lang/ex_doc/blob/master/CHANGELOG.md (https://github.com/elixir-lang/ex_doc/blob/master/CHANGELOG.md) – ExDoc 0.24.0 released 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 - Mental models coming to Elixir - Phoenix pipelines and reconstructing plug - https://pragmaticstudio.com/courses/elixir (https://pragmaticstudio.com/courses/elixir) – The PragProg course Cade mentioned - It's all about data transformations - Code organization and namespace design discussion - Mark's mental model of the "The Workshop" starting at 23:45 - Modules are binders of instructions - Refactoring, namespace design, code organization is about getting your workshop organized. - LiveView, anti-patterns, making the mental shifts - The "Lift and shift" approach doesn't work well coming from OOP or React to Elixir - Live View components and passing left over arguments to the HTML makes it cleaner and easier - https://elixirforum.com/t/thinkingelixir-discussion-mental-models-for-your-elixir-and-liveview-code/38393 (https://elixirforum.com/t/thinkingelixir-discussion-mental-models-for-your-elixir-and-liveview-code/38393) – ElixirForum Discussion - Mental models you use for thinking about your Elixir and LiveView code Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
3/23/202140 minutes, 58 seconds
Episode Artwork

39: Mix Install and ExDocs for Erlang with Wojtek Mach

Wojtek Mach returns and talks about the new Mix.install/2 feature coming in Elixir 1.12. We learn about some other features coming that will help script authors. We talk about OTP 24 and when we can expect 1.12 to be released, ExDocs support for Erlang libraries, and more! Show Notes online - http://podcast.thinkingelixir.com/39 (http://podcast.thinkingelixir.com/39) Elixir Community News - https://twitter.com/elixirbookclub (https://twitter.com/elixirbookclub) – New Elixir Book Club - Discord Elixir Book Club (Discord Elixir Book Club) – https://discord.gg/veN54bAmVa - https://github.com/elixir-lang/elixir/commit/4d2be245c0707698df22e9f659120e3daaa82186 (https://github.com/elixir-lang/elixir/commit/4d2be245c0707698df22e9f659120e3daaa82186) – PR that makes doctests 4x faster - https://twitter.com/sorentwo/status/1366547813128110083 (https://twitter.com/sorentwo/status/1366547813128110083) – Global concurrency limits and global rate limiting in Oban Pro release - https://thinkingelixir.com/podcast-episodes/029-running-jobs-using-oban-with-parker-selbert/ (https://thinkingelixir.com/podcast-episodes/029-running-jobs-using-oban-with-parker-selbert/) – Previous interview with Parker Selbert about Oban and Oban Pro - https://elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/95 (https://elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/95) – Surface 0.3.0 release - https://twitter.com/josevalim/status/1367759827905245185 (https://twitter.com/josevalim/status/1367759827905245185) – Nx library gets early binding support for LibTorch (from PyTorch) as a custom backend - https://dashbit.co/blog/goth-redesign (https://dashbit.co/blog/goth-redesign) – Wojtek Mach's blog post about Goth library redesign 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/elixir-lang/elixir/pull/10674 (https://github.com/elixir-lang/elixir/pull/10674) – PR adding Mix.install support - https://groups.google.com/g/elixir-lang-core/c/q0k2dX992HU (https://groups.google.com/g/elixir-lang-core/c/q0k2dX992HU) – Mix.install feature proposal discussion - https://hexdocs.pm/hex_core/readme.html (https://hexdocs.pm/hex_core/readme.html) – Erlang doc example - https://github.com/elixir-lang/elixir/blob/master/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/master/CHANGELOG.md) - https://www.erlang.org/news/144 (https://www.erlang.org/news/144) - https://github.com/elixir-makeup/makeup (https://github.com/elixir-makeup/makeup) - https://github.com/peburrows/goth (https://github.com/peburrows/goth) Guest Information - https://twitter.com/wojtekmach (https://twitter.com/wojtekmach) – on Twitter - https://github.com/wojtekmach/ (https://github.com/wojtekmach/) – on Github - https://dashbit.co/ (https://dashbit.co/) – Blog posts on Dashbit Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
3/16/202138 minutes, 25 seconds
Episode Artwork

38: Maintainable Elixir with Saša Jurić

Saša Jurić shares how the team at Very Big Things is building maintainable Elixir code. This ranges from the development processes to code design and organization. He takes some "radical" positions and challenges conventions on a mission to find what actually works well. We talk about his library Boundary and how it helps enforce API designs. He talks about the "Junk Drawer Pattern" and how code analysis helps identify lines of separation for refactoring. A thought provoking and fun discussion! Show Notes online - http://podcast.thinkingelixir.com/38 (http://podcast.thinkingelixir.com/38) Elixir Community News - https://twitter.com/josevalim/status/1366417827528396803 (https://twitter.com/josevalim/status/1366417827528396803) – Jose Valim is stepping down in his role as Board Director of the The Erlang Ecosystem Foundation - https://twitter.com/josevalim/status/1366427218306564096 (https://twitter.com/josevalim/status/1366427218306564096) – Jose Valim calls out to the Erlang community for any developers who are interested in Machine Learning - https://pragprog.com//titles/liveview/programming-phoenix-liveview/ (https://pragprog.com//titles/liveview/programming-phoenix-liveview/) – A new Phoenix LiveView book is coming out and is currently in a beta release - https://twitter.com/chris_mccord/status/1365031826813825033 (https://twitter.com/chris_mccord/status/1365031826813825033) – Chris McCord shared his perspective around the general community excitement with LiveView - https://blog.aeternity.com/erlscripten-92c815786987 (https://blog.aeternity.com/erlscripten-92c815786987) – The company https://aeternity.com released a project called "Erlscripten" - https://seanmoriarity.com/ (https://seanmoriarity.com/) – Follow Sean Moriarity's blog for his "Nx Tip of the Week" series - https://www.erlang.org/news/144 (https://www.erlang.org/news/144) – OTP 24 will release candidates have started - https://hex.pm/packages/finch (https://hex.pm/packages/finch) – Finch HTTP library - https://twitter.com/chriskeathley/status/1364692787032113153 (https://twitter.com/chriskeathley/status/1364692787032113153) – Chris Keathley posted graphics showing the before and after performance charts from it's use at BleacherReport - https://github.com/elixir-ecto/ecto/pull/3566 (https://github.com/elixir-ecto/ecto/pull/3566) – Ecto.Multi.inspect/2,3 support being added to Ecto - https://github.com/phoenixframework/phoenixliveview/pull/1349/files (https://github.com/phoenixframework/phoenix_live_view/pull/1349/files) – Fix for compiler warnings on live_component usage - https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f (https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f) – Discord announced why they were moving away from Go to Rust Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.manning.com/books/elixir-in-action-second-edition (https://www.manning.com/books/elixir-in-action-second-edition) – Elixir in Action 2nd Edition book - https://verybigthings.com/ (https://verybigthings.com/) - https://medium.com/very-big-things/towards-maintainable-elixir-the-development-process-205ee257c109 (https://medium.com/very-big-things/towards-maintainable-elixir-the-development-process-205ee257c109) - https://medium.com/very-big-things/towards-maintainable-elixir-the-core-and-the-interface-c267f0da43 (https://medium.com/very-big-things/towards-maintainable-elixir-the-core-and-the-interface-c267f0da43) - https://en.wikipedia.org/wiki/Code_Complete (https://en.wikipedia.org/wiki/Code_Complete) - https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670 (https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670) - https://github.com/rrrene/credo (https://github.com/rrrene/credo) - https://github.com/rrrene/credo/blob/master/lib/credo/check/readability/strictmodulelayout.ex (https://github.com/rrrene/credo/blob/master/lib/credo/check/readability/strict_module_layout.ex) - https://github.com/sasa1977/boundary (https://github.com/sasa1977/boundary) - https://github.com/sasa1977/ci (https://github.com/sasa1977/ci) - https://elixirforum.com/ (https://elixirforum.com/) Guest Information - https://twitter.com/sasajuric (https://twitter.com/sasajuric) – on Twitter - https://github.com/sasa1977/ (https://github.com/sasa1977/) – on Github - https://www.theerlangelist.com/ (https://www.theerlangelist.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
3/9/20211 hour, 12 minutes, 44 seconds
Episode Artwork

37: The Lambda Days Conference and Elixir

After covering the news, we share a live recording of the show from the Lambda Days conference. It was a lot of fun! We covered topics like learning and teaching Elixir, functional programming, strengths of Elixir over Erlang, the developer tooling, why Elixir is awesome even when not building distributed systems, and much more! Show Notes online - http://podcast.thinkingelixir.com/37 (http://podcast.thinkingelixir.com/37) Elixir Community News - https://dashbit.co/blog/nx-numerical-elixir-is-now-publicly-available (https://dashbit.co/blog/nx-numerical-elixir-is-now-publicly-available) – Project Nx has finally gone public! - https://github.com/elixir-nx/nx (https://github.com/elixir-nx/nx) – Project source on Github - https://groups.google.com/g/elixir-lang-core/c/Q4ZnK-R59-4/m/Uc2xOJKlAwAJ (https://groups.google.com/g/elixir-lang-core/c/Q4ZnK-R59-4/m/Uc2xOJKlAwAJ) – Proposal to add before_suite to ExUnit - https://github.com/nerves-project/nervesexamples/tree/main/hellozig (https://github.com/nerves-project/nerves_examples/tree/main/hello_zig) – Zig Lang is now available for use on Nerves official platforms - https://gleam.run/news/gleam-v0.14-released/ (https://gleam.run/news/gleam-v0.14-released/) – Gleam Lang 0.14 was released - https://hex.pm/packages/prom_ex (https://hex.pm/packages/prom_ex) – PromEx library leaves beta and releases v1.0 - https://www.beamrad.io/ (https://www.beamrad.io/) – New BeamRad.io Elixir and BEAM focused podcast - https://github.com/erlang-ls/erlang_ls/releases/tag/0.10.0 (https://github.com/erlang-ls/erlang_ls/releases/tag/0.10.0) – ElixirLS v0.10.0 released - https://github.com/erlang/otp/pull/2960 (https://github.com/erlang/otp/pull/2960) – OTP 24 get faster float to string algorithm Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.lambdadays.org/lambdadays2021 (https://www.lambdadays.org/lambdadays2021) - https://codesync.global/conferences/code-beam-v-america-2021/ (https://codesync.global/conferences/code-beam-v-america-2021/) – Code Beam V America 2021 Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
3/2/202150 minutes, 48 seconds
Episode Artwork

36: Using LiveView and Hooks with Alex Minette

Alexandre Minette shares his adventures with LiveView as he builds a personal finance tracking application. We cover his use of hooks to integrate Javascript libraries that give him the UX he wants. He shares some tips and resources for finding Javascript libraries that work well with LiveView. Alex pushes browser locale data up to the server to customize rendering dates and times for a fun and different approach. We also get his perspective on using Flutter for Mobile development and where he thinks it fits with web technologies like LiveView. Show Notes online - http://podcast.thinkingelixir.com/36 (http://podcast.thinkingelixir.com/36) Elixir Community News - https://www.tiobe.com/tiobe-index/ (https://www.tiobe.com/tiobe-index/) – Elixir is number 48 in the TIOBE index - https://twitter.com/MarlusSaraiva/status/1360254701808324615 (https://twitter.com/MarlusSaraiva/status/1360254701808324615) – Surface Catalogue in the works. Similar to a "React Storybook" but for LiveView Surface components. - https://twitter.com/wbruce/status/1359299409196896259 (https://twitter.com/wbruce/status/1359299409196896259) – Bruce Williams, co-founder of the Absinthe library announced he's stepping away from being an active core contributor. - https://dashbit.co/blog/building-a-custom-broadway-producer-for-the-twitter-stream-api (https://dashbit.co/blog/building-a-custom-broadway-producer-for-the-twitter-stream-api) – Dashbit new blog post on using Broadway to consume a Twitter Stream API - https://github.com/erlang/otp/issues (https://github.com/erlang/otp/issues) – Erlang OTP has moved the project to Github for issue management. - https://stillstatic.io/ (https://stillstatic.io/) – New static site generator called Still - https://dalgona.github.io/Serum/ (https://dalgona.github.io/Serum/) – Alternative Elixir static site generator - https://hexdocs.pm/nervessystemrpi0/changelog.html#v1-14-0 (https://hexdocs.pm/nerves_system_rpi0/changelog.html#v1-14-0) – New release for Nerves, v1.40. Bring native Apple M1 support and more. 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://alex-min.fr/phoenix-live-view-very-large-list-hook/ (https://alex-min.fr/phoenix-live-view-very-large-list-hook/) - https://alex-min.fr/live-view-browser-timezone/ (https://alex-min.fr/live-view-browser-timezone/) - https://github.com/fulmicoton/fattable/ - Fattable JS library (https://github.com/fulmicoton/fattable/ - Fattable JS library) - https://www.npmjs.com/package/moment (https://www.npmjs.com/package/moment) - https://plaid.com/ (https://plaid.com/) - http://microjs.com (http://microjs.com) - http://cldr.unicode.org/ (http://cldr.unicode.org/) - https://github.com/kipcole9 (https://github.com/kipcole9) - https://github.com/elixir-cldr/cldr (https://github.com/elixir-cldr/cldr) - https://www.youtube.com/watch?v=MZvmYaFkNJI - Chris McCord's 15 minute Twitter video (https://www.youtube.com/watch?v=MZvmYaFkNJI - Chris McCord's 15 minute Twitter video) - https://flutter.dev/ (https://flutter.dev/) Guest Information - https://github.com/alex-min (https://github.com/alex-min) – on Github - https://alex-min.fr/ (https://alex-min.fr/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
2/23/202142 minutes, 19 seconds
Episode Artwork

35: X-Plane's Elixir MMO with Tyler Young

Tyler Young from X-Plane talks with us about how he added a new MMO feature to the popular flight simulator using Elixir. He shares some behind the scenes information on how it was created and how it’s been working in production. We learn about the single modest server that supports all the mobile users right now. I loved hearing how Tyler found working with Elixir to be super productive. He took on a major new feature that he expected to take over a year but was able to deliver it in less than half the time. He did all the Elixir work himself and was new to it! Show Notes online - http://podcast.thinkingelixir.com/35 (http://podcast.thinkingelixir.com/35) Elixir Community News - https://elixir-lang.org/blog/2021/02/03/social-messaging-with-elixir/ (https://elixir-lang.org/blog/2021/02/03/social-messaging-with-elixir/) – New Elixir Case study covers Community.com - https://github.com/erlang/otp/pull/3022 (https://github.com/erlang/otp/pull/3022) – Update to OTP master means 5x faster Phoenix template compilation - https://twitter.com/germsvel/status/1357690618621919232 (https://twitter.com/germsvel/status/1357690618621919232) – Bamboo update decouples it from Phoenix - https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir/ (https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir/) – New beta book "Concurrent Data Processing in Elixir" from PragProg - https://twitter.com/wojtekmach/status/1357857784205869056 (https://twitter.com/wojtekmach/status/1357857784205869056) – Proof of Concept - Erlang docs in ExDocs 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/tylerayoung/status/1349423099410833409 (https://twitter.com/tylerayoung/status/1349423099410833409) – RakNet implemented in Elixir - https://twitter.com/tylerayoung/status/1351578137231056898 (https://twitter.com/tylerayoung/status/1351578137231056898) - https://www.youtube.com/watch?v=JvBT4XBdoUE (https://www.youtube.com/watch?v=JvBT4XBdoUE) – The Soul of Erlang and Elixir - Saša Jurić - https://developer.x-plane.com/2021/01/have-you-heard-the-good-news-about-elixir/ (https://developer.x-plane.com/2021/01/have-you-heard-the-good-news-about-elixir/) - https://appsignal.com/ (https://appsignal.com/) - https://github.com/X-Plane/elixir-raknet (https://github.com/X-Plane/elixir-raknet) Guest Information - https://twitter.com/TylerAYoung (https://twitter.com/TylerAYoung) – on Twitter - https://github.com/s3cur3 (https://github.com/s3cur3) – on Github - https://www.x-plane.com (https://www.x-plane.com) – X-Plane Github - https://tylerayoung.com (https://tylerayoung.com) – Personal Blog - https://developer.x-plane.com/blog/ (https://developer.x-plane.com/blog/) – Developer Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
2/16/202141 minutes, 24 seconds
Episode Artwork

34: José Valim reveals Project Nx

José Valim visits and finally publicly reveals what Project Nx is! He and others have been working on it for 3 months and he's finally ready to unveil it. José will speak more about it at the LambdaDays conference, demonstrating it with code and announcing the release and availability of the OpenSource code. Nx stands for "Numerical Elixir". The Nx project brings a unique numerical mode to Elixir along with GPU support. This important work lays the foundation for a powerful new era with data science in Elixir! Listen in as Jose discusses the details of how this works, how it came about, the goals of the project, what this means for the community, and what comes next. Show Notes online - http://podcast.thinkingelixir.com/34 (http://podcast.thinkingelixir.com/34) Elixir Community News - https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/122 (https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/122) – ElixirLS version 0.6.3 released - https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md (https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md) – ElixirLS Changelog - https://codesync.global/conferences/code-beam-v-america-2021/ (https://codesync.global/conferences/code-beam-v-america-2021/) – CodeBEAM American conference dates March 10-12 - https://hexdocs.pm/oban/changelog.html#2-4-0-2021-01-26 (https://hexdocs.pm/oban/changelog.html#2-4-0-2021-01-26) – Oban 2.4.0 released - https://twitter.com/sorentwo/status/1354099475191652352 (https://twitter.com/sorentwo/status/1354099475191652352) – Oban performance improvement charts - https://github.com/wintermeyer/phxtailwindgenerators (https://github.com/wintermeyer/phx_tailwind_generators) – Phoenix TailwindCSS generator - https://github.com/phoenixframework/phoenix/pull/4191 (https://github.com/phoenixframework/phoenix/pull/4191) – Phoenix JavaScript gets more modern with Phoenix ES modules - https://fullstackphoenix.com/boilerplates/new (https://fullstackphoenix.com/boilerplates/new) – Feedback! We learned about the site FullStackPhoenix which helps you start new projects already setup with several options for how to configure it. 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 - Nx stands for "Numerical Elixir" - https://elixirforum.com/t/anyone-who-wants-to-speculate-about-this-tweet-from-jose/35772/68 (https://elixirforum.com/t/anyone-who-wants-to-speculate-about-this-tweet-from-jose/35772/68) – A great text summary of the announcement found on ElixirForum. - https://twitter.com/josevalim/status/1356880707474370560 (https://twitter.com/josevalim/status/1356880707474370560) – José Valim released the new Nx logo during our recording. The cute animal is a Numbat! - https://en.wikipedia.org/wiki/Numbat (https://en.wikipedia.org/wiki/Numbat) - https://github.com/erlang/otp/pull/2890 (https://github.com/erlang/otp/pull/2890) – José's pull request to add 16-bit floats in bitstrings to OTP - https://numpy.org/ (https://numpy.org/) - https://en.wikipedia.org/wiki/Softmax_function (https://en.wikipedia.org/wiki/Softmax_function) - https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/ (https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/) - https://elixirforum.com/t/pelemay-formerly-hastega-challenge-for-gpgpu-on-elixir/22986 (https://elixirforum.com/t/pelemay-formerly-hastega-challenge-for-gpgpu-on-elixir/22986) - https://erlang.org/doc/man/erlnif.html#dirtynifs (https://erlang.org/doc/man/erl_nif.html#dirty_nifs) – Information on Dirty NIFs - https://twitter.com/bcardarella (https://twitter.com/bcardarella) - https://www.tensorflow.org/xla (https://www.tensorflow.org/xla) - https://tvm.apache.org/ (https://tvm.apache.org/) - https://mlir.llvm.org/ (https://mlir.llvm.org/) - https://github.com/google/jax (https://github.com/google/jax) - https://julialang.org/ (https://julialang.org/) - https://www.lambdadays.org/lambdadays2021/jose-valim (https://www.lambdadays.org/lambdadays2021/jose-valim) – LambdaDays speaker page - https://www.lambdadays.org/lambdadays2021#programme (https://www.lambdadays.org/lambdadays2021#programme) – José speaks on day 2 - Promo code for 15% off LambdaDays tickets! Just use "thinkingelixir15" - https://twitter.com/josevalim (https://twitter.com/josevalim) - https://twitter.com/sean_moriarity (https://twitter.com/sean_moriarity) - https://twitter.com/elixirlang (https://twitter.com/elixirlang) Guest Information - https://twitter.com/josevalim (https://twitter.com/josevalim) – on Twitter - https://github.com/josevalim (https://github.com/josevalim) – on Github - https://dashbit.co/ (https://dashbit.co/) – Dashbit website and blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
2/9/20211 hour, 15 minutes, 59 seconds
Episode Artwork

33: Postgres PubSub and Elixir with Allen Wyma

We talk with Allen Wyma about a Postgres PubSub feature and how it plays nice with Elixir. We dispel the idea that you should always use Phoenix PubSub just because it's there and we cover the value of learning what's built-in to tools like the postgrex library. Allen shares how Postgres PubSub elegantly solved a problem for him and he gives tips for using it. We also talk about teaching Elixir through Allen's YouTube videos and teaching in person with his Teach Me Code efforts. Show Notes online - http://podcast.thinkingelixir.com/33 (http://podcast.thinkingelixir.com/33) Elixir Community News - https://twitter.com/josevalim/status/1353634780018069506 (https://twitter.com/josevalim/status/1353634780018069506) – Jose Valim will reveal what project Nx is on ThinkingElixir! - https://www.lambdadays.org/lambdadays2021/thinking-elixir (https://www.lambdadays.org/lambdadays2021/thinking-elixir) – 15% discount on LambdaDays tickets, use coupon code "thinkingelixir15" - https://www.testingliveview.com/ (https://www.testingliveview.com/) – German Velasco's Testing LiveView book now has a early-access course - https://github.com/elixir-circuits/circuits_quickstart/releases/tag/v0.4.2 (https://github.com/elixir-circuits/circuits_quickstart/releases/tag/v0.4.2) – Nerves Circuits Quickstart image was updated with WiFi improvement - https://github.com/erlef/setup-elixir (https://github.com/erlef/setup-elixir) – The Erlang Ecosystem Foundation is now the proud owner of the github action "setup-elixir". Providing an "official" Github Actions Elixir CI pipeline. - https://github.com/elixir-lang/elixir/pull/10674 (https://github.com/elixir-lang/elixir/pull/10674) – Mix.install landed making it easier to do system scripting with Elixir - https://twitter.com/louispilfold/status/1353058992751140867 (https://twitter.com/louispilfold/status/1353058992751140867) – Gleam Lang project now generates Erlang typespecs for better integrations - https://thinkingelixir.com/podcast-episodes/023-gleam-and-static-types-with-louis-pilfold/ (https://thinkingelixir.com/podcast-episodes/023-gleam-and-static-types-with-louis-pilfold/) – Previous interview with Louis Pilfold about Gleam - https://elixirstatus.com/p/Vmxb2-intellij-elixir-v1192 (https://elixirstatus.com/p/Vmxb2-intellij-elixir-v1192) – Lots of bug fixes for Elixir support in the IntelliJ Elixir plugin - https://github.com/hexpm/hexpm/commit/f2e7e946ccf4a402aa26594a6fa412332a7f7c5f (https://github.com/hexpm/hexpm/commit/f2e7e946ccf4a402aa26594a6fa412332a7f7c5f) – Using custom Hex.pm registries is supported in mix.exs files - https://twitter.com/fhunleth/status/1352364417846026240 (https://twitter.com/fhunleth/status/1352364417846026240) – mix hex.outdated updated to include a link that shows the diffs - https://hex.pm/blog/introducing-hex-preview (https://hex.pm/blog/introducing-hex-preview) – Todd Resudek announced preview.hex.pm to see exactly what gets installed with a package - https://developer.x-plane.com/2021/01/have-you-heard-the-good-news-about-elixir/ (https://developer.x-plane.com/2021/01/have-you-heard-the-good-news-about-elixir/) – X-Plane is using Elixir for their new MMO feature Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.youtube.com/watch?v=i30D_zTVJsc (https://www.youtube.com/watch?v=i30D_zTVJsc) - https://www.essentialsql.com/introduction-common-table-expressions-ctes/ (https://www.essentialsql.com/introduction-common-table-expressions-ctes/) - https://hexdocs.pm/postgrex/Postgrex.Notifications.html (https://hexdocs.pm/postgrex/Postgrex.Notifications.html) - http://www.plangora.com (http://www.plangora.com) - http://www.teachmecode.hk (http://www.teachmecode.hk) Guest Information - https://twitter.com/allenwyma (https://twitter.com/allenwyma) – Allen on Twitter - https://twitter.com/Plangora (https://twitter.com/Plangora) – Plangora on Twitter - https://www.github.com/plangora (https://www.github.com/plangora) – on Github - http://www.plangora.com (http://www.plangora.com) – Blog - http://www.teachmecode.hk (http://www.teachmecode.hk) – Teach Me Code website Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
2/2/202145 minutes, 11 seconds
Episode Artwork

32: Circuit Breaker and Elixir Patterns with Allan MacGregor

We talk with Allan MacGregor about implementing the Circuit Breaker pattern in Elixir and compare that to just using a job library. We get into a fun discussion about design patterns in Elixir and designing for failure. Allan is creating a project called Site Guardian using the PETAL stack and shares his experiences with it and much more! Show Notes online - http://podcast.thinkingelixir.com/32 (http://podcast.thinkingelixir.com/32) Elixir Community News - https://elixir-lang.org/blog/2021/01/13/orchestrating-computer-vision-with-elixir/ (https://elixir-lang.org/blog/2021/01/13/orchestrating-computer-vision-with-elixir/) – New Elixir case study features the company V7 where they use Elixir for orchestrating computer vision. - https://www.phoenixframework.org/blog/improving-testing-and-continuous-integration-in-phoenix (https://www.phoenixframework.org/blog/improving-testing-and-continuous-integration-in-phoenix) – Phoenix is using Earthly for running tests on CI and locally - https://github.com/sasa1977/ci (https://github.com/sasa1977/ci) – Sasa Juric releases a hex package to run CI - https://hexdocs.pm/oban/web-changelog.html#v2-5-0-2021-01-15 (https://hexdocs.pm/oban/web-changelog.html#v2-5-0-2021-01-15) – Oban Web v2.5.0 is out with new features - https://hex.pm/blog/hex-v0.21-released (https://hex.pm/blog/hex-v0.21-released) – Hex 0.21 released. Adds registry self-hosting and more! - https://hex.pm/docs/self_hosting (https://hex.pm/docs/self_hosting) – Documentation on self-hosting Hex - https://twitter.com/josevalim/status/1350004900973981699 (https://twitter.com/josevalim/status/1350004900973981699) – Jose Valim is requesting written guides or blog posts from people who have used "mix phx.gen.auth" and customized it - https://github.com/erlang-ls/erlang_ls/releases/tag/0.8.0 (https://github.com/erlang-ls/erlang_ls/releases/tag/0.8.0) – Erlang-LS - Language server 0.8 was released along with a VS Code extension - https://thinkingelixir.com/petal-stack-in-elixir/ (https://thinkingelixir.com/petal-stack-in-elixir/) – ThinkingElixir post on PETAL stack - https://changelog.com/posts/petal-the-end-to-end-web-stack (https://changelog.com/posts/petal-the-end-to-end-web-stack) – Lars Wikman post on PETAL stack - https://redrapids.medium.com/petal-liveview-and-lamp-eb5e9f81a804 (https://redrapids.medium.com/petal-liveview-and-lamp-eb5e9f81a804) – Bruce Tate post on PETAL stack - https://www.lambdadays.org/lambdadays2021/thinking-elixir (https://www.lambdadays.org/lambdadays2021/thinking-elixir) – ThinkingElixir podcast will record live at LambdaDays 2021 - Feb 16th 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://allanmacgregor.com/posts/circuit-breaker-pattern-in-elixir (https://allanmacgregor.com/posts/circuit-breaker-pattern-in-elixir) - https://siteguardian.dev (https://siteguardian.dev) - https://www.humi.ca/ (https://www.humi.ca/) - https://en.wikipedia.org/wiki/Flow-based_programming (https://en.wikipedia.org/wiki/Flow-based_programming) - https://hex.pm/packages/flowex (https://hex.pm/packages/flowex) - https://www.youtube.com/watch?v=BJVzwaTiOdk (https://www.youtube.com/watch?v=BJVzwaTiOdk) - https://hex.pm/packages/ok (https://hex.pm/packages/ok) - https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ (https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/) - https://bernheisel.com/blog/nostalgia-programming (https://bernheisel.com/blog/nostalgia-programming) - https://dashbit.co/ebooks/the-little-ecto-cookbook (https://dashbit.co/ebooks/the-little-ecto-cookbook) – The Little Ecto Cookbook - https://microservices.io/ (https://microservices.io/) - https://www.youtube.com/watch?v=z4p4e9Uwn6I (https://www.youtube.com/watch?v=z4p4e9Uwn6I) Guest Information - https://twitter.com/allanmacgregor (https://twitter.com/allanmacgregor) – on Twitter - https://github.com/amacgregor (https://github.com/amacgregor) – on Github - https://allanmacgregor.com (https://allanmacgregor.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
1/26/202144 minutes, 16 seconds
Episode Artwork

31: Crawling the Web using Elixir with Oleg Tarasenko and Tze Yiing

We talk with Oleg Tarasenko and Tze Yiing about crawling the web using Elixir. Oleg created the crawly project to help solve this problem and Tze Yiing joined him as a contributor and maintainer. We cover how Elixir is well suited to orchestrate crawling, how to deal with login pages, understanding the legal concerns, building a codeless scraper and much more! Show Notes online - http://podcast.thinkingelixir.com/31 (http://podcast.thinkingelixir.com/31) Elixir Community News - https://dashbit.co/blog/ten-years-ish-of-elixir (https://dashbit.co/blog/ten-years-ish-of-elixir) – January 9th marked the 10th year since the first commit to the Elixir repository - https://github.com/elixir-lang/elixir/commit/337c3f2d569a42ebd5fcab6fef18c5e012f9be5b (https://github.com/elixir-lang/elixir/commit/337c3f2d569a42ebd5fcab6fef18c5e012f9be5b) – First commit on the repository - https://twitter.com/josevalim/status/1349010127270129670 (https://twitter.com/josevalim/status/1349010127270129670) – Jose Valim reveals the name of his secret project is called 'Nx' - https://remote.com/blog/welcoming-elixir-creator-jose-valim (https://remote.com/blog/welcoming-elixir-creator-jose-valim) – Jose Valim joins Remote as a Technical Adivsor - https://twitter.com/josevalim/status/1347858475267854336 (https://twitter.com/josevalim/status/1347858475267854336) – ExUnit will catch SIGQUIT message from CTRL+\ and shows the tests that were running - https://github.com/elixir-lang/elixir/blob/master/lib/mix/lib/mix/tasks/test.ex#L34 (https://github.com/elixir-lang/elixir/blob/master/lib/mix/lib/mix/tasks/test.ex#L34) – ExUnit will print how much time the test suite spent on async tests vs sync tests - https://twitter.com/fhunleth/status/1348092050487570433 (https://twitter.com/fhunleth/status/1348092050487570433) – Nerves support on the M1 is looking good - https://www.youtube.com/playlist?list=PLqj39LCvnOWZl_Pb0Y7wGWijKbTvL4gJg (https://www.youtube.com/playlist?list=PLqj39LCvnOWZl_Pb0Y7wGWijKbTvL4gJg) – Elixir Conf 2020 videos have all been publicly released! 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://oltarasenko.medium.com/web-scraping-with-elixir-and-crawly-extracting-data-behind-authentication-a52584e9cf13 (https://oltarasenko.medium.com/web-scraping-with-elixir-and-crawly-extracting-data-behind-authentication-a52584e9cf13) - https://oltarasenko.medium.com/using-elixir-and-crawly-for-price-monitoring-7364d345fc64 (https://oltarasenko.medium.com/using-elixir-and-crawly-for-price-monitoring-7364d345fc64) – Using Elixir for price monitoring - https://hex.pm/packages/crawly (https://hex.pm/packages/crawly) - https://github.com/oltarasenko/crawly (https://github.com/oltarasenko/crawly) - https://www.erlang-solutions.com/blog/web-scraping-with-elixir.html (https://www.erlang-solutions.com/blog/web-scraping-with-elixir.html) – Oleg's older web scraping with Elixir article - https://www.erlang-solutions.com/blog/how-to-build-a-machine-learning-project-in-elixir.html (https://www.erlang-solutions.com/blog/how-to-build-a-machine-learning-project-in-elixir.html) – Building a machine learning projects with Elixir, Tensorflow and Crawly - https://oltarasenko.medium.com/what-is-web-scraping-and-why-you-might-want-to-use-it-a0e4b621f6d0 (https://oltarasenko.medium.com/what-is-web-scraping-and-why-you-might-want-to-use-it-a0e4b621f6d0) – What is web scraping, and why you might want to use it? - https://www.pillowskin.com (https://www.pillowskin.com) – Ziinc's project using scraping and aggregation - https://www.tensorflow.org/ (https://www.tensorflow.org/) - https://oltarasenko.medium.com/the-unofficial-guide-to-extracting-google-search-results-in-2021-with-elixir-7a6ef80d0f5b (https://oltarasenko.medium.com/the-unofficial-guide-to-extracting-google-search-results-in-2021-with-elixir-7a6ef80d0f5b) - https://scrapy.org/ (https://scrapy.org/) - https://github.com/fredwu/crawler (https://github.com/fredwu/crawler) - https://www.eff.org/deeplinks/2019/09/victory-ruling-hiq-v-linkedin-protects-scraping-public-data (https://www.eff.org/deeplinks/2019/09/victory-ruling-hiq-v-linkedin-protects-scraping-public-data) – EFF legal interpretation of LinkedIn vs HiQ scraping case - https://github.com/scrapinghub/splash/ (https://github.com/scrapinghub/splash/) - https://www.joinhoney.com/ (https://www.joinhoney.com/) - https://hexdocs.pm/crawly/readme.html#quickstart (https://hexdocs.pm/crawly/readme.html#quickstart) – Crawly quickstart guid - https://hexdocs.pm/crawly/tutorial.html (https://hexdocs.pm/crawly/tutorial.html) – Crawley tutorial - https://github.com/oltarasenko/crawly_ui (https://github.com/oltarasenko/crawly_ui) – Crawly UI project - http://crawlyui.com/ (http://crawlyui.com/) – Crawly UI project page - Data is the new gold - https://t.me/elixir_crawly (https://t.me/elixir_crawly) – Crawley Telegram group Guest Information - https://github.com/oltarasenko (https://github.com/oltarasenko) – Oleg on Github - https://oltarasenko.medium.com/ (https://oltarasenko.medium.com/) – Oleg's Blog - https://twitter.com/tzeyiing (https://twitter.com/tzeyiing) – Lee TzeYiing on Twitter - https://github.com/Ziinc (https://github.com/Ziinc) – Lee TzeYiing on Github - https://www.tzeyiing.com (https://www.tzeyiing.com) – Lee TzeYiing Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
1/19/202150 minutes, 33 seconds
Episode Artwork

30: Mutation Testing using Muzak with Devon Estes

We talk with Devon Estes, the creator of a new Elixir mutation testing library called Muzak. Devon joins us to explain what mutation testing is and how it can help development teams in organizations move faster and with greater confidence. We cover when a project can benefit from it, the challenges of offering a PRO version of a library, where Muzak is going in the future, and more! Show Notes online - http://podcast.thinkingelixir.com/30 (http://podcast.thinkingelixir.com/30) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.11.3 (https://github.com/elixir-lang/elixir/releases/tag/v1.11.3) – Elixir 1.11.3 was released with mostly bug fixes - https://www.lambdadays.org/lambdadays2021 (https://www.lambdadays.org/lambdadays2021) – Lambda Days 2021. An Online Conference 16-19 February 2021 - https://twitter.com/lambdadays/status/1346021063671619584 (https://twitter.com/lambdadays/status/1346021063671619584) – Jose Valim plans to announce something he's excited about at the conference - https://github.com/phoenixframework/phoenix_html/issues/329 (https://github.com/phoenixframework/phoenix_html/issues/329) – Phoenix HTML is adding validated HTML - https://utils.zest.dev/gendiff (https://utils.zest.dev/gendiff) – David's Elixir generator diffing service 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://devonestes.com/announcing_muzak (https://devonestes.com/announcing_muzak) - https://hexdocs.pm/muzak/muzak.html (https://hexdocs.pm/muzak/muzak.html) - https://hexdocs.pm/assertions/Assertions.html (https://hexdocs.pm/assertions/Assertions.html) – Another library Devon created in the area of testing - https://github.com/bencheeorg/benchee (https://github.com/bencheeorg/benchee) - https://github.com/PragTob (https://github.com/PragTob) - https://github.com/danmayer/coverband (https://github.com/danmayer/coverband) - https://github.com/unused-code/unused (https://github.com/unused-code/unused) - https://github.com/sponsors (https://github.com/sponsors) Guest Information - https://twitter.com/devoncestes (https://twitter.com/devoncestes) – on Twitter - https://github.com/devonestes (https://github.com/devonestes) – on Github - https://devonestes.com/ (https://devonestes.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
1/12/202158 minutes, 49 seconds
Episode Artwork

29: Running Jobs using Oban with Parker Selbert

We talk with Parker Selbert, the creator of the job processing library Oban. He shares the benefits of using Postgres as the data store over more common choices like Redis. Oban also offers a paid "pro" level and Parker explains how a paid feature set is provided for the OpenSource library. He helps us understand the differences between pro and free as well. We talk about how the BEAM's concurrency and processes enable powerful features in a job processing library that you won't easily find in alternatives. He also shares a glimpse of what's coming in the future for the library and more! Show Notes online - http://podcast.thinkingelixir.com/29 (http://podcast.thinkingelixir.com/29) Elixir Community News - https://hotwire.dev/ (https://hotwire.dev/) – Ruby on Rails project launched Hotwire, a LiveView-like project for pushing HTML to the client - https://twitter.com/chris_mccord/status/1341476828314263552 (https://twitter.com/chris_mccord/status/1341476828314263552) – Chris McCord expressed the benefits of the LiveView approach well here. - https://twitter.com/louispilfold/status/1342130938021629953 (https://twitter.com/louispilfold/status/1342130938021629953) – Gleam projects can apply the Hotwire approach as it is backend agnostic - https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html (https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html) – React JS server rendered components - https://youtu.be/TQQPAU21ZUw (https://youtu.be/TQQPAU21ZUw) – Video explaining React JS server components - https://github.com/kentaro/mixtasksupload_hotswap (https://github.com/kentaro/mix_tasks_upload_hotswap) – Tool to speed IoT development iterations - https://twitter.com/pressy4pie/status/1343822451285716992 (https://twitter.com/pressy4pie/status/1343822451285716992) – Connor Rigby's similar approach - https://getoban.pro/ (https://getoban.pro/) – Oban Pro website updated - https://elixirforum.com/t/one-click-phoenix-deployments/36473 (https://elixirforum.com/t/one-click-phoenix-deployments/36473) – Wojtek Mach created an example Phoenix app with one-click deployments to different cloud services - https://github.com/wojtekmach/phoenix_example (https://github.com/wojtekmach/phoenix_example) – Github project with deployment examples - https://mazes.angelika.me/ (https://mazes.angelika.me/) – LiveView maze generator created by Angelika Tyborska - https://github.com/angelikatyborska/mazes (https://github.com/angelikatyborska/mazes) – Source code for maze generator 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/sorentwo/oban (https://github.com/sorentwo/oban) - https://getoban.pro/ (https://getoban.pro/) - https://dscout.com/ (https://dscout.com/) - https://redis.io/topics/streams-intro (https://redis.io/topics/streams-intro) - https://kafka.apache.org/documentation/streams/ (https://kafka.apache.org/documentation/streams/) - https://elixirforum.com/ (https://elixirforum.com/) - https://hexdocs.pm/oban/Oban.html (https://hexdocs.pm/oban/Oban.html) - https://elixir-slackin.herokuapp.com/ (https://elixir-slackin.herokuapp.com/) Guest Information - https://twitter.com/sorentwo (https://twitter.com/sorentwo) – on Twitter - https://github.com/sorentwo (https://github.com/sorentwo) – on Github - https://sorentwo.com/ (https://sorentwo.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
1/5/202147 minutes, 39 seconds
Episode Artwork

28: DepViz and ElixirLS with Jason Axelson

We talk with Jason Axelson. He created the DepViz tool that can help improve your Elixir compile-time experience. Jason explains how to use the tool to identify where compile time dependencies may be causing issues in your project and provides tips on what to do about it. We also cover recent improvements in Elixir 1.11 and coming improvements in 1.12 and what those will mean for you! Jason is also a member of the Elixir-LSP github organization and explains the history of the Elixir-LS project and how it has grown and developed. Jason shares some tips with how to fix Elixir-LS issues when it stops working for you. He also shares some glimpses of where things may go in the future, and more! Show Notes online - http://podcast.thinkingelixir.com/28 (http://podcast.thinkingelixir.com/28) Elixir Community News - https://techcrunch.com/2020/12/15/supabase-raises-6m-for-its-open-source-firebase-alternative/ (https://techcrunch.com/2020/12/15/supabase-raises-6m-for-its-open-source-firebase-alternative/) – Supabase raises $6M for its open-source Firebase alternative - https://news.crunchbase.com/news/a-new-corporate-card-ramp-secures-30m-for-money-saving-company-credit-programs/ (https://news.crunchbase.com/news/a-new-corporate-card-ramp-secures-30m-for-money-saving-company-credit-programs/) – Ramp Secures $30M For Money-saving Company Credit Programs - https://www.crunchbase.com/organization/spiff-8d22 (https://www.crunchbase.com/organization/spiff-8d22) – Spiff raised 10M this summer for it's Elixir powered product - https://github.com/phoenixframework/phoenixliveview/issues/1287#issuecomment-749069482 (https://github.com/phoenixframework/phoenix_live_view/issues/1287#issuecomment-749069482) – Maybe in the future we can use do blocks in live view? - https://dockyard.com/blog/2020/12/21kkjc/optimizing-user-experience-with-liveview (https://dockyard.com/blog/2020/12/21kkjc/optimizing-user-experience-with-liveview) – Chris McCord's blog post on using Alpine.js with LiveView - https://thinkingelixir.com/podcast-episodes/024-liveview-uploads-with-chris-mccord/ (https://thinkingelixir.com/podcast-episodes/024-liveview-uploads-with-chris-mccord/) – Previous interview with Chris McCord - https://github.com/phoenixframework/phoenixliveview/pull/1280 (https://github.com/phoenixframework/phoenix_live_view/pull/1280) – LiveView test helper open_browser gets css support - https://github.com/evadne/etso (https://github.com/evadne/etso) – Highlighting the Etso Library - https://semaphoreci.com/blog/elixir-creator-jose-valim (https://semaphoreci.com/blog/elixir-creator-jose-valim) – Jose Valim was a guest on the SemaphoreCI podcast - https://www.veracode.com/state-of-software-security-report (https://www.veracode.com/state-of-software-security-report) – Covers some common security problems that Elixir is not immune to 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/axelson/dep_viz (https://github.com/axelson/dep_viz) - https://elixirforum.com/t/depviz-a-visual-tool-to-understand-inter-file-dependencies/35408 (https://elixirforum.com/t/depviz-a-visual-tool-to-understand-inter-file-dependencies/35408) - https://dep-viz.herokuapp.com/ (https://dep-viz.herokuapp.com/) - http://viz.hawaiicampaignspending.com/ (http://viz.hawaiicampaignspending.com/) – His previous project that made extensive use of d3 - http://animalrepairshop.com/#home-section (http://animalrepairshop.com/#home-section) - https://graphviz.org/ (https://graphviz.org/) - mix xref graph --format dot - https://www.d3indepth.com/force-layout/ (https://www.d3indepth.com/force-layout/) - https://github.com/sasa1977/boundary (https://github.com/sasa1977/boundary) - https://github.com/sasa1977/boundary#warning (https://github.com/sasa1977/boundary#warning) - https://github.com/elixir-lsp (https://github.com/elixir-lsp) – The Elixir Language Server Protocol github organization - https://thinkingelixir.com/elixir-in-vs-code/ (https://thinkingelixir.com/elixir-in-vs-code/) – Using VS Code for Elixir development - https://thinkingelixir.com/vs-code-broken-for-elixir/ (https://thinkingelixir.com/vs-code-broken-for-elixir/) – Fixing Elixir-LS issues for VS Code - https://github.com/falood/exsync/ (https://github.com/falood/exsync/) - https://github.com/JakeBecker/elixir-ls/pull/182 (https://github.com/JakeBecker/elixir-ls/pull/182) – PR that added an explicit license to Elixir-LS Guest Information - https://twitter.com/bostonvaulter (https://twitter.com/bostonvaulter) – on Twitter - https://github.com/axelson/ (https://github.com/axelson/) – on Github - https://jasonaxelson.com (https://jasonaxelson.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
12/29/202048 minutes, 40 seconds
Episode Artwork

27: Ash Framework with Zach Daniel

We talk with Zach Daniel, the creator of the Ash Framework, a declarative, resource-oriented application framework for Elixir that lets you build out JSON or GraphQL APIs in minutes. In this episode he explains the history, guiding doctrine of Declarative Design how it can give developers a huge boost without boxing them into a corner! Show Notes online - http://podcast.thinkingelixir.com/27 (http://podcast.thinkingelixir.com/27) Elixir Community News - https://github.com/phoenixframework/phoenix/commit/abbd5f0d85100997d8ed075feba440d2b44f8edd (https://github.com/phoenixframework/phoenix/commit/abbd5f0d85100997d8ed075feba440d2b44f8edd) – Phoenix replaces nprogress with topbar - http://buunguyen.github.io/topbar/ (http://buunguyen.github.io/topbar/) - https://www.erlang-solutions.com/blog/20-years-of-open-source-erlang-the-openerlang-interviews.html (https://www.erlang-solutions.com/blog/20-years-of-open-source-erlang-the-openerlang-interviews.html) – Dec 8th marked the 20th Anniversary of Erlang going OpenSource - https://elixir-lang.org/blog/2020/12/10/integrating-travel-with-elixir-at-duffel/ (https://elixir-lang.org/blog/2020/12/10/integrating-travel-with-elixir-at-duffel/) – New Elixir case study covering Duffel - https://github.com/elixir-lang/elixir/pull/10566 (https://github.com/elixir-lang/elixir/pull/10566) – PR improves compilation errors in EEx templates - https://dashbit.co/blog/how-to-debug-elixir-erlang-compiler-performance (https://dashbit.co/blog/how-to-debug-elixir-erlang-compiler-performance) – Jose Valim's blog post on his process for debugging and writing 3 PRs to Erlang/OTP Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.ash-elixir.org/ (https://www.ash-elixir.org/) - https://github.com/ash-project/ash (https://github.com/ash-project/ash) - https://github.com/ash-project/ (https://github.com/ash-project/) – Github organization with the family of Ash projects - https://twitter.com/ashframework/status/1320574354795757568 (https://twitter.com/ashframework/status/1320574354795757568) – Multitenancy announcement and feature points - https://speakerdeck.com/zachsdaniel1/introduction-to-the-ash-framework-elixir-conf-2020 (https://speakerdeck.com/zachsdaniel1/introduction-to-the-ash-framework-elixir-conf-2020) - https://github.com/sponsors/zachdaniel (https://github.com/sponsors/zachdaniel) – Sponsoring Zach's work on Ash - https://www.variance.com/ (https://www.variance.com/) - https://hasura.io/ (https://hasura.io/) - https://www.albert.io/ (https://www.albert.io/) - https://dockyard.com/ (https://dockyard.com/) - https://activeadmin.info/ (https://activeadmin.info/) - https://github.com/smpallen99/ex_admin (https://github.com/smpallen99/ex_admin) - https://github.com/talonframework/talon (https://github.com/talonframework/talon) - https://www.ash-elixir.org/#h.gb0grln5a4v8 (https://www.ash-elixir.org/#h.gb0grln5a4v8) - https://hex.pm/packages/nimble_options (https://hex.pm/packages/nimble_options) - https://www.ash-elixir.org/community (https://www.ash-elixir.org/community) Guest Information - https://twitter.com/ZachSDaniel1 (https://twitter.com/ZachSDaniel1) – on Twitter - https://github.com/zachdaniel/ (https://github.com/zachdaniel/) – on Github - https://zachdaniel.dev (https://zachdaniel.dev) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
12/22/202042 minutes, 7 seconds
Episode Artwork

26: Elixir in Higher Ed with Jonathan Allen

We talk with Jonathan Allen, an instructor at a Utah college, who taught Elixir to his Distributed Computing students. He tells how he got Elixir into the classroom, what the students loved, what was hard, and how we in the professional community can influence Elixir in education! Show Notes online - http://podcast.thinkingelixir.com/26 (http://podcast.thinkingelixir.com/26) Elixir Community News - https://twitter.com/josevalim/status/1334549051296112641 (https://twitter.com/josevalim/status/1334549051296112641) – Dashbit shuts down Bytepack - Twitter thread with announcement and discussion - https://github.com/dashbitco/bytepack_archive (https://github.com/dashbitco/bytepack_archive) – Open-source project - https://www.erlef.org/ (https://www.erlef.org/) - https://elixirforum.com/t/nerves-development-environment-with-docker-and-vs-code/35973 (https://elixirforum.com/t/nerves-development-environment-with-docker-and-vs-code/35973) – Nerves development environment with Docker (and VS Code) - https://github.com/elixir-circuits/circuits_quickstart (https://github.com/elixir-circuits/circuits_quickstart) – Elixir Circuits quickstart firmware - https://twitter.com/elixirphoenix/status/1334900736312958980 (https://twitter.com/elixirphoenix/status/1334900736312958980) – Aaron Renner (@bayfieldcoder) added as a new core developer on the Phoenix project - https://github.com/aaronrenner/phxgenauth (https://github.com/aaronrenner/phx_gen_auth) – Phoenix Gen Auth package - https://github.com/phoenixframework/phoenix/pull/4070 (https://github.com/phoenixframework/phoenix/pull/4070) – Phoenix View is being extracted from Phoenix itself - https://github.com/phoenixframework/phoenix_view (https://github.com/phoenixframework/phoenix_view) – New PhoenixView project - https://github.com/phoenixframework/phoenix/pull/4055 (https://github.com/phoenixframework/phoenix/pull/4055) – Ecto.Enum support added to Phoenix generators - https://thinkingelixir.com/podcast-episodes/011-new-ecto-features-in-3-5-with-mike-binns/ (https://thinkingelixir.com/podcast-episodes/011-new-ecto-features-in-3-5-with-mike-binns/) – Discussion with Mike Binns about Ecto.Enum Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://pragprog.com/titles/btlang/seven-languages-in-seven-weeks/ (https://pragprog.com/titles/btlang/seven-languages-in-seven-weeks/) – Seven Languages in Seven Weeks book - https://thinkingelixir.com/available-courses/ (https://thinkingelixir.com/available-courses/) – Thinking Elixir courses the students used - https://grox.io/language/elixir/course (https://grox.io/language/elixir/course) - https://www.manning.com/books/elixir-in-action-second-edition (https://www.manning.com/books/elixir-in-action-second-edition) – Elixir in Action book - https://github.com/cabbage-ex/gherkin (https://github.com/cabbage-ex/gherkin) Guest Information - jallen@snow.edu - Jonathan's Email Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
12/15/202036 minutes, 3 seconds
Episode Artwork

25: Improving developer experience with Marlus Saraiva

We talk with Marlus Saraiva about three big projects he is a part of. All of which are around improving the developer experience in Elixir! We start with Broadway, a library that makes working with GenStage even easier. We learn about his project Surface that brings a more react-like component model to LiveView. We then talk about his work on ElixirSense and ElixirLS which are used by editors to give code completion and documentation help. He covers where he thinks web development went wrong and what he thinks Elixir can do to improve it. We also cover where things may go with Surface and ElixirLS in the future, and much more! Please note that this interview with Marlus was recorded before our interview with Chris McCord. When Marlus mentions that they were waiting for a soon-to-come LiveView release, that is the 0.15.0 release. The Surface 0.1.0 is the release he was talking about. Show Notes online - http://podcast.thinkingelixir.com/25 (http://podcast.thinkingelixir.com/25) Elixir Community News - https://claudio-ortolina.org/posts/tips-for-finch-and-telemetry/ (https://claudio-ortolina.org/posts/tips-for-finch-and-telemetry/) – More of Claudio's work around creating custom LiveDashboard pages - https://github.com/doawoo/teex (https://github.com/doawoo/teex) – Teex - Use Elixir like a system scripting language - https://github.com/ityonemo/zigler/ (https://github.com/ityonemo/zigler/) – Zigler library highlight - https://ziglang.org/ (https://ziglang.org/) - https://www.youtube.com/watch?v=IM_tO8hQgKA (https://www.youtube.com/watch?v=IM_tO8hQgKA) – Zigler video showing catching memory leaks - http://blog.erlang.org/the-road-to-the-jit/ (http://blog.erlang.org/the-road-to-the-jit/) – Erlang Blog post on the history and future of Erlang and performance. - https://github.com/msaraiva/surface/blob/v0.1.1/CHANGELOG.md (https://github.com/msaraiva/surface/blob/v0.1.1/CHANGELOG.md) – Discussed Surface with Chris McCord in last week’s episode. They had a new 0.1.0 release - https://techcrunch.com/2020/11/24/discord-is-close-to-closing-a-round-that-would-value-the-company-at-up-to-7b/ (https://techcrunch.com/2020/11/24/discord-is-close-to-closing-a-round-that-would-value-the-company-at-up-to-7b/) – Discord closing a funding round - https://elixir-lang.org/blog/2020/10/08/real-time-communication-at-scale-with-elixir-at-discord/ (https://elixir-lang.org/blog/2020/10/08/real-time-communication-at-scale-with-elixir-at-discord/) – Discord Elixir case study - https://dashbit.co/blog/tests-with-warnings-as-errors (https://dashbit.co/blog/tests-with-warnings-as-errors) – Dashbit blog post detailing making warnings in tests fail a CI build 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/dashbitco/broadway (https://github.com/dashbitco/broadway) - https://www.youtube.com/watch?v=tPu-P97-cbE (https://www.youtube.com/watch?v=tPu-P97-cbE) – ElixirConf 2019 presentation - https://youtu.be/tPu-P97-cbE?t=1935 (https://youtu.be/tPu-P97-cbE?t=1935) – Portion of Broadway showing live updating of worker tree - https://github.com/msaraiva/surface (https://github.com/msaraiva/surface) - https://github.com/elixir-lsp/elixir-ls (https://github.com/elixir-lsp/elixir-ls) - https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md (https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md) - https://github.com/elixir-lsp/elixir_sense (https://github.com/elixir-lsp/elixir_sense) - https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/103 (https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/103) - https://github.com/beam-telemetry/telemetry (https://github.com/beam-telemetry/telemetry) - https://github.com/dashbitco/broadway (https://github.com/dashbitco/broadway) - https://www.youtube.com/watch?v=tPu-P97-cbE (https://www.youtube.com/watch?v=tPu-P97-cbE) - http://surface-demo.msaraiva.io/ (http://surface-demo.msaraiva.io/) - https://storybook.js.org/ (https://storybook.js.org/) - https://github.com/lukaszsamson (https://github.com/lukaszsamson) - https://github.com/axelson (https://github.com/axelson) - https://github.com/elixir-lsp (https://github.com/elixir-lsp) – The Elixir Language Server Protocol Github organization - https://elixirforum.com/ (https://elixirforum.com/) Guest Information - https://twitter.com/MarlusSaraiva (https://twitter.com/MarlusSaraiva) – on Twitter - https://github.com/msaraiva (https://github.com/msaraiva) – on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
12/8/202052 minutes, 36 seconds
Episode Artwork

24: LiveView Uploads with Chris McCord

We talk with Chris McCord about the Phoenix LiveView 0.15.0 release which includes uploads! Chris explains the background on the release and his video showing it off. He shares his go-to stack when starting a new Phoenix project (HINT it includes TailwindCSS). We talk about current gaps in the tooling and where things might go from here in both the short and long term. A great visit with lots of insights! Show Notes online - http://podcast.thinkingelixir.com/24 (http://podcast.thinkingelixir.com/24) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/blob/v0.15.0/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_view/blob/v0.15.0/CHANGELOG.md) – Phoenix LiveView 0.15.0 was released! Includes Uploads along with a test helper. - https://github.com/phoenixframework/phoenixlivedashboard/blob/v0.4.0/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_dashboard/blob/v0.4.0/CHANGELOG.md) – LiveDashboard version bump for LiveView release - https://twitter.com/wojtekmach/status/1331153683279716352 (https://twitter.com/wojtekmach/status/1331153683279716352) – Bob the Builder updated to include Erlang docs in OTP 23 builds - https://hub.docker.com/u/hexpm (https://hub.docker.com/u/hexpm) – Hex.pm Docker builds for Erlang and Elixir that you can build on - https://github.com/erlang/rebar3/releases/tag/3.14.2 (https://github.com/erlang/rebar3/releases/tag/3.14.2) – Rebar3 updated with improvements and fixes - https://www.erlang-solutions.com/blog/introducing-caramel-an-erlang-backend-for-the-ocaml-compiler-that-provides-a-fast-type-checker-for-beam-based-technologies.html (https://www.erlang-solutions.com/blog/introducing-caramel-an-erlang-backend-for-the-ocaml-compiler-that-provides-a-fast-type-checker-for-beam-based-technologies.html) – Erlang Solutions blog post about Caramel, OCaml compiler for fast type-checking BEAM-based technologies - https://claudio-ortolina.org/posts/building-a-custom-page-for-phoenix-live-dashboard/ (https://claudio-ortolina.org/posts/building-a-custom-page-for-phoenix-live-dashboard/) – Claudio Ortolina created an example driven, step-by-step guide to building a custom Phoenix Live Dashboard page. - https://hexdocs.pm/phoenixlivedashboard/Phoenix.LiveDashboard.PageBuilder.html#content (https://hexdocs.pm/phoenix_live_dashboard/Phoenix.LiveDashboard.PageBuilder.html#content) – Docs for LiveDashboard PageBuilder 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/chris_mccord/status/1329836988485275652 (https://twitter.com/chris_mccord/status/1329836988485275652) – Chris' Twitter announcement. Includes feature list. - https://www.phoenixframework.org/blog/phoenix-live-view-upload-deep-dive (https://www.phoenixframework.org/blog/phoenix-live-view-upload-deep-dive) – Blog post with 30 minute deep-dive video - https://github.com/phoenixframework/phoenixliveview/blob/v0.15.0/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_view/blob/v0.15.0/CHANGELOG.md) – Changelog for LiveView 0.15.0 release - https://github.com/Gazler (https://github.com/Gazler) - https://github.com/phoenixframework/phoenixliveview/pull/1181 (https://github.com/phoenixframework/phoenix_live_view/pull/1181) – The openbrowser PR - https://github.com/leandrocp (https://github.com/leandrocp) – Leandro Cesquini Pereira wrote the openbrowser test helper - https://tailwindcss.com/ (https://tailwindcss.com/) - https://github.com/alpinejs/alpine/ (https://github.com/alpinejs/alpine/) - https://thinkingelixir.com/podcast-episodes/020-liveview-v-livewire-alpine-js-with-caleb-porzio/ (https://thinkingelixir.com/podcast-episodes/020-liveview-v-livewire-alpine-js-with-caleb-porzio/) – Our interview with Caleb Porzio about LiveWire - PETAL Stack - Phoenix, Elixir, TailwindCSS, AlpineJS, LiveView - https://github.com/msaraiva/surface (https://github.com/msaraiva/surface) - irc://irc.freenode.net/elixir-lang (irc://irc.freenode.net/elixir-lang) – elixir-lang on freenode IRC - https://elixir-slackin.herokuapp.com/ (https://elixir-slackin.herokuapp.com/) – Elixir on Slack - https://github.com/chrismccord/atlas (https://github.com/chrismccord/atlas) Guest Information - https://twitter.com/chris_mccord (https://twitter.com/chris_mccord) – on Twitter - https://github.com/chrismccord (https://github.com/chrismccord) – on Github - https://dockyard.com/blog/authors/chris-mccord (https://dockyard.com/blog/authors/chris-mccord) – His Dockyard blog posts - https://www.phoenixframework.org/blog (https://www.phoenixframework.org/blog) – Phoenix blog posts Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
12/1/202057 minutes, 8 seconds
Episode Artwork

23: Gleam and Static Types with Louis Pilfold

We talk with Louis Pilfold about how he created Gleam, a static typed language that runs on the BEAM. Louis explains some of the challenges with bringing static types to the BEAM and shares ideas on what can possibly be done about it. We learn how Gleam got started, how it works, and how Elixir and Erlang can interop with it. We cover the recently released Gleam OTP work, talk about Type Driven Development and much more! Show Notes online - http://podcast.thinkingelixir.com/23 (http://podcast.thinkingelixir.com/23) Elixir Community News - http://devonestes.com/announcing_muzak (http://devonestes.com/announcing_muzak) – Devon Estes' Muzak mutation testing library - https://blog.appsignal.com/2020/11/17/announcing-appsignal-for-elixir-integration-2-0.html (https://blog.appsignal.com/2020/11/17/announcing-appsignal-for-elixir-integration-2-0.html) – AppSignal released 2.0 of their reporting tool - https://github.com/phoenixframework/phoenixliveview/pull/1223 (https://github.com/phoenixframework/phoenix_live_view/pull/1223) – Phoenix LiveView file upload fix for components - https://github.com/rrrene/credo (https://github.com/rrrene/credo) – Happy 5th birthday Credo! - https://elixir-lang.org/blog/2020/11/17/real-time-collaboration-with-elixir-at-slab/ (https://elixir-lang.org/blog/2020/11/17/real-time-collaboration-with-elixir-at-slab/) – New Elixir case-study looks at the collaborative wiki product Slab - https://github.com/teamon/tesla/releases/tag/v1.4.0 (https://github.com/teamon/tesla/releases/tag/v1.4.0) – Tesla v1.4.0 released - an Elixir HTTP client - https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/119 (https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/119) – ElixirLS version 0.6.2 released. - https://dashbit.co/blog/you-may-not-need-redis-with-elixir (https://dashbit.co/blog/you-may-not-need-redis-with-elixir) – Jose Valim wrote a blog post addressing the idea of people saying "you don’t need Redis when you use Elixir". - https://baremessages.org/ (https://baremessages.org/) – A new "binary serialization library" called "bare". Aims to make Erlang data structures serialize easier in other languages - https://sr.ht/~hauleth/BARE-Erlang/ (https://sr.ht/~hauleth/BARE-Erlang/) 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/gleam-lang/gleam (https://github.com/gleam-lang/gleam) - https://gleam.run/ (https://gleam.run/) - https://gleam.run/news/gleam-v0.12-and-gleam-otp-v0.1-released/ (https://gleam.run/news/gleam-v0.12-and-gleam-otp-v0.1-released/) - https://thinkingelixir.com/podcast-episodes/016-gleam-games-and-types-with-quinn-wilton/ (https://thinkingelixir.com/podcast-episodes/016-gleam-games-and-types-with-quinn-wilton/) - https://github.com/gleam-lang/gleam/graphs/contributors (https://github.com/gleam-lang/gleam/graphs/contributors) - https://www.embark-studios.com/ (https://www.embark-studios.com/) - https://racket-lang.org/ (https://racket-lang.org/) - https://akka.io/ (https://akka.io/) - https://developers.google.com/protocol-buffers/ (https://developers.google.com/protocol-buffers/) - https://github.com/lalrpop/lalrpop (https://github.com/lalrpop/lalrpop) - http://www.elixir.london/2016/louis-pilfold (http://www.elixir.london/2016/louis-pilfold) - https://www.youtube.com/watch?v=IONWi9hayEA&index=13&list=PLWbHcFXPo2ivlIjzcaHS9NSwe_0hWj0 (https://www.youtube.com/watch?v=IONWi9hayEA&index=13&list=PLWbHc_FXPo2ivlIjzcaHS9N_Swe_0hWj0) - https://gleam.run/community/ (https://gleam.run/community/) – Join the Gleam Discord server Guest Information - https://twitter.com/louispilfold (https://twitter.com/louispilfold) – on Twitter - https://github.com/lpil/ (https://github.com/lpil/) – on Github - https://lpil.uk (https://lpil.uk) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/24/202048 minutes, 57 seconds
Episode Artwork

22: Running migrations in production with Patryk Bąk

We talk with Patryk Bąk about running migrations in production. For production systems where downtime or service interruptions are a problem, we sometimes need to take special care when migrating data structures or the data itself. Patryk shares some valuable tips and techniques along with examples of when to use them. We chime in with war stories, our own tips, and mistakes we've made. A great resource when migrating data in your own systems. Check it out! Show Notes online - http://podcast.thinkingelixir.com/22 (http://podcast.thinkingelixir.com/22) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/pull/1184 (https://github.com/phoenixframework/phoenix_live_view/pull/1184) – LiveView uploads officially lands in master - https://github.com/mcrumm/liveuploadexample (https://github.com/mcrumm/live_upload_example) – LV upload example - https://github.com/phoenixframework/phoenixliveview/blob/master/guides/client/uploads-external.md (https://github.com/phoenixframework/phoenix_live_view/blob/master/guides/client/uploads-external.md) – LV upload guide for client side - https://github.com/phoenixframework/phoenixliveview/blob/master/guides/server/uploads.md (https://github.com/phoenixframework/phoenix_live_view/blob/master/guides/server/uploads.md) – LV upload guide for server side - https://getoban.pro/ (https://getoban.pro/) – Oban Pro v0.5.1 adds cancel support and a new Workflow module - https://github.com/axelson/dep_viz (https://github.com/axelson/dep_viz) – Jason Axelson launched DepViz - https://dep-viz.herokuapp.com/ (https://dep-viz.herokuapp.com/) – DepViz online - https://www.codebeambr.com/ (https://www.codebeambr.com/) – CodeBEAM Brazil happened - look for videos soon? 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://patrykbak.com/2020/06/15/why-should-not-you-use-elixir-code-in-database-migrations.html (https://patrykbak.com/2020/06/15/why-should-not-you-use-elixir-code-in-database-migrations.html) - https://patrykbak.com/2020/05/28/how-to-migrate-live-production-data.html (https://patrykbak.com/2020/05/28/how-to-migrate-live-production-data.html) - https://appunite.com (https://appunite.com) – AppUnite - https://dashbit.co/blog/automatic-and-manual-ecto-migrations (https://dashbit.co/blog/automatic-and-manual-ecto-migrations) - https://www.postgresql.org/docs/9.2/sql-createview.html (https://www.postgresql.org/docs/9.2/sql-createview.html) – PostgreSQL views Guest Information - https://twitter.com/patrykbak91 (https://twitter.com/patrykbak91) – on Twitter - https://github.com/patrykbak91 (https://github.com/patrykbak91) – on Github - https://patrykbak.com (https://patrykbak.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/17/202040 minutes, 10 seconds
Episode Artwork

21: Tailwind CSS, Alpine.js and LiveView with Patrick Thompson

We talk with Patrick Thompson about the PETAL stack. The combination of Phoenix, Elixir, Tailwind CSS, Alpine.js and LiveView! Patrick and David help me understand why people are excited about Tailwind CSS and how it works nicely with Alpine.js. Add LiveView to it and it makes a convincing case! Learn about this powerful and productive stack. Patrick shares his insight and a ton of great resources. Check it out! Show Notes online - http://podcast.thinkingelixir.com/21 (http://podcast.thinkingelixir.com/21) Elixir Community News - https://gleam.run/news/gleam-v0.12-and-gleam-otp-v0.1-released/ (https://gleam.run/news/gleam-v0.12-and-gleam-otp-v0.1-released/) – Gleam v0.12 released with v0.1 of Gleam's typed OTP - https://kry10.com/blog/introtokry10 (https://kry10.com/blog/intro_to_kry10) – Kry10 is an Operating System built with Erlang, and Elixir technologies - https://hex.pm/packages/phoenixliveview (https://hex.pm/packages/phoenix_live_view) – Todd Resudek added graphs to hex.pm as a Hacktober project - https://elixir-lang.org/blog/2020/10/27/delivering-social-change-with-elixir-at-change.org/ (https://elixir-lang.org/blog/2020/10/27/delivering-social-change-with-elixir-at-change.org/) – Change.org new Elixir case study - http://blog.erlang.org/a-closer-look-at-the-interpreter/ (http://blog.erlang.org/a-closer-look-at-the-interpreter/) – Erlang.org blog post about the Erlang interpreter - https://github.com/elixir-lang/elixir/blob/v1.11.2/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.11.2/CHANGELOG.md) – Elixir 1.11.2 released with bug fixes. Now works with Nerves 1.7 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 - http://blog.pthompson.org/liveview-tailwind-css-alpine-js-modal (http://blog.pthompson.org/liveview-tailwind-css-alpine-js-modal) – Creating LiveView Modals with Tailwind CSS and AlpineJS - http://blog.pthompson.org/alpine-js-and-liveview (http://blog.pthompson.org/alpine-js-and-liveview) – Integrating Phoenix LiveView with JavaScript and AlpineJS - https://github.com/pthompson/liveviewtailwindmodal (https://github.com/pthompson/liveview_tailwind_modal) – GitHub code for modal article and upcoming article on Flash Notices. - Patrick’s ElixirConf 2020 talk "Liven up your LiveViews (even further) with AlpineJS" - https://tailwindcss.com/ (https://tailwindcss.com/) - https://tailwindui.com/ (https://tailwindui.com/) - https://pragmaticstudio.com/tutorials/adding-tailwind-css-to-phoenix (https://pragmaticstudio.com/tutorials/adding-tailwind-css-to-phoenix) – Adding Tailwind to a Phoenix project - https://nerdcave.com/tailwind-cheat-sheet (https://nerdcave.com/tailwind-cheat-sheet) – Searchable cheat sheet - https://tailwind.run (https://tailwind.run) – Sandbox - https://www.youtube.com/channel/UCOe-8z68tgw9ioqVvYM4ddQ (https://www.youtube.com/channel/UCOe-8z68tgw9ioqVvYM4ddQ) – New Tailwind Labs YouTube channel - https://www.youtube.com/channel/UCy1H38XrN7hi7wHSClfXPqQ (https://www.youtube.com/channel/UCy1H38XrN7hi7wHSClfXPqQ) – Adam Wathan's YouTube channel with walkthroughs on reproducing sites using Tailwind - https://tailwindcss.com/course (https://tailwindcss.com/course) – Official Tailwind screencast on designing with Tailwind CSS - https://scrimba.com/learn/tailwind (https://scrimba.com/learn/tailwind) – Free Scrimba course on Tailwind - https://www.youtube.com/watch?v=J7mnFSLDg (https://www.youtube.com/watch?v=J_7_mnFSLDg) – Adam Wathan talk on Tailwind CSS best practices - https://adamwathan.me/css-utility-classes-and-separation-of-concerns/ (https://adamwathan.me/css-utility-classes-and-separation-of-concerns/) – An early article discussing the thinking behind Tailwind and utility-first CSS frameworks. - https://blog.tailwindcss.com/headless-ui-unstyled-accessible-ui-components (https://blog.tailwindcss.com/headless-ui-unstyled-accessible-ui-components) – Headless UI announcement - https://github.com/alpinejs/alpine (https://github.com/alpinejs/alpine) – Alpine GitHub and documentation - https://css-tricks.com/alpine-js-the-javascript-framework-thats-used-like-jquery-written-like-vue-and-inspired-by-tailwindcss/ (https://css-tricks.com/alpine-js-the-javascript-framework-thats-used-like-jquery-written-like-vue-and-inspired-by-tailwindcss/) – A good introduction to Alpine - https://scrimba.com/g/galpinejs (https://scrimba.com/g/galpinejs) – Free 1 hour Scrimba course on AlpineJS - https://codewithhugo.com/tags/alpinejs/ (https://codewithhugo.com/tags/alpinejs/) – 18 blog articles on AlpineJS - PETAL Stack is Phoenix, Elixir, Tailwind, Alpine, LiveView - https://www.amazon.com/Programming-Erlang-Concurrent-Pragmatic-Programmers/dp/193778553X (https://www.amazon.com/Programming-Erlang-Concurrent-Pragmatic-Programmers/dp/193778553X) - http://smacss.com/ (http://smacss.com/) - https://headlessui.dev (https://headlessui.dev) - https://thinkingelixir.com/podcast-episodes/010-frontend-vs-backend-and-business-value-of-liveview/ (https://thinkingelixir.com/podcast-episodes/010-frontend-vs-backend-and-business-value-of-liveview/) Guest Information - https://twitter.com/pthompson (https://twitter.com/pthompson) – on Twitter - https://github.com/pthompson (https://github.com/pthompson) – on Github - http://blog.pthompson.org (http://blog.pthompson.org) – Blog - https://www.linkedin.com/in/patrickjthompson/ (https://www.linkedin.com/in/patrickjthompson/) – LinkedIn Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/10/202031 minutes, 18 seconds
Episode Artwork

20: LiveView v LiveWire, Alpine.js with Caleb Porzio

We reached outside the Elixir community to talk with Caleb Porzio. Caleb is the creator of PHP Laravel LiveWire, a framework inspired by LiveView. He created Alpine.js to help solve problems common to both LiveWire and LiveView. He also shares how he made his OpenSource work sustainable, and successfully shifted to being full-time supported for his community work. Lots of great insight and discussion! Show Notes online - http://podcast.thinkingelixir.com/20 (http://podcast.thinkingelixir.com/20) Elixir Community News - https://spawnfest.github.io/winners (https://spawnfest.github.io/winners) – SpawnFest winners were announced - https://github.com/bake-bake-bake/bakeware (https://github.com/bake-bake-bake/bakeware) - https://elixirforum.com/t/new-exaws-maintainer/34917 (https://elixirforum.com/t/new-exaws-maintainer/34917) – New ExAWS project maintainer steps up - https://dashbit.co/ebooks/the-little-ecto-cookbook (https://dashbit.co/ebooks/the-little-ecto-cookbook) – Updated "Little Ecto Cookbook" - https://twitter.com/pragprog/status/1318922490274631682 (https://twitter.com/pragprog/status/1318922490274631682) – New PragProg book titled "Genetic Algorithms in Elixir" - https://hex.pm/packages/credo (https://hex.pm/packages/credo) – Credo v 1.5.0 released 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://laravel-livewire.com/ (https://laravel-livewire.com/) - https://github.com/alpinejs/alpine (https://github.com/alpinejs/alpine) - https://calebporzio.com/proof-of-concept-phoenix-liveview-for-laravel/ (https://calebporzio.com/proof-of-concept-phoenix-liveview-for-laravel/) – Early PoC version using Websockets - https://calebporzio.com/i-just-hit-dollar-100000yr-on-github-sponsors-heres-how-i-did-it (https://calebporzio.com/i-just-hit-dollar-100000yr-on-github-sponsors-heres-how-i-did-it) – Post on being sponsored - https://laravel.com/ (https://laravel.com/) - https://symfony.com/ (https://symfony.com/) – Other popular PHP framework - https://www.youtube.com/watch?v=uQO4Xh1gMpY (https://www.youtube.com/watch?v=uQO4Xh1gMpY) – Embrace the Backend 2018 talk - https://stimulusjs.org/ (https://stimulusjs.org/) - https://github.com/phoenixframework/phoenixliveview/issues/809#issuecomment-632366710 (https://github.com/phoenixframework/phoenix_live_view/issues/809#issuecomment-632366710) - https://www.amazon.com/Working-Public-Making-Maintenance-Software/dp/0578675862 (https://www.amazon.com/Working-Public-Making-Maintenance-Software/dp/0578675862) - https://podcasts.apple.com/us/podcast/no-plans-to-merge/id1455034944 (https://podcasts.apple.com/us/podcast/no-plans-to-merge/id1455034944) – No Plans to Merge Podcast - https://laravel-livewire.com/podcast/ (https://laravel-livewire.com/podcast/) – LiveWire Podcast - https://learn-vscode.com/ (https://learn-vscode.com/) – Make VS Code Awesome course Guest Information - https://twitter.com/calebporzio (https://twitter.com/calebporzio) – on Twitter - https://github.com/calebporzio (https://github.com/calebporzio) – on Github - https://calebporzio.com (https://calebporzio.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
11/3/202057 minutes, 4 seconds
Episode Artwork

19: Elixir and Art with Milada Majáková

We cover the news then talk with Milada Majáková about combining Elixir and art. Milada came new to Elixir from Architecture and Graphic Design. We reject the idea that people are either logical or artistic but not both. She shares her journey, what it was like learning Elixir as a first programming language, creating generative art using Elixir and LiveView, and much more! Show Notes online - http://podcast.thinkingelixir.com/19 (http://podcast.thinkingelixir.com/19) Elixir Community News - https://github.com/elixir-lang/elixir/releases/tag/v1.11.1 (https://github.com/elixir-lang/elixir/releases/tag/v1.11.1) – Elixir v1.11.1 released with a handful of bug fixes - https://twitter.com/josevalim/status/1317163407162986496 (https://twitter.com/josevalim/status/1317163407162986496) – phoenixlivedashboard v0.3.0 released - https://hexdocs.pm/phoenixlivedashboard/Phoenix.LiveDashboard.PageBuilder.html (https://hexdocs.pm/phoenix_live_dashboard/Phoenix.LiveDashboard.PageBuilder.html) – Dashboard PageBuilder docs - https://github.com/ash-project/ash (https://github.com/ash-project/ash) – Ash framework update - https://github.com/achedeuzot/ecto_commons/blob/master/CHANGELOG.md#version-030 (https://github.com/achedeuzot/ecto_commons/blob/master/CHANGELOG.md#version-030) – ecto_commons update - https://hexdocs.pm/oban/web-changelog.html#v2-2-3 (https://hexdocs.pm/oban/web-changelog.html#v2-2-3) – Oban update 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 - http://blog.plataformatec.com.br/2018/11/lets-learn-elixir-together-with-advent-of-code/ (http://blog.plataformatec.com.br/2018/11/lets-learn-elixir-together-with-advent-of-code/) - https://www.manning.com/books/elixir-in-action (https://www.manning.com/books/elixir-in-action) - https://elixir-lang.org/getting-started/introduction.html (https://elixir-lang.org/getting-started/introduction.html) - https://elixir-lang.org/ (https://elixir-lang.org/) - https://adventofcode.com/ (https://adventofcode.com/) - https://github.com/miladamilli/hippogamelive (https://github.com/miladamilli/hippo_game_live) – Hippo game code repo - https://elegant-monstrous-planthopper.gigalixirapp.com/ (https://elegant-monstrous-planthopper.gigalixirapp.com/) – Play Hippo Game - https://en.wikipedia.org/wiki/Generative_art (https://en.wikipedia.org/wiki/Generative_art) - https://twitter.com/miladamilli/status/1227955137659985920 (https://twitter.com/miladamilli/status/1227955137659985920) – Perlin noise algorithm for color banding - https://twitter.com/miladamilli/status/1271087582605185030 (https://twitter.com/miladamilli/status/1271087582605185030) – First attempt at generative art with Elixir - https://twitter.com/miladamilli/status/1272866158379765771 (https://twitter.com/miladamilli/status/1272866158379765771) – LiveView, poisson sampling algorithm - https://twitter.com/miladamilli/status/1275775763329974273 (https://twitter.com/miladamilli/status/1275775763329974273) – Posted again, enabled JPEG exporting via browser - https://art-code.herokuapp.com/poisson-colors (https://art-code.herokuapp.com/poisson-colors) – Hosted project on Heroku - https://m.cernaovec.cz/2020/06/programovani-a-grafika/ (https://m.cernaovec.cz/2020/06/programovani-a-grafika/) – Post about combining artistic and programming interests - https://github.com/miladamilli/poissondiscsampling (https://github.com/miladamilli/poisson_disc_sampling) – Github library that implements poisson disc sampling in 2D - https://github.com/miladamilli/artcodepoissoncolors (https://github.com/miladamilli/artcode_poisson_colors) – Source code for her LiveView colored poisson disc generating project - https://m.cernaovec.cz/2020/07/kompozice/ (https://m.cernaovec.cz/2020/07/kompozice/) – compositions using poisson generated discs and colors - https://twitter.com/miladamilli/status/1298240686890930176 (https://twitter.com/miladamilli/status/1298240686890930176) – SVG generating bug - https://twitter.com/miladamilli/status/1298310143877292033 (https://twitter.com/miladamilli/status/1298310143877292033) – SVG generating bug - https://m.cernaovec.cz/2020/08/embrace-the-mistakes/ (https://m.cernaovec.cz/2020/08/embrace-the-mistakes/) – Blog post "Embrace the Mistakes" - https://play.google.com/store/apps/details?id=cz.cernaovec.wastickerapps (https://play.google.com/store/apps/details?id=cz.cernaovec.wastickerapps) – Android What'sApp Hippo stickers Guest Information - https://twitter.com/miladamilli (https://twitter.com/miladamilli) – on Twitter - https://github.com/miladamilli (https://github.com/miladamilli) – on Github - https://m.cernaovec.cz/ (https://m.cernaovec.cz/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/27/202022 minutes, 18 seconds
Episode Artwork

18: TDD and Phoenix with German Velasco

We cover the news then talk with German Velasco about his free book "Test-Driven Development with Phoenix". He shares his experiences of learning TDD at ThoughtBot, his writing process, tips and more. On TDD, we talk about the benefits we see, the process of "Red Green Refactor", tools and even when we don’t do it. Some great insights! Show Notes online - http://podcast.thinkingelixir.com/18 (http://podcast.thinkingelixir.com/18) Elixir Community News - https://elixir-lang.org/blog/2020/10/08/real-time-communication-at-scale-with-elixir-at-discord/ (https://elixir-lang.org/blog/2020/10/08/real-time-communication-at-scale-with-elixir-at-discord/) – Elixir case study with Discord - https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtZ3c4NEvwvvvpOlEY2NrYQ (https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtZ3c4NEvwvvvpOlEY2NrYQ) – Code Beam Virtual 2020 videos - https://elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/232 (https://elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/232) – Oban v2.2.0 released - https://twitter.com/peramides/status/1314328438208045056 (https://twitter.com/peramides/status/1314328438208045056) – New IEx feature - tab after open parentheses - https://github.com/elixir-ecto/ecto/blob/v3.5.2/CHANGELOG.md (https://github.com/elixir-ecto/ecto/blob/v3.5.2/CHANGELOG.md) – Ecto 3.5 point releases - https://twitter.com/sasajuric/status/1315558664946753536 (https://twitter.com/sasajuric/status/1315558664946753536) – Saša Jurić Parent 0.11.0 library 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://thoughtbot.com/ (https://thoughtbot.com/) - https://www.taxjar.com/ (https://www.taxjar.com/) - https://github.com/thoughtbot/ex_machina (https://github.com/thoughtbot/ex_machina) - https://github.com/thoughtbot/bamboo (https://github.com/thoughtbot/bamboo) - https://github.com/thoughtbot/constable (https://github.com/thoughtbot/constable) - https://thoughtbot.com/upcase/ (https://thoughtbot.com/upcase/) - http://www.germanvelasco.com/ (http://www.germanvelasco.com/) - https://www.youtube.com/watch?v=h8NURVLysrk (https://www.youtube.com/watch?v=h8NURVLysrk) - https://www.tddphoenix.com/ (https://www.tddphoenix.com/) – German's TDD book online - https://hex.pm/packages/mixtestwatch (https://hex.pm/packages/mix_test_watch) - https://github.com/vim-test/vim-test (https://github.com/vim-test/vim-test) - https://bernheisel.com/blog/vim-workflow (https://bernheisel.com/blog/vim-workflow) - https://www.amazon.com/Writing-Well-Classic-Guide-Nonfiction/dp/0060891548 (https://www.amazon.com/Writing-Well-Classic-Guide-Nonfiction/dp/0060891548) - https://github.com/reedes/vim-wordy (https://github.com/reedes/vim-wordy) Guest Information - https://twitter.com/germsvel (https://twitter.com/germsvel) – on Twitter - https://github.com/germsvel/ (https://github.com/germsvel/) – on Github - http://www.germanvelasco.com/ (http://www.germanvelasco.com/) – Blog - https://www.tddphoenix.com/ (https://www.tddphoenix.com/) – TDD Book Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/20/202039 minutes, 6 seconds
Episode Artwork

17: JIT compiler for Beam with Lukas Larsson and John Högberg

We cover the news then talk with Lukas Larsson and John Högberg to learn about the new BeamAsm project that brings a JIT compiler to Erlang OTP and Elixir. This is a very exciting development for all Beam languages and they break down for us what it is, how it works, how it impacts us as Elixir developers, when to expect it, and they share insights into developing OTP. An episode you don’t want to miss! Show Notes online - http://podcast.thinkingelixir.com/17 (http://podcast.thinkingelixir.com/17) Elixir Community News - https://2020.elixirbrasil.com/en/ (https://2020.elixirbrasil.com/en/) – Elixir Brazil conference - https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md (https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md) – Elixir-LS 0.6.1 was released - https://github.com/elixir-ecto/ecto (https://github.com/elixir-ecto/ecto) – Ecto 3.5 was officially released - https://thinkingelixir.com/podcast-episodes/011-new-ecto-features-in-3-5-with-mike-binns/ (https://thinkingelixir.com/podcast-episodes/011-new-ecto-features-in-3-5-with-mike-binns/) – Ecto 3.5 interview with Mike Binns - https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.md) – Elixir 1.11 released - https://thinkingelixir.com/podcast-episodes/003-elixir-1-11-preview-with-wojtek-mach/ (https://thinkingelixir.com/podcast-episodes/003-elixir-1-11-preview-with-wojtek-mach/) – Discussion with Wojtek Mach about Elixir 1.11 features 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/erlang/otp/pull/2745 (https://github.com/erlang/otp/pull/2745) – The big pull request - https://www.erlang-solutions.com/ (https://www.erlang-solutions.com/) - http://erlang.org/doc/man/HiPE_app.html (http://erlang.org/doc/man/HiPE_app.html) - https://github.com/asmjit/asmjit (https://github.com/asmjit/asmjit) - http://www.gnu.org/software/gdb/ (http://www.gnu.org/software/gdb/) - https://www.youtube.com/watch?v=w4xMarVUZQ4 (https://www.youtube.com/watch?v=w4xMarVUZQ4) – Luke Imhoff Elixir debugger - https://rr-project.org (https://rr-project.org) - Tools used for work on OTP - gdb, rr, perf, asmjit, godbolt.org, uops.info - https://uops.info/ (https://uops.info/) - https://godbolt.org/ (https://godbolt.org/) - https://rr-project.org/ (https://rr-project.org/) - http://blog.erlang.org (http://blog.erlang.org) – Erlang Blog Guest Information - https://twitter.com/garazdawi (https://twitter.com/garazdawi) – Lukas on Twitter - https://github.com/garazdawi/ (https://github.com/garazdawi/) – Lukas on Github - lukas@erlang.org – Lukas’ email - https://github.com/jhogberg (https://github.com/jhogberg) – John on Github - john@erlang.org – John’s email Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/13/202043 minutes, 55 seconds
Episode Artwork

16: Gleam, Games and Types with Quinn Wilton

We cover the news then talk with Quinn Wilton about Gleam, a static typed language on the BEAM and why Elixir devs should care about it. We learn about her Chip8 emulator that renders game ROMs to LiveView, what dynamic security analysis of web applications can look like today, static typing, library recommendations and much more! Show Notes online - http://podcast.thinkingelixir.com/16 (http://podcast.thinkingelixir.com/16) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/commit/a45e34f9930c736b2636ce4ee792ae60331d8c8d (https://github.com/phoenixframework/phoenix_live_view/commit/a45e34f9930c736b2636ce4ee792ae60331d8c8d) – live_view’s inner content is changing again - https://github.com/hugobarauna/elixir-ecosystem-2020-reponses-data (https://github.com/hugobarauna/elixir-ecosystem-2020-reponses-data) – Queryable response data from Hugo Barauna - https://twitter.com/josevalim/status/1309436711022268418 (https://twitter.com/josevalim/status/1309436711022268418) – Dashbit libraries moving to 1.0 - https://elixir-lang.org/blog/2020/09/24/paas-with-elixir-at-Heroku/ (https://elixir-lang.org/blog/2020/09/24/paas-with-elixir-at-Heroku/) – New Elixir lang case study "PaaS with Elixir at Heroku" Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.tinfoilsecurity.com/ (https://www.tinfoilsecurity.com/) - https://news.synopsys.com/2020-01-09-Synopsys-Acquires-Tinfoil-Security-to-Expand-DAST-and-Add-API-Security-Testing (https://news.synopsys.com/2020-01-09-Synopsys-Acquires-Tinfoil-Security-to-Expand-DAST-and-Add-API-Security-Testing) - https://github.com/lumen/lumen (https://github.com/lumen/lumen) - https://gleam.run/ (https://gleam.run/) - https://plummail.co/ (https://plummail.co/) - https://www.typescriptlang.org/ (https://www.typescriptlang.org/) - http://chip8.quinnwilton.com (http://chip8.quinnwilton.com) - https://github.com/QuinnWilton/gleam-chip8 (https://github.com/QuinnWilton/gleam-chip8) - https://spawnfest.github.io/ (https://spawnfest.github.io/) - https://hex.pm/packages/algae (https://hex.pm/packages/algae) - https://hex.pm/packages/norm (https://hex.pm/packages/norm) - https://github.com/keathley/norm (https://github.com/keathley/norm) - https://hexdocs.pm/stream_data/StreamData.html (https://hexdocs.pm/stream_data/StreamData.html) - https://www.youtube.com/watch?v=tpo3JUyVIjQ (https://www.youtube.com/watch?v=tpo3JUyVIjQ) - https://2020.elixirconf.com/speakers/128/talk (https://2020.elixirconf.com/speakers/128/talk) - https://smartlogic.io/podcast/elixir-wizards/s4e15-elixirconf/ (https://smartlogic.io/podcast/elixir-wizards/s4e15-elixirconf/) Guest Information - https://twitter.com/wilton_quinn (https://twitter.com/wilton_quinn) – on Twitter - https://github.com/quinnwilton/ (https://github.com/quinnwilton/) – on Github - http://quinnwilton.com/ (http://quinnwilton.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
10/6/202043 minutes, 57 seconds
Episode Artwork

15: Inside Elixir Radar with Hugo Baraúna

We cover the news then talk with Hugo Baraúna, the guy behind Elixir Radar, to get the inside scoop. Would you like to increase the chances of your blog post being featured by Elixir Radar? Hugo shares how! We also discuss his observations of Elixir adoption in companies, better understanding our own community, sustainability in OpenSource, his efforts to fund his time on Elixir Radar, and much more! Show Notes online - http://podcast.thinkingelixir.com/15 (http://podcast.thinkingelixir.com/15) Elixir Community News - https://vimeo.com/ondemand/elixirconfus2020 (https://vimeo.com/ondemand/elixirconfus2020) – ElixirConf US 2020 Videos available online - https://subvisual.com/blog/posts/announcing-alchemy-conf/ (https://subvisual.com/blog/posts/announcing-alchemy-conf/) – Alchemy Conf announced for 14-15 of May 2021 in Braga, Portugal - https://twitter.com/josevalim/status/1307199733417598977 (https://twitter.com/josevalim/status/1307199733417598977) – Ecto 3.5.0 RC-1 released - https://thinkingelixir.com/podcast-episodes/011-new-ecto-features-in-3-5-with-mike-binns/ (https://thinkingelixir.com/podcast-episodes/011-new-ecto-features-in-3-5-with-mike-binns/) – Interview with Mike Binns about new features - https://www.iotevolutionworld.com/newsroom/articles/446540-winners-the-2020-iot-evolution-community-impact-awards.htm (https://www.iotevolutionworld.com/newsroom/articles/446540-winners-the-2020-iot-evolution-community-impact-awards.htm) – Nerves Project won the 2020 IoT Evolution Community Impact Awards for NervesHub - https://github.com/rrrene/credo/blob/v1.5.0-rc.1/CHANGELOG.md (https://github.com/rrrene/credo/blob/v1.5.0-rc.1/CHANGELOG.md) – Credo 1.5.0 RC-1 - https://www.ash-elixir.org/ (https://www.ash-elixir.org/) – Ash Framework Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://elixir-radar.com/ (https://elixir-radar.com/) - https://medium.com/elixir-radar/elixir-radar-has-a-new-home-c800244489b9 (https://medium.com/elixir-radar/elixir-radar-has-a-new-home-c800244489b9) - https://gumroad.com/l/WUIlt (https://gumroad.com/l/WUIlt) – Elixir Individual Sponsorships - https://docs.google.com/document/d/1K5mCbL7zBaQaxZFEsx5hODqT3KbYKCc_qaopigL09Bo/edit (https://docs.google.com/document/d/1K5mCbL7zBaQaxZFEsx5hODqT3KbYKCc_qaopigL09Bo/edit) – Elixir Radar Company Sponsorships - https://medium.com/elixir-radar/elixir-radar-transparency-report-end-of-august-2020-1d3bd21431a7 (https://medium.com/elixir-radar/elixir-radar-transparency-report-end-of-august-2020-1d3bd21431a7) – Elixir Radar transparency report — end of August 2020 - https://elixirweekly.net/ (https://elixirweekly.net/) – Other Elixir newsletter - https://twitter.com/bcardarella/status/1302237810896834560 (https://twitter.com/bcardarella/status/1302237810896834560) – 2020 Elixir Ecosystem Survey raw results (CSV) - https://twitter.com/hugobarauna/status/1308831229471531008 (https://twitter.com/hugobarauna/status/1308831229471531008) – Hugo helped clean up the CSV and shared his version - https://github.com/hugobarauna/elixir-ecosystem-2020-reponses-data (https://github.com/hugobarauna/elixir-ecosystem-2020-reponses-data) – Github project to better study Elixir Ecosystem Survey results Guest Information - https://twitter.com/elixir_radar (https://twitter.com/elixir_radar) – Elixir Radar on Twitter - https://twitter.com/hugobarauna (https://twitter.com/hugobarauna) – Hugo’s Portuguese language Twitter - https://github.com/hugobarauna/ (https://github.com/hugobarauna/) – on Github - https://medium.com/elixir-radar (https://medium.com/elixir-radar) – Hugo’s Medium blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/29/202053 minutes, 6 seconds
Episode Artwork

14: LiveView and Airtable with Ricardo Garcia Vega

Huge batch of news! Then we talk with Ricardo Garcia Vega about how he paired a Phoenix application with no database Repo to an Airtable backend to quickly solve a problem but without compromising on speed or reliability. Includes great discussion of ETS tables, GenServers for syncing a cache, LiveView for live updates, links to great resources, a github repo for doing it yourself and much more! Show Notes online - http://podcast.thinkingelixir.com/14 (http://podcast.thinkingelixir.com/14) Elixir Community News - https://www.youtube.com/playlist?list=PLqj39LCvnOWZl_Pb0Y7wGWijKbTvL4gJg (https://www.youtube.com/playlist?list=PLqj39LCvnOWZl_Pb0Y7wGWijKbTvL4gJg) – ElixirConf US 2020 Online keynote talks - https://twitter.com/elixirlang/status/1305415089600835587 (https://twitter.com/elixirlang/status/1305415089600835587) – Elixir v1.11.0-rc.0 released - https://thinkingelixir.com/podcast-episodes/003-elixir-1-11-preview-with-wojtek-mach/ (https://thinkingelixir.com/podcast-episodes/003-elixir-1-11-preview-with-wojtek-mach/) – Discussion about new features in Elixir 1.11 - SpawnFest news - https://github.com/spawnfest/continuum (https://github.com/spawnfest/continuum) – New Queue system based on files and how email is organized - https://github.com/spawnfest/shaker (https://github.com/spawnfest/shaker) – Convert your rebar3 projects to mix - https://github.com/spawnfest/beamwork (https://github.com/spawnfest/beamwork) – “Spotlight” Phoenix Live Dashboard graphs on Phoenix response times - https://github.com/spawnfest/bakeware (https://github.com/spawnfest/bakeware) – Self-contained cross-platform executables for Elixir/Erlang - https://github.com/spawnfest/livechart (https://github.com/spawnfest/livechart) – “Uncharted” dependency-free LiveView-powered SVG charts - https://twitter.com/codebeamio/status/1304370824573485056 (https://twitter.com/codebeamio/status/1304370824573485056) – Static Typed Erlang from WhatsApp and Facebook - https://codesync.global/uploads/media/activity_slides/0001/03/f2292f201aa6b04db8c4e0b9cfa191dd07c9ee14.pdf (https://codesync.global/uploads/media/activity_slides/0001/03/f2292f201aa6b04db8c4e0b9cfa191dd07c9ee14.pdf) – Presentation slides about Static Typed Erlang - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU will be held 7-8 of October - https://twitter.com/josevalim/status/1304399735445426176 (https://twitter.com/josevalim/status/1304399735445426176) – JIT comes to the ErlangVM - https://github.com/erlang/otp/pull/2745 (https://github.com/erlang/otp/pull/2745) – PR that includes some interesting documentation and explanation - https://github.com/erlang-ls/erlang_ls (https://github.com/erlang-ls/erlang_ls) – An Erlang Language Server is now available - https://elixirforum.com/t/try-erlfmt-today/34307 (https://elixirforum.com/t/try-erlfmt-today/34307) – erlfmt is an Erlang language syntax formatter 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 - http://codeloveandboards.com/blog/2020/07/02/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-1/ (http://codeloveandboards.com/blog/2020/07/02/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-1/) - http://codeloveandboards.com/blog/2020/07/11/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-2/ (http://codeloveandboards.com/blog/2020/07/11/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-2/) - http://codeloveandboards.com/blog/2020/07/19/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-3/ (http://codeloveandboards.com/blog/2020/07/19/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-3/) - http://codeloveandboards.com/blog/2020/07/27/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-4/ (http://codeloveandboards.com/blog/2020/07/27/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-4/) - https://phoenixcms.herokuapp.com/ (https://phoenixcms.herokuapp.com/) - https://github.com/bigardone/phoenix-cms (https://github.com/bigardone/phoenix-cms) - https://cabify.com/es (https://cabify.com/es) - https://airtable.com/ (https://airtable.com/) - https://airtable.com/product (https://airtable.com/product) - https://elm-lang.org/ (https://elm-lang.org/) - https://webflow.com/ (https://webflow.com/) - https://elm-pages.com/ (https://elm-pages.com/) - https://github.com/teamon/tesla – The HTTP client used in his solution (https://github.com/teamon/tesla – The HTTP client used in his solution) - https://hexdocs.pm/phoenixliveview/dom-patching.html#temporary-assigns (https://hexdocs.pm/phoenix_live_view/dom-patching.html#temporary-assigns) Guest Information - https://twitter.com/bigardone (https://twitter.com/bigardone) – on Twitter - https://github.com/bigardone/ (https://github.com/bigardone/) – on Github - http://codeloveandboards.com/ (http://codeloveandboards.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/22/202037 minutes, 39 seconds
Episode Artwork

13: Video chat using LiveView with Jesse Herrick

We talk with Jesse Herrick about creating a video chat app using WebRTC and Phoenix LiveView. We cover the WebRTC protocol, how Phoenix helps, JS hooks, pushing events from the server and much more! Show Notes online - http://podcast.thinkingelixir.com/13 (http://podcast.thinkingelixir.com/13) Elixir Community News - https://twitter.com/bcardarella/status/1301959070493138944 (https://twitter.com/bcardarella/status/1301959070493138944) – Elixir Ecosystem Survey overall results - https://twitter.com/bcardarella/status/1302237810896834560 (https://twitter.com/bcardarella/status/1302237810896834560) – Elixir Ecosystem Survey link to raw CSV result data - https://github.com/elixir-lang/elixir/pull/10303 (https://github.com/elixir-lang/elixir/pull/10303) – PR from Jose Valim that will “Introduce a type hint system” - https://github.com/achedeuzot/ecto_commons (https://github.com/achedeuzot/ecto_commons) – New library ecto_commons that collects Ecto validations - https://github.com/erlang/rebar3/releases/tag/3.14.0 (https://github.com/erlang/rebar3/releases/tag/3.14.0) – Rebar3 version 3.14 released - https://github.com/elixir-ecto/ecto/blob/master/CHANGELOG.md (https://github.com/elixir-ecto/ecto/blob/master/CHANGELOG.md) – Ecto 3.5.0-rc - https://github.com/elixir-ecto/ecto_sql/blob/master/CHANGELOG.md (https://github.com/elixir-ecto/ecto_sql/blob/master/CHANGELOG.md) 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://littlelines.com/ (https://littlelines.com/) - https://littlelines.com/blog/2020/07/06/building-a-video-chat-app-in-phoenix-liveview (https://littlelines.com/blog/2020/07/06/building-a-video-chat-app-in-phoenix-liveview) - https://github.com/littlelines/littlechat (https://github.com/littlelines/littlechat) - https://meet.jit.si/ (https://meet.jit.si/) - https://edgeguides.rubyonrails.org/actioncableoverview.html (https://edgeguides.rubyonrails.org/action_cable_overview.html) - https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Connectivity (https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Connectivity) - https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html#push_event/3 (https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html#push_event/3) – The push_event/3 function - https://www.pkc.io/blog/untangling-the-webrtc-flow/ (https://www.pkc.io/blog/untangling-the-webrtc-flow/) - https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/ (https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/) - https://webrtcglossary.com/ (https://webrtcglossary.com/) - https://webrtchacks.com/ (https://webrtchacks.com/) - https://littlechat.app/ (https://littlechat.app/) Guest Information - https://twitter.com/JesseHerrick (https://twitter.com/JesseHerrick) – on Twitter - https://github.com/JesseHerrick/ (https://github.com/JesseHerrick/) – on Github - https://jesseherrick.com (https://jesseherrick.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/15/202037 minutes, 44 seconds
Episode Artwork

12: All a Flutter over NIFs and Ports with Connor Rigby

We catch up with Connor Rigby and learn about his recent Flutter work for Nerves. We take this opportunity to get his perspective on when to choose NIFs or Ports for native integrations, how to make NIFs more portable, get a recommendation for multimedia processing and much more! Show Notes online - http://podcast.thinkingelixir.com/12 (http://podcast.thinkingelixir.com/12) Elixir Community News - https://twitter.com/chris_mccord/status/1299377514545057792 (https://twitter.com/chris_mccord/status/1299377514545057792) – Chris McCord doing work on LiveView uploads - https://hex.pm/blog/vulnerability-report-system (https://hex.pm/blog/vulnerability-report-system) – Hex.pm received a new security feature - https://github.com/erlang/rebar3/releases/tag/3.14.0 (https://github.com/erlang/rebar3/releases/tag/3.14.0) – Rebar3 version 3.14 released - https://lpil.uk/blog/gleam-v0.11-released/ (https://lpil.uk/blog/gleam-v0.11-released/) – Gleam v0.11 was released 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://binarynoggin.com/making-nifs-portable/ (https://binarynoggin.com/making-nifs-portable/) - https://binarynoggin.com/connor-rigby-joins-binary-noggin/ (https://binarynoggin.com/connor-rigby-joins-binary-noggin/) – Announcement that Connor joined BinaryNoggin - https://flutter.dev/ (https://flutter.dev/) – Google’s Flutter project - https://dockyard.com/blog/2020/05/11/elixir-nifs-xbox-kinect-and-liveview (https://dockyard.com/blog/2020/05/11/elixir-nifs-xbox-kinect-and-liveview) – Mike Binns article that prompted his post - https://github.com/OpenKinect/libfreenect (https://github.com/OpenKinect/libfreenect) - https://github.com/rusterlium/rustler (https://github.com/rusterlium/rustler) - https://github.com/elixir-circuits/circuits_uart (https://github.com/elixir-circuits/circuits_uart) – Project Connor uses as a template for Ports - Nerves doesn’t use NIFs at all internally - http://erlang.org/doc/tutorial/c_port.html (http://erlang.org/doc/tutorial/c_port.html) - http://erlang.org/doc/tutorial/nif.html (http://erlang.org/doc/tutorial/nif.html) - http://erlang.org/doc/man/erl_nif.html (http://erlang.org/doc/man/erl_nif.html) - https://github.com/ConnorRigby/elixir-python-port-example (https://github.com/ConnorRigby/elixir-python-port-example) - http://erlport.org/ (http://erlport.org/) - https://www.membraneframework.org/ (https://www.membraneframework.org/) - https://github.com/membraneframework (https://github.com/membraneframework) - https://octoprint.org/ (https://octoprint.org/) Guest Information - https://twitter.com/pressy4pie (https://twitter.com/pressy4pie) – on Twitter - https://github.com/ConnorRigby/ (https://github.com/ConnorRigby/) – on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/8/202043 minutes, 55 seconds
Episode Artwork

11: New Ecto features in 3.5 with Mike Binns

Learning about some new features coming in Ecto 3.5 from Mike Binns. Mike explains Ecto.Enum, what a ParameterizedType is, the new "redact" option on fields and much more! Show Notes online - http://podcast.thinkingelixir.com/11 (http://podcast.thinkingelixir.com/11) Elixir Community News - http://blog.erlang.org/the-new-scalable-ets-ordered_set/ (http://blog.erlang.org/the-new-scalable-ets-ordered_set/) – Improvements in OTP 22 explained in more detail. - https://elixir-lang.org/blog/categories.html#Cases (https://elixir-lang.org/blog/categories.html#Cases) – 2nd case study published on ElixirLang website features Nerves and farm.bot - https://hex.pm/packages/site_encrypt (https://hex.pm/packages/site_encrypt) – site_encrypt implements the Let’s Encrypt protocol for your Phoenix applications 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://dockyard.com/ (https://dockyard.com/) - https://github.com/elixir-ecto/ecto/pull/3370 (https://github.com/elixir-ecto/ecto/pull/3370) – ParameterizedType & Ecto.Enum - https://github.com/elixir-ecto/ecto/pull/3385 (https://github.com/elixir-ecto/ecto/pull/3385) – “redact” support - https://github.com/elixir-ecto/ecto/blob/master/CHANGELOG.md (https://github.com/elixir-ecto/ecto/blob/master/CHANGELOG.md) – Ecto changelog showing 3.5 release changes - Mike’s tips on contributing to an open source project - https://knowyourmeme.com/memes/hunter2 (https://knowyourmeme.com/memes/hunter2) – Understanding the “hunter2” reference - https://github.com/TheFirstAvenger/kinext (https://github.com/TheFirstAvenger/kinext) – XBOX 360 Kinect with LiveView integration - what will you do with it? Guest Information - https://twitter.com/1stAvenger (https://twitter.com/1stAvenger) – on Twitter - https://github.com/thefirstavenger/ (https://github.com/thefirstavenger/) – on Github - https://dockyard.com/blog/authors/mike-binns (https://dockyard.com/blog/authors/mike-binns) – Mike's blog posts Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
9/1/202032 minutes, 53 seconds
Episode Artwork

10: Frontend vs Backend and Business Value of LiveView

News and discussion about why the talk of “Frontend vs Backend” is wrong, Single Page Apps, seeing the business value of LiveView, and much more! Show Notes online - http://podcast.thinkingelixir.com/10 (http://podcast.thinkingelixir.com/10) Elixir Community News - https://elixirforum.com/t/nerves-raspberry-pi-systems-v2-0-0-release-candidates/33446 (https://elixirforum.com/t/nerves-raspberry-pi-systems-v2-0-0-release-candidates/33446) – Nerves Raspberry Pi Systems v2.0.0 release candidates - https://twitter.com/1stavenger/status/1294325758601592832 (https://twitter.com/1stavenger/status/1294325758601592832) – Ecto schema "redact" Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.fullstackradio.com/episodes/143 (https://www.fullstackradio.com/episodes/143) - https://twitter.com/Rich_Harris (https://twitter.com/Rich_Harris) - https://svelte.dev/ (https://svelte.dev/) - https://macwright.com/2020/05/10/spa-fatigue.html (https://macwright.com/2020/05/10/spa-fatigue.html) - https://dev.to/richharris/in-defense-of-the-modern-web-2nia (https://dev.to/richharris/in-defense-of-the-modern-web-2nia) - https://ace.c9.io/ (https://ace.c9.io/) – Ace Editor Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/25/202035 minutes, 16 seconds
Episode Artwork

9: Decomposing models with Maciej Kaszubowski

Decomposing models based on lifecycle with Maciej Kaszubowski. He shares tips on finding the lines, how DDD can help, ideas for modular designs, simple ways to start a PubSub architecture, avoiding “donkey code” and much more! Show Notes online - http://podcast.thinkingelixir.com/9 (http://podcast.thinkingelixir.com/9) Elixir Community News - https://twitter.com/hauleth/status/1292919509406363661 (https://twitter.com/hauleth/status/1292919509406363661) - https://hex.pm/packages/magritte (https://hex.pm/packages/magritte) – Package that lets you place inserted arguments with the pipe operator - https://github.com/dashbitco/nimble_totp/ (https://github.com/dashbitco/nimble_totp/) – Time-based One Time Password support library extracted from Bytepack.io project - https://dashbit.co/blog/introducing-nimble-totp (https://dashbit.co/blog/introducing-nimble-totp) - https://twitter.com/1stAvenger/status/1293163024484913155 (https://twitter.com/1stAvenger/status/1293163024484913155) – Ecto.Enum and ParameterizedType - https://github.com/elixir-ecto/ecto/pull/3370 (https://github.com/elixir-ecto/ecto/pull/3370) – Ecto.Enum PR 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://mkaszubowski.com/2020/06/24/decomposing-models-lifecycle.html (https://mkaszubowski.com/2020/06/24/decomposing-models-lifecycle.html) - https://mkaszubowski.com/2020/06/02/modular-software-design-benefits.html (https://mkaszubowski.com/2020/06/02/modular-software-design-benefits.html) - https://mkaszubowski.com/2020/05/28/costs-of-modular-software-design.html (https://mkaszubowski.com/2020/05/28/costs-of-modular-software-design.html) - https://appunite.com/ (https://appunite.com/) - https://mkaszubowski.com/2017/10/30/whats-wrong-with-global-user-module.html (https://mkaszubowski.com/2017/10/30/whats-wrong-with-global-user-module.html) - https://github.com/aaronrenner/phxgenauth (https://github.com/aaronrenner/phx_gen_auth) - https://www.youtube.com/watch?v=z4p4e9Uwn6I (https://www.youtube.com/watch?v=z4p4e9Uwn6I) - https://einarwh.wordpress.com/2017/01/21/donkey-code/ (https://einarwh.wordpress.com/2017/01/21/donkey-code/) – Donkey Code explanation - https://www.youtube.com/watch?v=d2Ddo8OV7ig (https://www.youtube.com/watch?v=d2Ddo8OV7ig) Guest Information - https://twitter.com/mkaszubowski94 (https://twitter.com/mkaszubowski94) – on Twitter - https://github.com/mkaszubowski/ (https://github.com/mkaszubowski/) – on Github - https://mkaszubowski.com/ (https://mkaszubowski.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/18/202047 minutes, 24 seconds
Episode Artwork

8: Careers and Dev Environments

We discuss career development as programmers, how COVID may change things, our dev setups including editors, resources, asdf, docker, and much more! Show Notes online - http://podcast.thinkingelixir.com/8 (http://podcast.thinkingelixir.com/8) Elixir Community News - https://twitter.com/MarlusSaraiva/status/1290397379292790786 (https://twitter.com/MarlusSaraiva/status/1290397379292790786) – ElixirSense and ElixirLS is going to gain insight for Ecto - https://twitter.com/josevalim/status/1290234452652654593 (https://twitter.com/josevalim/status/1290234452652654593) – Jose Valim talking about PlausibleHQ and analytics - https://twitter.com/PlausibleHQ (https://twitter.com/PlausibleHQ) - https://github.com/plausible/analytics (https://github.com/plausible/analytics) - https://plausible.io/ (https://plausible.io/) - https://www.eventbrite.co.uk/e/code-sync-recorded-talks-2020-tickets-114696301726 (https://www.eventbrite.co.uk/e/code-sync-recorded-talks-2020-tickets-114696301726) – ElixirConf EU conference videos are available for purchase - https://2020.elixirconf.com/ (https://2020.elixirconf.com/) – ElixirConf US 2020 information on access to 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://nubank.com.br/en/ (https://nubank.com.br/en/) - https://twitter.com/adolfont/status/1286306302088679426 (https://twitter.com/adolfont/status/1286306302088679426) - https://building.nubank.com.br/welcoming-cognitect-nubank/ (https://building.nubank.com.br/welcoming-cognitect-nubank/) - https://changelog.com/podcast/402 (https://changelog.com/podcast/402) - https://www.amazon.com/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X (https://www.amazon.com/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X) - https://code.visualstudio.com/ (https://code.visualstudio.com/) - https://www.vim.org/ (https://www.vim.org/) - https://github.com/elixir-lsp/elixir-ls (https://github.com/elixir-lsp/elixir-ls) - https://vim-adventures.com/ (https://vim-adventures.com/) - https://asdf-vm.com/ (https://asdf-vm.com/) – Version manager for Elixir, Erlang, and much more - https://thinkingelixir.com/install-elixir-using-asdf/ (https://thinkingelixir.com/install-elixir-using-asdf/) – Get setup for Elixir development using ASDF - https://kitematic.com/ (https://kitematic.com/) - https://subvisual.com/blog/posts/vim-elixir-ide (https://subvisual.com/blog/posts/vim-elixir-ide) - https://thinkingelixir.com/elixir-in-vs-code/ (https://thinkingelixir.com/elixir-in-vs-code/) – Setting up VS Code for Elixir development - https://thinkingelixir.com/vs-code-broken-for-elixir/ (https://thinkingelixir.com/vs-code-broken-for-elixir/) – Troubleshooting common setup issues - https://bernheisel.com/blog/vim-elixir-ls-plug/ (https://bernheisel.com/blog/vim-elixir-ls-plug/) – Setting up ElixirLS in Neovim - https://bernheisel.com/blog/vim-workflow/ (https://bernheisel.com/blog/vim-workflow/) – Vim workflow insights - https://www.reddit.com/r/emacs/comments/hvvx4w/emacsmakesamendingconfigurationssimple/ (https://www.reddit.com/r/emacs/comments/hvvx4w/emacs_makes_amending_configurations_simple/) – Overly messing with your setup Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/11/202039 minutes, 15 seconds
Episode Artwork

7: Background Jobs with Miguel Palhas

We talk with Miguel Palhas about lessons learned while working with background jobs in production systems. He shares some tips he’s learned through experience. We share other mistakes made and what we learn from them. We cover background job options, choosing tech based on the team you have, IEx tips to remind yourself you’re on production, and much more! Show Notes online - http://podcast.thinkingelixir.com/7 (http://podcast.thinkingelixir.com/7) Elixir Community News - https://hexdocs.pm/telemetry_registry/TelemetryRegistry.html (https://hexdocs.pm/telemetry_registry/TelemetryRegistry.html) – TelemetryRegistry - https://dashbit.co/blog/homemade-analytics-with-ecto-and-elixir (https://dashbit.co/blog/homemade-analytics-with-ecto-and-elixir) – Homemade Analytics with Ecto and Elixir by Jose Valim - https://github.com/lucaong/cubdb (https://github.com/lucaong/cubdb) – CubDB - https://github.com/supersimple/devito (https://github.com/supersimple/devito) – Devito link shortener - https://twitter.com/gigcityelixir/status/1285597147744874500 (https://twitter.com/gigcityelixir/status/1285597147744874500) – GigCityElixir Conference was officially cancelled - https://2020.elixirconf.com/ (https://2020.elixirconf.com/) – ElixirConf 2020 tickets are on sale and will be held virtually on September 3-4 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.appsignal.com/2020/06/24/best-practices-for-background-jobs-in-elixir.html (https://blog.appsignal.com/2020/06/24/best-practices-for-background-jobs-in-elixir.html) - http://subvisual.com/ (http://subvisual.com/) - https://utrust.com/ (https://utrust.com/) - http://erlang.org/doc/man/gen_statem.html (http://erlang.org/doc/man/gen_statem.html) - https://hex.pm/packages/gen_stage (https://hex.pm/packages/gen_stage) - https://hex.pm/packages/broadway (https://hex.pm/packages/broadway) - https://hex.pm/packages/quantum (https://hex.pm/packages/quantum) - https://hex.pm/packages/exq (https://hex.pm/packages/exq) - https://github.com/h4cc/awesome-elixir#queue (https://github.com/h4cc/awesome-elixir#queue) - https://hexdocs.pm/iex/IEx.html#configure/1 (https://hexdocs.pm/iex/IEx.html#configure/1) - https://twitter.com/Alchemy__Conf (https://twitter.com/Alchemy__Conf) – Subvisual’s Portugal Elixir conf Twitter account Guest Information - https://twitter.com/naps62 (https://twitter.com/naps62) – on Twitter - https://github.com/naps62/ (https://github.com/naps62/) – on Github - https://naps62.com/ (https://naps62.com/) – Blog - https://subvisual.com/blog/ (https://subvisual.com/blog/) – Subvisual blog where you can find his writing Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
8/4/202041 minutes, 6 seconds
Episode Artwork

6: Elixir at FontAwesome with Rob Madole

FontAwesome, the internet’s most popular icon toolkit, uses Elixir behind the scenes. We talk with Rob Madole to learn how they got there and Rob shares insights to what goes on behind-the-scenes. We cover how they teach Elixir to their team, Rob shares helpful resources, tips on giving good code reviews, pairing, how to find great talent, adding in OTP later, and much more! Show Notes online - http://podcast.thinkingelixir.com/6 (http://podcast.thinkingelixir.com/6) Elixir Community News - https://2020.elixirconf.com/ (https://2020.elixirconf.com/) – ElixirConf 2020 Tickets On Sale – September 3-4. - https://github.com/subvisual/dictator (https://github.com/subvisual/dictator) – Dictator 1.0 released. Dictator is an authorization library that uses Plug - https://www.iotevolutionworld.com/newsroom/articles/446036-winners-the-2020-iot-evolution-product-the-year.htm (https://www.iotevolutionworld.com/newsroom/articles/446036-winners-the-2020-iot-evolution-product-the-year.htm) – Nerves won IoT Product of the Year for NervesHub - https://dalgona.github.io/Serum/ (https://dalgona.github.io/Serum/) – Serum 1.5 released. Serum is a static site generator 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) Discussion Resources - https://fontawesome.com/ (https://fontawesome.com/) - https://www.kickstarter.com/projects/232193852/font-awesome-5/ (https://www.kickstarter.com/projects/232193852/font-awesome-5/) – FontAwesome 5 Kickstarter - https://twitter.com/robmadole/status/1278055974519988224 (https://twitter.com/robmadole/status/1278055974519988224) – Rob shared heat map graph measured in micro seconds - https://fontawesome.com/6 (https://fontawesome.com/6) – FontAwesome 6 announced - https://cdn.fontawesome.com/ (https://cdn.fontawesome.com/) – Old CDN version - https://blog.fontawesome.com/introducing-font-awesome-kits/ (https://blog.fontawesome.com/introducing-font-awesome-kits/) – FontAwesome Kits product - https://www.linkedin.com/in/davegandy/ (https://www.linkedin.com/in/davegandy/) – Dave Gandy - FontAwesome founder - https://www.linkedin.com/company/fort-awesome/ (https://www.linkedin.com/company/fort-awesome/) – FontAwesome on LinkedIn - https://www.tiobe.com/tiobe-index/ (https://www.tiobe.com/tiobe-index/) – TIOBE index of popular languages - https://exercism.io/ (https://exercism.io/) - https://sentry.io/welcome/ (https://sentry.io/welcome/) - https://prometheus.io/docs/prometheus/latest/getting_started/ (https://prometheus.io/docs/prometheus/latest/getting_started/) - https://thinkingelixir.com/available-courses/pattern-matching/ (https://thinkingelixir.com/available-courses/pattern-matching/) – Learning Elixir? Pattern matching is a big foundational piece. This FREE course helps you get that “super power” feeling and helps you “get it” faster and more completely. I’m giving this away because I want everyone to have access to it. Guest Information - https://twitter.com/robmadole (https://twitter.com/robmadole) – on Twitter - https://github.com/robmadole/ (https://github.com/robmadole/) – on Github - https://twitter.com/fontawesome (https://twitter.com/fontawesome) – FontAwesome Twitter account Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
7/28/202046 minutes, 6 seconds
Episode Artwork

5: Learning Elixir with Ricardo Trindade

We talk with Ricardo Trindade about learning Elixir and GraphQL. We discuss learning on personal interest projects, GraphQL vs REST, executing Ruby or Python from Elixir, helpful learning resources and much more! Show Notes online - http://podcast.thinkingelixir.com/5 (http://podcast.thinkingelixir.com/5) Elixir Community News - https://github.com/msaraiva/surface (https://github.com/msaraiva/surface) – The Surface Library recently proposed scoped CSS - https://twitter.com/pressy4pie/status/1281409111108669440 (https://twitter.com/pressy4pie/status/1281409111108669440) – Conner and Frank were able to spike up a Flutter UI on top of Nerves - Lots of small project updates - https://changelog.com/podcast/402 (https://changelog.com/podcast/402) – Jose Valim was interviewed on the Changelog podcast episode 402 - Elixir master updated. Calendar module; added is_exception guard which builds upon the is_struct guard recently added. - https://github.com/elixir-lang/elixir/pull/10157 (https://github.com/elixir-lang/elixir/pull/10157) – Elixir now pulls git dependencies by their default branch instead of assuming the master branch, if the branch is not specified. - https://github.com/elixir-lang/elixir/blob/master/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/master/CHANGELOG.md) – The proposed runtime.exs file change was merged. - https://sorentwo.com/2020/06/12/announcing-oban-pro.html (https://sorentwo.com/2020/06/12/announcing-oban-pro.html) – Oban 2.0 and the Introduction of Oban Web+Pro - https://elixirsurvey.typeform.com/to/yYmJv1 (https://elixirsurvey.typeform.com/to/yYmJv1) – Reminder to fill out the Elixir ecosystem survey! Open until August 11th. 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://marleyspoon.com/ (https://marleyspoon.com/) - https://medium.com/@ricardo.trindade743/building-an-animal-crossing-new-horizons-graphql-api-in-elixir-c304cef7ad30 (https://medium.com/@ricardo.trindade743/building-an-animal-crossing-new-horizons-graphql-api-in-elixir-c304cef7ad30) – Ricardo’s blog post about building a GraphQL API - https://animal-crossing.com/new-horizons/ (https://animal-crossing.com/new-horizons/) – The Nintendo Switch game being discussed - https://graphql-code-generator.com/ (https://graphql-code-generator.com/) – Tool for building GraphQL frontend client code - https://www.udemy.com/course/the-complete-elixir-and-phoenix-bootcamp-and-tutorial/ (https://www.udemy.com/course/the-complete-elixir-and-phoenix-bootcamp-and-tutorial/) – Udemy training course - https://elixir-lang.org/getting-started/introduction.html (https://elixir-lang.org/getting-started/introduction.html) - https://github.com/route/mogrify (https://github.com/route/mogrify) – Elixir wrapper for ImageMagick command line - http://erlport.org/ (http://erlport.org/) – ErlPort - connect Erlang to other languages - https://github.com/hdima/erlport (https://github.com/hdima/erlport) – ErlPort - on Github - https://github.com/weatherforce/erlport (https://github.com/weatherforce/erlport) – ErlPort fork Mark is using - https://elixir-lang.org/getting-started/mix-otp/docs-tests-and-with.html (https://elixir-lang.org/getting-started/mix-otp/docs-tests-and-with.html) – Elixir doctest feature - https://pragprog.com/titles/tvmelixir/ (https://pragprog.com/titles/tvmelixir/) – Book - Adopting Elixir - https://book.productionreadygraphql.com/ (https://book.productionreadygraphql.com/) – Book - Production Ready GraphQL - https://thinkingelixir.com/available-courses/pattern-matching/ (https://thinkingelixir.com/available-courses/pattern-matching/) – Learning Elixir? Pattern matching is a big foundational piece. This FREE course helps you get that “super power” feeling and helps you “get it” faster and more completely. I’m giving this away because I want everyone to have access to it. Guest Information - https://github.com/RicardoTrindade/ (https://github.com/RicardoTrindade/) – on Github - https://www.ricardo-trindade.com/ (https://www.ricardo-trindade.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
7/21/202031 minutes, 55 seconds
Episode Artwork

4: ElixirConf 2020 with Jim Freeze

ElixirConf US 2020 was announced! This will be our first virtual one. We talk with the organizer Dr. Jim Freeze to get the behind the scenes information on how it will work. We cover the current challenges facing conferences, how do you replicate the “hallway track”, submitting topics, what they are looking for this year, how going virtual changes things, and much more! Show Notes online - http://podcast.thinkingelixir.com/4 (http://podcast.thinkingelixir.com/4) Elixir Community News - https://github.com/elixir-lang/elixir/issues/9884 (https://github.com/elixir-lang/elixir/issues/9884) – a new config file is being proposed for Elixir - https://github.com/elixir-lang/elixir/releases/tag/v1.10.4 (https://github.com/elixir-lang/elixir/releases/tag/v1.10.4) – Elixir 1.10.4 bug fix release - https://github.com/elixir-lang/elixir/blob/master/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/master/CHANGELOG.md) – Follow-up on Elixir 1.11 feature “Compiler checks for Application Boundaries” - https://elixirsurvey.typeform.com/to/yYmJv1 (https://elixirsurvey.typeform.com/to/yYmJv1) – Take the Elixir Ecosystem Survey if you haven’t yet 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://2020.elixirconf.com/ (https://2020.elixirconf.com/) – ElixirConf US 2020 - http://elixirconf.mx/ (http://elixirconf.mx/) – ElixirConf MX – Mexico - http://elixirconf.eu/ (http://elixirconf.eu/) – ElixirConf EU – Europe - https://fukuokaex.fun/ (https://fukuokaex.fun/) – ElixirConf JP – Japan - https://www.elixirconf.la/ (https://www.elixirconf.la/) – ElixirConf LA – Latin America in Colombia Guest Information - https://twitter.com/jimfreeze (https://twitter.com/jimfreeze) – on Twitter - https://twitter.com/ElixirConf (https://twitter.com/ElixirConf) – ElixirConf Twitter account - https://www.facebook.com/elixirconf/ (https://www.facebook.com/elixirconf/) – ElixirConf Facebook page Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
7/14/202037 minutes, 11 seconds
Episode Artwork

3: Elixir 1.11 Preview with Wojtek Mach

Elixir 1.11 is shaping up to be a huge release with a number of “big deal” features. We are joined by Wojtek Mach to help us understand the significance of some of the new features. These include an improved recompilation process, when alias is preferred over import, improved compiler checks for structs, Erlang help docs in IEx, and more! Show Notes online - http://podcast.thinkingelixir.com/3 (http://podcast.thinkingelixir.com/3) Elixir Community News - https://github.com/elixir-lsp/elixir-ls (https://github.com/elixir-lsp/elixir-ls) – ElixirLS 0.5.0 released with improved autocomplete - https://www.tddphoenix.com/work-in-progress/ (https://www.tddphoenix.com/work-in-progress/) – German Velesco published a WIP book on TDD for Elixir - https://elixir-lang.org/blog/2020/06/23/growing-with-elixir-at-brex/ (https://elixir-lang.org/blog/2020/06/23/growing-with-elixir-at-brex/) – Elixir’s website is going to start publishing case studies. The first one is on Brex. - https://github.com/aesmail/kaffy (https://github.com/aesmail/kaffy) – Kaffy provides a quick way of spinning up an admin portal to manage your resources. Works with Phoenix contexts. - https://2020.elixirconf.com/ (https://2020.elixirconf.com/) – ElixirConf US 2020 Announced and CFP. Tickets on sale soon. Will be a virtual conference. 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/elixir-lang/elixir/blob/master/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/master/CHANGELOG.md) - https://dashbit.co/blog/speeding-up-re-compilation-of-elixir-projects (https://dashbit.co/blog/speeding-up-re-compilation-of-elixir-projects) – Understanding the recompilation problem. - https://dashbit.co/blog/rewriting-imports-to-aliases-with-compilation-tracers (https://dashbit.co/blog/rewriting-imports-to-aliases-with-compilation-tracers) – Wojtek’s blog post on re-writing imports to aliases. - https://twitter.com/josevalim/status/1276082352448581635 (https://twitter.com/josevalim/status/1276082352448581635) – Jose sharing compilation improvements. - https://www.youtube.com/watch?v=kX6inmSF78c (https://www.youtube.com/watch?v=kX6inmSF78c) – Changelog podcast testing out LiveDashboard - “Let’s take Phoenix LiveDashboard for a spin!” - https://github.com/phoenixframework/phoenixlivedashboard/ (https://github.com/phoenixframework/phoenix_live_dashboard/) – Phoenix LiveDashboard - https://bytepack.io/ (https://bytepack.io/) – Where Wojtek has been spending his time recently - https://thinkingelixir.com/elixir-in-vs-code/ (https://thinkingelixir.com/elixir-in-vs-code/) – Additional Resource - Elixir in VS Code. Getting your dev environment setup. - https://thinkingelixir.com/elixir-in-the-type-system-quadrant/ (https://thinkingelixir.com/elixir-in-the-type-system-quadrant/) – Additional Resource - Understand what it means that Elixir is a Strong Dynamic language. - https://thinkingelixir.com/install-elixir-using-asdf/ (https://thinkingelixir.com/install-elixir-using-asdf/) – Additional Resource - Get started with ASDF. Try out the Elixir master branch! Guest Information - https://twitter.com/wojtekmach (https://twitter.com/wojtekmach) – on Twitter - https://github.com/wojtekmach/ (https://github.com/wojtekmach/) – on Github - https://dashbit.co/ (https://dashbit.co/) – Dashbit Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
7/7/202046 minutes, 11 seconds
Episode Artwork

2: REST vs GraphQL with Ben Wilson

REST Controllers vs GraphQL. You’ve probably heard of GraphQL but maybe you haven’t played with it yet. We talk with Ben Wilson, co-creator of Absinthe, a GraphQL library for Elixir and the book Craft GraphQL APIs in Elixir with Absinthe to get a better idea of how REST and GraphQL compare. In this episode we discuss benefits of GraphQL, familiarity of REST, making requests over channels, getting versioning benefits, aggregating disparate data, reduced payload sizes, some of the challenges, the impact of macros on Absinthe, and much more! Show Notes online - http://podcast.thinkingelixir.com/2 (http://podcast.thinkingelixir.com/2) Elixir Community News - http://example.com/ (http://example.com/) – Example website - https://www.pragprog.com/titles/lmelixir/ (https://www.pragprog.com/titles/lmelixir/) – New Book "Testing Elixir" by Andrea Leopardi and Jeffrey Matthias - https://elixirsurvey.typeform.com/to/yYmJv1 (https://elixirsurvey.typeform.com/to/yYmJv1) – Elixir Ecosystem Survey 2020 - Write in the ThinkingElixir Podcast! - https://elixirforum.com/t/we-ve-just-launched-devtalk-a-new-discussion-platform-for-developers/32268 (https://elixirforum.com/t/we-ve-just-launched-devtalk-a-new-discussion-platform-for-developers/32268) – ElixirForum announced a new discussion platform for the Elixir/Erlang communities - Apple WWDC, new processors moving to ARM. What does that mean for Elixir development? 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://hexdocs.pm/absinthe/overview.html (https://hexdocs.pm/absinthe/overview.html) - https://player.fm/series/elixir-fountain/elixir-fountain-ben-wilson-2016-09-07 (https://player.fm/series/elixir-fountain/elixir-fountain-ben-wilson-2016-09-07) – Interview on Elixir Fountain - https://www.youtube.com/watch?v=CRXNmAMPNW8 (https://www.youtube.com/watch?v=CRXNmAMPNW8) – ElixirConf 2015 - Streams, External Services, and OTP - https://www.youtube.com/watch?v=tlxjhTc_u4o (https://www.youtube.com/watch?v=tlxjhTc_u4o) – ElixirConf 2016 - No REST for the Wicked. Building a GraphQL - https://www.youtube.com/watch?v=PEckzwggd78 (https://www.youtube.com/watch?v=PEckzwggd78) – ElixirConf 2017 - Live APIs with GraphQL Subscriptions - https://www.youtube.com/watch?v=z4p4e9Uwn6I (https://www.youtube.com/watch?v=z4p4e9Uwn6I) – The Big Elixir 2018 - Trapped By Our Tools - https://thinkingelixir.com/rest-vs-graphql-for-an-api/ (https://thinkingelixir.com/rest-vs-graphql-for-an-api/) – Follow-up article Guest Information - https://twitter.com/benwilson512 (https://twitter.com/benwilson512) – on Twitter - https://github.com/benwilson512/ (https://github.com/benwilson512/) – on Github - https://twitter.com/cargosense (https://twitter.com/cargosense) – CargoSense on Twitter Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
6/30/20201 hour, 2 seconds
Episode Artwork

1: News and Meet the Hosts

Welcome to the Thinking Elixir Podcast! My name is Mark Ericksen. This is our first official episode together. We cover the community news and introduce ourselves. Subscribe in your favorite podcast player and join us! Show Notes online - http://podcast.thinkingelixir.com/1 (http://podcast.thinkingelixir.com/1) Elixir Community News - https://bytepack.io/ (https://bytepack.io/) - https://podcasts.apple.com/us/podcast/episode-165-feat-jos%C3%A9-valim/id1298287048?i=1000475855667 (https://podcasts.apple.com/us/podcast/episode-165-feat-jos%C3%A9-valim/id1298287048?i=1000475855667) – Episode 165 - Interview with José Valim - https://getoban.pro/ (https://getoban.pro/) - https://github.com/phoenixframework/phoenixlivedashboard/pull/136 (https://github.com/phoenixframework/phoenix_live_dashboard/pull/136) - https://github.com/phoenixframework/phoenixliveview/issues/809 (https://github.com/phoenixframework/phoenix_live_view/issues/809) - https://github.com/dashbitco/nimble_publisher (https://github.com/dashbitco/nimble_publisher) 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://dashbit.co/blog/welcome-to-our-blog-how-it-was-made (https://dashbit.co/blog/welcome-to-our-blog-how-it-was-made) - https://immutable-js.github.io/immutable-js/docs/#/ (https://immutable-js.github.io/immutable-js/docs/#/) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
6/17/202013 minutes, 16 seconds