delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

27 Sep 2025

持续血糖监测15天总结

免责声明 这是一篇关于个人经历的个人记录,本人没有受过相关培训,本文并非提供任何医疗建议。本文提及的信息我会尽量列出引用来源,但对于这些信息的准确性不负任何责任。对于医疗、相关法规的任何问题,请咨询专业人士。

根据CDC的统计数据, 全美十八岁以上接近一半的人口有糖尿病(占比11.6%)或前期糖尿病(占比38.0%),属于非常常见的疾病。 在亚裔人口中比较常见的是二型糖尿病,其特点是身体无法有效利用胰岛素(「胰岛素抵抗」),导致血糖在血液中累积, 从而引起血糖水平增加。 与低血糖不同,血糖水平升高通常不会立即导致特别明显的症状,但长期高血糖会损害眼睛、肾脏、神经和心脏等重要器官, 增加心脏病和血管疾病的风险。与直接致死的那类疾病不同,我认为糖尿病的可怕之处在于,它可能导致失明、或因反复感染造成肢体坏死等后果,这些都会在生命末期给患者带来巨大的长期痛苦。 因此,有必须采取措施避免出现糖尿病,或是尽量把它拖到人生比较末端的位置。

几年前我在体检中发现了血糖偏高的问题,除了服用药物和一些生活习惯的改变之外, 也增加了每隔一段时间抽血检查糖化血红蛋白水平来观察病情。与反映抽血当时血糖水平的空腹血糖不同, 糖化血红蛋白(A1c) 反映的是红细胞生命周期内的血浆葡萄糖平均浓度水平,因此美国糖尿病协会将其占比作为诊断糖尿病的一项标准

继续阅读… (本文约 3521 字,阅读大致需要 8 分钟)
23 Sep 2025

git submodule 与 subtree 的异同

前几天有小伙伴在整理某个代码仓库的时候,希望把仓库里的代码和数据分离以便于管理。 由于他使用的是 git,所以很快大语言模型便引导他用上了包括 filter-repo 在内的一系列禁术, 其间就有了一段关于是应该使用 git submodule 还是 git subtree 的讨论。

先说我的结论,对于绝大多数人,特别是已经动了重写历史这种念头的人来说, 理想的选择是 git submodule。

继续阅读… (本文约 1857 字,阅读大致需要 4 分钟)
30 Aug 2025

改善大量重复内容文件的 tarball 压缩效率

有时,我们会希望分发包含大量重复文件的 tarball。绝大多数情况下,tarball 都会进行压缩, 进行适当的预处理有助于显著地提高压缩效率。

数据压缩的基本原理是利用数据中的冗余,通过更短的编码或规则表示重复或可预测的内容, 从而减少存储或传输所需的空间。简单的例子中,比如连续重复的字符「AAAAAA」可以表达为「6A」, 然而,当重复数据分布在较长范围内时,压缩算法很难直接发现和利用这些远距离的关联, 因为需要额外记录位置或匹配信息,这种匹配开销很大,做的话会严重影响压缩速度并且可能收益不高。 对于文本文件来说,其中的许多内容会高频率地出现,而如果一个 tarball 中包括数个内容一样的大型二进制文件,压缩算法很难有效地检测并对他们进行正确的处理。

继续阅读… (本文约 658 字,阅读大致需要 2 分钟)
14 Jul 2025

捞女游戏 / 情感反诈模拟器 第三章

随着年龄的增长,我已经不怎么正经玩游戏了,不过由于独立日这段时间有两个星期只有我自己在家, 加上最近在 YouTube 上看到了游戏中第三章男女主酒吧对手戏的片段感觉制作相当不错, 所以在 Steam 上买了一份。

情感反诈模拟器(原名「捞女游戏」)是一款真人互动式影游, 其剧情画面是活的演员预先录制而非即时渲染。 这种形式有点类似于九十年代出现的互动式DVD(DVDi), 不过看起来分支可以比那时复杂许多,甚至可以加入一些业务逻辑。 这个游戏本身看起来是用 Electron 实现的,对代码做了少许混淆(bytenode),在运行过程中大部分时间实际上是在播放影像。 早期版本曾经可以直接在游戏启动器(使用的是明文的 JavaScript)中暴力注入一段启用远程调试的代码, 从而用一个单独的浏览器就可以调试游戏了,后来更新的版本中游戏制作者将入口堵住了🤣。 不过,这个游戏吸引我的并不是它采用的技术,所以关于技术的讨论到此为止。

以下内容可能包含剧透,并且可能涉及不适合未成年人观看的内容,请仔细斟酌是否要继续阅读。

以下内容可能包含剧透,并且可能涉及不适合未成年人观看的内容,请仔细斟酌是否要继续阅读。

以下内容可能包含剧透,并且可能涉及不适合未成年人观看的内容,请仔细斟酌是否要继续阅读。

继续阅读… (本文约 17325 字,阅读大致需要 35 分钟)
21 Jun 2025

Postmortem: 关于 xzutil 后门事件的一些事后复盘

说明:这是关于北美时间2024年3月28日披露的 xzutil 后门事件的一些事后复盘。 关于漏洞本身的一些更为详细的背景和细节以及其发现过程, 在 Bryan CantrillAndres Freund 的这次 访谈 中有相当详尽的说明。由于漏洞并非我们发现,在此便不再赘述漏洞本身的细节。

值得庆幸的是,我们有足够的理由认为这次事件中 FreeBSD 并没有受到影响,但这里有相当大的运气的成分, 整体而言,我们的流程并非无懈可击,因此有必要进行一些总结。

背景

自称叫「Jia Tan」的开发者花费了两年的时间逐渐取得了上游社区的信任,并最终成为了 xzutils 的维护者。

攻击者在 2024 年 2 月 23 日在源代码中的一处二进制文件中放置了后门,并随后发布了 xz 5.6.0。 攻击者发布的源代码包中,以巧妙地方式增加了激活后门的脚本。值得注意的是,这些脚本从未进入过 xzutils 的 Git 代码库,因此躲过了包括 FreeBSD 在内的开发者进行的日常代码审计(值得说明的是,由于这些脚本通常是自动生成的, 体积庞大且随 autoconf 等工具的版本变化很大,因此其内容审计难度较大。比较稳妥的做法是从人类易读的 autoconf 文件中重新生成这些脚本)。

由于后门代码最初版本的 bug,攻击者在接下来的两周时间进一步对后门进行了修补以增加其发现的难度。

主要的 Linux 发行版,包括 Debian 和 RedHat,均在其开发版本中跟进了这些变动。 由于 systemd 的插件设计,这些变动导致后门被插入到了这些 Linux 发行版中的 sshd 服务中。 由于后门引入了一系列计算密集的代码,人们逐渐注意到了一些奇怪的性能问题。

最终,PostgreSQL 开发者,就职于微软公司的 Andres Freund 在经过了一段时间的性能追踪之后, 正式确认了 xzutils 后门的存在,并立即通知了主流发行版的安全团队。

我本人也在第一时间收到了通知。当时是太平洋时间的中午,我没有携带解密所需的密钥, 但由于这一讨论相当热烈,加上邮件标题并不加密,因此我大概知道了发生了什么事。

继续阅读… (本文约 1525 字,阅读大致需要 4 分钟)
21 May 2025

再见, sirius (2010-2025)

delphij.net 搬到美国之后,一直是在大河的 FMT-1 的 sirius.delphij.net 上运行的。 这台机器是 iXsystems 组装,于2010年5月20日上线的,采用 Intel Xeon L5630 处理器, Supermicro X8STi 主板,当时配了24GB内存,4块1.5TB硬盘,后将硬盘替换成了3块2TB+ 1个SSD。

继续阅读… (本文约 279 字,阅读大致需要 1 分钟)
25 Apr 2025

购买二手硬件的一些人生经验

以往我是不直接在 eBay 上购买二手硬件(这不包括美国比较常见的「翻新refurbished」硬件, 这类卖家往往是比较专业的回收处理机构)的,原因是购买此类硬件多少有点像拆盲盒: 二手硬件的质量往往缺乏统一且一致的标准,并且通常只提供较短的退货窗口。

不过 上回书 说到我收了一台二手的 Dell R740 服务器,既然选择了消费降级索性一降到底试试看买二手内存和存储。

继续阅读… (本文约 1654 字,阅读大致需要 4 分钟)
26 Mar 2025

Debrand Dell Vxrail E560

最近从张师傅那里获得了一台来自政府换新时拍卖的二手 Dell VxRail E560, 这是 Dell/EMC 「超融合」概念的机器,实际硬件和 Dell PowerEdge R640 是一样的。

由于我并不需要使用 VxRail E560 系列增加的一系列 VMWare 功能, 将其变回 PowerEdge R640 可以让管理员获得更多的对于固件的控制。 这里记录一下过程。

继续阅读… (本文约 231 字,阅读大致需要 1 分钟)
12 Feb 2025

C++ 中的 main 定义

新的 C++ 标准中 不允许给 main 指定 linkage-specification 了。

当然,考虑到原本 main() 也是 C 运行环境在开始运行程序的时候调用的, 而 C 运行环境自然也预期 C linkage,即不按照 C++ 的习惯对符号根据参数增加名字前缀, 因此大部分编译器在遇到 C++ 程序定义全局 main() 的时候也会按照习惯采取 C linkage 方式去翻译。这一规则首先被 GCC 采纳,随后 LLVM 也跟进了。

继续阅读… (本文约 383 字,阅读大致需要 1 分钟)
13 Jan 2025

【公告】关于 woodpecker.org.cn 网站已经停止维护的说明

转载自 khsing 今天在 python-cn 发表的公告。 我本人早年也曾经参与过啄木鸟社区的维护,在此特别声明,我与现在的这个 woodpecker.org.cn 没有任何关系。 除此之外,本人之前在啄木鸟社区发表的内容采用的是 CC BY-NC-SA 1.0 许可,从未授权商业使用, 本人保留在法律许可范围内向目前域名的所有者,以及在美国境内为其提供网络服务的供应商进行追索的权力。

继续阅读… (本文约 539 字,阅读大致需要 2 分钟)