Thinking Elixir Podcast cover image

Thinking Elixir Podcast

Latest episodes

undefined
Aug 29, 2023 • 50min

166: Filtering, ordering and pagination via Flop

Mathias Polligkeit created the flop library to simplify filtering, sorting, and pagination in Ecto queries. He also created flop_phoenix package with heex components. The hosts discuss Elixir docs, OTP26 bug, and introduce DNS cluster library. LS version 0.10.0 is released with new features. Dagger.io now supports Elixir. Matthias Polishkite worked on a library for cursor-based pagination. Flop library simplifies filtering, ordering, and pagination in Ecto queries. Topics include challenges of pagination, key set pagination, performance of page-based pagination, filtering in Flop, and sortable fields.
undefined
Aug 22, 2023 • 13min

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 Elixir Community News https://twitter.com/wojtekmach/status/1688596696123555855 – Wojtek Mach teased a new "Check for Updates" Livebook Desktop feature with a screenshot. https://twitter.com/philipbrown/status/1688885480283156481 – A new 5-minute daily Elixir newsletter is being launched by Philip Brown and Richard Taylor. https://twitter.com/kiwicopple/status/1690032065641684992 – Supabase shared news of their new Supavisor architecture. https://github.com/supabase/supavisor – Github project for the Elixir supavisor Postgres connection pooler https://supabase.com/blog/supavisor-1-million – Blog post - Supavisor - Scaling Postgres to 1 Million Connections https://twitter.com/spawnfest/status/1690031606159802368 – Livebook is joining the online Spawnfest competition as a sponsor. https://twitter.com/akoutmos/status/1689843816000307200 – 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 – OTP issue tracking the problem for OTP 26 https://twitter.com/akoutmos/status/1689683030162513948 – Alex Koutmos shared an Ecto Tip about schema introspection. https://twitter.com/YOOOODAAAA/status/1689701911908249601 – 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/ – NextLS will use burrito to distribute binaries instead of Mix.install https://twitter.com/josevalim/status/1689951699832639489 – 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 – Background on eBPF https://www.youtube.com/watch?v=qgT_gMWJuvY – HoneyPotion project usage demoed in a video https://github.com/lac-dcc/honey-potion – Honey Potion project on Github https://twitter.com/davydog187/status/1691082535143440385 – Elixir is gaining some more helpful error messages when referencing modules https://github.com/elixir-lang/elixir/pull/12839 – Merged PR to Improve UndefinedFunctionError for mis-cased module https://github.com/elixir-lang/elixir/pull/12859 – Merged PR to Improve UndefinedFunctionError for unqualified module https://fly.io/phoenix-files/let-s-search-all-of-elixir-s-packages/ – Jason Stiebs wrote a blog post called “Let's search all of Elixir's Packages!” https://hex-search.fly.dev/ – Cool Hex search tool created by Jason Stiebs https://www.theregister.com/2023/08/11/hashicorp_bsl_licence/ – Hashicorp goes “Business Source License” Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Find us online Message the show - @ThinkingElixir Message the show on Fediverse - @ThinkingElixir@genserver.social Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid Mark Ericksen on Fediverse - @brainlid@genserver.social David Bernheisel - @bernheisel David Bernheisel on Fediverse - @dbern@genserver.social Cade Ward - @cadebward Cade Ward on Fediverse - @cadebward@genserver.social Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Aug 15, 2023 • 8min

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 Elixir Community News https://2023.elixirconf.com/schedule – ElixirConf US schedule is up. https://github.com/elixir-nx/bumblebee/pull/232 – Merged PR on Bumblebee by Jonatan Kłosko adds support for streaming text generation results. https://twitter.com/sean_moriarity/status/1687123146787233792 – Sean Moriarity drew attention to Jonatan Kłosko's recent PR work on Bumblebee. https://twitter.com/sorentwo/status/1687215720067637249 – Oban Web gets upgraded metrics https://podcast.thinkingelixir.com/163 – Our recent interview with Parker Selbert about Oban https://wiki.alopex.li/ElixirForCynicalCurmudgeons – Hacker News had an Elixir-positive article up for a while called “Elixir For Cynical Curmudgeons” https://twitter.com/royalicing/status/1687271985548820480 – 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 – 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 or email at show@thinkingelixir.com Find us online Message the show - @ThinkingElixir Message the show on Fediverse - @ThinkingElixir@genserver.social Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid Mark Ericksen on Fediverse - @brainlid@genserver.social David Bernheisel - @bernheisel David Bernheisel on Fediverse - @dbern@genserver.social Cade Ward - @cadebward Cade Ward on Fediverse - @cadebward@genserver.social Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Aug 8, 2023 • 56min

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 Elixir Community News https://elixirforum.com/t/nerves-supports-erlang-otp-26-and-elixir-1-15-now/57344 – Nerves updated to support OTP 26 and Elixir 1.15 https://twitter.com/germsvel/status/1686350499967123456 – Phoenix LiveView 0.19 had some enhancements that German Valesco highlights in a video https://twitter.com/DNAutics/status/1684418487987441665 – Zigler 0.10.1 was released https://github.com/E-xyza/zigler/ https://hexdocs.pm/zigler/beam.html – Zigler's BEAM integration docs https://twitter.com/wojtekmach/status/1685390898329178114 – Private modules in Elixir? Using @moduledoc false https://elixirforum.com/t/proposal-private-modules-general-discussion/19374 – Previous discussion on private modules https://dev.to/savonarola/testing-timer-based-logic-in-elixir-with-klotho-library-2c90 – Klotho library may help with timer based testing logic https://twitter.com/spawnfest/status/1683788630156877825 – SpawnFest will be Oct 28 - 29 https://spawnfest.org/ – 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/dl_foundations_in_elixir/blob/main/ElixirFashionML_Challenge/fashion_mnist_challenge.livemd – There's an ML challenge https://elixirforum.com/t/elixirfashionmlchallenge-general-discussion-questions/57341 – ML challenge discussion thread Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://getoban.pro/ https://github.com/sorentwo/oban – OSS Oban project https://podcast.thinkingelixir.com/29 – Previous interview with Parker from January 2021 https://dscout.com/ https://getoban.pro/oban – Oban Web demo https://github.com/sidekiq/sidekiq https://github.com/sorentwo/kiq https://github.com/dashbitco/bytepack_archive Guest Information https://twitter.com/sorentwo – on Twitter https://github.com/sorentwo – on Github https://sorentwo.com/ – Blog Find us online Message the show - @ThinkingElixir Message the show on Fediverse - @ThinkingElixir@genserver.social Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid Mark Ericksen on Fediverse - @brainlid@genserver.social David Bernheisel - @bernheisel David Bernheisel on Fediverse - @dbern@genserver.social Cade Ward - @cadebward Cade Ward on Fediverse - @cadebward@genserver.social Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Aug 1, 2023 • 50min

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 Elixir Community News https://github.com/phoenixframework/phoenix_live_view/blob/main/CHANGELOG.md – Phoenix LiveView released v0.19.5 https://twitter.com/josevalim/status/1681719691503386632 – Will the Elixir type system make it harder for beginners? https://twitter.com/wojtekmach/status/1683468212975939585 – New Req feature that makes it easy to stream a response. https://andrealeopardi.com/posts/breakdown-of-http-clients-in-elixir/ – Andrea Leopardi wrote a helpful post about HTTP clients in Elixir. https://www.thestackcanary.com/from-python-pytorch-to-elixir-nx/ – 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 – Sean Moriarity's book "Machine Learning in Elixir" is now in beta https://podcast.thinkingelixir.com/154 – Previous interview with Sean Moriarity - Serving Up AI with Sean Moriarity https://pragprog.com/titles/smelixir/machine-learning-in-elixir/ – Machine Learning in Elixir book https://twitter.com/ElixirMembrane/status/1679129777490280449 – The Membrane Framework announced they are planning a conference in October. https://rtcon.live/ – Membrane Framework conference will be October 12-14 in Krakow Poland. https://twitter.com/IScottMing/status/1682307757695979521 – Lexical LSP now supports Elixir 1.15 https://github.com/lexical-lsp/lexical/issues/244 – Github issue for tracking Lexical LSP and OTP 26 support https://paraxial.io/blog/still-safe – 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 or email at show@thinkingelixir.com Discussion Resources https://twitter.com/royalicing/status/1671689512685301762 – Orb, a friendly DSL for WebAssembly https://icing.space/2023/introducing-orb https://hexdocs.pm/orb/Orb.html https://github.com/RoyalIcing/Orb – Orb Github project https://calculated.world/ https://icing.space/2023/how-is-a-webassembly-module-like-a-ruby-class https://dockyard.com/blog/2022/09/01/dockyard-r-d-firefly-optimizes-your-elixir-compilation https://getfirefly.org/ – Firefly project https://github.com/GetFirefly/firefly – Firefly Github project https://www.figma.com/blog/webassembly-cut-figmas-load-time-by-3x/ https://www.figma.com/ https://github.com/RoyalIcing/OrbWasmtime https://hex.pm/packages/rustler https://github.com/viniarck/wasmtime-ex https://github.com/tessi/wasmex https://github.com/christhekeele/matcha https://components.guide/color https://github.com/grych/drab Guest Information https://twitter.com/royalicing – on Twitter https://github.com/royalicing/ – on Github https://hachyderm.io/@royalicing – on Fediverse https://icing.space/ – Blog Find us online Message the show - @ThinkingElixir Message the show on Fediverse - @ThinkingElixir@genserver.social Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid Mark Ericksen on Fediverse - @brainlid@genserver.social David Bernheisel - @bernheisel David Bernheisel on Fediverse - @dbern@genserver.social Cade Ward - @cadebward Cade Ward on Fediverse - @cadebward@genserver.social Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Jul 25, 2023 • 58min

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 Elixir Community News https://github.com/elixir-lang/elixir/releases/tag/v1.15.4 – 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 – Elixir v1.15.3 release notes https://gleam.run/news/v0.30-local-dependencies-and-enhanced-externals/ – Gleam v0.30 was released https://news.livebook.dev/whats-new-in-livebook-0.10---introducing-multi-session-livebook-apps-3Dbpss – The Livebook v0.10 was released https://gitlab.com/MachinesAreUs/archeometer – Archeometer analyzes your project and now supports a --format livemd https://twitter.com/MachinesAreUs/status/1676127531840204800 – Archeometer Twitter share with Livebook demo https://gitlab.com/MachinesAreUs/archeometer/-/merge_requests/205 – MR for the new feature https://twitter.com/wojtekmach/status/1679919717648138241 – Learned about "repo_transact" as an alternative to Ecto.Multi https://tomkonidas.com/repo-transact/ – Blog post about repo_transact with the code https://twitter.com/germsvel/status/1678721797561131012 – German Valesco highlighted the new DateTime comparison functions added in Elixir 1.15. https://github.com/phoenixframework/dns_cluster – DNS Cluster - Simple DNS clustering for distributed Elixir nodes https://twitter.com/DNAutics/status/1679902629000880128 – Apical 0.2.0 released - an OpenAPI schema builder https://0x7f.dev/post/ntp-implementation-in-elixir – Post about implementing a Network Time Protocol in Elixir. https://erikarow.land/articles/mix-completions – Post about implementing shell completions for mix tasks https://www.youtube.com/playlist?list=PLKBMoE8mCkXijPYoLCKtWeHa-q69EYwDf – Youtube playlist for published GigCityElixir conference talks Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://github.com/lexical-lsp/lexical – Lexical LS Github project https://github.com/lexical-lsp/vscode-lexical – Lexical VS Code project https://github.com/lexical-lsp/vscode-lexical#known-issues – Currently need to using Erlang 25.2 https://marketplace.visualstudio.com/items?itemName=lexical-lsp.lexical – VS Marketplace Link for Lexical LS extension https://venturebeat.com/dev/pinterest-elixir/ https://discord.com/invite/elixir – Join the Elixir Discord https://github.com/elixir-lsp/elixir_sense https://en.wikipedia.org/wiki/Comparison_of_Unicode_encodings Guest Information https://twitter.com/icecreamcohen – on Twitter https://github.com/scohen/ – on Github Find us online Message the show - @ThinkingElixir Message the show on Fediverse - @ThinkingElixir@genserver.social Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid Mark Ericksen on Fediverse - @brainlid@genserver.social David Bernheisel - @bernheisel David Bernheisel on Fediverse - @dbern@genserver.social Cade Ward - @cadebward Cade Ward on Fediverse - @cadebward@genserver.social Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Jul 18, 2023 • 55min

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 Elixir Community News https://twitter.com/josevalim/status/1678411790361718786 – A new Livebook version should have been released with a new “Presentation View” feature https://2023.elixirconf.com/presenters#speakers – List of speakers for ElixirConf US 2023 has been released along with their talk topics. https://paraxial.io/blog/app-audit – Inspecting Elixir Dependencies at Runtime for Security https://twitter.com/josevalim/status/1678536270664876033 – 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 – ADBC work resulted in a PR https://twitter.com/mitchhanberg/status/1676611642786820096 – 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/ – 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 – 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 – Lubien's example mix task https://tylerayoung.com/2023/07/08/hiring-elixir-devs/ – Tyler Young wrote a blog post with tips for companies wanting to hire Elixir devs. https://twitter.com/TylerAYoung/status/1677635466990874626 – Tyler's Twitter thread https://johnelmlabs.com/posts/magic-link-auth/ – 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 – 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 – Jason Stiebs wrote a post about how “Elixir Docs are Built Different” https://fly.io/phoenix-files/elixir-docs-are-built-different/ – Article that guides people on using the Elixir docs. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://blog.andyglassman.com/2023/06/phoenix-liveview-async-assign-pattern.html – Phoenix Live View - Async Assigns https://blog.andyglassman.com/2022/08/write-admin-tools-from-day-one.html – Write Admin Tools From Day One https://sway.dm/info/ https://www.empex.co/new-york https://github.com/aesmail/kaffy https://www.youtube.com/watch?v=3c9kMmxeSA0 – Andy Glassman - Write Admin Tools from Day One (EMPEX) https://github.com/pragdave/earmark https://activeadmin.info/ https://github.com/ash-project/ash_admin https://www.postman.com/collection/ Guest Information https://twitter.com/a_glassman – on Twitter https://github.com/aglassman/ – on Github https://blog.andyglassman.com/ – Blog Find us online Message the show - @ThinkingElixir Message the show on Fediverse - @ThinkingElixir@genserver.social Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid Mark Ericksen on Fediverse - @brainlid@genserver.social David Bernheisel - @bernheisel David Bernheisel on Fediverse - @dbern@genserver.social Cade Ward - @cadebward Cade Ward on Fediverse - @cadebward@genserver.social Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Jul 11, 2023 • 50min

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 Elixir Community News https://twitter.com/josevalim/status/1674817111863054337 – 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.2 https://twitter.com/josevalim/status/1675900744954785796 – 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://twitter.com/ElixirConf/status/1675995012453093376 – José will be talking more about the Elixir work around types in his ElixirConf US 2023 keynote talk. https://twitter.com/josevalim/status/1674893183640125442 – 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 – A new Nx focused Hex package by Greg Woodward called “Integrator”. https://github.com/woodward/integrator/tree/main/guides – Includes Livebook guides with samples https://twitter.com/whatyouhide/status/1675887336339406850 – Andrea Leopardi released v2.0.0 of Corsica, an Elixir library for handling CORS requests. https://hex.pm/packages/corsica https://twitter.com/voltonez/status/1676125858581422080 – 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://github.com/voltone/aws_rds_castore – The Hex package aws_rds_castore to help manage AWS CA certificates https://hex.pm/packages/image – Image 0.35.0 was released. Updates primarily focused on image contrast. https://twitter.com/DNAutics/status/1676059564188286976 – ZigDocs was released https://hexdocs.pm/zig_doc/Zig.Doc.html – Integrates Zig documentation into Elixir docs. https://getoban.pro/releases#1.0.0 – 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 or email at show@thinkingelixir.com Discussion Resources https://blog.langchain.dev/announcing-our-10m-seed-round-led-by-benchmark/ – Langchain announced $10m seed round https://js.langchain.com/docs/ – Langchain JS docs and introduction to the project https://python.langchain.com/docs/get_started/introduction.html – Python version of the docs Be agentic - allow a language model to interact with its environment https://github.com/orthagonal/langchainex – Existing Elixir library called langchainex. https://twitter.com/josevalim/status/1668726716947222528 – José talked about OpenAI's new function support https://openai.com/blog/function-calling-and-other-api-updates – OpenAI blog announcing official function calling support https://dscout.com/ David is thinking about Oban and data migrations https://fly.io/phoenix-files/safe-ecto-migrations/ – David wrote a guide on how to run Safe Ecto Migrations for production systems https://github.com/fly-apps/safe-ecto-migrations – Guide to Safe Ecto Migrations on Github Find us online Message the show - @ThinkingElixir Message the show on Fediverse - @ThinkingElixir@genserver.social Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid Mark Ericksen on Fediverse - @brainlid@genserver.social David Bernheisel - @bernheisel David Bernheisel on Fediverse - @dbern@genserver.social Cade Ward - @cadebward Cade Ward on Fediverse - @cadebward@genserver.social Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Jul 4, 2023 • 57min

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 Elixir Community News https://github.com/livebook-dev/livebook/security/advisories/GHSA-564w-97r7-c6p9 – Livebook security advisory for Windows installs https://twitter.com/livebookdev/status/1671576191461990407 – Livebook security notice on Twitter https://www.twitch.tv/josevalim/videos?filter=highlights&sort=time – José Valim shared where we can find past Twitch videos https://elixirforum.com/t/elixir-v1-15-0-released/56584/6 – Workaround for Elixir 1.15.0 with issues compiling the Erlang dependency ssl_verify_fun. https://twitter.com/ac_alejos/status/1672351346278944769 – New Decision Tree library called Mockingjay takes advantage of Nx https://github.com/acalejos/mockingjay – Mockingjay Decision Tree library https://twitter.com/zachsdaniel1/status/1673278949667885057 – The EEF (Erlang Ecosystem Foundation) approved the creation of a new working group. https://erlef.org/wg/libs-and-frameworks – the Libraries and Frameworks working group page https://twitter.com/ZachSDaniel1/status/1672248650502660098 – Ash Framework released 2.11.0-rc.0 is out https://github.com/CargoSense/briefly – Noticed "briefly" is a library to help manage temporary files https://twitter.com/DNAutics/status/1672828839574089728 – Isaac Yonemoto released 0.1 of his OpenAPI router library Apical https://hexdocs.pm/apical – Apical github project https://www.elixir-tools.dev/next-ls/ – Mitch Hanberg sharing some early progress with his Next-LS project. https://twitter.com/royalicing/status/1671689512685301762 – Patrick Smith shared a sneak peak of a new library called Orb for compiling Elixir code to WebAssembly https://github.com/ComponentsGuide/components_guide/tree/master/lib/components_guide/wasm – The OpenSource project where Orb code will be extracted from. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://twitter.com/YOOOODAAAA/status/1663988571047354371 – Twitter post announcing Beta version of the book. https://pragprog.com/titles/sbelixir/from-ruby-to-elixir/ https://www.supered.io/ https://pragprog.com/titles/sbsockets/real-time-phoenix/ – Previous book "Real-Time Phoenix” published in March 2020. https://www.supered.io https://github.com/elixir-tesla/tesla https://github.com/wojtekmach/req Guest Information https://twitter.com/YOOOODAAAA – on Twitter https://github.com/sb8244/ – on Github http://www.stephenbussey.com/ – Blog Find us online Message the show - @ThinkingElixir Message the show on Fediverse - @ThinkingElixir@genserver.social Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid Mark Ericksen on Fediverse - @brainlid@genserver.social David Bernheisel - @bernheisel David Bernheisel on Fediverse - @dbern@genserver.social Cade Ward - @cadebward Cade Ward on Fediverse - @cadebward@genserver.social Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Jun 27, 2023 • 54min

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 Elixir Community News https://elixir-lang.org/blog/2023/06/19/elixir-v1-15-0-released/ – Elixir 1.15 release blog post https://github.com/elixir-lang/elixir/releases/tag/v1.15.0 – full release notes https://twitter.com/josevalim/status/1670879654134050828 – José Valim's tweet about reported compilation time improvements https://elixirforum.com/t/elixir-v1-15-0-released/56584 – ElixirForum.com post about the release with comments, feedback, and workarounds for issues. https://github.com/phoenixframework/phoenix/blob/v1.7.4/CHANGELOG.md – 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/ – StackOverflow Developer Survey results https://survey.stackoverflow.co/2023/#technology-most-popular-technologies – Most popular technologies https://survey.stackoverflow.co/2023/#section-top-paying-technologies-top-paying-technologies – Top paying technologies https://survey.stackoverflow.co/2023/#section-admired-and-desired-web-frameworks-and-technologies – Phoenix is the most admired web framework and technology https://twitter.com/bcardarella/status/1669423297518264320 – LiveView Native got animated charts working in SwiftCharts https://twitter.com/moomerman/status/1670021284900614144 – Apache ECharts with LiveView https://huggingface.co/blog/livebook-app-deployment – José Valim's has a Livebook blog post on the Hugging Face blog. https://twitter.com/thibaut_barrere/status/1670789241436028931 – Using IEx helpers in Livebook cells - import IEx.Helpers https://twitter.com/germsvel/status/1669669754305404928 – German Velasco has created a number of short tip videos that now have a home on ElixirStreams.com https://twitter.com/elixirphoenix/status/1670856560480747526 – Adding Bandit to a Phoenix 1.7 project fits in a single tweet https://erlef.org/events – The EEF (Erlang Ecosystem Foundation) has an "events" page.1 Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://fly.io/phoenix-files/adding-dialyzer-without-the-pain/ – Blog post with more resources and code https://www.erlang.org/doc/man/dialyzer.html – Dialyzer docs https://github.com/jeremyjh/dialyxir – Dialyxir project https://github.com/jeremyjh/dialyxir/pull/493 – PR to add new format for ignore_file_strict https://elixirforum.com/t/blog-post-adding-dialyzer-without-the-pain/56461 – Feedback to blog post that we discuss https://www.youtube.com/watch?v=4PZE40h13wM – 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/typed_ecto_schema https://podcast.thinkingelixir.com/72 – Interview about type_check https://github.com/Qqwy/elixir-type_check https://github.com/lexical-lsp/lexical – Lexical Language Server https://github.com/elixir-tools/next-ls – Next-LS Language Server https://smartlogic.io/podcast/elixir-wizards/s10-e12-jose-guillaume-giuseppe-types-elixir/ – José Valim, Guillaume Duboc, and Giuseppe Castagna discussing static types in Elixir Guest Information https://twitter.com/Nezteb – on Twitter https://github.com/Nezteb/ – on Github https://genserver.social/Nezteb/ – on Fediverse https://nezteb.net – Blog Find us online Message the show - @ThinkingElixir Message the show on Fediverse - @ThinkingElixir@genserver.social Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid Mark Ericksen on Fediverse - @brainlid@genserver.social David Bernheisel - @bernheisel David Bernheisel on Fediverse - @dbern@genserver.social Cade Ward - @cadebward Cade Ward on Fediverse - @cadebward@genserver.social Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode