delphij's Chaos

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

23 Feb 2021

HP LaserJet P2055DN 的耗材数据采集

自从娃开始在家上课以来,因为每天都需要打印上课需要的资料,因此对于打印纸、硒鼓的使用显著增加了。 与打印纸不同,硒鼓的使用量不太容易直观地看出来,加上这部打印机是2009年10月26日购买的, 其耗材也越来越贵,因此能够有效地预测其耗材的预计什么时候会用完对于采购就很有参考意义了。

Read more...
14 Feb 2021

Hugo模板中的CDATA

liuf 提醒,我之前做的 Atom feed 没有输出全文,检查了一下发现自己写的 Atom 模板有点问题。

Read more...
13 Feb 2021

采用了基于 isso 的评论系统

上回书 说到从 Movable Type 搬到 Hugo 上之后, 就彻底失去了评论和 pingback 的功能。 因为现时正经写 blog 的人已经越来越少, 因此 pingback 似乎意义不太大了,但是能够收集评论反馈还是有一些意义的。

早前,Movable Type 实现的评论系统与其自身的账户系统有集成,并且还支持包括 Facebook、 Google 在内的一系列其他 OpenID 的系统。这个功能的一个好处是对于经常访问的人来说比较友好, 例如站主可以将某个 ID 设置为受信任的 ID,从而避免先审后发。

Read more...
07 Feb 2021

把 blog 从 Movable Type 迁移到了 Hugo

花了些时间把 blog 从 Movable Type 迁移到了 Hugo

说起来 Movable Type 已经用了有十七年之久了,不过 Movable Type 商业化以后便基本没有更新了, 由于它是 Perl 写的,因此我也没什么动力去持续维护。

Read more...
27 Dec 2020

FreeBSD终于换了git

FreeBSD 最近终于完成了从 subversion 到 git 的转换(其实还没算彻底完成,不过 src/ 和 doc/ 都已经完成了)。 我个人用 git 用了蛮久了,最早开始严肃地用 git 大概是2012年年底 Illumos 从 hg 换成 git 的时候的事情,当时 FreeNAS 的开发也从 subversion 迁移到了 git,后来,我们也把 FreeNAS 内嵌的 FreeBSD 的开发搬到了 git 上面。 这次迁移显著地改善了工作效率,这个主要是因为 git 在管理补丁包方面比 subversion 要强很多,例如,当时我们在 iXsystems 的工作模式是尽可能将本地的改动放回 FreeBSD,因此能够迅速在本地做,而不是问服务器要 diff 并完成合并就十分重要。另一方面,当时我们需要维护多个不同的系列,在这些系列之间做 cherry-pick 要比 subversion merge 快很多,特别是需要合并一系列变动的时候。 换用 git 之后,FreeNAS 收到的来自社区的贡献也显著增加了(毕竟在本地开个新的分支然后merge或rebase要比在本地 subversion 副本强太多了)。 Read more...
14 Dec 2020

2012 MacBook Pro散热风扇更换

最近 MacBook Pro 的风扇声音越来越大,虽然正好也想换一台 M1 的 MacBook Pro,但因为 目前暂时还没有高分屏、内存最大只有16GB、没有光驱、为了环保和减少制新增的电子垃圾 哪来那么多废话,说的直白一点,就是穷,于是研究了一下修理。 之前购买这台 MacBook Pro 的时候,友商还没有开始把所有配件都焊在主板上,因此早年拿回来第一件事就是拆开增加了内存并把硬盘换成了SSD,当年买的那一套 iFixIt 工具还是相当好用的。拆开清理了一下风扇和散热道,但观察发现噪声的主要原因并不是异物,而是风扇的轴不再稳定,查了一下显然换一个新的更便宜一些。 换的过程大致如下: 打开后盖,螺丝分类放好。这些螺丝都是十字的,使用 #00 就可以打开,注意分类。 断开电池。用塑料撬棒在电池连接器旁边轻轻撬一圈,松开后撬一下即可。 断开风扇的电源及数据线。风扇的连接器是竖直方向以摩擦力固定的,从侧面周围轻撬即可。注意不要用力过猛以免将主板上的插座一起拔下。 用 T6 把三个固定螺丝松开,取出风扇。 新的风扇放进去(寄来的风扇的线在贴纸外面,将其放到贴纸下固定,注意接口方向)拧好。 接回电池,加电测试。第一次安装时,风扇的连接器没有压紧,修正后解决。 整体耗时约15分钟。电池目测无膨胀迹象,因此未更换。外壳上的四个脚都脱胶了,这次也一并换了新的。 Read more...
28 Jul 2020

