Eli Bendersky

7 篇内容

技术文章Eli Bendersky

Relative velocity and closing speed

本文讲解物理模拟或游戏引擎中计算两个物体接近速度的方法。作者先定义相对速度向量,并分解为连线方向的法向分量和切向分量;再通过向量投影和单位向量,使用点积求得闭合速度这一标量,其符号表示物体是否相互靠近。文章用多个具体示例演示计算过程,包括不同相对位置和速度情况,强调符号规约和瞬时性。最后将闭合速度推广为时间函数,证明其等于相对距离对时间的导数,并指出该公式在二维和三维空间中均适用,但假设物体可视为质点。

推荐收录,因为文章用清晰的向量分析和逐步推导,将闭合速度这一物理概念转化为可直接实现的算法,附有详细示例避免符号错误。适合游戏开发、物理引擎或模拟系统的开发者作为参考,其分解思路和投影方法可迁移至其他涉及方向分量计算的场景。

技术文章Eli Bendersky

Notes on the Fourier Transform

本文从傅里叶级数出发,通过让周期趋于无穷大,逐步推导出傅里叶变换,重点演示了非周期函数如何从离散频率系数过渡到连续频率函数。作者以一个奇三角脉冲为例进行计算,展示变换的复数结果及其幅度和相位,并讨论频率域表示的意义。文章还阐述了傅里叶变换的存在条件(绝对可积)、以及线性、缩放、时移、导数和卷积等关键性质,最后给出卷积定理。内容偏向工程实用,对数学严谨性有所取舍,假设函数在无穷远处趋于零,适合信号处理等领域的入门学习。

推荐收录,因为本文以清晰、有层次的推导讲解了傅里叶变换的核心概念,并提供了可交互的直观演示(文字描述)和具体计算示例。适合计算机专业学生、信号处理或相关领域的工程师作为理解频域分析的基础参考,其从级数到变换的推导思路也具有可迁移的学习价值。

技术文章Eli Bendersky

Dot product: Component vs. Geometric definition

文章从文本解析和向量表示出发,详细阐述了向量点积的两种定义(分量定义和几何定义)为何等价。作者提供了两种证明:一是利用余弦定理的几何证明,从矢量差出发推导分量与几何形式的一致性;二是从几何定义出发,通过标准正交基和向量投影,推导出分量求和形式。附录中还补充了内积空间的基本性质、对称性、线性性和正定性,以及范数的概念。整篇文章结构清晰,证明步骤完整,适合作为理解点积数学本质的参考资料,但边界限于欧几里得空间中的标准点积。

推荐收录,因为文章提供了对点积两种定义的严格等价证明,内容深入且逻辑严密,具有长期参考价值。适合需要巩固线性代数基础的计算机科学学生、研究人员或工程师,可迁移到图形学、机器学习等领域中的向量运算理解。文章不是浅层介绍,而是对核心数学概念的透彻解析。

技术文章Eli Bendersky

Plugins case study: Pluggy

这篇文章以 Pluggy 为案例,系统拆解了 Python 插件系统的关键机制:hook 的定义与实现、基于 setuptools entry points 的自动发现与注册、hook 调用的结果聚合与顺序控制,以及插件与宿主之间的 API 边界。作者还将 Pluggy 映射到“插件基础设施”的通用概念框架中,讨论它适合解决什么问题、提供了哪些额外能力,以及在何种场景下未必值得引入依赖。

推荐收录,因为文章不仅介绍了一个具体库的用法,还把它放进更通用的插件系统设计问题里分析,具有跨项目迁移价值。对于需要设计可扩展架构、理解 Python 插件生态或评估是否自研插件框架的读者,都很有参考意义。

工具笔记Eli Bendersky

Thoughts on starting new projects with LLM agents

这篇文章总结了作者在一个全新 Go 项目中使用 LLM agent 协作开发的实际经验,重点不是“让 AI 代写代码”,而是如何把 agent 纳入可维护、可审查、可迭代的工程流程。作者强调需要先用文档共同设计 API,再按小而可审查的 CL 逐步推进;同时必须保留人工深度 review、持续 refactor 和可靠测试套件,避免把实现与测试都交给 agent 形成自我强化的错误闭环。文章还讨论了为何 Go 特别适合 agent 写作与人类审查,以及这种方式不适合学习全新领域,只适合已经具备判断力的资深工程师用于提效。

推荐收录,因为它提供的是一套可迁移的 LLM 协作开发方法,而不是泛泛的使用感想。文章把设计、代码审查、提交粒度、测试策略和语言可读性串成了完整工作流,对想在真实项目中安全使用 agent 的工程师很有参考价值。

技术文章Eli Bendersky

Notes on Fourier series

这篇笔记系统梳理了傅里叶级数的基本构造:如何通过正交性推导三角傅里叶系数,函数满足何种条件时可以讨论级数收敛,以及偶/奇函数、区间有限但非周期函数的周期延拓如何简化计算。文章还进一步给出了相位形式与复指数形式的等价表达,并用 Hilbert 空间中的内积与投影解释傅里叶展开为何本质上是一次“基底分解”。 正文以一个三角波为例完整演算系数,展示了从定义、推导到实例的闭环,并明确指出该理论与傅里叶变换之间的边界。整体更偏数学基础讲解,但对信号处理、图形学、数值分析以及理解频域表示的读者具有长期参考价值。

推荐收录,因为文章不仅介绍傅里叶级数的公式,还把“系数为什么是投影”这一核心机制讲清楚,并用 Hilbert 空间视角建立了更稳固的理解框架。它对需要理解频域、正交基和函数展开的技术读者具有可迁移价值,尤其适合作为基础理论参考。

技术文章Eli Bendersky

Thoughts on WebAssembly as a stack machine

文章围绕“WebAssembly 是否算堆栈机”展开,作者认为这更多是术语争论:WASM 虽然主要通过栈完成运算,但同时提供了 locals,使其不像纯粹只能靠栈交换操作(如 dup、swap)的语言那样受限。作者用 Forth 中依赖大量 tuck/swap 的写法作对比,说明在复杂数据流下,WASM 通过命名局部变量能显著提升可读性。接着给出一个 add_to_byte 示例,比较折叠写法与线性写法,强调栈只是中间执行模型,程序员无需手工管理所有压栈出栈顺序。文章进一步通过 wasmtime 生成的 x86-64 代码说明,编译器会把重复读取同一 local 优化掉,最终代码与手写 C/汇编几乎一致。作者最后指出,WASM 对 locals 的不可别名性质让重复加载消除更容易成立,但这些结论仍依赖于没有对同一 local 的中途写入这一前提。

推荐收录,因为文章直接给出了 WASM 栈语义、locals 设计和编译后机器码的对应关系,并用真实反汇编证明了“多次读取 local 不会带来性能损失”。适合关注编程语言实现、虚拟机设计和编译优化的读者,具有较强的可迁移分析价值。