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

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

Aug 25, 2019 • 28min
Organizing Colorado Gold Rust: An interview with conference founder J Haigh
We interview J Haigh about their experience organizing this year’s first-ever Colorado Gold Rust conference, what brought them to Rust, and what inspired them to give back to Rust’s community.
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps & referenced resources
[@00:41] - Colorado Gold Rust
[@01:48] - What got you into Rust?
RustConf
@ag_dubs (Ashley Williams)
@carols10cents (Carol Nichols)
[@03:01] - Getting involved with the Rust community
Rust Boulder/Denver Meetup
@focusaurus (Peter Lyons)
[@07:50] - What is the Recurse Center?
[@09:21] - Organizing a conference
Auraria Campus
@argorak (Florian Gilcher)
Rust Fest
Rust Community Events Team’s example timeline for organizing a conference
Rust Belt Rust
Rust Belt Rust 2018’s budgeting report
[@17:27] - What have you learned for next time?
[@19:36] - Who is helping with the conference?
Nicholas Young
[@22:05] - Community Inclusivity
[@24:44] - CFP software
[@25:34] - Finding a venue for a conference
Credits
Intro Theme: Aerocity
Audio Editing: Reece McMillin
Hosting Infrastructure: Jon Gjengset
Show Notes: Jeremy Jung
Hosts: Ben Striegel

Aug 8, 2019 • 1h 3min
Ruma and the Matrix Communication Protocol: An Interview with Jimmy Cuadra
We interview Jimmy Cuadra about Matrix, an open and decentralized communication protocol, and his implementation in Rust known as Ruma.
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
Timestamps & referenced resources
[@01:35] - Meet Jimmy Cuadra
[@04:46] - How did you get into Rust?
@bascule (Tony Arcieri)
The Rust Programming Language Book
[@08:47] - What is Matrix?
Matrix: an open network for secure, decentralized communication
libpurple
Ruma: Introduction to Matrix
[@14:32] - Why “Matrix”?
[@16:44] - What forms of communication does Matrix enable?
[@17:59] - What pieces of Matrix does Ruma implement?
[@20:27] - Why did you decide to use Rust?
[@23:52] - How challenging has Ruma been to implement?
[@30:27] - What libraries does Ruma leverage?
Serde: a framework for serializing and deserializing data structures efficiently and generically
Diesel: a safe, extensible ORM and query builder
[@34:02] - If you could start all over again, what would you do differently?
[@38:57] - Does Ruma use any unstable Rust features? Has it previously?
[@42:30] - What other implementations of Matrix exist?
[@46:42] - How difficult to implement is the Matrix specification?
[@52:59] - How close to maturity is Ruma?
Credits
Intro Theme: Aerocity
Audio Editing: Reece McMillin
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Abdou Seck, Ben Striegel

Jul 12, 2019 • 54min
Announcing Rustacean Station and Rust 1.36
Meet Rustacean Station, a new Rust “meta podcast”, and take a dive into the new 1.36.0 Rust release with Ben and Jon.
If you would like to offer Rust-related podcast content for us to host, or would like advice and resources on making your own Rust podcast, get in touch with us via the venues below!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: hello@rustacean-station.org
In the episode
[@4:27] - std::future
[@11:29] - std::task
[@14:22] - the alloc crate
[@18:52] - std::collections::HashMap and hashbrown
[@22:50] - std::mem::MaybeUninit and the deprecation of std::mem::uninitialized (mentioned: Error::type_id destabilization and std::pin discussion)
[@36:24] - NLL for Rust 2015 (mentioned: MIR)
[@44:45] - cargo --offline and cargo fetch
[@46:50] - ongoing stdlib constification
[@47:25] - read_vectored and write_vectored
[@49:05] - Iterator::copied
[@49:58] - dbg! enhancements
[@51:19] - #[must_use] for is_err and is_ok
Credits
Intro Theme: Aerocity
Audio Editing: Reece McMillin
Hosting Infrastructure: Jon Gjengset
Show Notes: Ben Striegel
Hosts: Ben Striegel, Jon Gjengset
Special Thanks: Chris Krycho, Andrew Gallant, Mae McCauley