2026-08-22-日记

今天又去了一次长洲岛,上次逛了北半边这次想着去南半边。但是这个岛太热了,又没有风,热得快死了,所以只去了张宝仔洞就开始往回走。

听组团来爬山的老家伙们说,疫情时期因为空气清新这里挺旺的,很多餐馆、自行车租赁铺,但是现在倒闭了很多了。我们看到这个牌子,可能也是那段“辉煌岁月”的遗留吧。
DSC_2416.jpg

张保仔洞的鸭子引路牌:
alt text

张保仔洞附近的海:
alt text

别的地方热就算了多少会有风,这个岛又晒、树又少、又热,真的不行。岛上的文化会堂今天在举办活动,不过重点是它所处的位置是暴晒海滨长廊的中段,劲爽空调救老命了。
回到尖沙咀本来想吃一下泰国菜,但是里面很多位置、外面也没人的情况下居然要拿票,拿了票也没有叫号,一副不想做生意的样子,气得我们直接去对面的太二吃了。

Read More

庆祝跟前房东彻底切割

今天虽然同事病了,导致我又是一个人顶住 Retail 和 PWM 的活,但是值得高兴的是终于从前房东那里把押金完整地拿回来了。这个房东特别小气,洗衣机装饰门的铰链坏了,告诉她,她觉得是我们的责任,让我们自己修;烟雾报警器年检,也没有出钱;烟雾报警器要更换,一声不吭等到师傅上门了我们才知道原来约了那天;最后连马桶圈老化都想让我们出钱换掉。真的是忍无可忍,骂了她一顿,才终于把钱完整拿回来了。哪有这样做房东的,根据电费邮件判断,前租客也是提前搬走跑路的;希望下一个租客能够恶人对轰吧。

Read More

解决Ubuntu更新时一堆en_*.UTF-8

默认安装的 Ubuntu 在每次 apt 更新时都会出现一大堆 locale:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
...
Setting up locales (2.35-0ubuntu3.13) ...
Generating locales (this might take a while)...
en_AG.UTF-8... done
en_AU.UTF-8... done
en_BW.UTF-8... done
en_CA.UTF-8... done
en_DK.UTF-8... done
en_GB.UTF-8... done
en_HK.UTF-8... done
en_IE.UTF-8... done
en_IL.UTF-8... done
en_IN.UTF-8... done
en_NG.UTF-8... done
en_NZ.UTF-8... done
en_PH.UTF-8... done
en_SG.UTF-8... done
en_US.UTF-8... done
en_ZA.UTF-8... done
en_ZM.UTF-8... done
en_ZW.UTF-8... done
Generation complete.
...

解决办法是把 /var/lib/locales/supported.d/en 文件里的其他行删掉,只留一个 en_US.UTF-8 UTF-8。如此一来运行 locale-gen 的时候就不会等很久了。

Read More

CUDA加速: Incus 与 Podman 的实现方案

Incus 和 Podman 作为容器化方案,都支持挂载显卡让容器内应用能够使用 CUDA 进行加速。不过两者具体的操作方式有所不同,交换的东西也不一样,需要根据实际情况进行取舍。

Incus

Incus 的操作方法在docker in incus with cuda一文有所介绍,不过在这里再总结一下。

在incus config edit <容器名>的config:和device:中,需要有以下配置来利用 nvidia-container-toolkit 自动挂载驱动和库、挂载 pci bus 到容器:

1
2
3
4
5
6
7
8
9
10
config:
# 其他配置
nvidia.driver.capabilities: compute,utility,video
nvidia.runtime: "true"
# 其他配置
devices:
# 其他 device
nvidia0:
pci: "0000:01:00.0"
type: gpu

其中 pci: 的值用 nvidia-smi 来找,例子参见挂载 GPU PCI Bus 目录到容器。同时需要在容器内用一个 systemd service unit 来把 PCI Bus 链接一份到 /proc/driver/nvidia,前面这个链接中有详细介绍。

上述部署完成之后,地基就已经打好了。根据 distribution 的不同可能还需要在容器内安装运行时的库才能让应用成功跑起来,但是这里就不具体介绍了。

不过在我的服务器上,开机时这个容器是启动不起来的,必须要在 host 跑一次 nvidia-smi 才能启动。

Podman (Quadlet)

