
Rustacean Station
Come journey with us into the weird, wonderful, and wily world of Rust.
Latest episodes

Sep 3, 2021 • 55min
Rust in cURL
First time guest host, Allen Wyma talks with Daniel, the original author of cURL, about using Rust in cURL.
cURL is a command line tool and library for transferring data with URLs.
cURL, and its data transfer core, libcurl are both written in C, which is known to be not memory safe.
While it is almost impossibe to rewrite it into another language, offering a third-party library written in Rust could take a further step forward.
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
Highlights
Architecture of cURL & libcurl
What brought Daniel to Rust? How long has he been using Rust?
What language was Daniel working in before that?
Third party libraries written in Rust?
What benefits does Rust bring to cURL?
Resources
Curl
Daniel’s Blog
Project Gemini
Timestamps
[@05:10] - cURL 7.78.0
[@07:44] - Implementing Protocol
[@09:25] - HTTP/3
[@13:30] - Architecture of cURL & libcurl
[@17:40] - cURL as a hybrid library
[@19:40] - Replacing C with Rust
[@34:00] - Experience of using Rust
[@35:40] - async/.await in rust
[@40:45] - Anything dislike about Rust?
[@42:35] - Challenge of integrating with Rust
[@48:00] - Can Rust help curl survive?
[@49:10] - Tips for beginners?
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma

Jul 12, 2021 • 1h 7min
What's New in Rust 1.52 and 1.53
Jon and Ben discuss the highlights of the 1.52 and 1.53 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:31] - Rust 1.52
[@01:31] - Stabilized APIs
[@04:28] - All integer division and remainder APIs made const
[@07:45] - Rust 1.52.1 and incremental compilation
[@11:30] - LLVM 12
Disable “mutable noalias”
Bringing Stack Clash Protection to Clang/x86, the Open Source Way
[@16:15] - unsafe_op_in_unsafe_fn lint
[@23:03] - Rust 1.53
[@23:03] - IntoIterator for arrays
[@26:45] - Unicode identifiers
[@29:37] - Or patterns
[@31:05] - Stabilized APIs
BITS associated const on numeric primitives
[@36:36] - {f32, f64}::from_str now parse and print special values (NaN, -0) according to IEEE RFC 754.
[@38:05] - {f32, f64}::is_subnormal
[@41:11] - Cargo changes
RFC: Make the authors field optional
[@43:52] - Rust 2021 Edition Preview
[@43:52] - What is an edition?
[@47:33] - Additions to the prelude
[@50:54] - Default Cargo feature resolver
[@51:49] - IntoIterator for arrays
[@53:09] - Disjoint capture in closures
[@54:35] - Panic macro consistency
[@56:00] - Reserving syntax
[@1:01:38] - Or patterns in macro_rules
[@1:03:16] - Promoting two warnings to hard errors
Credits
Intro Theme: Aerocity
Audio Editing: Jeremy Jung
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Jon Gjengset and Ben Striegel
Transcript: Eric Seppanen

Apr 18, 2021 • 1h 19min
What's New in Rust 1.50 and 1.51
Jon and Ben take a look at the features of the Rust 1.50 and 1.51 releases.
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:47] - Rust 1.50
[@03:02] - Const Generic Array Indexing
[@04:30] - Const Value Repetition for Arrays
Accidental Stabilization
[@07:15] - Safe Assignment to ManuallyDrop in Unions
[@09:40] - Niche for File on UNIX
Niches for Non-Empty Variants
Using Padding for Niches
[@14:39] - Library Changes
Mara Bos on the journey to bool::then
bool::then PR
The Clamp RFC
[@20:27] - Changelog Deep-Dive
Rust Changelog
Cargo Changelog
compare_and_swap deprecation
Deterministic .crate files
[@25:11] - Rust 1.51
[@25:24] - Const Generics MVP
What Was and Wasn’t Stabilized
[@30:00] - array::IntoIter stabilization
Implementing IntoIterator for [T; N]
[@37:53] - Cargo’s New Feature Resolver
Resolver v2 RFC
Resolver v2 in Cargo Book
Issues Solved by New Resolver
[@45:26] - Splitting Debug Information
Why This Was Complicated
split-debuginfo option
[@51:34] - Stabilized APIs
offset_of! is (was) Unsound
ptr::addr_of!
Raw pointer creation RFC
Ergonomic string interpolation
Unifying panic!
Manual vTable for Wakers
[@1:10:30] - Changelog Deep-Dive
Rust Changelog
Cargo Changelog
Documenting Nested Derefs
Smarter target-cpu=native
[@1:14:45] - Rust Async Vision Doc
Async Foundations Working Group
Credits
Intro Theme: Aerocity
Audio Editing: Aerocity
Hosting Infrastructure: Jon Gjengset
Show Notes: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel
Transcript: Eric Seppanen

