参加活动邀约
2026年4月20日发布消息,作者将于5月8日参加 Babashka 大会,5月9日参加荷兰 Clojure 日,欢迎参加活动或来阿姆斯特丹游玩的朋友联系。
过度思考对项目的破坏
作者有项目想法时,通常有两个发展方向:一是直接动手做,结果常如预期且满意;二是找前人成果,会因考虑诸多因素而浪费时间,既没解决问题也没体验创造乐趣。作者更喜欢第一种结果,认为关键在于内化成功标准。例如上周末和朋友做木工架子项目,成功标准是享受乐趣,没过度纠结;而研究 difftastic 工具时,因未明确成功标准,花时间研究后才意识到应自己动手。作者还有一些长期项目陷入第二种情况,虽不后悔花时间学习,但担心内心批评声抑制创造力。作者打算像20岁时无所畏惧地去做。
范围蔓延的守恒定律
“直接去做”需找平衡点,作者想起“你不会需要它”原则。作者想在 Emacs 中实现类似 Finda 的功能,让大语言模型编写代码,大语言模型推荐了 Nucleo 库。因 Nucleo 支持额外的锚点功能,作者思考其在文件路径语料库中的应用,解决相关问题花了几小时,最后意识到不需要锚点功能,扔掉了相关代码。作者不确定借助大语言模型是否有收获,认为编程速度提高可能被不必要功能等抵消。
结构差异分析
“差异分析”通常指文件两版本逐行变化总结,有统一视图和并排视图。逐行差异分析没考虑高级结构,difftastic 工具用 Tree - sitter 计算差异有改进但不完美。作者分享了该领域的工具和参考资料,如 semanticdiff.com、diffsitter、gumtree、mergiraf、weave、diffast、autochrome 等,并介绍了它们的特点。作者主要使用场景是审查大语言模型输出,想要的工作流程是查看差异高级概述、快速查看实体文本差异、快速内联编辑更改。作者计划搭建基于 Tree - sitter 的实体提取框架,采用贪婪匹配算法,将结果渲染到命令行,之后再集成到 Emacs 工作流程、添加新语言支持、探索更复杂匹配算法,满意的话可能发布但不一定商业化。