

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

Jun 24, 2022 • 56min
Zig with Andrew Kelley
Allen Wyma talks with Andrew Kelley, creator of Zig. Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
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:51] - Andrew’s introduction
[@2:55] - Rust vs Zig
[@5:27] - What is undefined behavior (UB) and what causes it?
[@11:37] - How does Zig deal with undefined behavior?
[@16:09] - How well does Zig work in production?
[@22:46] - Deeper dive into Andrew’s programming background
[@33:35] - Zig’s mission statement and what they’re doing as a non-profit
[@37:38] - Zig’s update release management
[@40:06] - Andrew’s OkCupid project
[@42:20] - Andrew’s preparations and motivations for making a language
[@46:11] - Zig using LLVM
[@49:12] - What’s next for Zig?
[@54:20] - Parting thoughts
Other Resources
Zig’s Github
Andrew’s Github
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma

Jun 21, 2022 • 1h 16min
What's New in Rust 1.60 and 1.61
Jon and Ben discuss the highlights of the 1.60 and 1.61 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:15] - Rust 1.60
[@01:45] - Source-Based Code Coverage
-Cinstrument-coverage documentation
grcov
cargo-llvm-cov
[@08:21] - cargo --timings
Example output for Cargo build
Cargo documentation
[@10:21] - New syntax for Cargo features
Optional dependencies
Dependency features
[@17:06] - Incremental compilation status
Incremental disabled in 1.59
[@20:06] - Instant monotonicity guarantees
“And now we come upon a sad state of affairs”
PR moving from Mutex to AtomicU64
PR removing backsliding protection
[@26:01] - Stabilized APIs
Arc::new_cyclic
Source for Arc::new_cyclic
<[u8]>::escape_ascii
usize::abs_diff
[@32:27] - Changelog deep-dive
Stabilize #[cfg(panic = "..")]
Port cargo from toml-rs to toml_edit
toml_edit crate
Adding OpenWRT target
OpenWRT
[@36:59] - Rust 1.61
[@36:59] - Custom exit codes from main
Termination
ExitCode
Why ExitCode is opaque
try_trait_v2
[@45:05] - More capabilities for const fn
Meta tracking issue for const fn
[@52:20] - Static handles for locked stdio
Stdout::lock
[@54:33] - Stabilized APIs
Vec::retain_mut
<*const T>::offset
[@59:22] - Changelog deep-dive
std::thread::available_parallelism
Respecting Linux cgroups
Cargo dropping num_cpus
Sparse registries RFC
Implementation
Call for testing
Linux baseline requirements bump
Likely landing in 1.64
Compatibility Notes
#[ignore = ".."]
Removing “everybody loops”
When rustdoc stopped looping everybody
[@1:12:55] - Rust 2024 Roadmap
Living roadmap
Credits
Intro Theme: Aerocity
Audio Editing: Aerocity
Hosting Infrastructure: Jon Gjengset
Show Notes: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel

Jun 17, 2022 • 31min
Fig with Grant Gurvis
Allen Wyma talks with Grant Gurvis, Founding Engineer at Fig. Fig adds IDE-style autocomplete to your existing terminal.
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:32] - Grant’s bio and Fig introduction
[@4:25] - Fig’s support and integration expansion
[@6:05] - Differentiating Warp and Fig
[@8:38] - Changes that need to happen in order to support Linux and Windows
[@10:36] - Fig’s switch to Rust
[@18:40] - Grant’s experience using different programming platforms
[@25:06] - Fig’s monetization plans
[@26:53] - Fig’s user reviews and feedback
[@29:55] - Opportunites for Rust engineers
Other Resources
Fig’s GitHub
Grant’s GitHub
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma

