Matthias Endler

RSS: https://endler.dev/rss.xml
Matthias Endler 的个人网站,关于底层编程与后端开发的软件工程师。Rust 与 Go 语言。

其他链接检查器是如何实现递归的

本文核心看点不是技术教程,而是一个亲身经历了5年失败的工程师,带着好奇心去读别人源码后得到的发现:其他链接检查器并没有用什么高明trick实现递归,它们从一开始就是爬虫架构。作者拆解了muffet(Go/WaitGroup)、LinkChecker(Python/无界队列+计数器)、linkinator(TypeScript/单线程onIdle)和broken-link-checker(JavaScript/双队列事件级联)四个开源项目,逐一呈现它们处理递归的核心组件——可变工作队列(frontier)、入队时原子标记的visited set、以及终止检测原语。每段分析都附带作者对自己项目lychee的深刻反思:为什么一个Rust项目花了5年才走通这条路?因为lychee最初设计为单向流管道(stream),而递归需要回环(cycle),在异步channel模型中插入循环就是死锁的根源。架构选择是命运级的——一开始是爬虫还是流,决定了未来五年的工程痛苦。
评论点赞收藏73 天前

五年磨一剑:为 lychee 链接检查器添加递归功能

Matthias Endler 分享了为其 Rust 开源链接检查工具 lychee 添加递归检查能力的五年历程。lychee 是作者 2020 年在家无聊时开始的项目,如今已被约 4 万个 GitHub 仓库依赖,用户包括 Google、AWS、Microsoft、Cloudflare 等。递归检查是其最久悬而未决的 issue,长达五年未解决。文章讲述了这个看似简单的功能背后真实的技术挑战与决策过程,第一手的工程经验、具体的问题背景和长期维护者的视角,让这篇技术博文有真实的人味和讨论价值。
评论点赞收藏77 天前

自建个人邮件通讯的实践记录

一位开发者分享了重新启动个人博客邮件通讯的经历。他没有使用任何第三方通讯平台,而是用 Git 仓库中的 Markdown 文件管理内容,自建了后端注册系统和 CLI 发送工具。文章讲述了从过去长期未更新到重新运转的过程,以及在此过程中学到的经验教训。对于正在考虑是否自建通讯系统、想摆脱平台依赖的开发者来说,这是一篇有真实参考价值的一手实践记录。
评论点赞收藏87 天前

论品味

我已将这篇博客的设计不断优化了整整二十年。 随着每一份新版本的推出,我越来越清楚自己想要什么。 结果发现,我的设计往往随着时间推移而变得愈发简洁。 到如今,几乎全都是字体排版和留白。 我越来越擅长分辨自己真正珍视的事物,以及哪些可以舍弃。 清理杂乱能带来喜悦。 也许这正是人类内心深处最真实的需求?
评论点赞收藏107 天前

现在正是开始写博客的时候

核心看点:AI 能下赢人类三十年,但大家还是爱看人类下棋——个人博客也是同理,AI 生成内容越泛滥,真实的人类声音反而越珍贵。作者从国际象棋的复兴切入,指出人们追求的不是"最优解",而是人的思考过程、个性表达和不完美中的真实感。文章鼓励读者别再犹豫,趁 AI 内容充斥互联网、同质化严重的时候,用个人博客发出自己的声音;不需要完美,不需要宏大,有观点、有经历、有态度就行。作者还分享了自己运营技术博客的体会:写给自己、写得真诚、保持更新频率但不必苛求每篇都是爆款。这不是泛泛的"内容创作指南",而是一篇带着鲜明立场和亲身观察的鼓动文章,适合正在犹豫要不要开始写点东西的人看。
评论点赞收藏202 天前

两种软件构建哲学:自底向上与打磨雕琢

作者以多年实践经验,提炼出两种互补的软件系统构建方式:"自底向上构建"——从一个极小的核心逐步叠加功能;"打磨雕琢"——从一个粗糙想法出发,反复迭代精炼。文章指出两者并无优劣之分,更多取决于团队风格和问题域的熟悉程度。这是一篇充满个人体悟与工程智慧的方法论文章,不教条、不模板化,适合对软件架构和团队协作方式有思考的读者,能引发不同技术倾向者的讨论与共鸣。
评论点赞收藏289 天前

关于选择Rust

