博客

Framework Laptop 13 AMD 锐龙 7 7840U 版本

阅读时长:18 分钟

Framework 笔记本虽然目前还未在中国大陆境内销售,但依然有不少人通过新闻或者视频了解过。提到 Framework,很多人的第一印象也许是“模块化”1,不过 Framework 自己标榜的产品设计理念主要是可维修、可客制化、以及可升级。一开始,Framework 笔记本用的全是英特尔酷睿处理器;在等待了两年后,Framework 终于推出了我心念已久的 AMD 锐龙版本,我遂购买了一台搭载锐龙 7 7840U 的 Framework Laptop 13,在 2023 年 11 月收到货后一直使用至今,直到现在终于有时间可以记录一下我的使用体验了。 ……

在搭载苹果 ARM 芯片的 Mac 和 Asahi Linux 之上安装 Gentoo

阅读时长:15 分钟

我还记得在苹果刚发布基于自家 ARM 芯片的 Mac 的时候,有人猜测一场变革将就此在桌面计算领域展开。当时在 Reddit 上就有一名 GNU/Linux 用户声称,各大 GNU/Linux 发行版应重视起潜在的 x86-64 转到 ARM64 的趋势、未雨绸缪、采取行动,以免跟不上时代的潮流。但持此类观点的用户可能不知道的是,得益于高级语言的可移植性,构成 GNU/Linux 的常见软件包其实已经兼容 ARM64 很长时间了。而苹果发布的这些基于自家的高性能 ARM 芯片的 Mac,不但不一定会对 GNU/Linux 造成威胁,反而可能给后者提供了一个更宽阔的舞台供其发挥。在 Asahi Linux 项目开发者的努力下,我们可以在搭载苹果芯片的 Mac 上运行 GNU/Linux,充分压榨苹果芯片的性能。 ……

在 Hugo 模板中使用新功能并兼顾向后兼容性

更新时间: 阅读时长:7 分钟

在最近发布的 Hugo v0.109.0 中,页面对象新增了一个 .Ancestors 变量,可以用来方便地实现面包屑导航的模板。光是通过对比此次更新前后 Hugo 文档中给的面包屑模板例子,就可以看出这个变量的作用了:有了它,面包屑就不需要通过递归调用辅助模板(即下面例子中的 breadcrumbnav)来生成了,代码简洁明了了不少。(为便于阅读,以下代码的格式被重新整理过) ……

MC Forge Mod 开发记录:加入配置界面(1.16 版)

阅读时长:11 分钟

在本系列博客的第一篇文章中,我介绍了如何在 Minecraft 1.14.4 及以上版本之上给 Minecraft Forge mod 做一个配置界面,即使是在 Forge 里原有的配置界面框架被删除、并且核心开发成员已经决定再也不会把它加回来的情况下。Forge 项目领导者 LexManos 如此冷酷无情地否定 @Cadiboo 耗费多于一年的心血才做出的劳动成果,仅凭几句话就随意地关闭前面链接里的 pull request,让我感到非常失望和心寒。除了对 Minecraft Forge 项目的主要成员又多了一份不满以外,这件事也让我明确了一项新的责任和使命,那就是继续维护这种开发 mod 配置界面的方法,确保它在最新的 Minecraft Forge 版本上仍然可用。在与一名 mod 开发者、本系列博客的一名读者、同时也是我所毕业的高中的一名学生 @yuesha-yc 交流后,我意识到了对于 Minecraft Forge 这样一个官方文档聊胜于无的平台来说,我这些关于 Forge mod 开发的文章对于 mod 开发者们来说就如同雪中送炭,所以我也会竭尽全力,继续分享我关于 Forge mod 开发的经验和知识,为广大开发者提供帮助。 ……

通过 Portage 打补丁以修复上游软件 Bug

阅读时长:11 分钟

如果您经常关注与自由软件相关的一手资讯,您肯定或多或少地读到过某款软件的 bug 最近被修复、或者某款软件有了什么新功能和改进的新闻,然后发现这些 bug 修复和新功能在一段时间内无非就是空气,因为实际收到包含这些修复或者改进的新版本的时候往往可能已经过了很长时间。当一个修复 bug 或者添加新功能的补丁被完成后,需要先提交给上游开发者进行审核、测试和整合,然后要等上游发布下个版本的时候才能正式生效,最后还要等您的发行版将新的上游版本添加到发行版自己的软件仓库,您才能收到包含该 bug 修复或新功能的更新。比如说,我们假设可能在今年 3 月发布的 GNOME 40 里包含一项 bug 修复。如果您使用的是 Fedora Workstation,您需要等到大概 4 月底,Fedora 34 推出的时候才能收到这项 bug 修复。如果是 Gentoo 的话,那我估计起码得等到今年下半年了,因为最近几次 GNOME 更新,Gentoo 都是在上游推出新版本之后过了将近半年才推送给用户的。 ……

MC Forge Mod 开发记录:升级到 Minecraft 1.16

更新时间: 阅读时长:11 分钟