Jan 13, 2021 • 45min
What's New in Rust 1.48 and 1.49
Jon and Ben take a look at the features of the Rust 1.48 and 1.49 releases.
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:10] - Rust 1.48
[@01:10] - Easier linking in Rustdoc
[@03:57] - Adding search aliases in Rustdoc
[@07:03] - Implement TryFrom<Vec<T>> for fixed-length arrays
slice::as_chunks
[@10:51] - future::ready and future::pending
[@15:21] - More stdlib APIs made const
[@18:05] - mem::uninitialized will now panic if any inner types inside a struct or enum disallow zero-initialization
[@20:18] - When trait bounds on associated types or opaque types are ambiguous, the compiler no longer makes an arbitrary choice on which bound to use
[@24:20] - Rust 1.49
[@24:20] - 64-bit ARM Linux reaches Tier 1
[@30:20] - Test framework captures output in threads
[@33:36] - Library changes
poll::is_ready and poll::is_pending made const
[@34:36] - You can now bind by reference and by move in patterns
[@38:09] - Unions can now implement Drop, and you can now have a field in a union with ManuallyDrop<T>
[@42:00] - Rust Survey 2020 Results
Credits
Intro Theme: Aerocity
Audio Editing: T.J. Telan
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Jon Gjengset and Ben Striegel

Dec 1, 2020 • 49min
What's New in Rust 1.46 and 1.47
Jon and Ben take a look at the features of Rust 1.46 and 1.47.
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:55] - Rust 1.46
[@01:55] - const fn improvements
[@08:38] - The track_caller attribute
[@11:51] - Minor changes
1.46 pre-release testing
[@21:46] - Rust 1.47
[@21:46] - Traits on larger arrays
Tracking Issue for min_const_generics
[@29:14] - Shorter backtraces
[@30:26] - LLVM 11
[@32:07] - Control Flow Guard on Windows
[@34:28] - Library changes
The Tau Manifesto
[@40:04] - Minor changes
SemVer Compatibility Guide
Announcing the Error Handling Project Group
Announcing the Portable SIMD Project Group
Credits
Intro Theme: Aerocity
Audio Editing: Cole
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Jon Gjengset and Ben Striegel

Sep 22, 2020 • 1h 3min
WebAssembly on the Server with Krustlet
Taylor Thomas explains how Krustlet runs WebAssembly modules in Kubernetes and why it’s a promising option for the future of server side applications.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to be interviewed, propose a topic for an episode, or help create the podcast itself!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps
[@00:55] - Kubernetes
[@07:37] - WebAssembly
[@12:06] - WebAssembly Runtimes and WASI Specification
[@15:42] - WebAssembly vs Containers vs Native Binaries
[@25:11] - Krustlet and the case for writing it in Rust
[@30:52] - Missing APIs in WASI
[@33:38] - Wascc vs Wasmtime runtimes
[@38:15] - Rust ecosystem for Kubernetes and WebAssembly
[@40:23] - Comparing other languages to Rust
[@45:09] - Rust learning curve, experiences as a beginner
[@53:16] - Next steps for Krustlet and WebAssembly
Referenced Resources
Krustlet
Kubernetes
Open Container Initiative
WebAssembly
WASI
Wasmtime
waSCC
WebAssembly meets Kubernetes with Krustlet
Introducing Krustlet, the WebAssembly Kubelet
Kubernetes: A Rusty Friendship
The Safety Boat: Kubernetes and Rust
A Heaping Helping of Stacks
Credits
Intro Theme: Aerocity
Audio Editing: Jeremy Jung
Hosting Infrastructure: Jon Gjengset
Show Notes: Jeremy Jung
Hosts: Jeremy Jung
Guests: Taylor Thomas

