152: Rust and Elixir Play Great Together

Release Date:

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)

152: Rust and Elixir Play Great Together

Title
152: Rust and Elixir Play Great Together
Copyright
Release Date

flashback