本文是Rust领域知名博主Matthias Endler对近期Rust在成熟软件中应用争议的个人思考。他以git内核线程中Rust破坏性变更讨论和sudo-rs重写的安全问题为例,指出Rust虽然能提升内存安全性,但在大型成熟项目中引入Rust会带来集成复杂性、维护负担等现实挑战。文章核心观点:Rust不是银弹,sudo-rs重写后仍出现类似原始版本的漏洞就是明证。作者主张以务实态度看待Rust adoption,避免技术狂热,根据项目实际情况做出权衡。内容有具体案例支撑,带有个人经验和立场,适合关注系统编程语言和软件工程实践的读者。
评论点赞收藏324 天前

如何审查代码

资深工程师 Matthias Endler 分享二十余年代码审查实战心得。他目前 50-70% 工作时间用于审查代码,文中讲述了自己从新手到专家的关注点演变——不再只抠细节 bug,而是更注重大局观、架构设计和可维护性。文章来自一线真实经验,有具体的方法论转变和可复用的审查思维,适合开发团队和希望提升代码质量的工程师参考。
评论点赞收藏375 天前

重复你自己

一位资深软件工程师反思DRY(不要重复自己)原则,直言顶级程序员其实经常复制代码。他结合亲身观察,指出适度重复代码能降低耦合、减少过早抽象带来的复杂度,让修改更灵活。这篇文章挑战了编程圈的经典教条,提供了一个反套路、接地气的实操视角,值得任何写过代码的人停下来想一想。
评论点赞收藏419 天前

Watching Millionaires

I watched the Champions League final the other day when it struck me: I’m basically watching millionaires all the time. The players are millionaires, the coaches are millionaires, the club owners are...
评论点赞收藏436 天前

水管工保罗

用寓言故事隐喻AI编程工具(如Copilot)与传统手艺的矛盾。熟练工匠保罗的朋友马里奥用一台"神奇机器"快速修水管,但机器干活粗糙——密封不严、接头错位、还凭空添加多余部件。马里奥依赖机器后失去了自主修管能力,客户因质量问题又回头找保罗。故事生动刻画了"AI快速但不可靠、生成幻觉内容"的痛点,核心观点明确:好工作需要时间打磨,捷径往往带来更多麻烦。文末带CodeCrafters推广链接。叙事有画面感、有立场、有讨论入口,适合开发者人群引发关于AI辅助编程利弊的碰撞。
评论点赞收藏438 天前

Reinvent the Wheel

One of the most harmful pieces of advice is to not reinvent the wheel. It usually comes from a good place, but is typically given by two groups of people: • those who tried to invent a wheel themsel...
评论点赞收藏449 天前

无论如何,都要一起吃饭

一个家庭坚持了近二十年的铁律:无论发生什么,每天晚上全家必须一起吃饭。作者回忆,这条规矩在9/11那天和母亲住院时都未被打破。他反思这条看似简单的规则带来的涟漪效应——它强制全家人为彼此留出时间,塑造了家庭的节奏感和凝聚力。一篇真诚的个人回忆,核心看点不在方法论,而在于习惯如何在不妥协的坚持中成为家庭默契的基石,读来温暖且有共鸣。
评论点赞收藏490 天前

我认识的那些最优秀的程序员

一位资深开发者基于多年亲身观察,总结出最优秀程序员身上的共性特质。不是技术清单,而是思维习惯、工作方式和职业态度层面的洞察——比如如何做决策、如何对待不确定、如何持续成长。文章来自个人真实经历和一手观察,有具体可借鉴的经验,不是泛泛的"十大习惯"模板文。对开发者尤其是初级和中级程序员,是一份有启发性的路线参考。
评论点赞收藏499 天前

信息的本质

用分拣袜子这件日常琐事,生动讲解并行计算的核心概念。作者从真实体验出发,把"一堆袜子"变成理解并行处理、资源竞争、开销与死锁的绝佳模型,层层递进引出任务队列、协议分工等解决方案。文章有具体数字(1人60分钟、2人30分钟),有失败场景(100人抢100只袜子导致死锁),有优化思路(按颜色分工会遇到负载不均),最终落脚到信息科学的本质不是编程,而是寻找解决一类问题的通用方法。个人叙事清楚、逻辑递进自然,读来轻松却有干货,适合对计算机科学感兴趣的普通读者。
评论点赞收藏575 天前

