

Rustacean Station
Rustacean Station
Come journey with us into the weird, wonderful, and wily world of Rust.
Episodes
Mentioned books

Dec 23, 2021 • 1h 27min
What's New in Rust 1.56 and 1.57
Jon and Ben discuss the highlights of the 1.56 and 1.57 releases of Rust.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps & referenced resources
[@01:14] - Rust 2021 edition
[@01:16] - What is an edition?
[@05:03] - Disjoint captures in closures
Niko’s “view types” proposal
[@09:00] - IntoIterator for arrays
[@11:12] - Or patterns in macro_rules
[@13:31] - New default Cargo feature resolver
Details on the new resolver
[@15:16] - Additions to the prelude
std::prelude
FromIterator
[@19:38] - Panic macro consistency and new reserved syntax
[@20:33] - Implicit formatting captures (more on Reddit)
[@25:00] - Reserved syntax for “f-strings”
[@27:54] - Why panic! had to change
[@28:55] - Other uses for reserved syntax
[@30:15] - Warnings promoted to errors
Future incompatibility warnings
[@35:23] - cargo fix
[@36:20] - Rust 1.56
[@36:30] - Cargo.toml rust-version
Cargo book entry
[@42:54] - New bindings in binding @ pattern
[@44:27] - Stabilized APIs
[@49:27] - Changelog deep-dive
[@49:27] - impl From<[(K, V), N]> for collections
RFC for adding collection literal macros
[@53:07] - Remove P: Unpin bound on impl Future for Pin
[@55:16] - Instant backsliding protection optimization
May end up being removed!
[@58:01] - LLVM 13 upgrade
LLVM’s new pass manager
[@59:23] - Have Cargo set environment variables
[@1:00:17] - Rust 1.56.1
Security advisory
The “Trojan Source” vulnerability
Rust RFC on non-ASCII identifiers
[@1:04:52] - Rust 1.57
[@1:05:20] - Panic in const contexts
[@1:07:20] - Custom Cargo profiles
Cargo book on profiles
[@1:08:45] - Fallible allocation
Fallible collection allocation RFC
Linux Torvals on handling allocation failures
Rust features still needed by the Linux kernel
[@1:12:33] - Stabilized APIs
[@1:16:45] - Changelog deep-dive
[@1:16:50] - Vec::leak no longer allocates
[@1:18:03] - Nintendo 3DS added as Tier 3 platform
[@1:19:03] - Cargo no longer passes through RUSTFLAGS
Environment variables set by Cargo
[@1:20:13] - Lots more #[must_use] in std
[@1:22:00] - File::read_to_* optimized
[@1:23:24] - Curly braces macros accept following . and ?
[@1:25:22] - Banter – Rust all the way down.
Credits
Intro Theme: Aerocity
Audio Editing: Aerocity
Hosting Infrastructure: Jon Gjengset
Show Notes: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel
Transcript: Eric Seppanen

Dec 11, 2021 • 57min
Refactoring to Rust with Lily Mara
Allen Wyma talks with Lily Mara, the author of the book Refactoring to Rust.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps
[@1:26] - Lily’s Bio
[@3:33] - Her blogs helped her improve her writing
[@5:09] - How the book came to be
[@9:34] - Knowing when to add a new language to an existing project
[@12:07] - Tools for measuring memory usage
[@15:04] - Garbage collection
[@18:30] - Strongly and weakly typed languages & dynamic vs static dispatch
[@21:13] - About the book
[@25:40] - Go being treated like a C library
[@27:02] - Memory allocators
[@35:51] - When did Lily started working on the book?
[@37:44] - Writing examples (it’s hard!)
[@46:36] - How technical are the editors?
[@49:00] - The Rust community is very welcoming
[@50:14] - Publishers that are publishing Rust books
[@52:17] - Lily’s Twitch stream for Manning
[@53:07] - Lily’s advice for aspiring Rust developers
Other Resources
PyO3
Flutter Rust Bridge
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma

Nov 26, 2021 • 1h 5min
Game Development with Herbert Wolverson
Allen Wyma talks with Herbert Wolverson, the author of the book Hands-on Rust.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps
[@0:57] - About Herbert and his book
[@3:01] - Explaining Rust’s traits
[@4:27] - The book is for intermediate programming
[@5:32] - Most beneficial part about using Rust over other languages
[@7:42] - Unreal Engine
[@11:13] - Unreal, Unity & Godot
[@13:44] - Bevy Engine & Amethyst Engine
[@18:31] - Zig
[@20:38] - Herbert’s Bracket-Lib engine
[@24:18] - Creating a game engine from scratch
[@34:03] - ECS (Entity Component System) & OPP (Object-Oriented Programming)
[@42:02] - Other game engines mentioned in the book
[@43:12] - Macroquad & Miniquad
[@45:39] - Amethyst
[@49:51] - RG3D
[@51:58] - Book Status & Rust Brain Teasers
[@57:44] - Pragprog Publishing
[@01:02:30] - How to contact Herbert
Other Resources
Hands-on Rust
Roguelike Tutorial
The Bracket
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma
Hosts: Allen Wyma

Nov 19, 2021 • 53min
Error Handling in Rust with Jane Lusby
Allen Wyma talks with Jane Lusby, the Error Handling Project Group Lead, and also the Project Director of Collaboration at Rust Foundation.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps
[@00:57] - Jane’s bio
[@04:10] - Jane’s contributions to Clippy
[@08:54] - Eyre
[@15:49] - Failure & Anyhow
[@17:13] - Choosing between anyhow & eyre
[@20:05] - AnyError and ThisError
[@23:31] - Color-eyre
[@26:08] - Other crates that are also in eyre
[@28:59] - Error Handling Group
[@38:12] - Collaboration with other groups
[@46:05] - Rust 2021 & 2018 Editions
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma

Nov 12, 2021 • 1h 9min
Tokio Ecosystem with Alice Ryhl
Allen Wyma talks with Alice Ryhl, one of the maintainers of the open source project Tokio.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps
[@00:40] - Alice’s Bio
[@01:08] - Managing pull requests on GitHub
[@05:00] - Alice’s involvement in Tokio
[@08:23] - Tokio’s topics page
[@11:06] - Alice’s favorite part of contributing
[@12:55] - Changes in Tokio since Alice joined
[@16:52] - Measuring metrics
[@19:38] - Cooperative & preemptive scheduling
[@24:30] - Diesel
[@25:45] - Definition of [blocking]((https://ryhl.io/blog/async-what-is-blocking/)
[@27:37] - I/O threads
[@31:21] - What are sleeping threads?
[@33:41] - Tokio Console
[@41:14] - Pros and cons of using actors
[@47:05] - Alice’s academic background
[@49:22] - Tokio’s upcoming roadmap
[@57:33] - Replacing epoll with io_uring
[@58:56] - Axum, Tower, and Loom
[@01:01:45] - Web frameworks for Rust
[@01:05:57] - How to contact Alice
Other Resources
Rust in Android Platform
Tokio’s Discord
Tokio’s Topics Pages
Cooperative Scheduling
Tokio Metrics
Actors in Tokio
io_uring with Tokio
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma
Hosts: Allen Wyma

Nov 5, 2021 • 1h 5min
Hyper with Sean McArthur
Allen Wyma talks with Sean McArthur, the creator of Hyper, an HTTP library for Rust.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps
[@01:37] - The history of Hyper
[@07:41] - Is Hyper a client or a server side component?
[@11:09] - Async/await
[@13:24] - Benefits to using async over blocking?
[@14:35] - Relationship between Tokio and Hyper
[@16:11] - Mio – Metal IO
[@16:48] - Can Hyper run on other async runtimes?
[@18:27] - Fuchsia OS
[@22:39] - Governance of the Hyper Project
[@25:25] - Why did Hyper choose Tokio?
[@34:35] - Reqwest
[@36:07] - cURL
[@38:29] - What is a C application binary interface (ABI)?
[@50:29] - HTTP/3 support in future
[@50:54] - Differences between HTTP/2 and HTTP/3
[@53:26] - Rust library for C
[@57:26] - Upcoming plan for Hyper
[@01:00:36] - Advice for newcomers to Rust?
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma

Nov 3, 2021 • 1h 3min
Warp with Zach Lloyd
Allen Wyma talks with Zach Lloyd, the founder of Warp. Warp is a blazingly fast, Rust-based terminal that makes you and your team more productive.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps
[@00:58] - Is Warp a GUI app?
[@04:08] - The history of Warp
[@06:27] - Difference between Warp and other Unix shells like Csh
[@10:22] - Warp’s open API
[@13:50] - Terminal improvements over the last 10 years
[@17:06] - Sharing blocks & live collaboration
[@19:08] - Will Warp run on multiple platforms?
[@21:45] - Zach’s background
[@25:38] - Why Rust over Go?
[@29:51] - Warp’s dependencies
[@36:36] - Objective-C vs. Rust
[@41:49] - Zach’s build pipeline
[@43:21] - cargo-bundle
[@44:52] - Warp’s business model
[@46:28] - Postman
[@49:50] - Funding & business pitch of Warp
[@54:30] - Zach’s Rust setup
[@57:46] - Tips for newcomers to Rust
Other Resources
Warp’s Twitter
Warp’s GitHub
Zach’s engineering handbook
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma

Oct 26, 2021 • 52min
Rust Web Development with Bastian Gruber
Allen Wyma talks with Bastian Gruber, author of “Rust Web Development”, about his book.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps
[@01:22] - Bastian’s Bio
[@02:53] - “Rust Web Development” on Manning
[@04:06] - Using Rust for web development
[@04:52] - Hyper.rs
[@05:13] - Choices of frameworks for Rust web development
[@07:49] - Rocket in production
[@08:35] - Tools for Rust web services
[@10:39] - Choosing SQLx over Diesel?
[@13:58] - Why Bastian switched from Node.js to Rust
[@17:36] - Bastian’s role at Twilio
[@19:57] - Popularity of Rust in Berlin
[@25:57] - Warp
[@29:14] - Zero to Production in Rust
[@31:03] - How does Bastian write?
[@37:48] - Rust vs other languages
[@42:40] - Tips to help you stand out as a Rust developer
[@46:21] - Tips for beginners
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma

Oct 25, 2021 • 44min
What's New in Rust 1.54 and 1.55
Jon and Ben discuss the highlights of the 1.54 and 1.55 releases of Rust.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps & referenced resources
[@00:37] - Rust 1.54
[@00:55] - Attributes can invoke function-like macros
The doc attribute
[@04:04] - wasm32 intrinsics stabilized
std::intrinsics
Target families
[@06:59] - Incremental compilation is re-enabled by default
Rust 1.52.1 disables incremental compilation
Incremental compilation issues tracking issue
[@08:55] - Stabilized APIs
[@11:00] - Changelog deep-div
[@11:04] - cargo report and future incompatibility lints
[@14:12] - LLVM mutable noalias is on again
[@16:24] - CARGO_TARGET_TMPDIR
[@17:24] - Use semver 1.0
Checking semver 1.0 against crates.io
[@19:18] - Rust 1.55
[@19:26] - Cargo deduplicates compiler errors
[@20:24] - Faster, more correct float parsing
The PR
Reddit post with details
[@22:20] - io::ErrorKind variants updates
[@28:08] - Open range patterns added
[@29:44] - Stabilized APIs
[@29:44] - MaybeUninit
[@32:44] - ops::ControlFlow
Try trait (v2) RFC
[@35:59] - string::Drain::as_str
[@37:52] - Changelog deep-dive
[@38:08] - Build scripts informed about rustc configuration
[@38:38] - cargo clippy --fix
[@39:10] - Clippy lint override survey
[@40:07] - #[doc(hidden)] on trait implementations
Credits
Intro Theme: Aerocity
Audio Editing: Jeremy Jung
Hosting Infrastructure: Jon Gjengset
Show Notes: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel
Transcript: Eric Seppanen

Oct 22, 2021 • 1h 33min
History of Rust with Ben Striegel
Allen Wyma talks with Ben Striegel, a member of Rust’s official community outreach team, about the history of Rust.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps
[@1:56] - What got Ben first interested in Rust?
[@3:03] - How Ben got involved
[@9:36] - Rust 1.0
[@16:21] - What does move mean?
[@17:36] - The Borrow Checker
[@20:04] - What language was the Rust compiler first written in?
[@25:04] - Choosing LLVM over GCC
[@33:28] - 2 ways to target Windows
[@34:39] - libc and musl
[@36:22] - Rust Editions
[@46:46] - Does Rust have a small standard library?
[@54:18] - Why TOML? TOML vs YAML
[@58:53] - “Tree shaking” in Rust?
[@01:00:48] - Who created Cargo?
[@01:02:26] - Rust’s milestones
[@01:07:42] - Mozilla 2020 layoffs
Discussion on /r/rust
[@01:12:33] - Will Rust stay open-source?
[01:18:10] - Future of Rust
[01:24:48] - Who decides what changes make it into Rust?
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma


