## Delta:一款优秀的 CLI 差异工具
这篇文章介绍了作者使用 **Delta** 改进代码差异查看的工作流程,Delta 是一款被认为优于标准差异查看器的 CLI 工具。经过一年的日常使用,作者分享了他的配置,详情见他的 [dotfiles](链接未提供)。
Delta 通过清晰的字符和单词高亮增强差异显示。与 Git 的集成很简单——只需配置几个命令(`git show`、`git diff` 等)即可利用 Delta 的功能。一个自定义脚本 **gd** 同时利用 Delta *和* [fzf](https://github.com/junegunn/fzf),提供一个 TUI,方便在差异之间快速导航,尤其适用于 PR 审查。
安装很简单,通常可以通过作者的 dotfiles(支持 Arch、Debian、Ubuntu 和 macOS)或通过操作系统的包管理器自动完成。一个附加功能允许 Delta 高亮显示 `ripgrep` 搜索结果。
建议观看演示视频(带有特定功能的的时间戳),以便更直观地了解工作流程。作者还暗示未来会发布一篇关于浏览和搜索 git log 的脚本的详细文章。
## ATTN/11:基于 1970 年代硬件的 Transformer
该项目成功地用 PDP-11 汇编语言实现了一个单层、单头的 Transformer,呼应了早期神经网络(如 Xortran)的精神。目标是确定一个小型的 Transformer 是否可以在 1970 年代的有限硬件上进行训练(在几小时内)。
该 Transformer 被设计用于反转数字序列,利用自注意力、位置编码和 softmax——这些是扩展基本神经网络的关键组件。尽管结构简单,序列反转仍然是一项具有挑战性的任务,需要模型学习基于索引的路由。
最初的 Fortran IV 实现速度太慢。优化包括手动调整的逐层学习率,并利用最小的定点神经网络堆栈 (NN11) 以及 Q8/Q15/Q16 精度算术。查找表取代了昂贵的超越函数。这产生了一个非常高效的模型,在 PDP-11/34A 上仅需 5.5 分钟即可收敛。
最终的二进制文件仅为 6,179 字节,可容纳在 32KB 的核心存储器内。开发得到了一个功能性 ML 框架 (Sheaf) 的帮助,用于原型设计和验证,以确保在汇编之前正确性。该项目表明,即使像 Transformer 这样复杂的模型也可以在 1970 年代可用的硬件上 realistically 实现和训练。