Come journey with us into the weird, wonderful, and wily world of Rust.
Rust ABI with Aurimas Blažulionis
Allen Wyma talks with Aurimas Blažulionis, author of We Need Type Information, Not Stable ABI blog post, which details possible alternatives to a stable Rust ABI. 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:00] - Who is Auri? [@3:07] - Auri’s background: video game development, hacking, and reverse engineering [@8:14] - Common advice for optimizing your code [@10:24] - Auri’s article on how to link multiple libraries together [@14:07] - What is an ABI (Application Binary Interface)? [@17:05] - ABI between C and C++ [@19:02] - ABI for Rust [@21:14] - Fat pointers and zero-size types [@23:50] - Writing FFI [@31:15] - C FFI in relation to a Rust ABI [@32:12] - System support for Rust [@39:30] - Auri’s blog and articles [@40:53] - Where to reach out to Auri Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Cloudflare with Adam Chalmers
Allen Wyma talks with Adam Chalmers, software engineer at Cloudflare which is a global network of servers located around the world that uses Rust to help power and secure the internet. 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:00] - Introduction to Cloudflare [@3:57] - Cloudflare’s edge computing [@7:56] - Running Rust binary on Cloudflare [@10:36] - Adams’ background and work history [@15:12] - How does Cloudflare provide web security? [@32:30] - Cloudflare’s transition and rewriting from C to Rust [@37:12] - Cloudflare’s data plane and control plane [@43:00] - Hacking and security issues on Apple and other devices [@50:56] - How does Cloudflare handle onboarding people to Rust [@1:00:09] - The importance of Rust’s performance and reliability for Cloudflare [@1:05:07] - Parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Rust Web Programming with Maxwell Flitton
Allen Wyma talks with Maxwell Flitton, author of Rust Web Programming which details how to build web services using 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:00] - Introduction [@3:21] - What led Maxwell to write and publish books about Rust [@6:02] - Type-checking and Python crashes [@8:50] - Rust technology and its sustainability [@12:32] - Python vs Rust [@13:23] - Maxwell’s background and history [@16:11] - Details about Maxwell’s book Rust Web Programming [@19:19] - Using the actor model [@24:02] - Maxwell’s thoughts and motivation for publishing more books [@32:44] - Rust community [@35:19] - Rust innovations happening in London [@36:22] - Where to purchase the Rust Web Programming book [@40:14] - What to expect for the upcoming book editions [@43:48] - Parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Rust Magazine with Shuang Zhu
Allen Wyma talks with Shuang Zhu, creator of Rust Magazine, a Rust-focused online magazine that provides articles from experts and enthusiasts in 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:00] - Introduction [@3:28] - Rust community in China [@4:03] - Shuang Zhu’s experience using Go [@7:30] - Go vs Rust [@11:21] - Rust Magazine [@11:42] - What separates Rust Magazine from other Rust publications [@18:01] - How to contribute and submit articles to Rust Magazine [@21:41] - How to apply as an editor for Rust Magazine [@22:08] - Publishing frequency for Rust Magazine [@24:04] - How to stay up to date with the Rust Magazine [@25:26] - What made Shuang Zhu decide to create Rust Magazine [@27:25] - Parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Rust Nation with Ernest Kissiedu
Allen Wyma talks with Ernest Kissiedu, organizer of Rust Nation, a Rust-focused conference geared towards Rust beginners and the Rust-curious. 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:00] - Introduction [@3:21] - Rust Nation’s purpose and goal [@5:14] - Ernest’s background and being the community lead of Rust London Community [@13:29] - Rust communities all around the world [@16:14] - Possible guests and speakers at the Rust conference. [@22:39] - Why you should attend the Rust conference regardless of how experienced you are with Rust [@26:44] - Choosing and narrowing down the list of speakers for the conference [@31:55] - How the Rust conference will be different from other conferences [@35:29] - How to join the Rust London Community Meetup group [@42:20] - Get 15% off on Rust conference ticket price use promo code RUSTACEAN-STATION [@50:31] - How to reach out to Ernest [@51:27] - Parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Fermyon with Matt Butcher
Allen Wyma talks with Matt Butcher, CEO of Fermyon, who is working on Fermyon Cloud, a platform to deploy and host WebAssembly applications, with a prime focus on hosting Spin applications written in 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:00] - Introduction [@2:13] - A deeper dive into the Cloud and its impact [@9:39] - Matt’s work experience on HP and HP Cloud. [@13:40] - Kubernetes [@20:07] - WebAssembly [@30:27] - Krustlet [@36:21] - Edge Computing [@41:05] - Fermyon Cloud [@50:48] - Where to learn more about Fremyon Cloud [@52:58] - Parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
C2Rust with Stephen Crane
Allen Wyma talks with Stephen Crane, CTO of Immunant, who is working on C2Rust, a library that transpiles C99-compliant C code into unsafe 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 [@00:00] - C2Rust Introduction [@01:50] - How C2Rust works and its goal as a transpiler [@05:49] - Transpilers vs compilers [@12:30] - Unstructured control flow vs structured control flow [@16:32] - The process of transforming C to Rust projects [@19:15] - Parsing C code correctly [@22:13] - The importance of compiler flags on interpreting C Code [@28:45] - C++ vs C [@38:50] - When you should you look at using C2Rust [@45:04] - The best way to run your tests in Rust [@48:15] - Projects that are currently using C2Rust [@50:29] - Improving the usability and safety of the output of rust code [@53:55] - Parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Kernel Density Estimation with Seaton Ullberg
Allen Wyma talks with Seaton Ullberg, developer of kernel-density-estimation, a Rust library that computes kernel density estimations. 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:00] - Introduction [@0:55] - Crate overview and how it works [@17:49] - Kernel Density Estimation vs other competing algorithms [@24:05] - Application uses of Kernel Density Estimation [@33:38] - Why write this library [@35:03] - Why use Rust when re-writing this library [@40:26] - Seaton using f64 as a feature [@42:20] - Parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Presser with Gray Olson
Allen Wyma talks with Gray Olson, developer of Presser, a library that aims to make it easier to safely work with byte buffers. 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:00] - Gray’s background and introduction [@04:18] - Gray’s art and graphic designing work for Embark Studio [@08:40] - Ray tracing and fractals [@13:44] - The most expensive process in a video game [@16:48] - Vector graphics are so hard on the GPU [@18:57] - What makes triangles very useful in drawing and designing [@22:41] - Matrix math as a fundamental building block of computer graphics [@28:13] - Understanding the concept of uninitialized memory and why Presser is necessary [@36:31] - LLVM’s “No Uninitialized Memory” attribute. [@39:06] - Rust’s virtual machine [@40:52] - Allocating memory for data [@49:34] - Safety invariants and validity invariants in the Rust ecosystem [@53:19] - How to use unsafe code in a way that does not violate the validity invariant of Rust [@1:04:01] - Embark Studio’s mission to enable those who play games to also modify the game worlds they play in [@1:07:27] - Embark Studio’s Rust game projects [@1:09:08] - Parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Leptos with Greg Johnston
Allen Wyma talks with Greg Johnston, creator of Leptos, a full-stack, web framework using a reactive design to build declaritive user interfaces. 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:00] - Introduction of Greg [@02:12] - Programming languages has Greg worked with [@05:14] - Greg’s other passions besides programming [@10:59] - How Elm has set the agenda for a lot of Javascript front-end frameworks [@13:25] - Elm vs Rust in terms of error handling [@18:16] - What is Leptos and why Greg created it [@33:44] - Pros of using Leptos [@38:19] - Leptos’ Server Side Rendering feature [@45:44] - Leptos’ build tool limitations [@51:40] - Leptos’ ability to interact with other languages [@59:25] - Greg’s work and projects using JavaScript [@1:00:45] - Greg’s Flutter experience [@1:04:21] - Greg’s Ionic experience [@1:08:28] - HTML [@1:12:46] - Leptos’ version [@1:14:14] - Leptos’ production readiness [@1:16:23] - Parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Kanal with Khashayar Fereidani
Allen Wyma talks with Khashayar Fereidani, creator of Kanal, a sync and async channel library boasting the fastest implementation of channels in 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 [@00:10] - Introduction [@03:10] - Where did the idea of creating Kanal come from? [@04:10] - Go vs Rust performance [@06:32] - How Kanal works with synchronous Rust [@07:40] - When did work on Kanal get started [@11:08] - What’s left to get done for Kanal to be production ready [@13:48] - Feedback so far for Kanal [@15:54] - Async frameworks that work with Kanal [@16:59] - Kinds of problems that are solved with channels [@19:11] - Channels can help in learning Rust [@19:48] - What’s next for Kanal [@20:49] - Parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
cargo-auditable with Sergey Davidoff
Allen Wyma talks with Sergey Davidoff, creator of cargo-auditable, a cargo plugin for auditing your Rust dependencies for security vulnerabilities. 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:10] - Introduction to cargo-auditable [@07:51] - Guarantees that cargo-auditable provides [@17:33] - Trivy and other crates that are in cargo-auditable [@19:47] - cargo-auditable vs cargo audit [@21:09] - Sergey’s programming background [@34:49] - Vulnerabilities Sergey was able to encounter and reported to RustSec [@39:47] - Feedbacks and reactions from library owners that were found to have issues [@48:52] - How does Sergey handle problems and issues he encounters? [@56:48] - Sergey’s tips and advice to those who want to improve security on their projects [@59:36] - Parting thoughts and shoutouts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Pants with Eric Arellano and Stu Hood
Allen Wyma talks with Eric Arellano (they/them) and Stu Hood (he/him), maintainers of Pants, a build system made for monorepos. 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:10] - Pants’ Introduction [@01:26] - Different languages used in building Pants [@03:25] - Pants versions [@06:00] - Pants’ history and why it started [@11:09] - What is a Monorepo and why you would want to use it [@13:48] - Polyrepo vs Monorepo [@19:04] - What makes Pants unique [@21:03] - Why Pants needed to rewrite some parts from Python to Rust and other languages [@22:31] - Why Pants chose Rust [@25:46] - Pants 1 vs Pants 2 [@27:12] - Challenges integrating Python and Rust [@29:03] - How Eric and Stu figured out which parts should be written in Python and which should be in Rust [@32:27] - Future plans and what’s next for Pants? [@36:15] - Shoutouts and parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Veloren with Forest Anderson
Allen Wyma talks with Forest Anderson, co-host at Rust GameDev Podcast, and core dev on Veloren. Allen and Forest talk about Veloren, a multiplayer voxel RPG game engine, written in 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 [@00:11] - Introduction [@03:31] - The Rust Game Dev Team [@07:31] - The size of the community for Rust game development [@10:48] - The complexity of game development [@12:43] - How Veloren was created [@18:30] - What is Veloren [@22:52] - The kinds of games that can be developed in Veloren [@25:36] - The advantage of using Rust in game development [@31:51] - Game development experience in Linux vs Windows [@34:46] - Gaming community for Linux [@37:40] - System Requirement for running Veloren [@42:17] - Parting thoughts [@43:54] - Where to reach out and how to get involved with Veloren and in the Rust Game Dev community Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
What's New in Rust 1.62, 1.63, and 1.64
Jon and Ben discuss the highlights of the 1.62, 1.63, and 1.64 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:50] - Rust 1.62 [@00:58] - cargo add Maintaining sorting in TOML files toml_edit cargo-edit [@03:37] - #[default] enum variants Generated bounds part of RFC Macro helper attributes Extra bounds on derive [@07:36] - Thinner, faster mutexes on Linux Tracking issue Short thread on the change from Mara More details from Mara on pthread mutexes [@13:21] - Bare-metal x86_64 target Target triples Tier 2 target policy Tier 2 targets x86_64-unknown-none Custom target triples [@22:20] - Stabilized APIs f64::total_cmp Implementing PR Stdin::lines FusedIterator [@29:22] - Changelog deep-dive cargo -F for --features unaligned_references lint now warns by default addr_of! [@31:09] - Rust 1.62.1 Not much to talk about. We also didn’t talk about: Rustup 1.25.0 Rustup 1.25.1 [@31:56] - Rust 1.63 [@31:56] - Scoped threads The Leakpocalypse issue Pre-Pooping Your Pants With Rust [@40:41] - Rust ownership for raw file descriptors Rust I/O Safety RFC [@43:45] - const mutex initialization [@43:54] - Turbofish and impl Trait arguments Search/replace generics reference Rust reference for turbofish [@52:03] - Non-lexical lifetimes migration complete NLL stabilization and borrowck’s future polonius [@51:33] - Stabilized APIs array::from_fn Box::into_pin Things Rust-in-Linux needs from Rust [@56:27] - Changelog deep-dive cargo --config cargo new test code updated New targets: Apple WatchOS and Nintendo 3DS The Join trait [@1:00:24] - Rust 1.64 [@1:00:32] - IntoFuture Reference in original async/await RFC Original IntoFuture regression [@1:03:43] - C-compatible FFI types in core libc crate libcpocalypse [@1:09:37] - rust-analyzer component in rustup rust-analyzer proxy binary added to rustup [@1:13:19] - Cargo workspace inheritance and multi-target builds Inheriting attributes from the workspace [@1:00:24] - Stabilized APIs Stabilization PR for ready! [@1:18:03] - Compatibility notes Increasing the glibc and Linux kernel requirements RLS deprecation [@1:22:33] - Other changes Profile-Guided Optimization PR landing lint for unused tuple fields [@1:25:12] - Changelog deep-dive [build.jobs] Implementing PR for negative values New target: Nintendo Switch Improve derive(Debug) Other internal changes Optimizing Vec::insert Credits Intro Theme: Aerocity Audio Editing: Aerocity Hosting Infrastructure: Jon Gjengset Show Notes: Jon Gjengset Hosts: Jon Gjengset and Ben Striegel