Autonomous.ai Kinn Chair 办公椅使用体验

先说结论,对此产品不是很满意。

今天 FedEx 终于将座椅送到了车库门口。由于疫情,FedEx 往往采取的是和收件人不见面的送货方式,这个椅子 的重量大约是 35.3lb(大约16公斤),加上箱子还是比较重的,故而 FedEx 没有送到需要走三步楼梯也算是可以理解。

Read more...
17 Jul 2020

Autonomous.ai LED台灯使用体验

续 前文,今天 台灯终于到货了。 这款台灯使用的是LED(使用了102颗 LED 4014),标称功率为 9W,最大亮度600流明(类似于40W左右的白炽灯泡),采用了铝合金支架。触控开关位于灯的上部。 设计方面,它采用了两枚大的内六角螺丝来固定基座与竖直杆、竖直杆与灯臂之间的连接,以及一枚较小的内六角螺丝来固定灯臂与灯体之间的连接。底座(“Desk clamp”)与竖直杆(“LED arm”)之间的连接部分需要将其插入之后拧紧侧面的固定螺丝,插入时可增加一个橡胶圈(自带)来进一步减少其移动范围,不过实际测试中,即使在把相关螺丝全部拧紧以后此支点允许的活动范围依旧偏大,导致此杆的顶部可在一0.3cm左右的范围内活动。 优缺点方面,总体上这款台灯的做工还不错,不过配合27寸显示器时,其顶部控制开关可能不太方便操作(这可以通过下面的翘板开关来绕过),此外价格稍微有些贵。 Read more...
12 Jul 2020

geli(8)的HMAC设计

读到哪算哪的先记一笔。 geli(8)在启用了数据完整性检测的时候采取的设计是将HMAC数据保存在同一扇区中,换言之它在保存数据时,物理扇区(通常是512字节)中占用了32字节来保存HMAC数据。 这样做的考虑是每个扇区可以独立地读写和验证(如果把HMAC数据保存在临近的扇区中,例如每17个扇区一组,将HMAC数据全部保存到其中一个扇区中,则HMAC数据和扇区数据可能会有不同步的问题),代价是会浪费一些存储空间。这个空间的计算如下: 假如磁盘物理上是512字节的扇区,geli提供4096字节的扇区的介质的话,我们浪费的空间是: 每个扇区可以保存 512 - 32 = 480 字节的数据 4096/480=8.533333,向上取整需要9个扇区 480*9-4096=224,即浪费掉了224个字节。 实践上,因为原本需要8个扇区存放的数据需要9个扇区来放,因此空间开销是1/9(大约11%)。 如果可以牺牲独立验证(即,一组扇区中如果有一个坏掉了就认为整组扇区都坏了,而不在意其中具体是哪个坏了),则一个潜在的替代方案是将整组的HMAC数据保存在同一个扇区内,这样一来所需的额外开销是1/16,即使用17个扇区来保存16个扇区的数据(假设扇区尺寸是512。如果扇区尺寸是4k,则是129个扇区可以保存128个扇区的数据)。 这一替代方案的优点是不改变数据扇区的尺寸,并且空间开销小一些(1/17,或1/129)。 Read more...
06 Jul 2020

打字还是一门需要长期练习的技能

我很小的时候就学了打字,在中间还有朱若愚老师的那句"平时多练练打字,比赛的时候除了可以减少自己写代码时出错的机会,还可以直接在心理上对周围的其他选手产生碾压"的加持,在上小学和初中的时候我花了不少的时间去练习,加上后来上学和工作一直都没少和键盘打交道,我一直有一种既然自己打字比大部分人的速度都要快(具体事例是以前在网上聊天吵架被人说你小子复制粘贴算什么好汉),因此指法应该没什么问题的错觉。 最近开始教娃学习指法和盲打,于是自己也拿软件重新练习了一下,才发现这个快背后是有问题的。举例来说,我的无名指因为速度通常会略慢一些,因此打字的时候经常会出现其他手指过来"帮忙"的情况,又比如我在按组合键的时候时常会有单手操作的倾向,而比较好的做法是平衡地使用双手来操作。 目前测试的结论是我对于o、q的准确度最差,此外左手小指和无名指需要加强练习。 Read more...