

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

Feb 7, 2020 • 54min
RustFest Interviews Triple Feature: Rust Release Engineering; Developing the Developer Tools; Rust in Latin America
Another trio of interviews from RustFest 2019: Pietro Albini on Crater and the Rust Infrastructure Team; Pascal Hertleif on the Rust Developer Tools Team; and Santiago Pastorino on the Rust Latam conference in Latin America.
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:00] Part 1: Crater & Rust Release Infrastructure w/ Pietro Albini
[@01:01] - What is your role in the Rust project?
[@01:46] - What lessons did the infrastructure team learn from the Rust 2018 release?
[@03:29] - How do you feel about potential future Rust editions in 2021 or beyond?
[@06:26] - Do you think Rust’s regular release cycle too fast or too slow?
[@08:56] - How does Crater guard against language regressions, and what things doesn’t it catch?
rust-lang/crater
[@11:12] - How has Crater scaled as the ecosystem has grown, and is it at risk of becoming infeasible to run?
[@16:17] - How can someone get involved with the Infrastructure Team?
#infra Discord channel
[@17:25] Part 2: Developer Tools w/ Pascal Hertleif
[@18:23] - What is the Developer Tools Team?
[@19:39] - What tools is the Developer Tools Team responsible for, and what purposes do they serve?
[@24:46] - Which tools in particular would you like to draw attention to?
[@26:19] - How does rust-analyzer compare to RLS?
rust-lang/rls
rust-analyzer/rust-analyzer
[@29:42] - How does the Developer Tools Team coordinate?
[@32:00] - How was your experience at RustFest this year?
[@36:21] Part 3: Rust Latam w/ Santiago Pastorino
[@36:46] - What is Rust Latam?
[@37:42] - What inspired you to start a Rust conference in Latin America?
[@39:06] - How big is Rust Latam?
[@40:15] - What is interest in Rust like in Latin America?
[@42:42] - What is the broader software industry like in Latin America?
[@44:59] - What’s next for Rust Latam?
[@45:42] - How did you get into Rust?
[@50:17] - What venues are there for Spanish or Portuguese-speaking Rust users?
Rust Brazilian Telegram Group
[@51:34] - How can someone learn more about Rust Latam?
Credits
Intro Theme: Aerocity
Audio Editing: Zoran Zaric
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Ben Striegel

Jan 22, 2020 • 54min
RustFest Interviews Triple Feature: Rust for AAA Game Development; Async Foundations with `async-std`; and Powerful Concurrency Primitives with `crossbeam`
Three more interviews from RustFest 2019: Jake Shadle on using Rust for high-performance game engines at Embark, applying lessons learned from working on EA DICE’s Frostbite engine; Yoshua Wuyts on async-std and Rust’s async ecosystem; and Stjepan Glavina on crossbeam, Rust’s foundational library for powerful concurrency primitives.
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:00] Part 1: Game Development @ Embark Studios w/ Jake Shadle
[@01:25] - What is yours (and Embark’s) background in game development?
[@02:14] - What is the relevance of the Frostbite engine and what is your experience with it?
[@04:15] - What makes you think that Rust as a language is suitable for game development?
[@06:13] - How is parallelism employed in a game engine on the scale of Frostbite?
[@07:07] - Where is the Rust library ecosystem lacking for your use case, and what crates are you making use of?
[@11:13] - Why is Embark interested in WebAssembly?
[@14:20] - How can someone get in touch or learn more about Embark?
embark.dev
Inside Rust at Embark
[@15:09] Part 2: async-std w/ Yoshua Wuyts
[@15:48] - How much of the Rust standard library is async-std intended to emulate?
[@17:12] - Is there anything from async-std that ought to be upstreamed into the standard library?
[@19:20] - Does async-std run into any conflicts with the types or traits defined in futures-rs or the standard library?
[@22:21] - How complete or incomplete is Rust’s async ecosystem and async language support?
async-trait: a procedural macro for providing async trait methods on stable Rust
[@26:21] - How close is async-std to being a drop-in replacement for the standard library?
[@28:32] - What’s next for the development of async-std?
[@30:07] - With the advent of async-std version 1.0, what would an eventual 2.0 release look like?
[@32:09] - Who is using async-std?
[@32:54] - How can someone get in touch or get involved?
async.rs
github.com/async-rs
[@34:02] Part 3: crossbeam w/ Stjepan Glavina
[@34:29] - What is crossbeam and what is its history?
[@36:41] - What is epoch-based garbage collection, and why would a Rust user want to use it?
[@38:17] - How does epoch-based garbage collection compare to std::sync::Arc?
[@41:30] - What is your background in concurrent programming?
[@42:59] - How do crossbeam’s channels compare to those in the standard library?
[@44:33] - How much research was involved in writing crossbeam?
[@45:35] - Do crossbeam’s channels provide a selection interface?
[@46:34] - What other primitives does crossbeam provide?
[@48:37] - How confident are you in the correctness of crossbeam’s implementation?
[@49:46] - How is crossbeam related to rayon and async-std?
[@51:53] - What’s next for crossbeam?
Credits
Intro Theme: Aerocity
Audio Editing: Zoran Zaric
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel, Zoran Zaric
Hosts: Ben Striegel