Jun 16, 2022 • 42min
This Week in Rust - Issue 445
Highlights from This Week in Rust - Issue
445,
presented by Tim and Allen.
Themes for the discussion include getting work as a Rust developer, creating a
specification for Rust, and the health of the community.
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] Welcome
[@00:10] - Introduction
[@01:49] - Agenda
[@02:44] - Quote of the week
Rust is a perfect language for a dad like me, who every day puts kids to
sleep, and tired after long day of work and chores, can sit down and possibly
write some code for the hobby open source project, even when he’s already just
half awake. And it usually just works, tend to be robust and make the day
feel extra productive.
[@04:14] - Crate of the week
Tectonic
d3.js
matplotlib
[@07:26] Official Notices
[@07:30] - Concluding the events of last November
[@14:20] Highlights
[@14:27] - [video] Rust makes you feel like a GENIUS by Tris Oaten
[video] Wat lightning talk
[video] Rust: Your code can be perfect
[@18:32] - Builder Lite pattern by
matklad
[@22:06] - The Rust Jobs Market by Alfie John
[@26:55] - Introducing the Ferrocene Language Specification by Ferrous Systems
Ferrous Systems and AdaCore to join forces on Ferrocene
[audio] Rust Safety with Quentin Ochem and Florian
Gilcher
High Assurance Rust
[@32:12] Simple rust interview questions by Maciej
Flak
[@36:36] PR 97046: improve case conversion happy
path by Conrad Ludgate
Other items
[@39:12] Call for Participation: mirrord
[@39:25] RFC: create a “types team”
[@40:37] PR: improve error message for E0081
Credits
Intro Theme: Aerocity
Audio Editing: Aleksandar Nikolic
Hosting Infrastructure: Jon Gjengset
Show Notes: Tim McNamara
Hosts: Tim McNamara and Allen Wyma.

Jun 10, 2022 • 57min
Rust Foundation with Rebecca Rumbul
Allen Wyma talks with Rebecca Rumbul, Executive Director and CEO at Rust Foundation. The Rust Foundation is an independent non-profit organization to steward the Rust programming language and ecosystem, with a unique focus on supporting the set of maintainers that govern and develop the project.
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:00] - Rebecca’s Bio
[@2:36] - The Rust Foundation
[@7:27] - How the Rust Foundation deals with legal work
[@9:26] - How the Rust Foundation helps all contributors
[@12:47] - Scoring matrix to measure the value
[@15:20] - DevX Initiative & Ernest Kissiedu
[@17:14] - Competing in funding projects
[@20:29] - Applying for a membership in The Rust Foundation
[@23:25] - Company membership benefits
[@28:34] - The Rust Foundation can potentially connect people and projects
[@31:08] - Board member Nell Shamrell-Harrington & The Rust Foundation sponsoring
[@35:00] - Rebecca on making tough decisions
[@36:46] - Nell’s weekly newsletter
[@40:20] - What makes a company pay for a Platinum membership?
[@44:21] - Rebecca’s background
[@49:28] - Anything difficult in running The Rust Foundation?
[@51:16] - Future plans for Rust Foundation
[@54:12] - Contacting The Rust Foundation
[@54:48] - Parting words
Other Resources
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma

Jun 8, 2022 • 58min
This Week in Rust - Issue 444
Highlights from This Week in Rust - Issue
444. This
week features a juicy post-mortem, open source, open hardware, and lots of news
from around the Rust ecosystem.
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] Welcome
[@00:10] - Introduction
[@00:50] - Agenda
[@01:23] - Quote of the week
This is the difference in approaches of the two languages. In C++ if the
code is vulnerable, the blame is on the programmer. In Rust if the code is
vulnerable, Rust considers it a failure of the language, and takes
responsibility to stop even “bad” programmers from writing vulnerable code.
I can’t stress enough how awesome it is that I can be a careless fool, and
still write perfectly robust highly multi-threaded code that never crashes.
[@03:09] Allen: Rust is both good and bad at marketing
[@03:30] - Crate of the week
[@04:15] - Tim and Sean discuss parsing in episode
2022-05-26 at 47:10
[@05:10] Official Notices
[@05:22] - Announcing Rust 1.61.0
Custom exit codes from main
[Note from Tim: I say “termination crate”, but should have said “Termination trait”.]
More capabilities for const fn
“Basic” handling of fn pointers
Add trait bounds to a const fn
dyn trait and impl Trait support
Stdio handles can be locked directly
Several stabilized APIs
[@08:07] Highlights
[@08:27] - Developer survey: JavaScript and Python reign, but Rust is rising
[@09:09] - Sean: “Rust adoption has nearly quadrupled in the last two years, going from
600k developers in Q1 2022 to 2.2m in Q1 2022.”
[@13:00] - Redust by Will Nelson
[@13:50] Allen: I think the comments are actually more interesting. They
are starting to point to something really—I don’t know whether it’s
good or bad for the community—where, you know, people start rolling
their own crates instead of, say, doing stuff upstream. It kind of goes back
to what Tim was complaining about before [Easy Mode for
Rust, discussed on This Week in Rust - Issue 441]—well, lightly
pointing out to people out there—that okay, now which crate should I
use?
[@16:20] Tim: Open source is really complicated. You need to talk to
people. That’s … challenging. [Laughs]
[@16:40] Josh Triplett on Building with
Rust,
discussing the orphan rule
[@16:50] Sean: Rust is not very good at sharing between crates.
[@19:07] - Rust: A Critical
Retrospective by bunnie
Links
The Hardware Hacker, bunnie’s autobiography
[video] “Shenzhen: An Alternative to the American way of
Innovation”
[@28:56] A Programmer’s Brain, by Felienne Hermans, about working memory
in programmers.
[@19:58] - Hacking the Xbox book
[@20:04] - [video] Linux.conf.au 2013
keynote
discussing Chumby and creating a hardware startup
[@20:20] - betrusted.io, a secure communications system that
runs the Xous microkernel operating system
[@21:07] - Tim: Security-critical applications have issues when they … rely on Rust.
There’s one quote I want to pull out of the post, which is: “I’m not sure
if there is even a good solution to this problem, but, if you are
super-paranoid and your goal is to be able to build trustable firmware, be
wary of Rust’s expansive software supply chain attack surface!”
[@26:09] - Sean: bunnie I think that you are absolutely, totally, qualified.
[@30:17] - Allen: I did see a macro that he put in there. … I forget
extact. It was very crazy and I was like, “Come on, no one’s every going to
write something crazy like this” and then I took a look at the RFC that
Sean’s gonna do and in the comments there was a crazy one like that and I
was like, “oh wow, this guy’s point’s valid”.
[@30:49] - Hyrum’s Law, named after Hyrum
Wright.
With a sufficient number of users of an API, it does not matter what you
promise in the contract: all observable behaviors of your system will be
depended on by somebody.
[@31:50] Fixing memory leaks by Lily Mara
[@34:01] - tracing crate, created as part of
the tokio project
[@32:33] - “Is it possible to cause a memory leak in
Rust?” - Stack Overflow
[@33:06] -
std::ops::Drop trait
documentation
std::mem::forget and
Box::leak
for intentionally leaking memory
Out-of memory (OOM) killer internals page from the Linux memory
management wiki
[@37:54] tracing::instrument::Instrument trait, which fixes this issue
[@41:29] Building a Cloud Database from Scratch: Why We Moved from C++ to
Rust
by Yingjun Wu
GAT (generic associated traits)
Allen: [C++ vs Rust] is like apples vs apple pie.
[@45:50] - [video] Deref and Drop traits by Dan
Chiarlone
“Smart pointers”,
chapter 15 of The Rust Programming Language.
std::ops::Deref trait documentation
[@46:40] - Optimizing the size of your Rust
binaries by Sylvain Kerkour
cargo-bloat, for determining
the size impact of code and dependencies
twiggy, a similar tool for WASM targets
[@48:10] - RFC: Add more support for fallible allocations in
Vec by Daniel Paoliello
and contributors
Sean: This RFC is intended as a stop-gap, to unblock on-going work like—I
imagine—adding Rust to the Linux kernel while better long-term
solutions are explored.
“Example: Implementing Vec” chapter of the Rustnomicon, describes how
Vec’s memory allocation works in detail
Never type reference documentation
[@54:40] Tim: I want to bring out a comment that was made to me in private,
because I’ve been toying with the idea of becoming a rustc contributor,
particularly on the standard library side, and Ashley
Mannix sent me a really lovely note, which
was: “Rust is also chronically friendly so nobody gets chewed out for making mistakes. They happen. They get caught. They get patched. You learn something new. It’s ok.”.
[@55:51] - How we use Rust, SQLx and Rocket for Oso Cloud by Steve Olsen
Other items
[@57:20] Meetups
[@57:31] Major release announcements
DataFusion 8.0
IntelliJ Rust plugin 2022.1
[@57:40] Join us in the #this-week-in-rust channel of the Rustacean Station Discord server
Credits
Intro Theme: Aerocity
Audio Editing: Aleksandar Nikolic
Hosting Infrastructure: Jon Gjengset
Show Notes: Tim McNamara
Hosts: Tim McNamara, Sean Chen, and Allen Wyma.

