Development

重建了 IPv6 隧道

之前 提到我换了一家ISP。这家ISP目前尚未提供IPv6服务,因此想要用IPv6的话就需要自己动手。 此前也有一些其他朋友问过我关于为什么一定要有 IPv6,毕竟 狼来了 的故事已经讲了这么多年, 而且 十几年前 IPv4 的中央地址池其实就已经用完了,只是在工业界抱残守缺^H^H^H^H食古不化^H^H^H^H我也不知道该管这种行为叫什么, 总之苟延残喘了十几年依然没有把服务迁移到 IPv6 上去,所以目前用 IPv6 往往也只是满足一下一些技术宅的恶趣味, 例如看 kame.net 那只能动的海龟之类。

当然,我自己用 IPv6 有一些更加现实的动力,比如我的一些服务是只在 IPv6 上提供的,这样做可以把那些做的不好的客户端直接排除在外, 有点类似于在当年我把网站的 TLSv1.2 和更早版本的 TLS/SSL 支持全都砍掉一样。

话说回来,由于新的 ISP 出于一些我不理解的原因死活不愿意支持 ping (唯一可能的解释是,这样做会导致扫描起来容易不少,毕竟扫描 IPv4 地址段比扫描 IPv6 地址段要容易太多了, 但安全不能建立在别人不知道的基础上,anyway,打电话、开票之后未能解决该问题),而大河的隧道服务又要求必须可以 ping 到终点,于是陷入了死循环。

阅读全文…( 本文约 3164 字,阅读大致需要 7 分钟 )

记录一下之前对 fsck_msdosfs(8) 的改进

疫情之前,娃在周末会去某个才艺班,上课的时间我觉得实在是比较无聊, 于是就带上笔记本坐在星巴克做一些较小规模的代码清理工作。 最终,我利用这些碎块化的时间完成了对 FreeBSDfsck_msdosfs(8) 的核心代码的算法进行了改进,使其需要的内存用量变成了原先的 11281 \over 128, 这里稍微记一下当时的一些思路。

阅读全文…( 本文约 3370 字,阅读大致需要 7 分钟 )

线上重做 FreeBSD GPT 引导分区

记一笔。

我现在这台服务器已经用了蛮久(超过10年)了,刚刚安装的时候还是 FreeBSD 8.1 RC,一路升级到 FreeBSD 12.2。 前段时间因为工作比较忙,一直没顾上把它升级到 FreeBSD 13.0,今天总算是找了点时间来做升级。

总体上这次升级比预想的还要平稳一些,由于 FreeBSD 13.0 和 12.2 的内核接口变化不大,因此我也没按照正规的做法, 即升级内核、重启第一次、etcupdate、installworld,重启第二次、delete-old/delete-old-libs,而是在 installkernel 之后直接做了 etcupdate 和 installworld。

阅读全文…( 本文约 2401 字,阅读大致需要 5 分钟 )

本地 git 的 partial clone

partial clone 是 git 的一项旨在减少空间和网络带宽占用的特性。 它会跳过下载那些可能不会用到的 git 对象,而是仅仅在需要时才去下载。对于网络延迟较低且带宽不愁的用户来说, 这样做往往会节省掉不少不必要的磁盘空间占用,而代价是可能失去离线访问的能力。除此之外,有些操作, 例如 git blame 或者 git log -p 很可能会需要与服务器交互,从而会变得略慢一些。

比较有用的场景是在使用某些历史比较久,或是对文件整体替换较多,而大部分情况下只关注最新版本的代码库。 与较早的 --depth 1 相比,partial clone的优点在于想要访问历史时仍然可以像正常的clone一样访问。

阅读全文…( 本文约 783 字,阅读大致需要 2 分钟 )

如何:禁止 mate-panel 用鼠标中键关闭窗口

就纯作弊条地记一笔,原软件是 GPL 授权的,并不想去补。

ThinkPad 的触摸板有3个按钮,分别对应鼠标的左中右三键。由于中键位置的原因,在按左或右键的时候很容易不小心碰到。

另一方面,在 MATE 的任务栏上按中键的对应行为是关闭窗口,我不知道这个主意是谁想出来的, 不过基本上 *nix 系统上各种奇怪且不一致的设定是一种常态了。不过,在被这么搞了两次关掉了不该关的窗口之后, 这个问题成功地引起了我的注意。

搜索了一圈,发现人们竟然建议就直接把鼠标中键在 Xorg 里面彻底禁用,这算什么解决方法……

阅读全文…( 本文约 386 字,阅读大致需要 1 分钟 )

把 blog 从 Movable Type 迁移到了 Hugo

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

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

阅读全文…( 本文约 1146 字,阅读大致需要 3 分钟 )

修复 MySQL 编码问题

| Development | #MySQL | #database | #encoding | #UTF-8

有个疑似 OCD 患者最近抽风升级了一下 MySQL 数据库,然后发现 blog 里面全都变成了乱码。

那乱码的模式一看就是把 utf8 直接扔进了 latin1 的数据库,一看 SHOW CREATE TABLE mt_entry 发现果然如此。

阅读全文…( 本文约 265 字,阅读大致需要 1 分钟 )

FreeBSD基金会收到史上最大一笔捐款

| Development

WhatsApp CEO及创始人 Jan Koum 宣布捐出一百万美元给 FreeBSD基金会。这是 FreeBSD 基金会成立十五年以来收到的 最大一笔捐款

阅读全文…( 本文约 250 字,阅读大致需要 1 分钟 )

Google Compute Engine

| Development

📜 历史文件已不具备现实意义

本文描述的是当时的 Google Compute Engine 行为,并未随时代更新,内容已过时。

初步尝试了一下 Google Compute Engine(G社类似 Amazon EC2的产品,基于 Linux/KVM)。确认 FreeBSD 可用(在家里用qemu建一个image出来,装好,然后打包扔到 Google 的系统上,然后用这个包建一个image,再用image起个instance)。

阅读全文…( 本文约 1090 字,阅读大致需要 3 分钟 )

基于Asrock C2750D4I的全加密存储

去年第四季度的时候,在网上看到 华擎科技 推出了一款基于 Intel Atom C2750 SoC 的主板, Asrock C2750D4I,感觉很赞,于是立即和华擎科技取得了联系(当时这款主板还没进入量产),并着手开始了测试等工作。这张主板的重要特色包括:

此处强行插入一条广告: 我厂 目前这一代的 FreeNAS Mini 采用了这张主板,组装好的产品可以通过 Amazon 购买,我厂每年都会将一部分利润捐给 FreeBSD 基金会,如果先 在 smile.amazon.com 注册支持 FreeBSD 基金会,并使用前述链接, Amazon 公司还会再捐出 0.5% 的金额给 FreeBSD 基金会

目前这张主板已经进入了量产阶段,因此也可以从其他零售渠道获得相关组件自行组装。

阅读全文…( 本文约 1384 字,阅读大致需要 3 分钟 )