Jan 13, 2020 • 49min
What's New in Rust 1.40
Jon and Ben review the changes introduced in Rust 1.40.
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:52] - #[non_exhaustive] structs, enums, and variants
[@12:31] - Macro and attribute improvements
StackOverflow: How do I create a function-like procedural macro?
[@24:33] - Borrow check migration warnings are hard errors in Rust 2015
[@25:21] - More const fns in the standard library
const-hack issue label
Rustacean Station: Compile-Time Evaluation, Interpreted Rust, and UB Sanitizing: Talking to Oliver Scherer about Miri
[@28:31] - The todo! macro
[@34:28] - slice::repeat
[@35:09] - mem::take
[@36:55] - BTreeMap::get_key_value and HashMap::get_key_value
Ivan Dubrov: Tricking the HashMap
[@40:24] - Standardized functions for converting floating-point types to byte arrays of specific endianness
Proposed Rust RFC: Standard lazy types
Rust PR: Stabilize the matches! macro
[@45:55] - Cargo tweaks
Credits
Intro Theme: Aerocity
Audio Editing: Jeremy Jung
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Jon Gjengset and Ben Striegel

Jan 10, 2020 • 26min
Double Feature: Jan-Erik Rediger on RustFest & Lucio Franco on the Tonic gRPC framework
Two more interviews from RustFest 2019, first with lead RustFest organizer Jan-Erik Rediger and second with Tokio contributor Lucio Franco on the Tower gRPC framework.
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 with hosting or audio editing!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps & referenced resources
[@00:00] Part 1: RustFest w/ Jan-Erik Rediger
[@00:43] - Who were the original founders of RustFest and what is the history of the conference?
[@06:04] - What is timeline like for organizing a conference of this scale and what has been your experience with organizing RustFest?
[@12:04] Part 2: Tonic w/ Lucio Franco
[@12:52] - What is Tonic?
[@13:38] - What is gRPC?
[@14:57] - What is Tonic/gRPC useful for?
[@16:05] - How is Tonic related to Tower and Tokio?
[@22:11] - What are you using Tonic for?
[@25:13] - How can people learn more about Tonic and get involved?
Credits
Intro Theme: Aerocity
Audio Editing: Jeremy Jung
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Host: Ben Striegel

