211: A Passion for Testing
Description
News includes the recent release of Elixir 1.17.2, updates to Livebook v0.13 making clustering in Kubernetes easier and introducing a proxy API for webhooks, and exciting developments in the Explorer library with remote dataframes. We also discuss handy Phoenix tips from Andrew Stewart and the new Gleam 1.3.0 features. In our interview, German Velasco shares his journey from Rails to Elixir, his contributions like Elixir Streams and the Phoenix Test library, and his philosophy on TDD. German also speaks about his upcoming talk at ElixirConf and his desire for integrating JavaScript testing capabilities. Tune in to hear all this and more!
Show Notes online - http://podcast.thinkingelixir.com/211
Elixir Community News
- https://github.com/elixir-lang/elixir/releases/tag/v1.17.2 – Elixir 1.17.2 was released, which includes a Logger fix and some Mix-related bugfixes.
- Livebook updates - follow-up
- https://x.com/miruoss/status/1809633392088027193 – Michael Ruoss notes that Livebook v0.13 works well for clustering on Kubernetes.
- https://github.com/mruoss/livebook-helm – Michael Ruoss created a Livebook Helm chart for easier deployment in Kubernetes clusters.
- https://artifacthub.io/packages/helm/livebook/livebook – Helm chart for Livebook on Artifact Hub.
- https://news.livebook.dev/livebook-0.13-expose-an-http-api-from-your-notebook-2wE6GY – Livebook gains a proxy API to allow it to receive webhooks, useful for publishing Livebook as an app.
- https://x.com/livebookdev/status/1809203084154843279 – Details on the new proxy API feature in Livebook.
- https://x.com/hugobarauna/status/1809203637022863784 – Use
Plug.Router
andKino.Proxy.listen
for sending webhooks or events to your Livebook. - https://www.elixirstreams.com/tips/liveview-used-input
- LiveView 1.0 removes the
phx-feedback-for
annotation for showing and hiding input feedback. The update introduces theused_input?/2
helper on the server-side. - https://github.com/phoenixframework/phoenix_live_view/blob/main/CHANGELOG.md#backwards-incompatible-changes-for-10 – LiveView 1.0 Upgrade instructions, including a JavaScript shim for backwards compatibility.
- https://x.com/josevalim/status/1808560304172761191 – Explorer gets remote dataframes support.
- https://github.com/elixir-explorer/explorer/pull/932 – A PR was merged into Explorer to support remote dataframes, enabling transparent proxy operations in a cluster.
- Explorer is part of the Nx project for data analysis and machine learning, supporting one and two-dimensional data structures. The new feature also performs distributed garbage collection.
- https://x.com/src_rip/status/1810360113343115521 – Andrew Stewart shares a Phoenix tip on creating a link button to submit a post action without a form.
- https://hexdocs.pm/phoenix_live_view/Phoenix.Component.html#link/1 – More details on using Phoenix's link component.
- https://github.com/phoenixframework/phoenix_live_view/blob/f778e5bb1a4b0a29f8d688bbc6c0b7182dea51ca/lib/phoenix_component.ex#L2734-L2737 – Underlying implementation details of Phoenix.HTML's
data
attributes. - https://gleam.run/news/auto-imports-and-tolerant-expressions/ – Gleam 1.3.0 release features LSP improvements, CLI commands for adding/removing dependencies, and support for Erlang/OTP 27 keywords.
- https://www.erlang-solutions.com/blog/let-your-database-update-you-with-ectowatch/ – EctoWatch by Brian Underwood allows notifications about database changes directly from PostgreSQL.
- https://github.com/cheerfulstoic/ecto_watch – EctoWatch GitHub repository.
- https://github.com/ityonemo/protoss – Isaac Yonemoto's Protoss library update, improving ergonomics of setting up protocols.
- https://www.youtube.com/watch?v=dCRGgFkCkmA – Watch a video explaining the Protoss library.
- https://hexdocs.pm/protoss/Protoss.html – Protoss documentation.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
- https://www.elixirstreams.com/ – Short video tips that German creates and shares.
- https://www.testingliveview.com/ – Video course focused on testing LiveViews
- https://github.com/germsvel/phoenix_test – PhoenixTest provides a unified way of writing feature tests -- regardless of whether you're testing LiveView pages or static (non-LiveView) pages.
- https://www.youtube.com/watch?v=JNWPsaO4PNM – ElixirConf 2023 - German Velasco - Using DDD concepts to create better Phoenix Contexts
- https://www.mechanical-orchard.com/
- https://github.com/elixir-wallaby/wallaby
Guest Information
- https://x.com/germsvel – on Twitter
- https://github.com/germsvel – on Github
- https://www.germanvelasco.com/ – Blog
- https://www.testingliveview.com/ – Testing LiveView course site
- https://elixirstreams.com – Short video tips
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
- Da