RustTalk

写代码的西瓜

RustTalk 是一档专注在 Rust 社区的程序员闲聊节目。官网:rusttalk.github.io

  1. Aug 6

    016. Rustup 团队负责人 Gen Li 的开源历程

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 对每一位 Rust 开发者来说,rustup 几乎是我们接触这门语言时用到的第一个工具。但在这个几乎每天都要用到的工具背后,是一支怎样的开发团队?他们又是如何维护这个支撑着整个 Rust 生态基础建设的核心项目的? 本期我们非常荣幸邀请到了 Rustup 团队负责人 Gen Li(rami3l)。作为一名毕业刚两年的“开源新人”,Gen 在短短几年内实现了令人惊叹的跨越:从最开始试水开源、提交小的 PR,到深入参与 Rust 官方工具链的维护,再到如今作为 Team Leader 带领团队推动 Rustup 的演进与发展。 在本期节目中,我们将和 Gen 聊到: 成长轨迹:他是如何从一个开源菜鸟一步步成长为核心团队负责人的? 工具链幕后:Rustup 团队的日常协作机制是怎样的?在面对庞大的全球用户基数与复杂的跨平台兼容性时,他们面临哪些挑战? 新手建议:对于想要参与 Rust 官方项目或开源社区的新人,有哪些切实可行的建议和经验? 如果你对开源社区的运作方式、Rust 工具链幕后的故事,或者年轻开发者的成长路径感兴趣,那么这一期节目你一定不能错过。 链接 AdaCore,是一家成立于 1994 年的软件公司,专注于为航空航天、国防、铁路和汽车等高安全性要求(Safety-critical)的行业提供开发工具和支持服务。该公司以 Ada 编程语言及其形式化验证子集 SPARK 闻名,并提供强大的代码分析与认证支持,总部位于法国巴黎。 rami3l/pacaptr,跨平台的包管理器调用工具 fix: flag_subcommands unexpected behavior after long arg #2501,嘉宾给 clap 贡献的第一个 PR rustup 带 easy 标签的 issues Maintainer spotlight: Gen Li (@rami3l),嘉宾之前的采访 嘉宾分享 Structure and Interpretation of Computer Programs Crafting Interpreters Coding Places 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

  2. 06/07/2025

    015. 与 Meta 工程师 Nero 聊 Buck2 与 Rust 构建

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 本期的嘉宾是 Meta 的工程师 Nero,他是 Buck2 的核心开发者之一。我们将讨论 Rust 在 Meta 的应用、Buck2 的设计理念和特点以及 Buck2 是如何加速 Rust 的构建。 背景补充:Buck2 是 Meta 开源的一个构建系统,可以类比 Bazel。它的设计理念是提供更快、更可靠的构建体验,同时支持大规模的代码库。Buck2 的特点包括增量构建、并行执行和可扩展性,使其适用于大型项目和复杂的构建需求。 链接 Buck2 相关链接 Discord 用户群 facebookexperimental/autocargo : Translate Buck targets to Cargo.toml facebookincubator/reindeer : Transform Rust Cargo dependencies into generated Buck build rules Tutorial: Your First Buck2 Application | Buck2 Jon Gjengset - YouTube: The streams are intended for users who are already somewhat familiar with Rust, but who want to see something larger and more involved be built. Sapling: Source control that’s user-friendly and scalable bazelbuild/starlark 是一种用于配置的语言。它是为 Bazel 构建系统设计的,但也可能对其他项目有用。Starlark 是 Python 的一种方言。与 Python 一样,它是一种动态类型语言,具有高级数据类型、具有词法作用域的一级函数和垃圾回收功能。 r2cn-dev/buck2-rust-third-party: A collection of BUCK files about rust crate David Tolnay 的 buck2-rustc-bootstrap 项目,用 buck2 实现 Rust 编译器自身的构建。 Cold build without cache: 32% faster Incremental: 1.625s vs 2.6s buck2 本身构建时间对比 Cargo build: 2min20s buck2 build: 1min26s 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

  3. 05/22/2025

    014. 既生 Rust,何生 Zig

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 Rust 和 Zig 是新时代系统语言的两个极端,一个完全不信任程序员,编译器内置了各种检查和限制,另一个则完全信任程序员,允许你在编译时做任何事情。Zig 的设计理念是让程序员在性能和安全性之间找到一个平衡点。它提供了更好的错误处理机制和类型系统,避免了 C 语言中的许多常见错误。 这是一期没有嘉宾,是由主播使用 Google NotebookLM 根据 Zig 文档生成,NotebookLM 把 Zig 的特点总结的十分到位:控制性。从单行注释,到任意精度的数字类型、多种指针类型,再到杀手锏 feature 编译时运行,而这个特性无疑对写出高性能程序大有裨益。 希望通过本期节目让更多人了解 Zig 语言,尤其是它的编译时运行特性。Zig 的编译时运行允许你在编译时执行代码,这意味着你可以在编译时计算常量、生成代码或进行其他操作。这种特性使得 Zig 在性能和灵活性方面具有很大的优势。 链接 Rust 与 Zig 关于安全的争论 ghostty-org/ghostty 👻 Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration. 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

  4. 01/20/2025

    013. 跨行程序员 driftluo 的 Rust 历程

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 本期我们很荣幸邀请到了一位跨行程序员 drift luo 作为嘉宾。他本科专业是会计,但在工作过程中因项目需求和个人兴趣,逐渐转向了编程领域。特别引人注目的是,为了解决 Python 内存占用过高的问题,他在 2017 年就开始深入研究 Rust 语言。要知道,那时的 Rust 还处于相对早期阶段,不仅生态系统远不如今天完善,连最基础的 borrow checker 机制都尚未完全成熟。作为一个非计算机专业出身的开发者,能在那个时期就开始钻研 Rust,着实令人惊叹。 时间线 02:04 职业选择与成长:从大学会计专业到外包公司的挑战与机遇 06:06 从产品工程师到程序员:自学VBA的启示与思考 12:12 从零开始的面向对象之旅:一本让你理解英文原著的Python入门书 18:19 部署 Python 程序时的挑战与解决方案:内存消耗、依赖环境和性能问题 24:24 RUST 编程语言的借用检查和内存占用问题的解决方法探究 30:33 一次离职后的启示:在 Rust 语言的公司中找到新的工作机会 36:38 从零开始的 Rust 项目:探索语言、库和生态的变化过程 42:45 如何在短时间内开发出稳定的功能?——一个开发者在紧张项目中的挑战 48:53 如何在热点路径上选择适合的锁类型?——探讨同步锁和异步锁的性能开销 54:59 poll future 一下,他没响应,任务就丢了?如何处理这种情况? 01:01:06 编程之路:拥抱编辑器检查,适应编程过程中的挑战 01:07:13 Rust 社区的发展趋势与挑战 链接 嘉宾个人信息 博客: https://www.driftluo.com https://github.com/driftluo 学习经历:江西财经大学现经管学院,会计系 工作经历:用友、外包、秘猿科技 2017 年末随笔,嘉宾就是因为这个文章获得了秘猿科技的面试机会 禁止使用 async function 去实现 poll function 在异步环境下的共享状态 以太网络出现漏洞,以太坊边召开开发者大会边修复。所有基于 Go 语言编写的以太坊 1.4.11 版本客户端出现内存溢出错误,并阻止了进一步挖矿,但 Rust 编写的 Parity 客户端并未受此次攻击的影响。 好物推荐 置身事内,(豆瓣:9.1 分) 病人家属,请来一下, (豆瓣:8.6 分) 医生,你在想什么,(豆瓣:8.2 分) 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

  5. 02/03/2024

    010. 特别节目:闲话 Zig,另一个 Better C 的语言

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 在新一代的 Better C 里,Rust、Zig 是经常被对比的两个语言,之前在第五期的节目中聊到过,本期继续讨论这个语言。 本期内容来自 ZigCC 的 2024 New Year Party 线上会议的片段,主要讨论内容: Zig 与 C/CPP/Rust 的对比,包括编译速度、大小、抽象程度等 Zig 可发力的方向。目前看,图像处理(GPU)、嵌入式、游戏是几个比较有潜力的方向 链接 What is Zig's Comptime? webui-dev/zig-webui: Use any web browser as GUI, with Zig in the backend and HTML5 in the frontend. EmbarkStudios/rust-gpu:Making Rust a first-class language and ecosystem for GPU shaders Rust-GPU/Rust-CUDA:Ecosystem of libraries and tools for writing and executing fast GPU code fully in Rust. Bevy Engine:A refreshingly simple data-driven game engine built in Rust. Free and Open Source Forever! Announcing `async fn` and return-position `impl Trait` in traits Jonathan Blow 2017–present:Jai programming language, untitled Sokoban game, and Braid, Anniversary Edition Is Rust C++-fast? Benchmarking System Languages on Everyday Routines Open Computing Language OpenCL | NVIDIA Developer Single compilation unit Zig's New Relationship with LLVM | Loris Cro's Blog Assorted thoughts on Zig and Rust (2020) | Hacker News Zig Build System Internals – Mitchell Hashimoto Zig roadmap 2024: incremental compilation andrewrk/ffmpeg: ffmpeg with the build system replaced by zig dtolnay/cxx: Safe interop between Rust and C++ Plugins in Rust: The Technologies | NullDeref make the main zig executable no longer depend on LLVM, LLD, and Clang libraries Tauri or Flutter for RustDesk desktop? · rustdesk/rustdesk · Discussion #533 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

  6. 12/16/2023

    009. 卡比卡比的开源贡献之旅

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 本期嘉宾是卡比卡比,虽然他毕业不到三年,但已经成多个开源项目的重度参与者,而且已经是 Apache Arrow 的 PMC,他是怎么做得到?他的开源经历,对我们能有什么启发?这些问题都可以在本期节目中找到答案。 时间线 00:00:29 嘉宾自我介绍 00:02:30 工作经历 00:08:03 数据库查询优化器介绍 00:27:38 Apache Arrow/DataFusion 贡献经历 01:09:07 如何参与开源项目 01:16:38 嘉宾分享 AI 分段 00:02:06 从校园开发到实际编程:我的职业转型经历 00:07:04 数据库优化器:掌握核心代码为未来工作打下坚实基础 00:14:07 工程实践中的难点与解决方案:Code freeze 00:21:14 "基于 Apache Doris 商业开发:开源社区协作的问题" 00:28:16 DataFusion 瑾项目社区友好,让我们能够持续参与开源项目 00:35:24 Rust语言:开源之路的合适选择 00:42:29 探索学习路径:为什么 Rust 实现上的问题总是难以解决? 00:49:32 Rust 本身的设计存在缺陷,需要深入探讨其设计原因和影响 00:56:36 DataFusion 的定位与优势–高效的执行引擎 01:03:46 开源贡献:论迹不论心 01:10:51 要寻找自己擅长的领域并长期为项目做出贡献。 链接 嘉宾个人信息 https://github.com/jackwener 邮箱:jakevingoo#gmail.com 学习经历:华中科技大学本科毕业 工作经历:目前在 SelectDB 做优化器,之前在 NebulaGraph /字节工作过,以前在抖音/微软/腾讯实习过 DataFusion is a very fast, extensible query engine for building high-quality data-centric systems in Rust Apache Arrow is a cross-language development platform for in-memory analytics Apache Doris is a new-generation open-source real-time data warehouse based on MPP architecture Apache Arrow Ballista 基于 DataFusion 实现的分布式查询引擎 CMU 15445 课程 MIT 6.5840 课程 pingcap/talent-plan 优化器 Cascades Columbia 论文 Apache Impala 贪婪的多巴胺 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

About

RustTalk 是一档专注在 Rust 社区的程序员闲聊节目。官网:rusttalk.github.io