Dec 23, 2019 • 24min
Compile-Time Evaluation, Interpreted Rust, and UB Sanitizing: Talking to Oliver Scherer about Miri
In the first of our mini-interviews from RustFest 2019, we talk to Oliver Scherer about Miri, an interpreter for rustc’s internal bytecode, its use in const-evaluation, and its potential as an external tool for sanitizing unsafe code.
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 & referenced resources
[@01:15] - What is const-evaluation and what can you do with it?
[@03:23] - What is Miri and how long has it been in development?
[@07:05] - What does the future hold for Miri?
[@07:54] - How long have you been working on rustc and Miri?
[@12:22] - How much of Miri does rustc use today?
[@13:33] - How does Miri help people detect undefined behavior in unsafe code?
[@16:46] - How would a user begin using Miri directly to test their unsafe code?
[@19:15] - What happens if you try to const-evaluate unsafe code?
[@20:33] - What’s next for const-evaluation in rustc?
[@21:58] - Who else is helping to develop Miri?
Credits
Intro Theme: Aerocity
Audio Editing: alphastrata
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Ben Striegel

Dec 19, 2019 • 54min
Creating Static Sites in Rust with Vincent Prouillet
Vincent Prouillet talks about his experience building the Zola static site generator (formerly known as Gutenberg) and reflects on five years of working with 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
[@00:59] - What’s a static site generator?
[@03:52] - How easy is it to build and edit a site?
[@07:58] - Why create a new static site generator?
[@12:35] - The Tera template engine and Vincent’s experience building it
[@17:53] - Creating filters and tests to use with Tera
[@24:29] - What’s a taxonomy?
[@25:48] - Mapping content to URLs
[@30:53] - The experience of being an open source maintainer
[@33:57] - Rust crates and features used by Zola
[@36:57] - How the Rust ecosystem ensured fast performance
[@40:35] - Is Rust ready for web applications?
[@43:25] - What applications are best suited to Rust now?
[@46:50] - Issues or things you wish existed in Rust?
[@51:08] - Helping out with Zola
References and Resources
Vincent Prouillet
Personal Site
@20100Prouillet
Zola
Zola Website
Zola Forum
Tools/Crates used by Zola
pulldown-cmark (Markdown)
syntec (Syntax highlighting using Sublime Text definitions)
rayon (Parallel computation)
heaptrack (Memory Profiler)
Static Site Hosts
Github Pages
Netlify
Crates for Web Applications
jsonwebtoken
Bcrypt
Validator
Compiled Template Engines
askama
maud
horrowshow
Runtime Template Engines
Tera (Jinja2-like HTML template engine)
ramhorns
rust-mustache
Static Site Generators
Hugo
Jekyll
Pelican
Other links
Forestry (WYSIWYG CMS for Static Sites)
Keyword Arguments RFC
kickstart (Scaffolding tool)
Credits
Intro Theme: Aerocity
Audio Editing: Jeremy Jung
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Jeremy Jung

Nov 26, 2019 • 43min
What's New in Rust 1.39
Jon and Ben review the long-awaited changes in Rust 1.39.
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 & referenced resources
[@1:03] - References to by-move bindings in match guards
[@2:44] - Attributes on function parameters
[@7:01] - Borrow check migration warnings are hard errors in Rust 2018
“NLL for Rust 2015” in Rustacean Station episode on Rust 1.36 (timestamp: 36:24)
[@10:15] - More const fns in the standard library
Inside Rust Blog: if and match in constants on nightly Rust
[@14:16] - Improvements to std::time::Instant
[@16:22] - rustup 1.20.0
[@19:32] - Stable async/await
“std::future” in Rustacean Station episode on Rust 1.36 (timestamp: 4:27)
How Rust optimizes async/await I
How Rust optimizes async/await II
Rust Blog: Async-await on stable Rust!
Announcing the Async Interviews
wasm-bindgen-futures
[@34:42] - What’s next in Rust?
Polonius
Chalk
[@36:20] - A public call for feedback for the Rust 2020 Development Roadmap
Credits
Intro Theme: Aerocity
Audio Editing: Jeremy Jung
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Jon Gjengset and Ben Striegel