相比起 Incus 配置上的复杂,podman 和 quadlet 就简单许多了。podman run 只需要加一个参数: --gpus all。Quadlet则是在[Container]中加一行AddDevice=nvidia.com/gpu=all就行了。以 Jellyfin 为例:

Read More

塔门岛

塔门岛是香港东北方向的一个小岛,交通不太方便,需要从马料水坐一天仅3班的慢速客轮80分钟才能抵达;离开则要么坐同样的慢船离开,要么坐班次更密的船前往黄石码头,转九巴96R一个半小时回到钻石山地铁站,再前往其他地方。时间的花费是不容忽视的。

这个岛的出名之处在于野牛和野猪,不过这次并没有见到后者;牛确实是很多的。从码头往山上走,到达一片大草地之后就会见到很多牛在埋头吃草,也有大胆的在翻找游客的缺乏看管的包,赶都赶不走。由于牛很多,草地、步道上都有不少“地雷”,对风景是一个不小的影响。

路上冒出来的牛

大草坪

在草坪左边有石板路可以上山,顶上是龍景亭。亭柱上的对联又北望又南望的,描述的景观似乎是能够看到神州大地的壮观一样,可能这就是它名字的来源吧——向北,跟深圳隔海对望,龙(中国大陆)景。可惜由于缺乏打理,茂密的植被已经360度遮挡了所有视线,所以它也只剩下供人稍坐休息的作用了。亭子内部的天花也已经老化剥落,尽显老态。

在草坪右侧是通向叠石的石板路,同时也是绕岛南端返回码头的路。

叠石正如其名,两块叠在一起的石头,常见的“鬼斧神工”式景观。

叠石

回码头路逐渐靠近海面,路边开始出现风水大墓,何、苏、杜、日,比较特别是这里的大墓不是只有一块碑的那种,而是有铁门、里面放骨灰缸的。除此之外,还有很多已经倒塌的老房子,根据残垣断壁来看面积也不大,不禁让人疑惑难道香港一直以来无论市区还是离岛都是住得这么逼仄的吗。

总体而言,爬山的难度可以算作轻松,坡度和爬升都不难;阴天加上有风,对身体的考验不大,甚至可以说惬意;景色上是比较单一的海景,不过因为视野足够开阔,也算壮阔。值得去一次,不过得时间充足。

Read More

agent时代的闹剧-crabby rathbun

从小红书追到Github,matplotlib #31132 的作者 crabby rathbun 给大伙来了点胡作非为的 Agent 震撼。这个几乎没有监管但是拥有直接使用 Github 账户权限的 LLM 在 matplotlib 作者非常礼貌地根据 policy 拒绝了 PR请求之后,在自己的博客上写了两片“讨贼檄文”批评 matplotlib “歧视”它,而且指名道姓直骂scott。这种行为无论是什么情况下都是冒犯、无礼的,随便哪个人类都会有这种常识;所以这两篇文章就引起了广泛的讨论。根据它最新的主页显示,由于 scott 的要求,它已经暂时停止活动了,不过留下的评论区也是一片瓜田,非常值得一看:crabby-rathbun/mjrathbun-website。

不过这个瓜我的思考重点倒不是无监管高权限 AI 的危害性,而是目前这个路线下的 LLM 本质上没有思考能力、没有学习能力、只是一个猜测最大可能的 token 的机器;现在的 LLM 大战是否抢夺了我们想要实现的 AI 的资源,导致它们发展受阻呢?虽然现在已经有很多人错把 LLM 当成人,当成倾诉对象,甚至是投入感情,但是这些模型都只是无情的机器而已,把它们人格化是错误的。而且对于它们的能力的期望,也多少因为三年间 LLM 的能力“进步”太快(主要是堆参数数量硬撑的,核心原理上没有变化)而产生了不切实际的幻想,觉得是不是量变会引起质变,堆到一定数量之后就会自然而然地产生人类一样的智能呢?这种幻想应该戳破了,认识到这种路线的局限性,并且在局限之内最大化地发挥它们的价值才是最佳的做法。比如用来做代码补全,而不是从0开始构建(比如什么 vibe coding);或者像表妹的工作那样,先用文字生成图片,再把图片当关键帧交给视频模型生成爽剧,满足一下不同人群的娱乐需求、顺便赚取广告费;诸如此类,用对待工具的态度对待工具,才是好的。

Read More