Come journey with us into the weird, wonderful, and wily world of Rust.
PancakeDB with Martin Loncaric
Allen Wyma talks with Martin Loncaric, creator of PancakeDB. PancakeDB is a database that focuses on low latency ingestion of data. 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:35] - Martin’s Bio [@1:30] - What is PancakeDB? [@5:48] - How does Pancake compare to CSV & Parquet? [@7:09] - Where did the idea of working on PancakeDB come from? [@9:25] - PancakeDB license & monetization [@14:00] - What makes PancakeDB so highly performant [@18:21] - How Martin got into Big Data [@21:22] - How PancakeDB addresses the data ingestion problem [@26:28] - Where did the name Pancake DB come from? [@27:42] - Recommended ways to implement data ingestion [@30:37] - Rust vs other languages when it comes to data processing [@34:05] - What brought Martin to Rust [@37:23] - How can Rust improve & Martin’s parting thoughts Other Resources Martin’s Github Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
What's New in Rust 1.58 and 1.59
Jon and Ben discuss the highlights of the 1.58 and 1.59 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:10] - Rust 1.58 [@01:18] - Captured identifiers in format strings [@07:40] - Reduced Windows Command search path ripgrep CVE ripgrep fix commit [@11:05] - More #[must_use] in the standard library Tracking issue for #[must_use] PRs When to use #[must_use] [@17:16] - Stabilized APIs std::fs::OpenOptions Tracking issue for *::unwrap_unchecked [@22:50] - Rust 1.58.1 Security Advisory C++ is probably also vulnerable [@27:15] - Rust 1.59 [@28:00] - Inline assembly std::intrinsics Inline assembly by example [@39:06] - Destructuring assignments [@44:00] - Const generics defaults and interleaving [@46:11] - Future incompatibility warnings [@51:28] - Creating stripped binaries [@53:54] - Incremental compilation off by default Incremental disabled back in Rust 1.52.1 The identified issue [@58:50] - Stabilized APIs available_parallelism num_cpus crate [@1:03:04] - Changelog deep-dive cargo r -r Tracking issue for v0 symbol mangling Switching to v0 by default HashSet and HashMap method bounds changed fantoccini using multiple impl blocks Credits Intro Theme: Aerocity Audio Editing: Aerocity Hosting Infrastructure: Jon Gjengset Show Notes: Jon Gjengset Hosts: Jon Gjengset and Ben Striegel
Tor with Nick Mathewson
Allen Wyma talks with Nick Mathewson, one of the creators of Tor Project. Tor is free and open-source software for enabling anonymous communication. 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:39] - Nick’s Bio & Tor Project Introduction [@2:33] - Deeper dive into Tor [@8:07] - Advantage of Rust over C when trying to bring stronger privacy to internet. [@21:44] - The History of Tor [@26:02] - How does Tor stay in business despite being a free service? [@28:11] - What is Onion Routing and how does it work at a high level? [@38:54] - The Tor Browser [@42:14] - Advise on how to maintain anonymity online [@55:17] - Rust vs other languages [@1:03:54] - Tips & tricks for people who are starting off in Rust [@1:06:00] - Parting thoughts Other Resources Tor’s Github Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
zbus with Zeeshan Ali
Allen Wyma talks with Zeeshan Ali, creator of zbus. zbus is a Rust library used for interprocess communication using D-Bus. 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] - Zeeshan’s Bio and zbus [@7:16] - D-Bus at the high level [@14:43] - Knowing when to use D-Bus or message queue [@19:28] - Authentication methods when going non-local [@20:16] - Is it possible to use D-Bus on Kubernetes? [@22:00] - D-Bus is able to support multiple async runtimes [@28:18] - Difference between Tokio and async-std [@32:30] - Async Foundations working group [@40:06] - Is it expensive to run async runtime? [@41:37] - zbus macros and their Matrix channel [@44:00] - IPC (Inter-Process Communication) Other Resources Zeeshan’s Github Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Gitoxide with Sebastian Thiel
Allen Wyma talks with Sebastian Thiel, creator of Gitoxide. 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:31] - Gitoxide [@6:29] - Reasons why Sebastian chose Rust [@9:45] - Story of Gitoxide [@13:29] - Status of Gitoxide [@15:41] - git2 [@23:24] - “Gix” is now “Ein” [@28:14] - JGit [@32:02] - Reference for the implementation of Gitoxide [@38:31] - Getting sponsored for Gitoxide [@41:56] - Accounting timesheet and the vision for Gitoxide [@48:38] - Ways to help Gitoxide [@50:00] - Tips for beginners in Rust Other Resources Sebastian’s Github Learn Rust with Gitoxide - Youtube Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Lumen with Paul Schoenfelder
Allen Wyma talks with Paul Schoenfelder, contributor to Lumen. 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:27] - Paul’s Bio and Lumen [@4:30] - Lumen can only compile Erlang [@9:26] - SSA (Static Single Assignment) [@12:02] - BEAM [@22:03] - Web Assembly [@25:02] - Rust makes low level stuff easy to implement [@34:44] - WASM Browser limitations [@37:01] - Erlang’s Observer and Distribution Protocol [@41:10] - What is WASM (Web Assembly)? [@49:01] - WASI (WebAssembly System Interface) [@55:31] - Why should I learn another language when I can stick with Javascript? [@1:01:30] - The WASM working group vs The community group [@1:08:39] - How to participate in Lumen? Other Resources Lumen’s Github Paul’s Github Paul’s Website Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Yew with Julius Lungys
Allen Wyma talks with Julius Lungys, contributor to Yew. 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:29] - Core values and benefits of Yew [@3:32] - The performance of Yew [@6:57] - Cargo workspaces [@8:05] - Trunk & Wasm-pack [@10:07] - Virtual DOM & Debugging [@11:24] - Source Maps in Yew [@12:21] - Krustlet [@13:34] - Reasons to choose Wasm over JavaScript [@15:26] - Ecosystem of Yew [@16:32] - Glue package [@21:32] - How Yew relates to Elm [@22:32] - Functional Components [@25:05] - Server Side Rendering (SSR) [@26:52] - When should you consider Yew [@34:24] - TypeScript [@38:46] - Is Yew limited to the browser? [@39:56] - Electron [@41:03] - Yew’s browser support [@44:14] - Tips for beginners from Julius Other Resources Julius’s Github The Company (Nikulipe) Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
LibertyOS with Daniel Teberian
Allen Wyma talks with Daniel Teberian, the creator of LibertyOS. 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] - Daniel’s Bio [@3:14] - Recent work on LibertyOS [@4:36] - Getting help from some crates or totally starting from scratch? [@8:08] - The team behind LibertyOS [@10:04] - Every processor is different so you can’t write Rust for everything [@17:27] - What can LibertyOS do at the moment? [@20:19] - How to support writing Rust programs on a Rust-based OS? [@27:38] - How are decisions made for LibertyOS? [@34:07] - Cargo check [@37:12] - More on the LibertyOS members [@42:34] - Why LibertyOS may change their name [@44:46] - Final words and ways to contribute to the project Other Resources Daniel’s Github Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Code Like a Pro in Rust with Brenden Matthews
Allen Wyma talks with Brenden Matthews, the author of the book Code Like a Pro 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:41] - Brenden’s Bio [@1:30] - Where the idea to write the book came from [@4:32] - Pythonic, Rustacious/Idiomatic Rust and other coding style terms [@6:25] - Writing idiomatic code [@10:19] - Helper methods [@12:34] - From trait [@15:20] - Into trait [@17:00] - Errors in Rust [@26:59] - Other languages borrowing Rust’s ideas for memory safety and no null type [@29:21] - Kotlin, Dart, Swift & Zig [@30:58] - LLVM, Swift & Rust and evolution of languages [@35:32] - Backwards compatibility in Rust [@39:00] - Experiences and the improvements in Rust [@42:44] - Components are added manually, but should they be installed by default? [@48:16] - Knowing when to use libc and adding a C runtime [@59:58] - Who Code Like a Pro in Rust is written for Other Resources Brenden’s Blog Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
What's New in Rust 1.56 and 1.57
Jon and Ben discuss the highlights of the 1.56 and 1.57 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:14] - Rust 2021 edition [@01:16] - What is an edition? [@05:03] - Disjoint captures in closures Niko’s “view types” proposal [@09:00] - IntoIterator for arrays [@11:12] - Or patterns in macro_rules [@13:31] - New default Cargo feature resolver Details on the new resolver [@15:16] - Additions to the prelude std::prelude FromIterator [@19:38] - Panic macro consistency and new reserved syntax [@20:33] - Implicit formatting captures (more on Reddit) [@25:00] - Reserved syntax for “f-strings” [@27:54] - Why panic! had to change [@28:55] - Other uses for reserved syntax [@30:15] - Warnings promoted to errors Future incompatibility warnings [@35:23] - cargo fix [@36:20] - Rust 1.56 [@36:30] - Cargo.toml rust-version Cargo book entry [@42:54] - New bindings in binding @ pattern [@44:27] - Stabilized APIs [@49:27] - Changelog deep-dive [@49:27] - impl From<[(K, V), N]> for collections RFC for adding collection literal macros [@53:07] - Remove P: Unpin bound on impl Future for Pin [@55:16] - Instant backsliding protection optimization May end up being removed! [@58:01] - LLVM 13 upgrade LLVM’s new pass manager [@59:23] - Have Cargo set environment variables [@1:00:17] - Rust 1.56.1 Security advisory The “Trojan Source” vulnerability Rust RFC on non-ASCII identifiers [@1:04:52] - Rust 1.57 [@1:05:20] - Panic in const contexts [@1:07:20] - Custom Cargo profiles Cargo book on profiles [@1:08:45] - Fallible allocation Fallible collection allocation RFC Linux Torvals on handling allocation failures Rust features still needed by the Linux kernel [@1:12:33] - Stabilized APIs [@1:16:45] - Changelog deep-dive [@1:16:50] - Vec::leak no longer allocates [@1:18:03] - Nintendo 3DS added as Tier 3 platform [@1:19:03] - Cargo no longer passes through RUSTFLAGS Environment variables set by Cargo [@1:20:13] - Lots more #[must_use] in std [@1:22:00] - File::read_to_* optimized [@1:23:24] - Curly braces macros accept following . and ? [@1:25:22] - Banter – Rust all the way down. Credits Intro Theme: Aerocity Audio Editing: Aerocity Hosting Infrastructure: Jon Gjengset Show Notes: Jon Gjengset Hosts: Jon Gjengset and Ben Striegel Transcript: Eric Seppanen
Refactoring to Rust with Lily Mara
Allen Wyma talks with Lily Mara, the author of the book Refactoring to 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 [@1:26] - Lily’s Bio [@3:33] - Her blogs helped her improve her writing [@5:09] - How the book came to be [@9:34] - Knowing when to add a new language to an existing project [@12:07] - Tools for measuring memory usage [@15:04] - Garbage collection [@18:30] - Strongly and weakly typed languages & dynamic vs static dispatch [@21:13] - About the book [@25:40] - Go being treated like a C library [@27:02] - Memory allocators [@35:51] - When did Lily started working on the book? [@37:44] - Writing examples (it’s hard!) [@46:36] - How technical are the editors? [@49:00] - The Rust community is very welcoming [@50:14] - Publishers that are publishing Rust books [@52:17] - Lily’s Twitch stream for Manning [@53:07] - Lily’s advice for aspiring Rust developers Other Resources PyO3 Flutter Rust Bridge Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Game Development with Herbert Wolverson
Allen Wyma talks with Herbert Wolverson, the author of the book Hands-on 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:57] - About Herbert and his book [@3:01] - Explaining Rust’s traits [@4:27] - The book is for intermediate programming [@5:32] - Most beneficial part about using Rust over other languages [@7:42] - Unreal Engine [@11:13] - Unreal, Unity & Godot [@13:44] - Bevy Engine & Amethyst Engine [@18:31] - Zig [@20:38] - Herbert’s Bracket-Lib engine [@24:18] - Creating a game engine from scratch [@34:03] - ECS (Entity Component System) & OPP (Object-Oriented Programming) [@42:02] - Other game engines mentioned in the book [@43:12] - Macroquad & Miniquad [@45:39] - Amethyst [@49:51] - RG3D [@51:58] - Book Status & Rust Brain Teasers [@57:44] - Pragprog Publishing [@01:02:30] - How to contact Herbert Other Resources Hands-on Rust Roguelike Tutorial The Bracket Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma Hosts: Allen Wyma
Error Handling in Rust with Jane Lusby
Allen Wyma talks with Jane Lusby, the Error Handling Project Group Lead, and also the Project Director of Collaboration at Rust Foundation. 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:57] - Jane’s bio [@04:10] - Jane’s contributions to Clippy [@08:54] - Eyre [@15:49] - Failure & Anyhow [@17:13] - Choosing between anyhow & eyre [@20:05] - AnyError and ThisError [@23:31] - Color-eyre [@26:08] - Other crates that are also in eyre [@28:59] - Error Handling Group [@38:12] - Collaboration with other groups [@46:05] - Rust 2021 & 2018 Editions Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Tokio Ecosystem with Alice Ryhl
Allen Wyma talks with Alice Ryhl, one of the maintainers of the open source project Tokio. 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:40] - Alice’s Bio [@01:08] - Managing pull requests on GitHub [@05:00] - Alice’s involvement in Tokio [@08:23] - Tokio’s topics page [@11:06] - Alice’s favorite part of contributing [@12:55] - Changes in Tokio since Alice joined [@16:52] - Measuring metrics [@19:38] - Cooperative & preemptive scheduling [@24:30] - Diesel [@25:45] - Definition of [blocking]((https://ryhl.io/blog/async-what-is-blocking/) [@27:37] - I/O threads [@31:21] - What are sleeping threads? [@33:41] - Tokio Console [@41:14] - Pros and cons of using actors [@47:05] - Alice’s academic background [@49:22] - Tokio’s upcoming roadmap [@57:33] - Replacing epoll with io_uring [@58:56] - Axum, Tower, and Loom [@01:01:45] - Web frameworks for Rust [@01:05:57] - How to contact Alice Other Resources Rust in Android Platform Tokio’s Discord Tokio’s Topics Pages Cooperative Scheduling Tokio Metrics Actors in Tokio io_uring with Tokio Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma Hosts: Allen Wyma
Hyper with Sean McArthur
Allen Wyma talks with Sean McArthur, the creator of Hyper, an HTTP library for 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 [@01:37] - The history of Hyper [@07:41] - Is Hyper a client or a server side component? [@11:09] - Async/await [@13:24] - Benefits to using async over blocking? [@14:35] - Relationship between Tokio and Hyper [@16:11] - Mio – Metal IO [@16:48] - Can Hyper run on other async runtimes? [@18:27] - Fuchsia OS [@22:39] - Governance of the Hyper Project [@25:25] - Why did Hyper choose Tokio? [@34:35] - Reqwest [@36:07] - cURL [@38:29] - What is a C application binary interface (ABI)? [@50:29] - HTTP/3 support in future [@50:54] - Differences between HTTP/2 and HTTP/3 [@53:26] - Rust library for C [@57:26] - Upcoming plan for Hyper [@01:00:36] - Advice for newcomers to Rust? Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma