Carl M. Kadie

RSS: https://medium.com/feed/@carlmkadie
Carl M. Kadie 的 Medium 博客,关于 AI 与科学。

在无继承特性的 Rust 语言中实现继承的九种方式

Rust 没有类继承,但开发者真正需要继承时通常追求三种效果:共享接口、共享行为、共享存储。本文作者(RangeSetBlaze 和 device-envoy 等 crate 的作者)用九个递进谜题展示 Rust 如何通过 trait、super trait、extension trait、derive、Deref 方法查找、blanket impl、宏生成 impl、特化约束等手段实现类似继承的效果。每个谜题从 OOP 设计出发,给出 Rust 解法与代码示例,并讨论各技术的适用边界与取舍(如 Deref 过于宽松时应改用 as_str)。文章源自作者在西雅图 Rust 用户组的演讲,有真实项目经验支撑,GitHub 附完整代码。对 Rust 中高级使用者有直接借鉴价值,不是概念空谈或 SEO 拼凑。
评论点赞收藏73 天前

device-envoy-esp:用 Rust 和 Embassy 让 ESP32 嵌入式开发变得有趣

作者介绍了自己开发的 Rust crate device-envoy-esp,目标是用 Rust、Embassy 和一种名为"设备抽象"的设计模式,让 ESP32 嵌入式编程变得更有乐趣。文章以 Conway's Game of Life 在 ESP32-S3 上的运行为例,通过视频演示展示了这套框架的实际效果。所有配图由作者原创,还附带网页模拟版本。这不是空泛的趋势讨论,而是一个一线嵌入式 Rust 开发者分享的真实工具和设计思路,适合对 Rust 嵌入式或 ESP32 开发感兴趣的读者。
评论点赞收藏110 天前

device-envoy-rp:让嵌入式 Pico 编程变得有趣

作者分享了自己开发的 Rust crate device-envoy-rp,核心看点是用 Rust + Embassy 异步运行时把 Raspberry Pi Pico 嵌入式编程做得更有趣。文章引入了一种"设备抽象"设计模式,以 Conway's Game of Life 为演示案例,配有 Seattle Rust 用户组演讲视频。所有配图均为作者原创,内容包含具体代码架构说明和实际项目经验,不是泛泛趋势文,适合对 Rust 嵌入式开发感兴趣的读者。
评论点赞收藏172 天前

用 Lean、ChatGPT-5 和 Claude 4.5 做"氛围验证"——不学形式化方法也能证明 Rust 算法(下)

不用学 Lean 也能做形式化验证?作者用 ChatGPT-5 和 Claude 4.5 辅助完成 Rust 算法的 Lean 证明,分享从实战中总结的 9 条规则(本文覆盖第 6-9 条及意外发现)。核心思路是让 AI 承担形式化证明的繁重工作,人只需描述算法逻辑、检查 AI 输出、迭代修正。作者还列出多个"没想到"——比如 AI 在复杂归纳步骤中比预想更可靠,但简单边界条件反而容易出错。对想用 LLM 辅助形式化验证但不熟悉证明助手的开发者,这是一份真实可复用的踩坑指南,不是空泛的方法论。
评论点赞收藏292 天前

用Lean、ChatGPT-5与Claude 4.5进行代码正确性验证(第一部分)

作者Carl M. Kadie分享了在Rust库range-set-blaze中,结合形式化验证工具Lean与AI助手(ChatGPT-5、Claude 4.5)来证明算法正确性的实践经验。核心看点:测试能发现bug但无法保证数学上的绝对正确,而随着AI生成代码越来越多,如何验证这些代码的正确性变得尤为关键。文章展示了如何在不掌握形式化方法的前提下,利用Lean来给Rust代码做数学级别的正确性证明,既有具体的函数案例(internal_add),也有对AI时代代码验证趋势的思考,是一篇实操经验与方法论并重的技术分享。
评论点赞收藏298 天前

Rust库通用化九条规则(下)

作者基于将RangeSetBlaze扩展到Map的真实踩坑经验,总结出Rust库通用化的第6-9条规则:比你预想中创建更多迭代器;边泛化边做基准测试;跟随依赖和Rust版本升级;及时更新文档和测试覆盖。每条规则都来自实际操作而非空谈,对正在写或维护Rust库的开发者有直接参考价值。内容具体、有代码层面的例证,属于有实践厚度的技术分享。
评论点赞收藏365 天前

Rust库通用化的九条规则(上)

本文作者基于将RangeSetBlaze(高效存储"成簇"整数的Rust crate)扩展为RangeMapBlaze(整数到值的映射结构)的真实项目经验,系统总结了Rust库通用化的九条规则。内容涵盖API设计、迭代器、基准测试等实战要点,有具体代码思路和设计取舍说明,带有明确的一手开发经验和个人判断。适合正在做Rust库设计或考虑做泛化扩展的开发者参考,属于有实质技术输出的原创经验分享,非营销拼凑文。
评论点赞收藏369 天前

Rust科学库构建九项法则

核心看点:一场来自 Scientific Computing in Rust 2025 会议的演讲,作者提炼出九条实用规则,帮助开发者构建正确、可用且高性能的 Rust 科学计算库。不同于泛泛的编程建议,文中强调科学库不仅要快和安全,更要为多样背景的科学家设计——这意味着代码设计需要注入对使用者的同理心。每条规则围绕 correctness、usability、speed 三个维度展开,有具体的工程权衡和实现思路。适合 Rust 科学计算方向的开发者获取可落地的参考框架。
评论点赞收藏435 天前

最后一个"发现"美洲的人

以"最后一个发现美洲的人"为隐喻,探讨创新的真正时刻:不是第一次勇敢闯入未知领域,而是当最小可行拼图全部到位时的"最后一次"落地。作者引用1590年Skálholt地图证明北欧人早在哥伦布之前就到达北美,但直到几百年后哥伦布航行时才形成持久定居——因为技术/认知的缺失,只有等到它真正发挥作用时才会被意识到。一篇短小精悍的技术哲学随笔,用历史案例引出"创新时机比抢先更重要"的思考,观点鲜明,引人反思。
评论点赞收藏436 天前

如何优化Rust使其变慢:受新图灵机结果启发

一篇以反直觉视角探讨计算极限的技术文章:作者受最新图灵机"忙碌海狸"问题研究启发,展示了如何用短短几行Rust代码构造运行时间远超宇宙寿命的程序。文章从无限循环出发,逐步引入有限内存嵌套循环(10¹⁵⁴步)、5状态图灵机(4700万步后停机)、6状态图灵机(运行超过10↑↑15步——一个无法用普通指数描述的超巨大数),最后用纯Rust从零实现tetration运算以显式构造天文数字级别的运行时长。内容融合了计算理论、具体Rust代码、可视化工具和作者的亲身实践项目,语言幽默生动,既有理论深度又有可操作性,适合对计算机科学基础、Rust语言或趣味编程挑战感兴趣的读者。
评论点赞收藏486 天前

如何优化你的 Rust 程序,让它慢到极致

一篇用幽默反讽手法探讨 Rust 程序性能极致的硬核技术文章。作者提出一个荒诞但引人深思的挑战——写一个宇宙灭亡后才运行完毕的短程序,在"如何把程序写慢"的反向叙事中,自然地引出对计算本质、内存角色和超大数字尺度的深度讨论。配有同主题演讲和 Python 版本,不落俗套,兼具技术深度和个人表达风格。
评论点赞收藏501 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。