Jun 3, 2022 • 1h 2min
egui with Emil Ernerfeldt
Allen Wyma talks with Emil Ernerfeldt, creator of egui. egui is a simple, fast, and highly portable immediate mode GUI library for Rust. egui runs on the web, natively, and in your favorite game engine (or will soon).
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:41] - History of Emil’s last name “Ernerfeldt”
[@1:25] - Getting Emil on this podcast
[@4:06] - Emil’s Bio and egui
[@11:52] - Building egui
[@16:47] - Immediate mode
[@26:27] - Knowing when to use egui
[@31:35] - Parent-child contraints
[@34:21] - Immediate mode is dynamic
[@36:22] - Refresh rate and Continuous mode
[@39:11] - Themes in egui
[@39:59] - egui more for development or client side app?
[@45:17] - Opinions on hiring people and Emil’s company
[@49:09] - Opinions on products built by you vs built by others
[@53:48] - Other GUIs
[@56:54] - Future plans on egui
[@58:45] - Anything else you want to mention?
Other Resources
egui’s Github
Emil’s Github
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma

May 30, 2022 • 1h 1min
This Week in Rust - Issue 443
Highlights from This Week in Rust - Issue 443. This week features a new section within the newsletter as well as the hosts Sean, Allen and Tim chatting about compilers, front-end development, extending databases with Rust and more.
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] Welcome
[@00:10] - Introduction
[@00:50] - Agenda
[@01:20] - Quote of the week
[@02:50] - Crate of the week
[@03:30] Highlights
[@03:45] - Things are Getting Rusty in Kernel Land
Rust for Linux GitHub org
Version 6 of the Rust patchset
Supporting Linux kernel development in Rust LWN article discussing the Linux Plumbers 2020 session that kicked off the effort
Prossimo funding the effort, sponsored by Google
[@09:45] - The Rust Borrow Checker - A Deep Dive
MIR (Mid-level representation) introduction
From MIR to binaries discusses how binaries are generated
MIR borrow check section of the rustc dev guide
rustc_borrowck crate within the compiler
[@14:40] - PixelBox Public Alpha
PixelBox source code
egui GUI framework for Rust
PyTorch, a popular Python wrapper for the Torch machine learning framework
ONNX machine learning format
[@18:00] - Rust Ergonomics: Default and From
std::default::Default trait documentation
std::convert::From trait documentation
std::convert::Into trait documentation
Code Like a Pro in Rust book by Brendan Matthews, published by Manning
[@23:30] - Our Experience Porting the YJIT Ruby Compiler to Rust
YJIT: Building a New JIT Compiler for CRuby
[talk] MoreVMs’21: “YJIT: Building a New JIT Compiler Inside CRuby”
– Maxime Chevalier-Boisvert
[@30:30] - Asteracea
JSX introduction, from the ReactJS project
[audio] Carl Lerche on macros (skip to 28:25)
How does WebAssembly fit into the web platform?, an article discussing the interacting with the DOM from wasm.
[@37:46] - Ferrite: A Judgmental Embedding of Session Types in Rust
Haskell Session Types with (Almost) No Class
[pdf] Session Types for Rust
Session type
Affine type, definition from Wikipedia. [Note from Tim: the definition provided by me in the podcast is incorrect. The term “affine type” is derived from affine logic, not affine transformation.]
[@40:40] - New newsletter section: Call for testing
RFC: Deduplicate cargo workspace information
Scoped threads in the standard library
crossbeam crate
rustc dev guide
[@45:45] - [video] Neon - Building a Postgres storage system in Rust
pgx crate for extending PostgreSQL in Rust
neon database source code
[@50:55] - Extending SQLite with Rust
Stored procedure English Wikipedia article
Other items
[@59:30] Final Comment Period for RFCs, PRs
[@59:42] What is “yeet”?
Credits
Intro Theme: Aerocity
Audio Editing: Brógan Molloy
Hosting Infrastructure: Jon Gjengset
Show Notes: Tim McNamara
Hosts: Tim McNamara, Sean Chen, and Allen Wyma.