Minecraft Forge 支持 Minecraft 1.16 已经有相当长一段时间了。1.16.x 系列的第一个稳定版本 34.1.0 早在 2020 年 9 月,也就是我这个系列上一篇关于我的 mod 的更新的文章发布不久后,就已经出了。其实在我准备更新 mod 期间,Forge 的 1.16 支持就已经比较成熟了,所以我当时就在考虑要不要在更新时顺带把 mod 移植到 1.16 上。但是,经过艰苦的尝试,我发现当时 Forge 附带的 MCP 反编译出的 Minecraft 代码中依然有许多没完全反混淆的方法名称,遂感觉 Forge 对 1.16 的支持仍然不够完善,于是决定暂不把 mod 移植到 1.16。 后来,我看到 Forge 出了第一个 1.16 的稳定版后,就将其下载了下来,看了看之前没反混淆的那些方法的名字有没有给改过来。结果是令人十分失望的:所有原来没反混淆的名字,一个都没有变。这样一个在我看来完全算不上是一个稳定版本,Forge 就这么草草发布,贴上了“推荐”的标签,顺带还停止了 1.14.x 的支持。停止支持意味着什么呢?意味着如果您在 Forge 官方论坛发帖求助,并且您用的是一个停止支持的版本,就会有论坛管理给您扔下一句冷冰冰的“你用的版本已停止支持,请升级以继续获得支持”,然后无情地关闭您的帖子,顺手阻止了其他非管理员的论坛成员提供帮助。好家伙,发布一个未成品,还把一个稳定版本的支持结束了,就是强行让追求稳定的开发者选择 1.15.x 呗?我当时差点就要在这里写一篇檄文,点评 Forge 开发者对“稳定版”的重新定义、以及论坛管理对于有关停止支持的版本的提问的冷淡的处理态度。 ……

Gentoo 上手体验

更新时间: 阅读时长:11 分钟

自我上一篇文章发布到现在,已经过去六周时间了。各种新文章的主题和想法在我脑中迸发,把它们写下来并发布的意愿在我心中萦绕,只可惜太忙,而且忙的还是个竹篮打水一场空,只能在百忙之中匆匆把想法记录在草稿里,等有空的时候再写成正式的文章。现在终于忙完了一批活,难得短暂的清静,在可能只有写一篇文章的闲暇时间的情况下,我决定先把之前首次体验 Gentoo 的经历记录下来。Gentoo 是一个源码级 GNU/Linux 发行版,最有代表性的特点就是让用户自己编译系统的几乎所有组件,乃至于 Linux 内核也可以自己编译。 ……

MC Forge Mod 开发记录:加入配置界面

更新时间: 阅读时长:15 分钟

Minecraft Forge 本来有一个允许 mod 创建自己的配置界面的框架,但是该框架在 Minecraft 1.13 的时候被移除了,之后也一直没有被加回来。这篇文章中所记载的就是我如何在不使用该框架的情况下,直接用 Minecraft 的 API 来写一个类似的 mod 配置界面。 本文描述的方法适用于 Minecraft 1.14.4 和 1.15.x。该方法可能也适用于 Minecraft 1.13.x 和 1.14 系列的老版本,不过因为这些版本没有 Minecraft Forge 的稳定版,我并没有进行验证。一般还是推荐用稳定版的 Forge 来进行 mod 开发。 如果您使用的 Minecraft 版本是 1.16.x,请参阅此篇文章。 如果是 Minecraft 1.12.2 或者之前的版本的话,要想使用本文描述的方法,可能需要对给出的代码示例进行大量修改;但是,在这些 Minecraft 老版本上可以直接使用 Forge 的配置界面框架,所以无需依照本篇文章的描述用 Minecraft 的 API 来替代。 ……

重启个人网站

阅读时长:4 分钟

近期,我萌生了重建个人网站的想法,搞一个具有博客功能的网站,然后记录一些我使用软件和技术的经历。在接触和学习一个陌生的东西的时候,我经常在网上查阅大量的资料和教程,因为只看一两篇文章所学到的知识往往是有局限的。特别是当我在尝试用一个陌生的技术来做一件比较复杂的事情的时候,可以将这件事划分成好几个任务;网上可能没有一篇很详尽的文章描述了整件事的做法,但对于每个小任务都可以找到一篇相应的教程。所以这整套学习流程下来,我所做的所有操作的步骤都分散在了多篇不同的文章里。如果我可以自己汇总一篇教程,在一份资料里记录下我的所有操作,那想必对日后的参考的帮助是很大的。 ……

WannaCrypt 勒索软件

阅读时长:6 分钟

那是在 2017 年 5 月 12 号晚上,我母亲刚刚跟我说“看了一个汶川大地震 9 周年的视频,北川的地震废墟真是惨不忍睹”,随后给我分享了一个探访北川的视频。与此同时,我看到了一名平时在微信上与我交流比较少的同学忽然问我:“你了解比特币吗?”我当时有点儿纳闷,这名平时以打篮球、玩游戏和看《人民的名义》为爱好的同学为什么忽然对这个在中国几乎无人关注或使用的虚拟货币产生了兴趣。我对比特币也是略知一二,于是凭我对比特币有限的认知与他寒暄了几句,因为当时也很晚了,我已经准备上床睡觉了。 ……