Oct 14, 2019 • 34min
What's new in Rust 1.38
Jon and Ben review the changes introduced by the Rust 1.38 release.
Get in touch with us if you’d like to be interviewed, propose a topic for an episode, or help out!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps & referenced resources
[@1:15] - Pipelined compilation
[@3:25] - Linting some incorrect uses of mem::uninitialized
Rustacean Station episode on Rust 1.36 with discussion on std::mem::MaybeUninit
[@6:30] - #[deprecated] attribute on macros
Rust reference: Diagnostic attributes
[@11:30] - std::any::type_name
Security advisory for the destabilization of std::error::Error::type_id in Rust 1.34.2
[@16:00] - slice::{concat, connect, join} now accepts &[T] in addition to &T
[@18:10] - *const T and *mut T now implement std::marker::Unpin
[@20:55] - New convenience methods for working with std::time::Duration
[@22:25] - cargo fix --clippy
[@23:40] - Diff-friendly format for Cargo.lock
[@25:00] - Looking forward to Rust 1.39
futures v0.3 milestone
tokio v0.2 milestone
tower v0.1 milestone
hyper v0.13 milestone
Credits
Intro Theme: Aerocity
Audio Editing: Zoran Zaric
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Jon Gjengset and Ben Striegel

Sep 17, 2019 • 1h 2min
Rust in Production: An Interview with Armin Ronacher
Armin Ronacher talks about getting into Rust, when to use it, writing Rust extensions for Python, building the Symbolicator web application with actix, creating debugging libraries, and the Rust ecosystem.
Get in touch with us if you’d like to be interviewed, propose a topic, or help out!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps & referenced resources
[@01:16] - What got you interested in Rust?
[@02:58] - Abstraction with good performance in Rust vs Python
[@04:50] - Rust doesn’t need asynchronous code
[@06:10] - Building thread safe applications
[@07:05] - What excited you about using Rust?
[@08:59] - Sentry
[@11:41] - Introducing Rust to Sentry
[@13:49] - Anything easier to write in Rust vs Python?
[@16:53] - Writing extensions vs writing services
[@20:01] - Flow of sending a minidump to Symbolicator
[@22:35] - Symbolicator makes sense as a service
[@24:05] - Building a better debugging world
[@25:12] - More things symbolicator does
[@26:06] - What’s Milksnake
[@28:43] - Other ways to embed Rust in Python
[@30:47] - Why use Actix for Symbolicator?
[@35:23] - Is it too early to write web applications?
[@38:09] - What would you do differently in hindsight?
[@42:59] - Don’t want a Django or Rails
[@44:37] - When to write a web application?
[@48:13] - What do you wish existed in Rust?
[@50:36] - Game backends
[@52:23] - Anything else?
[@54:05] - Why companies aren’t using Rust for web development
[@54:52] - Why async/await is not the only blocker for web development
[@57:22] - Resources for web development in Rust
[@59:03] - Wrap Up
Credits
Intro Theme: Aerocity
Hosting Infrastructure: Jon Gjengset
Show Notes: Jeremy Jung
Host: Jeremy Jung

Aug 31, 2019 • 33min
What's New in Rust 1.37
We review the new features in the Rust 1.37 release and give shout-outs to all the volunteers who have helped make Rustacean Station so far.
Get in touch with us if you’d like to be interviewed, propose a topic, or help out!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps & referenced resources
[@01:21] - Referring to enum variants through type aliases
[@02:55] - Built-in Cargo support for vendored dependencies
[@04:08] - Using unnamed const items for macros
[@06:41] - Profile-guided optimization
[@09:06] - Choosing a default binary in Cargo projects
[@10:17] - #[repr(align(N))] on enums
[@11:06] - Library changes
[@16:48] - New sponsors of Rust infrastructure
Async/Await in Libra Core
[@19:58] - async/await stabilization in Rust 1.39
[@22:08] - Miscellaneous new features
[@26:06] - Thanking the people who make Rustacean Station possible!
Credits
Intro Theme: Aerocity
Audio Editing: Jon Gjenset
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Jon Gjenset & Ben Striegel


