给软件开发者准备的优质简报,每日阅读 10分钟。
Swift is a more convenient Rust (2023)
Swift 是更便捷的 Rust
- 核心特性趋同:Rust 和 Swift 均通过所有权机制实现无垃圾回收的内存管理,具备函数式语言特性(标签枚举、模式匹配、一等函数)和强大的泛型系统,且都基于 LLVM 可编译为原生代码和 WASM。
- 设计视角对立:Rust 采用"自底向上"视角,默认强调性能与显式控制,内存模型以"移动"和"借用"为核心;Swift 采用"自顶向下"视角,默认使用值类型和写时复制(
Cow)提供易用性,开发者可按需深入底层使用unsafe和原始指针。 - 语法糖策略:Swift 用熟悉的 C 语法包装高级概念——将模式匹配命名为
switch(实为表达式且无 fallthrough)、用T?替代Option<T>、用do-catch替代try-catch,同时编译器自动处理Some/Ok包装,降低学习门槛。 - 编译器自动化程度更高:处理自引用枚举时,Swift 只需标记
indirect关键字即可自动管理内存,而 Rust 需显式使用Box等类型封装;Swift 可直接对枚举类型定义方法。 - 务实与渐进式设计:Swift 为兼容 Objective-C 采用了更务实的路线,内置类与继承、async-await、Actor、属性包装器、Result Builder 等特性,但遵循"渐进式披露"原则——语言复杂度随学习深入逐步展现。
- 跨平台与生态现状:Swift 已支持 Windows(用于 Arc 浏览器)、Linux 服务器及嵌入式设备(如 Playdate),Foundation 框架已移植开源;但编译时间长、功能膨胀、包生态不及 Rust 丰富。两者取舍不同:Rust 默认更快(适合系统编程),Swift 默认更易用(适合 UI 与服务端开发)。
Automatic Programming
自动编程:人类主导的AI辅助软件开发
- 概念本质区分:自动编程是程序员运用直觉、设计和持续引导来指导AI的全过程深度参与;vibe coding则是不参与其中,仅用笼统术语描述需求,让LLM根据训练数据和随机采样自由生成第一个想法/设计/代码,程序员只报告不工作或不符预期的情况
- 人类引导的多层参与:从"怎么做"的高层设计到具体函数的编写方式,程序员都可介入指导,确保产出严格遵循自己的软件愿景,而"做什么"同样是过程的基本组成部分
- 代码归属权的正当性:预训练数据由人类产生,RL也有重要权重,这是我们留给彼此的集体礼物,让个体能完成原本无法做到的事,因此我们有权将AI生成的代码视为自己的成果
- vibe coding 的合理定位:虽缺乏对过程的深入理解,但它民主化了软件生产,让更多人能够参与软件开发,同样具有存在价值
- 编程自动化的真正边界:编程本身正在自动化,但创意、愿景和ideas仍未被自动化——Redis的成功不是因为技术新颖(初期只是基础数据结构和网络代码的集合),而是源于独特的理念与愿景
- 身份认同与自豪感:作者作为程序员使用自动编程,强调"我的代码、我的产出、我的作品",认为程序员可以为此感到骄傲
Netbird – Open Source Zero Trust Networking
开源零信任网络平台 NetBird
- NetBird 是一款基于 WireGuard® 的开源零信任网络访问平台,采用软件定义网络(SDN)架构,可在 5 分钟内快速部署,实现设备间的加密连接,无需复杂防火墙配置
- 核心功能包括:安全远程访问(最小权限控制)、零配置部署、无缝 SSO 单点登录与多因素认证、动态设备姿态检查、集中化网络管理、详细操作日志记录,以及自定义 DNS 区域等
- 支持跨平台运行于 Linux、Windows、macOS、移动设备、Docker 容器和路由器,基础设施无关,可实现跨云和本地环境的无缝连接
- 企业级安全集成能力强:支持 Okta、Microsoft、Google、Azure 等主流身份提供商,提供 MDM/EDR 解决方案对接,可将事件实时流传输至 SIEM 平台
- 采用 BSD-3 许可证开源,允许用户审查代码并自托管,同时提供 NetBird Cloud 云服务及 MSP 门户解决方案,客户包括 Kubermatic、Zerodha、netgo、Select Technology Group 等全球企业,用户评价其"显著简化了网络管理的复杂性"
Outsourcing thinking
外包思考的批判性审视
- 作者针对Andy Masley的"认知总量谬误"提出修正:同意无需担忧思维总量枯竭,但反对"思考内容无关紧要"的推论;即便机器可代劳某些认知任务,人类仍需保留特定心智活动以维护自主性、成长机会及决策能力
- 在个人沟通与写作领域,使用LLMs的问题不仅在于私密场景的欺骗性,更涉及一切需展现真实自我的交流;语言选择与句式本身承载意义,外包表达违背沟通双方的信任期待,并剥夺个人发现自身声音的机会;工具设计缺陷使"帮助"与"替代"之间的界限过于模糊
- 以爵士乐即兴演奏的学习过程为例,说明隐性知识和直觉需通过反复练习、刻意记忆来积累;将记忆和知识获取外包会破坏学习本身不可或缺的认知过程,因为我们更接近机器学习模型而非计算机——模仿与内化的过程无法简单分离
- 作者强烈反驳"扩展心智"理论,指出大脑神经过程与外部设备运算存在本质区别;让机器替代记住朋友生日或发送祝福,消解了维系人际关系所需的情感投入和意识活动,两者不可相提并论
- 作者批评主要LLM服务商将聊天机器人用于规划假期、组织派对、撰写私人祝福等温馨场景的趋势,认为这反映了现代生活将一切活动都视为待完成任务的倾向,技术便利不应成为逃避生活体验本身价值的借口
- 文章最终呼吁社会在效率与价值观之间寻求平衡,承认自动化可能带来的损失,强调技术应用应服务于而非取代人性的核心体验,迫使我们直面关于人性和价值观的本质问题
In praise of –dry-run
赞美 dry-run 选项
- 作者开发了一个报表生成应用程序,每天定时检查并生成新报表,功能包括从数据库读取数据、应用业务逻辑生成报表、压缩文件、上传到sftp服务器、检查并解析错误响应、发送通知邮件,生成的文件会根据处理阶段移动到不同目录
- 作者借鉴Subversion等Linux命令的做法,在项目早期就添加了--dry-run选项,该功能只打印将要执行的操作而不进行实际修改,在整个开发过程中几乎每天都会使用
- --dry-run的核心优势在于安全性——可以随时运行而不必担心造成实际后果,能够快速验证配置是否正确、系统是否可访问以及状态是否符合预期,特别是在修改日期参数后能立即验证程序行为,无需等待耗时的完整报表生成过程
- 这种方式的缺点是会稍微污染代码,需要在各主要阶段检查该标志的状态,但检查不会深入到实际生成报表的核心逻辑中,只需判断是否需要调用该功能
- --dry-run最适合通过命令触发、可能产生变更的应用程序,而不适合等待消息才采取行动的响应式应用程序
- 作者认为提前添加该功能是明智的选择,可以在开发更多功能的过程中持续获得收益,虽然它并非适用于所有场景,但在适合的情况下非常有价值
What I learned building an opinionated and minimal coding agent
构建"极简主义"编程助手pi的实践经验
- 四大核心组件架构:构建了统一的LLM API(pi-ai)支持多提供商接入与上下文迁移、基于事件流的代理循环核心(pi-agent-core)、采用保留模式与差分渲染的终端UI框架(pi-tui),以及集成会话管理与项目上下文的完整CLI工具(pi-coding-agent)
- 极简工具集与设计约束:系统提示词与工具定义总共不到1000 token,仅提供read、write、edit、bash四个核心工具,明确拒绝MCP、后台bash、子代理、待办事项和计划模式等功能,认为这些会增加上下文开销而非提升效果
- 跨模型上下文传递机制:支持会话中无缝切换不同提供商模型,Anthropic的思考痕迹会以
<thinking>标签形式转换传递,上下文可序列化为JSON格式存储,实现"最佳努力"的跨提供商迁移 - 差分渲染的TUI实现:采用保留模式UI架构,组件缓存渲染结果,仅重绘变化的屏幕区域,配合同步输出转义序列实现原子化更新,在现代终端中几乎无闪烁
- YOLO模式与安全哲学:默认赋予代理无限制的文件系统和命令执行权限,认为现有安全措施多为"剧场式防护",真正的安全应依赖容器隔离而非应用层限制
- Terminal-Bench 2.0基准验证:使用Claude Opus 4.5的极简配置在测试中取得靠前排名,证明精简提示词与基础工具集即可实现与复杂系统相当的任务完成能力
Peerweb: Decentralized website hosting via WebTorrent
PeerWeb - 基于 WebTorrent 的去中心化网站托管平台
- 去中心化架构:利用 WebTorrent 技术实现点对点网站分发,无需中心服务器,具备抗审查能力,无单点故障,全球自动分发
- 便捷上传访问:拖拽上传网站文件夹,系统自动生成唯一 PeerWeb 链接;支持通过 hash 加载现有网站(自动添加磁力链接前缀和追踪器)
- 灵活托管方式:浏览器标签页保持打开即可参与托管,或通过桌面客户端(Windows/macOS/Linux)实现永久托管
- 多层安全防护:DOMPurify 消毒处理所有 HTML 内容并移除恶意代码,网站在沙箱 iframe 环境中隔离执行
- 智能缓存机制:已访问网站缓存至 IndexedDB 实现跨会话即时加载,缓存 7 天后自动清理;支持调试模式(添加 &debug=true 参数)
- 技术要求:网站必须包含 index.html 文件,所有资源使用相对路径,仅支持静态内容(HTML、CSS、JS、图片等),建议响应式设计
FOSDEM 2026 – Open-Source Conference in Brussels – Day#1 Recap
FOSDEM 2026——开源、数字主权与欧洲的未来
- FOSDEM 2026明确聚焦数字主权议题,自托管解决方案、开源基础设施和社区驱动软件成为核心讨论内容,标志着从"便利优先"向"控制、透明与韧性优先"的范式转变,FreeBSD等项目持续证明长期开放治理系统的可靠性。
- 大会重点展示了多个创新项目:Hyacinthe的FlipFlap演示呈现了DN42去中心化社区网络的实践;SmolBSD展示了精简、可审计系统设计的战略价值;BoxyBSD则通过提供免费邀请码降低学习门槛,赋能下一代开源贡献者。
- 作者的行程安排展现了从底层到社区运营系统的清晰脉络:Rust-VMM探讨内存安全虚拟化技术;Garage S3 Best Practices分享对象存储的运维实践;Kubernetes中虚拟机迁移展现混合编排模式;SmolBSD和FlipFlap分别强调精简设计与去中心化网络的价值。
- 大会面临规模增长的深层挑战:作为全球最大开源会议,过于拥挤的空间正在削弱其开放性和自发性;数字主权讨论的紧迫性给小众项目空间带来压力,如何在扩大规模的同时保持可访问性和自发性成为关键议题。
- Mozilla免费饼干活动和Michael Meeks关于Collabora Online的精彩演讲成为大会亮点,前者以有趣的方式促进交流,后者以深入浅出的方式呈现开源办公套件的技术挑战与长期维护努力,展现了FOSDEM独特的社区魅力。
- 亲临现场的核心价值在于无法被替代的人际连接:与各国朋友即时交流思想、分享感受的体验超越了单纯的内容获取,这也是作者虽考虑过观看直播但仍选择亲临现场的根本原因。
VisualJJ – Jujutsu in Visual Studio Code
VisualJJ – Visual Studio Code 中的 Jujutsu 版本控制可视化插件
- 专为 Visual Studio Code 设计的扩展,基于 Jujutsu 和 Git 提供交互式可视化变更树,帮助开发者清晰追踪代码历史、安全编辑提交并提升发布信心
- 提供直观的变基操作,支持拖拽调整提交顺序,附带智能引导确保历史整洁,即使在繁忙主分支上也可轻松变基
- 支持延后冲突处理,将冲突显示在变更树中,保留草稿状态,支持分步解决和随时回退,避免工作流程中断
- 无缝集成 GitHub,可在编辑器内追踪拉取请求状态并快速创建 PR,实现从草稿到合并的流畅操作
- 兼容多种开发环境,包括 VS Code、Cursor、Antigravity 和 Windsurf,提供一键安装选项
- 用户评价积极,被誉为“直观的版本控制工具”和“必备神器”,能充分发挥 Jujutsu 版本控制系统的强大功能
The Book of PF, 4th edition
《PF之书》第四版:OpenBSD防火墙权威指南
- 由挪威DevOps顾问Peter N. M. Hansteen撰写,于2026年1月出版,共248页,ISBN 9781718504707,是PF防火墙的经典权威指南
- 第四版全面更新PF最新特性,涵盖IPv6、双栈配置、"队列和优先级"流量整形系统、NAT与重定向、无线网络、反垃圾邮件、故障切换及日志监控等内容
- 详细指导创建适用于IPv4和IPv6的规则集,覆盖简单局域网、NAT后网络、DMZ、桥接及广域网络等各种场景的网络流量控制
- 深入讲解无线网络配置与安全加固方法,包括使用authpf进行用户认证及实施特殊访问限制机制
- 介绍如何通过CARP、relayd和重定向技术提升网络灵活性和服务可用性,构建自适应防火墙主动防御攻击者
- 涵盖OpenBSD流量整形系统、FreeBSD的ALTQ和Dummynet配置,以及NetFlow等监控可视化工具;支持OpenBSD 7.x、FreeBSD 14.x和NetBSD 10.x平台
Adventure Game Studio: OSS software for creating adventure games
Adventure Game Studio (AGS) 简介
- 一款用于创建图形化点击式冒险游戏的免费开源独立软件,基于Windows的集成开发环境集成了图形导入、脚本编写和游戏测试功能
- 制作的游戏支持多平台发布,包括Linux、iOS和Android系统,适合不同技能水平的开发者使用
- 平台收录数千款免费及商业游戏,代表作品包括获奖的《Kathy Rain》(5项AGS奖)和《Urban Witch Story》(6项AGS奖)
- 社区活跃度高,官方论坛提供技术支持,同时运营Discord服务器和Facebook群组便于交流
- 定期举办MAGS月度游戏创作竞赛、MAGGIES年度游戏评选及Sprite Jam等活动促进创作
- 由志愿者团队运营维护,接受捐赠以支持服务器成本和社区活动开支,当前版本为3.6.2 Patch 6
MicroPythonOS graphical operating system delivers Android-like user experience
MicroPythonOS:基于MicroPython的类Android图形操作系统
- 纯Python实现的创新架构:MicroPythonOS完全使用MicroPython编写,其核心是一个处理硬件初始化、多任务和UI的精简层,系统功能如WiFi配置、OTA更新等均作为独立应用程序运行,这种设计在嵌入式操作系统中极为独特
- 跨平台兼容能力:主要支持ESP32微控制器和Raspberry Pi RP2350,同时可运行于Windows、Linux和macOS,便于应用开发和评估测试
- 类移动端用户体验:基于LVGL图形库,提供类似Android/iOS的触摸界面,支持手势识别、丰富小组件和主题定制,配备应用商店和OTA无线更新功能,启动速度快且资源占用少
- 预装应用生态:系统预装启动器、WiFi配置、应用商店、系统更新和设置五款核心应用;应用商店提供照相机、图像查看器、IMU传感器数据可视化等示例应用,源代码均开放获取
- 广泛的应用场景:硬件支持涵盖WiFi、蓝牙、运动传感器、摄像头、触摸屏、GPIO、I2C等接口,可用于智能家居控制器、教育工具、机器人、可穿戴设备及DIY原型项目