
Rustacean Station
183 episodes — Page 3 of 4
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: [email protected] 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
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: [email protected] 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
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: [email protected] 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
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: [email protected] 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.
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: [email protected] 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
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: [email protected] 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:
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: [email protected] 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
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: [email protected] 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.
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: [email protected] 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
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: [email protected] Credits Intro Theme: Aerocity Audio Editing: Aleksandar Nikolic Hosting Infrastructure: Jon Gjengset Show Notes: Tim McNamara Hosts: Tim McNamara, Allen Wyma, and Sean Chen
Actix Web with Rob Ede
Allen Wyma talks with Rob Ede, lead developer on Actix Web. Actix Web is a powerful, pragmatic, and extremely fast web framework 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: [email protected] Timestamps [@0:27] - Rob’s programming background [@3:28] - Rob’s experience with Actix Web [@8:46] - What got Rob into Rust [@14:01] - How Rust came into their project [@22:21] - How Rob got involved in the Actix web framework [@24:28] - Actix Web versions [@30:24] - Why Actix Web does not use Hyper [@38:14] - Actix Web’s upcoming updates and roadmap [@38:56] - Rob’s parting thoughts Other Resources Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
This Week in Rust - Issue 441
Tim McNamara and Allen Wyma discuss their highlights from This Week in Rust 441. 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: [email protected] Credits Intro Theme: Aerocity Audio Editing: Jan Lund Hosting Infrastructure: Jon Gjengset Show Notes: Tim McNamara Hosts: Tim McNamara and Allen Wyma
Slint with Tobias Hunger
Allen Wyma talks with Tobias Hunger, developer on Slint. Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display. 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: [email protected] Timestamps [@0:30] - Tobias’ introduction [@2:21] - What does Slint offer compared to other GUI frameworks? [@6:52] - Slint’s UI language [@9:02] - From SixtyFPS to Slint, what’s the idea behind the name change? [@14:57] - Different industries that Slint is serving [@18:45] - Three different options for licensing Slint [@21:39] - Slint’s progress and efforts in supporting more customization [@32:07] - Slint’s upcoming projects and roadmap [@35:19] - Tobias parting thoughts Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Rust Safety with Quentin Ochem and Florian Gilcher
Allen Wyma talks with Quentin Ochem, Lead of Product Management and Business Development at AdaCore and Florian Gilcher, Managing Director at Ferrous Systems. Rust use in safety-critical industries is becoming more and more desired from users. Allen, Quentin, and Florian discuss the recent partnership between AdaCore and Ferrous Systems. 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: [email protected] Timestamps [@1:46] - What is Ferrocene? [@6:08] - Why does Ferrocene need to exist? [@10:18] - How can Ferrocene help industries that require high-quality security? [@16:14] - Why AdaCore decided to support Rust. [@21:25] - Does Ada use a VM? [@24:06] - What brought Quentin & Florian together to work on Rust? [@30:52] - What are the changes that came along with AdaCore and Ferrous Systems’ partnership? [@40:46] - How in demand is AdaCore and Ferrous System with their customers in different industries? [@47:01] - AdaCore and Ferrous System’s quality management [@49:35] - Quentin & Florian’s parting thoughts. Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Game Development with Rust and WebAssembly with Eric Smith
Allen Wyma talks with Eric Smith, author of Game Development with Rust and WebAssembly. Game Development with Rust and WebAssembly teaches you how to make games for the web, using Rust and WebAssembly. 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: [email protected] Timestamps [@0:59] - Eric’s introduction [@3:26] - Eric’s experience using Rust vs other programming languages [@9:20] - What makes Rust appealing? [@11:32] - Why Rust is becoming a good language for game development. [@13:47] - Comparison of different game engines [@19:48] - Insights on Rust game development [@26:06] - Eric talks about his book — Game Development with Rust and WebAssembly [@29:17] - WebAssembly versus other platforms [@41:29] - Eric’s writing process [@43:24] - Is Rust web ready? [@50:19] - Parting thoughts and where to check out Eric’s book Other Resources Eric’s Github Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
clap with Ed Page
Allen Wyma talks with Ed Page, maintainer of clap. Command Line Argument Parser (clap) is a library to help create CLI apps 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: [email protected] Timestamps [@0:41] - Ed’s introduction of clap [@3:09] - What makes clap better than other parsing solutions? [@7:30] - Ed’s programming background [@10:10] - Ed’s comparison of Rust vs other programming languages [@14:06] - Ed and his team’s participation in the Rust community [@22:07] - Futurewei’s Rust development efforts [@26:51] - How did Ed start in Rust and what took him to clap [@32:05] - How does clap handle customization. [@34:28] - clap’s 3.0 & 3.1 release [@42:03] - What are the future plans for clap [@47:40] - argparse vs Click [@51:34] - Ongoing plans for clap’s improvement [@53:45] - Ed’s efforts on keeping CLI alive [@56:09] - What is cargo-script? [@1:03:12] - Ed’s view about the state of education in Rust [@1:08:06] - Ed’s tips and tricks for beginners. Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Armin Ronacher on experimental deserialization with Deser
Allen Wyma talks with Armin Ronacher, creator of Deser. Deser is an experimental serialization system 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: [email protected] Timestamps [@0:50] - Armin’s background [@2:49] - The difference between Jinja & Jinja2 [@3:47] - What is Twig? [@4:14] - Where did the names Jinja & Twig come from? [@7:36] - What makes Jinja2 good in portablility? [@12:46] - Armin’s programming history [@16:07] - How did Armin go from Delphi to Python? [@19:18] - The Pocoo team [@23:25] - When did Armin start using Rust? [@27:26] - The pros & cons of mixing Python and Rust together [@36:14] - Stacktrace errors [@41:41] - How does Armin deal with developers having different compilers in a working environment. [@45:57] - Armin talks about Serde and other serialization challenges [@55:33] - Serialization Frameworks [@1:04:23] - Where to check out Armin’s library: https://github.com/mitsuhiko/deser [@1:07:34] - Armin’s tips and tricks for people starting in Rust Other Resources Armin’s Github Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Purdy with Marty Jones
Allen Wyma talks with Marty Jones, creator of Purdy. Purdy is an experimental PDF renderer built on top of WebGPU. 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: [email protected] Timestamps [@0:55] - Marty’s Background [@4:06] - What sparked Marty’s interest in PDFs [@6:21] - What kind of primitives are built into PDF? [@8:56] - How to solve edge cases in PDFs? [@11:54] - Property-based testing [@16:54] - The deciding factor that got Marty into creating his library. [@19:59] - What is Web GPU [@22:13] - Marty’s goal with PDF JS [@24:08] - Why use PDF JS? [@29:02] - Why Marty used Rust instead of JavaScript [@30:15] - What’s next with PDF JS? [@36:51] - Legalities of PDFs [@41:42] - How to reach Marty Other Resources Marty’s Github What is unique about PDF rendering? Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Rusty Engine
Allen Wyma talks with Nathan Stocks, creator of Rusty Engine. Rusty Engine is a simple 2D game engine for those who are learning 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: [email protected] Timestamps [@0:46] - Nathan’s background and programming history [@11:08] - Nathan talks about his Python course and other programming languages [@18:13] - What led Nathan to create his Rust course [@25:12] - Bevy & other game engines [@36:50] - Nathan’s views and opinions with Unreal Engine [@40:59] - Malware and other safety issues with Rust [@43:20] - Why Nathan prefers Rust over other languages [@47:15] - Nathan’s experience working with Go [@53:37] - Nathan’s announcement with his ongoing course [@54:41] - Nathan’s tips and tricks for beginners who want to learn Rust Other Resources Nathan’s Github Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Rust Servers, Services, and Apps with Prabhu Eshwarla
Allen Wyma talks with Prabhu Eshwarla, author of Rust Servers, Services, and Apps. Rust Servers, Services, and Apps teaches you how to build web servers, RESTful services, server-rendered apps, and client front-ends 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: [email protected] Timestamps [@0:49] - Prabhu’s Introduction [@1:28] - Elixir vs Rust [@4:20] - Prabhu’s Phoenix experience [@8:09] - What is required to do web development? [@25:09] - Java vs Rust [@29:07] - Asynchronous programming vs multithreading [@34:13] - Why Rust is a good choice for blockchain [@42:12] - What is Blockchain? [@53:34] - Next generation of blockchain - Assests, NFTs, Data Storage [@1:02:50] - Why Prabhu thinks Rust is the right language for web development [@1:04:42] - Prabhu’s tips for people who are beginners in Rust [@1:09:42] - Prabhu’s book and parting thoughts. Other Resources Zeeshan’s Github Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
id3 with Roel
Allen Wyma talks with Roel, creator of id3. id3 is a Rust library used for reading id3. 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: [email protected] Timestamps [@0:44] - Roel’s Bio [@1:59] - What is ID3? [@4:41] - What does ID3 tech consists of and what is its structure? [@09:08] - What got Roel interested in ID3? [@10:49] - What are some notable projects that use ID3? [@19:57] - ID3 Future Roadmap [@24:37] - The Rust Community in the Netherlands [@25:30] - Go vs Rust [@29:23] - Roel’s programs and upcoming events [@31:37] - Hackerspace and Roel’s parting thoughts Other Resources Roel’s Github Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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] - zbus 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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
Warp with Zach Lloyd
Allen Wyma talks with Zach Lloyd, the founder of Warp. Warp is a blazingly fast, Rust-based terminal that makes you and your team more productive. 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: [email protected] Timestamps [@00:58] - Is Warp a GUI app? [@04:08] - The history of Warp [@06:27] - Difference between Warp and other Unix shells like Csh [@10:22] - Warp’s open API [@13:50] - Terminal improvements over the last 10 years [@17:06] - Sharing blocks & live collaboration [@19:08] - Will Warp run on multiple platforms? [@21:45] - Zach’s background [@25:38] - Why Rust over Go? [@29:51] - Warp’s dependencies [@36:36] - Objective-C vs. Rust [@41:49] - Zach’s build pipeline [@43:21] - cargo-bundle [@44:52] - Warp’s business model [@46:28] - Postman [@49:50] - Funding & business pitch of Warp [@54:30] - Zach’s Rust setup [@57:46] - Tips for newcomers to Rust Other Resources Warp’s Twitter Warp’s GitHub Zach’s engineering handbook Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Rust Web Development with Bastian Gruber
Allen Wyma talks with Bastian Gruber, author of “Rust Web Development”, about his book. 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: [email protected] Timestamps [@01:22] - Bastian’s Bio [@02:53] - “Rust Web Development” on Manning [@04:06] - Using Rust for web development [@04:52] - Hyper.rs [@05:13] - Choices of frameworks for Rust web development [@07:49] - Rocket in production [@08:35] - Tools for Rust web services [@10:39] - Choosing SQLx over Diesel? [@13:58] - Why Bastian switched from Node.js to Rust [@17:36] - Bastian’s role at Twilio [@19:57] - Popularity of Rust in Berlin [@25:57] - Warp [@29:14] - Zero to Production in Rust [@31:03] - How does Bastian write? [@37:48] - Rust vs other languages [@42:40] - Tips to help you stand out as a Rust developer [@46:21] - Tips for beginners Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
What's New in Rust 1.54 and 1.55
Jon and Ben discuss the highlights of the 1.54 and 1.55 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: [email protected] Timestamps & referenced resources [@00:37] - Rust 1.54 [@00:55] - Attributes can invoke function-like macros The doc attribute [@04:04] - wasm32 intrinsics stabilized std::intrinsics Target families [@06:59] - Incremental compilation is re-enabled by default Rust 1.52.1 disables incremental compilation Incremental compilation issues tracking issue [@08:55] - Stabilized APIs [@11:00] - Changelog deep-div [@11:04] - cargo report and future incompatibility lints [@14:12] - LLVM mutable noalias is on again [@16:24] - CARGO_TARGET_TMPDIR [@17:24] - Use semver 1.0 Checking semver 1.0 against crates.io [@19:18] - Rust 1.55 [@19:26] - Cargo deduplicates compiler errors [@20:24] - Faster, more correct float parsing The PR Reddit post with details [@22:20] - io::ErrorKind variants updates [@28:08] - Open range patterns added [@29:44] - Stabilized APIs [@29:44] - MaybeUninit [@32:44] - ops::ControlFlow Try trait (v2) RFC [@35:59] - string::Drain::as_str [@37:52] - Changelog deep-dive [@38:08] - Build scripts informed about rustc configuration [@38:38] - cargo clippy --fix [@39:10] - Clippy lint override survey [@40:07] - #[doc(hidden)] on trait implementations Credits Intro Theme: Aerocity Audio Editing: Jeremy Jung Hosting Infrastructure: Jon Gjengset Show Notes: Jon Gjengset Hosts: Jon Gjengset and Ben Striegel Transcript: Eric Seppanen
History of Rust with Ben Striegel
Allen Wyma talks with Ben Striegel, a member of Rust’s official community outreach team, about the history 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: [email protected] Timestamps [@1:56] - What got Ben first interested in Rust? [@3:03] - How Ben got involved [@9:36] - Rust 1.0 [@16:21] - What does move mean? [@17:36] - The Borrow Checker [@20:04] - What language was the Rust compiler first written in? [@25:04] - Choosing LLVM over GCC [@33:28] - 2 ways to target Windows [@34:39] - libc and musl [@36:22] - Rust Editions [@46:46] - Does Rust have a small standard library? [@54:18] - Why TOML? TOML vs YAML [@58:53] - “Tree shaking” in Rust? [@01:00:48] - Who created Cargo? [@01:02:26] - Rust’s milestones [@01:07:42] - Mozilla 2020 layoffs Discussion on /r/rust [@01:12:33] - Will Rust stay open-source? [01:18:10] - Future of Rust [01:24:48] - Who decides what changes make it into Rust? Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Tokio with Carl Lerche
Allen Wyma talks with Carl Lerche, a principal engineer at AWS, also one of the founders of 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: [email protected] Timestamps [@00:35] - Carl’s Bio [@02:30] - Apache Cassandra [@07:45] - Epoll [@07:51] - Kqueue [@07:55] - I/O Completion Ports [@14:07] - Eventual [@18:55] - Module pin [@28:35] - What do macros expand to? [@30:41] - Cargo-expand [@42:44] - What’s new since Tokio 1.0 [@45:02] - Tokio-console [@01:05:15] - Tokio ecosystem Other Resources Carl’s Github Carl’s personal blog Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Gleam with Louis Pilfold
Allen Wyma talks with Louis Pilfold, the creator and lead designer of Gleam. 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: [email protected] Timestamps [@00:55] - Louis’s Bio [@02:15] - Erlang [@09:03] - Rust Project Manager, Cargo [@12:15] - Reason of using Rust to implement the compiler [@19:01] - Why Erlang? [@23:07] - Erlang programming model [@27:45] - How does Gleam work? [@31:07] - Problems with TypeScript [@33:38] - What is Erlang Dialyzer? [@38:06] - Changes to Gleam compiler [@44:47] - Gleam v0.17 [@49:45] - Pros and Cons of using Rust as a compiler [@52:30] - Tips and Tricks for beginners Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Rust for Rustaceans by Jon Gjengset
Allen Wyma talks with Jon Gjengset, a software engineer at AWS, about his book Rust for Rustaceans. 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: [email protected] Timestamps [@11:24] - Noria [@13:00] - Jon’s Youtube Channel [@21:53] - Crust of Rust [@25:13] - What does it mean to be a Rustacean? Niko Matsakis’ Rustacean Principles [@27:23] - What does intermediate content mean? [@30:03] - Chapter on memory in Rust [@41:21] - Does Rust prevent bugs? [@58:20] - The Linux kernel and memory allocation failures [@1:05:43] - Feature flag discoverability [@1:10:14] - Tips for beginners Other Resources Jon’s Fosstodon Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Rust Code Coverage with Daniel McKenna
Allen Wyma talks with Daniel McKenna, a software enginner, about his code coverage tool for Rust projects, Tarpaulin. 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: [email protected] Timestamps [@01:35] - LLVM [@05:50] - Vectorcast [@07:00] - Cargo-kcov [@07:38] - Gdb [@07:47] - ptrace.2 [@14:40] - Arduino [@15:47] - Probe-rs [@22:42] - Tarpaulin Crater (tater) [@23:34] - Tarpaulin-viewer [@27:51] - ImGui [@31:00] - Ndarray [@32:09] - Is rust a competitor of Julia and Python in terms of machine learning? [@36:10] - When did Daniel get into programming? [@49:20] - Tips for beginners [@53:53] - FiraCode Other Resources Writing a Debugger Writing a Linux Debugger Setup Awesome Rust Mentors Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
From Zero to Production with Luca Palmieri
Allen Wyma talks with Luca Palmieri, a principal engineer at TrueLayer, about his book called “Zero To Production 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: [email protected] Timestamps [@02:30] - Book ideas [@13:20] - Reasons for using Rust in production [@10:34] - Asynchronous Programming in Rust [@16:45] - Actix Web [@32:21] - Challenges in using Rust as backend language [@36:30] - What is krustlet? [@46:35] - How is the process of writing the book [@54:50] - Rust edition 2021 [@57:40] - Rust’s community [@59:37] - Rust for Rustaceans [@1:00:26] - Rust in Action [@1:01:34] - Tips for beginners Other Resources Luca’s blog Hexagonal Architecture Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
Rust in cURL
First time guest host, Allen Wyma talks with Daniel, the original author of cURL, about using Rust in cURL. cURL is a command line tool and library for transferring data with URLs. cURL, and its data transfer core, libcurl are both written in C, which is known to be not memory safe. While it is almost impossibe to rewrite it into another language, offering a third-party library written in Rust could take a further step forward. 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: [email protected] Highlights Architecture of cURL & libcurl What brought Daniel to Rust? How long has he been using Rust? What language was Daniel working in before that? Third party libraries written in Rust? What benefits does Rust bring to cURL? Resources Curl Daniel’s Blog Project Gemini Timestamps [@05:10] - cURL 7.78.0 [@07:44] - Implementing Protocol [@09:25] - HTTP/3 [@13:30] - Architecture of cURL & libcurl [@17:40] - cURL as a hybrid library [@19:40] - Replacing C with Rust [@34:00] - Experience of using Rust [@35:40] - async/.await in rust [@40:45] - Anything dislike about Rust? [@42:35] - Challenge of integrating with Rust [@48:00] - Can Rust help curl survive? [@49:10] - Tips for beginners? Credits Intro Theme: Aerocity Audio Editing: Plangora Hosting Infrastructure: Jon Gjengset Show Notes: Plangora Hosts: Allen Wyma
What's New in Rust 1.52 and 1.53
Jon and Ben discuss the highlights of the 1.52 and 1.53 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: [email protected] Timestamps & referenced resources [@01:31] - Rust 1.52 [@01:31] - Stabilized APIs [@04:28] - All integer division and remainder APIs made const [@07:45] - Rust 1.52.1 and incremental compilation [@11:30] - LLVM 12 Disable “mutable noalias” Bringing Stack Clash Protection to Clang/x86, the Open Source Way [@16:15] - unsafe_op_in_unsafe_fn lint [@23:03] - Rust 1.53 [@23:03] - IntoIterator for arrays [@26:45] - Unicode identifiers [@29:37] - Or patterns [@31:05] - Stabilized APIs BITS associated const on numeric primitives [@36:36] - {f32, f64}::from_str now parse and print special values (NaN, -0) according to IEEE RFC 754. [@38:05] - {f32, f64}::is_subnormal [@41:11] - Cargo changes RFC: Make the authors field optional [@43:52] - Rust 2021 Edition Preview [@43:52] - What is an edition? [@47:33] - Additions to the prelude [@50:54] - Default Cargo feature resolver [@51:49] - IntoIterator for arrays [@53:09] - Disjoint capture in closures [@54:35] - Panic macro consistency [@56:00] - Reserving syntax [@1:01:38] - Or patterns in macro_rules [@1:03:16] - Promoting two warnings to hard errors Credits Intro Theme: Aerocity Audio Editing: Jeremy Jung Hosting Infrastructure: Jon Gjengset Show Notes: Ben Striegel Hosts: Jon Gjengset and Ben Striegel Transcript: Eric Seppanen
What's New in Rust 1.50 and 1.51
Jon and Ben take a look at the features of the Rust 1.50 and 1.51 releases. 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: [email protected] Timestamps & referenced resources [@01:47] - Rust 1.50 [@03:02] - Const Generic Array Indexing [@04:30] - Const Value Repetition for Arrays Accidental Stabilization [@07:15] - Safe Assignment to ManuallyDrop in Unions [@09:40] - Niche for File on UNIX Niches for Non-Empty Variants Using Padding for Niches [@14:39] - Library Changes Mara Bos on the journey to bool::then bool::then PR The Clamp RFC [@20:27] - Changelog Deep-Dive Rust Changelog Cargo Changelog compare_and_swap deprecation Deterministic .crate files [@25:11] - Rust 1.51 [@25:24] - Const Generics MVP What Was and Wasn’t Stabilized [@30:00] - array::IntoIter stabilization Implementing IntoIterator for [T; N] [@37:53] - Cargo’s New Feature Resolver Resolver v2 RFC Resolver v2 in Cargo Book Issues Solved by New Resolver [@45:26] - Splitting Debug Information Why This Was Complicated split-debuginfo option [@51:34] - Stabilized APIs offset_of! is (was) Unsound ptr::addr_of! Raw pointer creation RFC Ergonomic string interpolation Unifying panic! Manual vTable for Wakers [@1:10:30] - Changelog Deep-Dive Rust Changelog Cargo Changelog Documenting Nested Derefs Smarter target-cpu=native [@1:14:45] - Rust Async Vision Doc Async Foundations Working Group Credits Intro Theme: Aerocity Audio Editing: Aerocity Hosting Infrastructure: Jon Gjengset Show Notes: Jon Gjengset Hosts: Jon Gjengset and Ben Striegel Transcript: Eric Seppanen
What's New in Rust 1.48 and 1.49
Jon and Ben take a look at the features of the Rust 1.48 and 1.49 releases. 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: [email protected] Timestamps & referenced resources [@01:10] - Rust 1.48 [@01:10] - Easier linking in Rustdoc [@03:57] - Adding search aliases in Rustdoc [@07:03] - Implement TryFrom<Vec<T>> for fixed-length arrays slice::as_chunks [@10:51] - future::ready and future::pending [@15:21] - More stdlib APIs made const [@18:05] - mem::uninitialized will now panic if any inner types inside a struct or enum disallow zero-initialization [@20:18] - When trait bounds on associated types or opaque types are ambiguous, the compiler no longer makes an arbitrary choice on which bound to use [@24:20] - Rust 1.49 [@24:20] - 64-bit ARM Linux reaches Tier 1 [@30:20] - Test framework captures output in threads [@33:36] - Library changes poll::is_ready and poll::is_pending made const [@34:36] - You can now bind by reference and by move in patterns [@38:09] - Unions can now implement Drop, and you can now have a field in a union with ManuallyDrop<T> [@42:00] - Rust Survey 2020 Results Credits Intro Theme: Aerocity Audio Editing: T.J. Telan Hosting Infrastructure: Jon Gjengset Show Notes: Ben Striegel Hosts: Jon Gjengset and Ben Striegel
What's New in Rust 1.46 and 1.47
Jon and Ben take a look at the features of Rust 1.46 and 1.47. 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: [email protected] Timestamps & referenced resources [@01:55] - Rust 1.46 [@01:55] - const fn improvements [@08:38] - The track_caller attribute [@11:51] - Minor changes 1.46 pre-release testing [@21:46] - Rust 1.47 [@21:46] - Traits on larger arrays Tracking Issue for min_const_generics [@29:14] - Shorter backtraces [@30:26] - LLVM 11 [@32:07] - Control Flow Guard on Windows [@34:28] - Library changes The Tau Manifesto [@40:04] - Minor changes SemVer Compatibility Guide Announcing the Error Handling Project Group Announcing the Portable SIMD Project Group Credits Intro Theme: Aerocity Audio Editing: Cole Hosting Infrastructure: Jon Gjengset Show Notes: Ben Striegel Hosts: Jon Gjengset and Ben Striegel