背景Linux QQ 的设备码识别机制中包含了本地所有网卡的 MAC 地址,如果网卡的 MAC 地址发生变化,那么设备码也会发生变化,导致需要重新扫码登录。 不幸的是,如果你本地存在虚拟网络设备,或您经常插拔网卡,那么 QQ 获取到的...
对 Rust 中的错误链(Error Chain)的简要了解
缘起在开发中,我有通过 log 记录 Error 的习惯,然而某次查看 log 中的 Error 时,发现: 1error: IO error in winapi call 这样的错误信息显然并不是非常有用,追溯发现该错误来自于 w...
测试“六度分隔理论”在开往中的表现
你听说过“六度分隔理论”吗?六度分隔理论是一个观点,认为所有人之间通过不超过六层的社交联系就可以相互联系。因此,可以通过一系列的“朋友的朋友”的声明来连接任何两个人,最多不超过六步。
利用 GitHub Actions 处理 Pull Request 的细节
缘起在处理 ArcticLampyrid/action-wait-for-workflow#171 时,发现 Pull Request 事件中拿到的 GITHUB_SHA 是个奇怪的值,于是决定深入了解一下 GitHub A...
使用 DKMS 来 Patch Linux 内核模块
缘起为了便于调教某些代码,前阵子咱投入了 Arch Linux 娘 的怀抱。然而非常遗憾的是,Legion Y9000X 2022 IAH7 的扬声器拒绝了来自 Linux 的爱意。 在上一篇博文中,我们通过修改内核配方解决了这个问题...
修复 Legion Y9000X 2022 IAH7 内置扬声器在 Linux 下无声音的问题
对于拯救者 Y9000X 2022 用户,在安装 sof-firmware 后,尽管内置麦克风工作正常,但无法通过内置扬声器播放声音。本文尝试简单修补 Linux 内核,以避免残缺 ACPI 表带来的参数缺失,正确驱动 CS35L4L 音频放大器。
简介 C++ 的 #include 检查工具 IWYU
缘起前段时间试图给 CMake 贡献代码(MR #9348),在 CI 中遇到了一个没有见过的 C++ 代码检查工具 Include What You Use (IWYU) 的报错,故仔细研究了一下这个工具。 什么是 IWYU顾名思义...
Arch Linux 安装笔记(LUKS2 + Secure Boot + TPM + PIN)
注意事项这篇文章不是教程,仅仅用于记录我在安装 Arch Linux 时的一些配置过程,以实现某种意义上的“可重现性”。您不应该直接复制粘贴这里的内容,而应该根据自己的需求和环境进行调整。 由于 Arch Linux 的更新速度较快,...
使用带启动 PIN 的 BitLocker
基本概念 BitLocker:Windows 自带的磁盘加密工具,对全分区数据进行加密,可以防止任何人在没有密钥的情况下访问数据。 TPM:Trusted Platform Module,受信任的平台模块。与 BitLocker 配合...
在 VS2022 中编辑 .NET 4.0 项目
问题试图打开一个 old-style 的 .NET 4.0 项目(远古遗迹)时,VS2022 提示需要安装 .NET Framework 4.0 开发工具包,但是 4.0 并没有现代的 .NET SDK 安装程序。