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!

Om Podcasten

The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community. Whether you are already experienced with Elixir or just exploring the language, this show is created with you in mind. We discuss community news, Functional Programming, transitioning from OOP, coding conventions, and more. Guests visit the show to help challenge our assumptions, learn about new developments and grow in the process. Subscribe to join us on this journey!