May 28, 2022 • 1h 2min
Buttplug with Kyle Machulis
Allen Wyma talks with Kyle Machulis, lead developer on Buttplug. Buttplug is an open-source standards and software project for controlling intimate hardware such as sex toys.
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:58] - Kyle’s Introduction
[@3:17] - What got Kyle into sex tech and why start Buttplug
[@9:08] - How does Buttplug operate and what functions does it provide?
[@11:45] - How did Rust come into their project?
[@19:48] - How was their experience with the Rust community?
[@28:05] - What protocols does Buttplug use and develop?
[@33:33] - Buttplug’s capabilities, limitations, and safety protocols
[@44:23] - Why the name “Buttplug”?
[@51:53] - Buttplug’s push for not just entertainment but also health and wellness purposes
[@56:07] - How people can help contribute to pushing Buttplug’s project
[@59:45] - Kyle’s parting thoughts
Other Resources
Buttplug’s Twitter
Buttplug’s Github
Credits
Intro Theme: Aerocity
Audio Editing: Plangora
Hosting Infrastructure: Jon Gjengset
Show Notes: Plangora
Hosts: Allen Wyma

May 26, 2022 • 59min
This Week in Rust - Issue 442
Tim McNamara, Sean Chen and Allen Wyma discuss their
highlights from This Week in Rust
442.
Themes include security, testing, embedded development and async Rust. Watch out
for the cameo by the Ada programming language towards the end!
Timestamps
Welcome
[@00:12] Introductions and agenda
[@01:20] Quote of the week
[@02:57] Official updates
[@03:01] Security advisory: the rustdecimal crate
[@06:55] CTCFC Agenda
A whirlwind tour of Embedded
Rust by James Munns
Async Rust for Embedded
Systems by Dario
Nieuwenhuis
Rust in Automotive by Christof
Petig and Florian Gilcher
[@09:50] Highlights from the newsletter
[@10:15] Kani Rust Verifier
Project announcement
[@20:29] Rocket web framework v0.5 2nd release candidate
[@23:35] Xilem, a
UI architecture for Rust
[@29:30] Over-Engineering A Fairly Simple Coding
Challenge
[@35:26] RepliByte’s release
announcement
[@39:07] Securing
Crates, discussing side channel attacks
[@44:09] Modeling Interconnected Social and Technical Risks in Open Source
Software Ecosystems, a related paper
[@47:10] Parsing/Recursive Descent Parser
[@54:10] Rust Safety with Quentin Ochem and Florian Gilcher
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
Credits
Intro Theme: Aerocity
Audio Editing: Aleksandar Nikolic
Hosting Infrastructure: Jon Gjengset
Show Notes: Tim McNamara
Hosts: Tim McNamara, Allen Wyma, and Sean Chen