我热爱编程

一篇发自内心的编程热爱宣言,有人味、有温度,不是冷冰冰的技术教程。作者从自动化赋予的超能力、编程比打游戏更爽、分享代码的满足感、优雅解法的艺术性、与机器对话的奇妙、站在巨人肩膀上的谦卑等几个侧面,讲述编程为何令人着迷。这不是"三天学会XX"的速成文,而是一位有经验程序员写给犹豫者的真诚邀请——鼓励读者放下对智力的自我怀疑,勇敢尝试。文章有真实的个人热情和审美判断,但整体观点较常见,深度有限,且结尾附带了CodeCrafters推广链接(有佣金),略有营销痕迹。总体属于合格可读的随笔,信息量不大但读起来舒服。
评论点赞收藏575 天前

想开一个技术播客吗?——我的实战经验分享

作者Matthias Endler分享运营Rust in Production播客一年的真实经历(月活约5000听众,位居播客前5%)。文章从个人经验出发,覆盖技术播客从零启动到持续运营的关键环节,包括内容定位、嘉宾邀请、制作流程与推广策略。有具体数据支撑和一手观察,不是空泛的趋势预测或SEO拼凑,对计划或正在运营技术播客的从业者有参考价值。
评论点赞收藏681 天前

跟随黑客的脚步

核心看点:如果你想预判明天的关键技术走向,最有效的做法不是读行业报告,而是看黑客今天在折腾什么。作者提出一个朴素但有力的观察角度——黑客(技术极客/早期采用者)对某样东西的热情程度,往往比市场分析更早预示技术浪潮。短文中没有机构式说教,而是基于个人观察给出一个可操作的认知框架:关注黑客社区的兴趣流向,比追热点更接近技术真相。观点明确、有讨论入口,适合引发技术读者关于技术趋势判断方式的讨论。
评论点赞收藏708 天前

保持简单

作者发现自己生活的简单并非偶然,而是有意识的主动选择。他观察到,如果不加干预,生活会自动变得复杂——房贷、订阅服务、保险、无数浏览器标签页、繁忙的工作,甚至一条狗,不知不觉就堆满了日常。基于"时间和健康是幸福的最佳代理"这一信念,他选择持续简化生活。一篇简短但有真实个人观点和共鸣点的随笔,适合引发读者对自身生活方式的反省和讨论。
评论点赞收藏713 天前

写什么

一篇简短而真诚的反思:作者把"写什么"比作"说什么"——总有话可说,不一定新奇或有趣,但对自己重要,或许也对某个人重要。然后他反问:为什么非得写有趣的东西?没人觉得有趣就是浪费时间吗?全文仅几句话,但提出了一个值得每个写作者琢磨的问题——写作的意义到底是为取悦读者,还是表达自己真实想说的话。没有宏大理论,没有方法论,只有一个人安静的自问,反而比那些教人"如何写出爆款"的文章更有讨论入口。
评论点赞收藏726 天前

慢下来,把问题修好

一位在巴伐利亚乡村长大的程序员,曾深信只有去硅谷才能实现写代码和创业的梦想,却在亲身靠近后看清了“火箭式增长”“风投暴富”叙事背后的虚幻。作者以个人成长经历为线索,挑战硅谷“快速行动、打破一切”的教条,提出另一种更可持续的理念:慢下来,真正解决问题。这篇文章不是空泛的趋势评论,而是带有具体地域背景、个人困惑和真实观察的反思随笔,适合对创业文化、技术价值观或职业选择有思考的读者。
评论点赞收藏731 天前

学会提出更好的问题

一位资深技术顾问兼播客主持人的切身观察:他意识到自己的核心工作价值就是提问——给企业做咨询时问对问题,做播客时问出好问题,在与潜在客户的交流中也是靠提问推动对话。有趣的是,他从没接受过任何提问方法的正式训练,全靠临场发挥和不断试错。文章分享了他从实践中总结的提问心法:好的提问不是为了展示自己,而是真诚地好奇对方;少问封闭的是非题,多问开放式的探索题;提问的节奏和倾听比问题本身更重要。这是一篇有真实工作场景支撑的方法论反思,适合任何需要靠沟通解决问题的人。
评论点赞收藏734 天前

登录芦苇

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