Aug 29, 2020 • 50min
RedisJSON
Jeremy talks with Christoph Zimmermann about Redislabs’ new JSON module, which is written in Rust.
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to be interviewed, propose a topic for an episode, or help create the podcast itself!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps
[@15:12] - Why Rust
[@18:57] - Mentioning Microsoft Presentation On Rust
[@19:25] - Jeremy - Clarifying The Benefits Of Rust On Developer Productivity Compared To C++
[@20:23] - Response To Productivity 00:21:12: Checking At Compile Time Helps
[@23:29] - How have you found Rust as a Language For Interacting With Other Languages?
[@24:28] - Were Most Bugs Around Unsafe Blocks?
[@25:42] - Do You Think Rust Had Future With Redis Server?
[@26:45] - Redis Labs Is Looking To Implement Further Modules In Rust Because Of Redis SDK
[@27:39] - Overcoming Rust Learning Curve
[@28:25] - Coming From 20 Years Of C To Rust
[@28:52] - Jeremy - Rust As First Language
[@31:30] - Comparing Languages
[@32:24] - What Might An Application Look Like That Uses Redis-Json?
[@33:45] - Performance Differences With Redis JSON 2
[@35:14] - How Would You Overcome Rust’s Overhead Compared To C?
[@36:32] - Do You Think (Concurrency Will Present Itself More Often In Future Redis Modules)?
[@37:54] - Could Redis Move Towards A More Concurrent Multi-threaded Database?
[@40:05] - What The Redis Community Does Do With Multicore To Increase Throughput
[@43:27] - How Did Redis-JSON 2 Leverage Rust’s Type System?
[@44:53] - Time Check
[@45:10] - End Question: Distro & Editors Of Choice
[@46:40] - ARM & Apple Chips
[@48:17] - More Redis Resources And Community
Referenced Resources
Christoph’s Podcast
Christoph’s FOSDEM Talk
RedisJSON on GitHub
Redislabs
Credits
Intro Theme: Aerocity
Audio Editing: Cole
Hosting Infrastructure: Jon Gjengset
Show Notes: Cole and Jeremy Webb
Hosts: Jeremy Webb
Guests: Chrisoph Zimmermann

Aug 19, 2020 • 47min
What's New in Rust 1.44 and 1.45
Jon and Ben examine the features of Rust 1.44 and Rust 1.45.
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:21] - Rust 1.44 (Detailed Release Notes)
[@01:50] - cargo tree subcommand
[@04:52] - async/await in #[no_std] contexts
[@12:16] - Unicode 13 is now supported
[@17:16] - rustc now respects the -C codegen-units flag in incremental mode
[@18:47] - Special cased vec![] to map directly to Vec::new()
[@28:51] - Rust 1.45
[@29:14] - Fixing an unsoundness in float to integer casts
[@39:16] - Stabilizing function-like procedural macros in expressions, patterns, and statements
[@43:29] - str::strip_prefix and str::strip_suffix
Bonus: Opening up the Rust Core Team agenda
See also: The Inside Rust Blog
Credits
Intro Theme: Aerocity
Audio Editing: Jeremy Jung
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Jon Gjengset and Ben Striegel

Aug 18, 2020 • 21min
This Week in Rust - Issue 352
Nell Shamrell-Harrington — lead editor of This Week in Rust — takes you through highlights from TWiR 352, published on August 18, 2020, as well as short interviews with upcoming RustConf speakers Harrison Bachrach, Esteban Kuber, and Jam.
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
Referenced resources
Laying the foundation for Rust’s future
Learning Rust: The Compiler is your Friend
Why Rust is a great fit for embedded software
Why Rust’s Unsafe Works
I am a Java, C#, C or C++ developer, time to do some Rust
Async Unicorns love Rust
Linux Packages For Rust (2/3) - Building with GitHub Actions using Custom Actions and Docker Container Images
Rust RFCs Repo
RustConf
This Week in Rust GitHub Repo
Credits
Hosting Infrastructure: Jon Gjengset
Show Notes: Nell Shamrell-Harrington
Hosts: Nell Shamrell-Harrington

Aug 12, 2020 • 20min
This Week in Rust - Issue 351
Nell Shamrell-Harrington — lead editor of This Week in Rust — takes you through highlights from TWiR 351, published on August 11, 2020, as well as short interviews with upcoming RustConf speakers Micah Tigley, Rebecca Turner, and Samuel Lim.
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
Referenced resources
Announcing Rust 1.45.1
Announcing Rust 1.45.2
Headcrab: July 2020 progress report
This Month in Rust OSDev (July 2020)
Learning Rust: Mindsets and Expectations
Blue Team Rust: What is “Memory Safety”, really?
Creating Linux Packages for Rust Projects (1/2)
Reverse Engineering a USB Device with Rust
Some Learnings from Implementing a Normalizing Rust Representer
[video]Learning Rust by Working Through the Rustlings Exercises
Rust Language Cheat Sheet 2019 -> 2020
[audio]The State of Rust 2 with Alex Chrichton
[audio]The State of Rust with Steve Klabnik
RFC: ‘C unwind’ ABI
Procedural vtables and wide ptr metadata
Edition 2021 and beyond
Credits
Hosting Infrastructure: Jon Gjengset
Show Notes: Nell Shamrell-Harrington
Hosts: Nell Shamrell-Harrington