Matthew Brunelle

RSS: https://blog.matthewbrunelle.com/rss/
关于各种项目、事件与思考的博客——共通之处是:我学到了东西,想与他人分享。

NixCon 2026 工作坊——加入 Tangled 网络

Matthew Brunelle 在 NixCon 2026 上听了 Tangled 项目开发者 Akshay Oppiliappan 的演讲,记录了他为何选择 Tangled、Tangled 用 ATProto 而非 ActivityPub/Nostr 的原因(Bluesky 带来的用户引流和身份复用),以及 Tangled 的独特功能:Jujutsu 原生支持、针对 LLM PR 垃圾的 vouch/denounce 机制。 自托管方面,Tangled 由 knot(git 服务器)、spindle(CI runner)和 AppView 三部分组成,提供 NixOS module,支持 Nixery/QEMU microVM/Docker 沙箱运行 CI,spindle 可直接使用 nixpkgs 依赖。 作者计划用 Clan 部署 knot+spindle,唯一阻塞是 Tangled 尚不支持私有仓库,预计 4-5 周后会公布。
评论点赞收藏15 小时前

NixCon 2026

NixCon 2026 在波兰克拉科夫的雅盖隆大学举办,是首次扩展到多天、含周五/周一 hack day 的会议。NixOS 基金会上会披露了财务与治理:2025 年 NixCon 占支出 35%,主要靠 opencollective 捐赠;基金会获得 AWS 续期一年缓存经费,另收到 30 万美元企业联合资助(迄今最大单笔),并起草了定向团队资助提案。 Ron Efroni 强调 Nix 的学习曲线是阶梯函数而非线性,"Nixvana"概念引起作者共鸣。Steering Committee 坦承过去一年在长期规划上未达预期,承诺开放会议纪要、投票结果和赞助决策流程,并呼吁下一届 SC 真正"掌舵"而非只出席。 基础设施方面:通过 AWS 分层降低账单、新 hydra queue runner 提升构建吞吐、Mac Mini 集群迁至 Flying Circus,x86_64-darwin 因 macOS 停止支持而移除。 NGI Zero(荷兰 NLnet 牵头的欧盟公益联盟)启动了 NGI Forge 项目,为非 Nix 用户提供 npm/Python/Rust/Go 的配方式打包工具,降低上游软件打包门槛;法国政府 DINUM 正测试 NixOS 作为 Linux 发行版。
评论点赞收藏3 天前

NixOS 上的 Swap、ZRAM、Zswap 与休眠

NixOS 用户 Matthew Brunelle 分享桌面/笔记本场景下的 swap 配置实践。核心场景:想用"先挂起到内存、延迟后休眠到磁盘"(S3→S4),必须启用 swap。 他给出两套配置:桌面用 swap 分区;笔记本用 LUKS + btrfs 子卷内 swap 文件(基于 disko 模板),并指出 swap 文件对休眠的影响——initramfs 需要在文件系统挂载前知道 swap 位置,UEFI 下通过 EFI 变量记录偏移,NixOS 现已能自动处理。 最终方案极简:boot.zswap.enable=true 加 vm.swappiness=100。作者还澄清了一个踩坑:之前误把 zramSwap(即 zram)当成 Chris Down 推荐的 zswap,今年 4 月 zswap 在 NixOS 上线后才纠正。 压缩器从 lz4 换成 NixOS 默认的 zstd,理由是内存中压缩池容量比压缩速度更重要。文末坦承不知道如何科学测试 swappiness 值,征求读者建议,有明确讨论入口。
评论点赞收藏7 天前

那些你容易忽略的 Nix 配置项

作者分享使用 NixOS/Home Manager 多年后才发现的实用配置项。主要涵盖:自动时区、SSD fstrim、fwupd 固件更新、avahi mDNS 自动发现打印、蓝牙开机自启等桌面常见需求;空间管理上讲解 nix.gc / nh clean 自动清理、auto-optimise-store 硬链接去重、systemd-boot 条目上限等踩坑经验;还提到 Nix 自身参数如 max-jobs/cores、kernelPackages_latest、flakes 关闭 channel、nix registry 与 nixPath 对齐、nix-index 帮助定位未安装命令。 文末展示一个通过 EDID 强制指定显示器输出参数的"咒语"式配置,体现 Nix 声明式配置的高度灵活性。文章是个人经验向,偏桌面向 NixOS 用户,适合已经会用 Nix 的人查漏补缺。
评论点赞收藏12 天前

打造一个更好的狗狗摄像头(第1部分):用 NixOS 驱动树莓派

<p>我先说,这部分在我进行第二次尝试之前是未完成的。所以把它看作是笔记的集合,而不是完整的说明书。</p><h3>在本页</h3><p>去年我写过关于.当时我用的是TP-Link Tapo摄像头,不得不专门写一节讲如何通过防火墙隔离摄像头与互联网隔离来保护它们。</p><p>我一直渴望有一个不需要这种方式的解决方案。然后Benn Jordan做了一个关于:</p><blockquote>也许你应该和家人现实地讨论一下你刚听说的风险和摄像头对你有用的概率......但如果你问我的看法,鉴于我们似乎正陷入专制主义,考虑到网络安全的悲惨状况,我会说,拥有科技集团的云端摄像头会让你的安全感大大降低。</blockquote><p>他还建议,如果你仍然觉得需要摄像头才能安全,可以买一台离线型号,把加密文件写入SD卡。我觉得这是一个平衡的做法。</p><p>不过我的使用场景有点不同,因为我不想在外面装摄像头,也不想保护我的房子。我想要在我不在时有狗摄像头,方便我年迈的狗狗在屋里查看。<br><br>比如有一次我们抓到她在屋里拉屎。所以我很遗憾需要一个可以远程访问的摄像头。我想要的是一个摄像头,不用设置防火墙,不用开专用VLAN,也不需要阻止DNS等等。</p><hr><h2>第一次尝试:用RPi手卷相机</h2><p>归根结底,狗用相机不过是一台带摄像头的小电脑。如果我自己做一个,就能避免相机打电话回家。我自负地想,“这有多难呢?”</p><p>我想用普通零件组装一个东西。即使价格上涨,树莓派依然相当实惠。我也很幸运附近有一家Micr…</p>
评论点赞收藏15 天前

波士顿10公里赛后复盘:少训练反而跑得更快

Matthew Brunelle跑波士顿BAA 10公里比赛,用更少训练量反而表现更好,49分04秒完成。他把恢复日列为优先级,每周只做2次力量训练,比往年少跑但感觉更充分。 比赛天气完美,后半程加速打出负分割。他计划用这场作为冲刺铁人三项前的B赛。
评论点赞收藏20 天前

Google突然恢复收录了我的博客

博主博客被Google停止索引9个月后,Google突然恢复收录。他分享了后台数据:Google只占搜索流量的15%,DuckDuckGo、Kagi等隐私搜索引擎合计占75%——原因是Google不索引后,他把站注册到了Kagi smallweb、等平台。 结论:坚持写高质量内容比讨好Google更重要。
评论点赞收藏22 天前

Gboard的Rambler正在篡改你的语音输入意图

Gboard的Rambler语音转文字功能会擅自改写用户输入,把笔记指令当成命令执行。实测中把"Provide citations"改写为"Please provide citations for this information",甚至凭空添加了"(Smith, 2023)"这样的引用。 语音输入"Calculate and mention how long I've been running GrapheneOS"后,Rambler编造了"about two years"的时长。该功能运行在无法查看的系统提示词之上,没有预览或对比选项。 作者转而使用FUTO键盘的语音输入作为替代方案。
评论点赞收藏28 天前

多亏GrapheneOS,我意外退出了智能通知

GrapheneOS用户通过源头关闭通知权限,替代了Google的AI智能通知功能。 过去一年逐步关闭促销、新闻、社交等通知类别,最终只保留日历提醒和人际消息。 相比委托AI分类,从源头切断更能保持对手机使用的主动性。Google的Pause Point功能承认部分应用具有成瘾性,但手动管理比依赖AI更可控。 Pixel 10/11的RAM配置变化也值得关注。
评论点赞收藏45 天前

所谓"Agent 工程",不过是你们一直没做好的软件工程

Agentic engineering 热潮背后其实是老生常谈:写文档、开 issue、写测试、做 code review——这些软件工程基本实践,团队一直因时间压力而跳过。 作者的核心判断是:AI agent 没有人类在复杂情境中的"metis"(实践智慧),所以如果你们公司的软件工程本身就很混乱,加上 AI 也救不了。
评论点赞收藏49 天前

用对抗性互操作把PS4版P5R的NG+存档转到Steam

有人把PS4版《女神异闻录5 皇家版》的NG+存档解密后转换到Steam版继续游玩,全程使用免费开源工具完成。先用Garlic Saves网站解密PS4存档,再用fiber-saveutil Python脚本转换格式,最后手动替换Steam的存档文件即可。
评论点赞收藏52 天前

YouTube 推出新机制鼓励观众连续追看

YouTube 与头部频道合作将旧视频打包成长达2小时的"马拉松"内容,并推出 Stations 和 Shows 功能,把播放列表变成连续播放流或带季集结构的点播内容,目的是让用户更长时间留在平台。 作者认为这是利益冲突——推荐系统为 YouTube 商业利益服务,却伪装成用户福利。文章分享了 Unhook、DeArrow、FreeTube、LibreTube 等 FOSS 工具来屏蔽推荐货架和点击诱饵,以及用 RSS 订阅替代 YouTube 原生订阅的个人防御策略。
评论点赞收藏54 天前

Thundermail、Tuta 与对 Lavabit 的回忆

回顾 Lavabit 历史,对比当前 Tuta 和 Thundermail 等加密邮件服务。探讨个人选择对隐私生态的影响,适合关注数据安全和替代方案的读者参考。
评论点赞收藏82 天前

尝试使用 OpenCode 以避免被 Claude Code 锁定

作者认为模型提供商可能降低用户体验,因此重新运行使用 OpenCode 和 Kimi K2.6 的实验,以摆脱对 Claude Code 的依赖。 这反映了 FOSS 工具在对抗厂商锁定方面的价值。 作者通过实际案例展示了开源替代方案的可行性,适合关注 AI 工具链自主权的开发者参考。
评论点赞收藏153 天前

用编程辅助工具复活那些你原本打算放弃的项目

作者利用 Claude Code 等 AI 编程助手,完成了之前因忙碌而搁置的个人项目。通过将 YouTube Music 接入 OpenSubsonic API,作者展示了如何快速构建一个音乐流媒体桥接服务。 文章详细记录了从环境配置、提示词工程到解决具体技术细节的全过程,包括处理 API 规范和调试客户端连接。作者认为这类项目属于“愿望实现”,适合用 AI 辅助完成,但强调仍需保留一部分挑战性项目以维持技术成长。
评论点赞收藏158 天前

Claude Code 的使用体验正在恶化

作者指出 Claude Code 在过去两个月里用户体验持续下降,特别是在 Opus 4.7 版本发布后,问题变得尤为明显。 这是一篇关于主流 AI 编程工具负面体验的一手观察。 这类针对热门工具的批评性回顾容易引发社区共鸣和讨论,特别是对于正在使用该工具的用户。
评论点赞收藏166 天前

日常使用 GrapheneOS:8.4 个月后复盘

作者分享使用 GrapheneOS 八个月后的深度体验。包括精简应用分类、替换 Google 服务为 FOSS 替代品的具体踩坑记录,以及对 RCS 修复、跨 SIM 通话等系统更新的观察。 提到 GrapheneOS 与 Motorola 合作推出非 Pixel 设备的消息,认为这对保持 Android 开放和 FOSS 生态是重要一步。
评论点赞收藏212 天前

GrapheneOS 上的备份与恢复体验

作者分享了在 GrapheneOS 上进行数据备份和恢复的实际体验,表示该功能已大幅改善并在关键时刻派上用场。 对于关注隐私安全和 Android 定制 ROM 的用户来说,这是一份有价值的实操参考。
评论点赞收藏212 天前

你好 Walter!在 ESP32 上学习 Rust

作者使用带有 LTE-M 和 GPS 的 ESP32-S3 模块 Walter 进行 BeaconDB 无线信号探测实验。 目前已在该硬件上成功配置并运行了 Embassy 软件栈,实现了完整的开发环境搭建。
评论点赞收藏214 天前

我差点有一次良好的谷歌支持体验

作者分享了一次与谷歌客服互动的经历,波士顿实体店员工表现良好,但整体支持体系在 Pixel 9 Pro Fold 损坏后表现糟糕。 文章批评了谷歌支持服务的不稳定性,反映了消费者对大厂售后服务的普遍不满。
评论点赞收藏219 天前

登录芦苇

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