2026-09-29 14:03:00
对于我而言, 这是另外一个Aha时刻. 18个月前, 当我第一次开始用Claude Code的时候有这样的感觉. 而今天早上当我在电车上, 在手机上让deepseek harness(后面简称为dsh)帮我去改一段代码, 然后切app去读书, 一会儿后回到浏览器, 发现活已经干完了. 这个感觉就是很开心.
首先说下dsh是什么, 以及广义上harness是什么. harness(直译是挽具)是用来让人能更好地和LLM协作的外围工具. 从最宽泛的意义上讲, 你在和AI对话的时候, 已经使用过挽具了. 比如, 你在和AI对话的时候, 一般的聊天窗口都会把所有已有的聊天记录全部发到LLM, 这样LLM才能更好地在一定上下文下跟你好好说话. 这个把所有已有对话记录全部一次性合并起来发给LLM, 当然也可以被认为是挽具的一种. 对于软件工程而言, harness有更多的意义. 比如harness去硬盘上读了一段代码后发给LLM, 同时附上适当的提示词, 让LLM可以继续跟去下一个文件或者去执行某个命令等等. 这些都不属于LLM的直接范畴(就好比不是马身体的一部分), 但是对于结果来说又是很重要的. 配了好的挽具, 牛马才能多快好省地干活, 为资本家创造价值. 而在软件工程上, 配了更好的harness, 你的LLM才能更好地发挥自己的作用: 省token, 并生成出更好的代码. deepseek harness顾名思义, 就是deepseek家出的harness. 八月中发布以后我也一直在使用.
我为什么会看好dsh呢? 因为它太hackable了! 手上一个相对较新的dsh安装, 里面有28个会话层面的插件, 还有165个核心层面的插件. 比如会话层面的插件有叫tool-subagent, 有叫tool-todo, 还有叫tool-web; 而核心层面的插件比如session-title, settings-file, storage, tool-bash, skill, goal等等. 你所能想到的功能都被实现成了插件, 这也意味着, 至少在理论上, 你可以替换掉所有这些组件的功能, 意即, 你可以用非常低的成本来定制dsh的行为. 说个具体的例子, 我希望我的dsh里面主界面上应该只有一个聊天窗口, 不绑定任何workspace, 我可以在里面下达命令, 然后就会有一个LLM来判断我的意图, 并启用另外一个agent在某个合适的目录里开始这个工作, 并在需要我介入的时候找我. 这个东西如果我要在claude code里面实现, 大概率只有把claude code包起来. 但是在dsh里面, 几个prompt之后, 这个功能就出来了. 又比如, 我实际上只有Codex的订阅, 没办法直接接入到dsh, 于是装了一个插件就实现了codex auth.
接下来开始重头戏, 我是怎么样在手机上跑dsh的. 首先, 要让dsh直接在手机上运行没有任何意义, 因为dsh很可能会执行编译, 测试或者运行其他系统命令的工作. 在一个iPhone的沙盒里面, 这些都很难做到. 所以, 我们会需要让dsh跑在一台服务器上, 而且更重要的, 我们要确认这个dsh能够被安全地访问.
服务器方面, 我用了一台Oracle Cloud里的免费服务器, 4核心, 24G内存, 100G硬盘, 服务器运行在悉尼, 访问速度挺不错. 对于一个免费服务而言, 挺物超所值的(就不要钱!). 顺便说下, 现在注册Oracle账号要薅羊毛, 注意要用Pay as you go, 否则会和我一样, 重试API请求一整晚都排不到空闲机器.
然后是服务器管理, 我用的是自己相对比较熟悉的Ansible. 之前我维护我的VPS也都是用这样的模式. ssh连上去, 然后用Ansible来初始化并保证配置收敛. 好处在于某天如果服务器故障, 我可以起一台新的, 在Cloudflare里面改一下域名到IP的映射, 然后一切如旧. 缺点是配置收敛有时候需要靠习惯. 比如今天早上是我正式远程使用这个解决方案的第一天, 路上发现服务器上没装golang, 我通过ish连上了服务器, 安装了这些包, 但是我回头得记得改Ansible, 把golang的安装加到服务器初始化的配置里面去.
接下来是相对比较困难的部分了, 你如何保证这个服务是安全的? 如果你就直接打开服务, 暴露到公网, 那么有恶意用户访问的时候, 直接就有了这台服务器的远程命令执行权限. 我们可以依赖HTTPS+basic auth的形式来保证这个安装的安全, 但是这样在网络层面上仍然是有攻击点的. 所以, 我采用的方案是使用ZeroTier, 我也用这个服务有一段时间了, 目前很满意. 比如, 我上个月在香港转机的时候, 要使用OpenAI时发现被地域限制了, 当时就是通过ZeroTier提供的内网IP来ssh起socks代理来解决的.
使用了ZeroTier后, 虽然这台机器本身有公网IP, DSH本身只监听服务器本机, 再由入口层限制只有ZeroTier网段内的设备可以访问. 我可以在连上ZeroTier的前提下, 用一个类似172.16.35.45的内网IP来访问dsh了. 但是显然把这个IP绑到一个域名会更好, 反正我自己有一个域名, 加一个子域名也就是几分钟的事情, 所以就顺手添加了. 另外需要指出的是, 服务器上安装ZeroTier启动后加入指定的网络时, 会需要在ZeroTier的界面里允许这台新服务器加入网络.
到这个时候, 我们的服务器安全已经做好了网络层面的防护, 只有被信任的设备可以访问这个dsh服务. 在应用层面, dsh本身还提供了一层防护, 启动dsh进程后, 标准输出里面会带上一个类似token的URL, 如果直接访问dsh的服务而不带上这个token, 会被认为是非法访问. 所以安全防护来说, 我们在外部访问层面的防护已经差不多了. 但是, 这只是防护工作的一半. 和传统的应用不一样, 对于LLM应用, 我们不仅要防外部入侵者, 也需要防范随时可能发疯的LLM.
接下来是系统层面的隔离. 我没有打算把dsh关在一个容器里面, 因为这台服务器已经被我视为一个不安全的边界了, 在里面增加一层docker只会让AI和系统有更多的摩擦, 在核心能力上, 没有特别大的收益(至少和可能的摩擦比). 但是, 我还是可以把这个dsh进程关在一个不能登录的用户(dsh)里面. 这个在Linux下实现起来很简单. 而且一个额外的好处是, 我可以更好地限制这个用户能获得到的Github权限. 我在这台服务器上安装dsh, 一定会在上面有比较多的代码层面的交互. 为此, 我如何限制这台机器不能做我能在github上的所有操作, 就很重要. 推荐的办法是用一个github app, 给这个repo有限的权限(只能对特定的repo去pull/push等), 然后将这个app的相关认证密钥信息交给这台机器的另外一个用户, 并且通过不同用户的隔离来实现dsh用户能够按需获得有一个小时生命周期的token, 能够去做它需要做的事情, 但是没法去做限定范围外的操作. 在最坏的情况下, dsh用户可以获得这个app的全部权限, 但是其能造成的不良影响仍相对有限.
折腾完这些后, 还有一些额外的小功能需要折腾. 前面提到了, 我需要使用Codex Auth, 所以需要在新服务器上登录一次. 又比如, 我需要改变dsh的默认行为, 让访问dsh时使用的域名不是localhost的时候, 也能有所有的功能(而不是所有配置存在内存, 刷新页面就失效), 官方没有这个功能, 自己让LLM写插件也就几分钟的事情. 最后, 默认的dsh网页没有对手机端做任何优化, 这也是需要修的.
做完了所有这些, 我终于可以在电车上让LLM好好写代码了. 最棒的事情是, 所有的事情都是远程完成的, 不依赖任何客户端的连接. 不管你在干啥, 只要任务已经派发出去, LLM就会在服务器端孜孜不倦地干活.
2026-09-25 17:13:00
这个月在微信读书里读完了一些不知所谓的网络小说(CS之神和奇锋录), 正在读吴晗写的朱元璋传.
游戏来说, 接着上个月的进展, 刷完了丝之歌的绝大部分成就(剩一个纯收集向的True Hunter懒得去刷了, 懒得再用钢魂爬一次无名村庄). 三十个小时的速刷成就, 钢魂通过成就和蘑菇先生结局都是在同一个save里完成的, 当然自不必说我用了很多S&L. 以至于后面都是直接在一个bash session里面加上了alias:
alias restore='rm -rf 105248233 && tar xfz 105248233.tgz && open -a "Hollow Knight Silksong.app"'
alias backup='tar cfz 105248233.tgz 105248233'
另外也还捡起来Darkest Dungeon来玩. 得到了一些游戏设计上的想法. 我发现对比这些游戏的数值设计很有意思. 比如伤害计算, 比如如何让暴击感觉更有意义(而不是像Diablo3里面暴击变成毫无意义的). 比如如何让少量的数值增加可以有更明显的效果等. 对于不同的游戏类型, 需要有不同的数值设计. 但是这个游戏给我的纯粹也就只是启迪而不是乐趣了, 因为后面的很多战斗比较重复, 甚至刷关卡的时候会睡着.
电影电视方面, 首先是一两个月后, 我终于在Netflix上看完了费马料理. 除了有几句台词有记忆点, 其余的都没啥了. 莫名其妙地把数学和料理结合起来, 导致里面的不少人物都不真实, 感觉不是一个好主意. 然后是两部电影, 大佛普拉斯和穿普拉达的魔鬼2. 前者还不错, 有风格也有故事, 后者更多是在强行卖阵容了, 剧情比较胡乱.
这个月除了在做个人项目以外, 重点在玩deepseek-harness. 我本身对给他奠基的那篇论文并没有特别感冒, 并不认为它解决了什么实际的问题, 但是deepseek本身提供的hackability让我很开心. 比如, 很多其他harness里面的一些你没法自定义的组件, 都可以按自己的方式来定义, 感觉就是脱离了IDE的世界而进入了neovim. 比如, 你如果有Codex的订阅, 你想在Claude里去使用这样的API, 那么显然对不起, 你得去找多少不那么靠谱的中转站. 又比如, 你想去自定义一下对于执行命令的白名单, 你也可以不用太依赖harness给你提供的预制选项.
突然想起来要听牛群冯巩的相声了, 这是在磁带机年代就陪伴着我的声音. 于是从网上找到一个比较全的, 晚上跑步的时候边跑边听. 但是回头看, 这些相声的品质真不怎么样. 比如我当年很喜欢的亚运之最, 回头来看都是吹捧和宣扬, 没多大意思, 其他很多表演在当年看起来就兴致昂扬, 现在看起来就是无比尴尬. 我觉得, 唯二可能能超脱那个时代的是小偷公司和冒号. 这两段都是很好的讽刺. 小偷公司里面前面是铺垫, 捧哏, 最后落到官僚主义上面来, 有一点点生硬, 但是仍属于正常过渡. 后一个段子里的领导冒号在那个时代可以算是家喻户晓了, 不过新一代的观众对这些可能都没听说过. 也无妨, 时代在前进.
八月底回武汉的旅途里做了很多编辑修订润色的工作, 算是把这部小说写完了. 可以在这儿读到, 有什么反馈欢迎给我邮件. 初衷就只是写完了忘川后, 想再把里面的人利用一下, 谈不上说要构造一个universe, 只是觉得, 这四大高手再加上韩玒, 肯定还会有些其他的故事. 于是看着当时的那些大事, 写了这篇. 南宋是一个很奇妙的历史时期, 历史课本上往往就从北宋建国的那些澎湃的烛影斧声快进到了末年的大厦将倾, 最多政治经济上提一下王安石和欧阳修, 我总感觉对不起那个时代的璀璨群星们.
2026-08-30 12:19:00
这个月在微信上读完三本书, 一本好, 两本差. 好的一本是顾随讲苏东坡, 如果是实体书, 应该是很薄的一本小册子, 不过全是文言文, 所以一共花了两个多小时才读完. 讲得的确很出色, 对苏东坡的批评和赏析也很到位. 比如, 这首洞仙歌我小时候肯定读过, 能够重新回味和欣赏是很不错的体验:
水殿风来暗香满。 起来携素手,庭户无声,时见疏星渡河汉。
我自己没觉得这首词的其他句子特别出彩, 不过这两句是真不错. 前一句写夏夜的风, 不仅有味道, 连祛暑的凉意都带来了一些. 后一句就像素描一样, 而且还有视角的变化, 就好像电影推长镜头一样. 作为一个纯文本的创作, 真厉害.
第二本是回味了两章大唐双龙传(徐子陵学真言, 杨公宝库)后跑去读日月当空. 这本实在应该算是大唐双龙传的DLC, 感觉就是一个一入场就是入微境界的项少龙的故事, 平衡性很差. 最后一本是比较水的小猫不语, 只是一味地爱你, 这本短到我都不能说我是等飞机时读完的, 而应该说是登机排队时就读完了. 也挺水, 不值得读.
游戏来说, 这个月重新捡起丝之歌来刷成就, 目前照着攻略和这个视频攻略刷完了5小时通关的成就(三个多小时完成), 只记得在Groal那边死成狗, 不断S&L才算是过关, 后面打高庭的时候实在扛不住, 于是花了点时间去Mount Fay拿到二段跳, 还刷了蟑螂内脏拿到尖刺工具才算是通过. 后面开始跟着这个攻略刷钢魂模式100%通关, 现在就等着完成一些收集任务后去开Act 3了. 特别强调, 这次通关流程里面, Groal是一次过的, 很开心(当然也有其他死成狗的地方, 比如First Sinner).
临时有事回了趟武汉, 很幸运地刷了一圈自己想吃的东西, 包括: 莲蓬, 菱角, 茭白, 鸡毛菜, 龙须酥, 老四川牛肉干, 豆皮, 面窝, 糊米酒, 烧梅等等, 很多都是只有在武汉才能吃到的. 另外去医院检查身体和洗牙的时候发现, 国内技术进步到让人觉得不适了: 我常年在澳大利亚生活, 没有国内这些医院的门诊病历了. 去就诊排号的时候, 我本以为还会买一个病历然后填些个人信息, 结果收费员让我直接刷脸, 就正确得出了我的姓名, 真厉害也真恐怖.
这个月受邀担任了墨大学生社团举办的黑客马拉松导师, 几次去墨大给这些学生答疑. 这个hackathon的网站在这儿. 几点小想法:
OpenAI家的这个产品在上个月发布了, 但是我的个人账号到接近月底才被灰度. 相比于之前一代, 这次进化让我觉得提升很明显, 包括:
2026-07-27 07:35:00
这个月在微信读书上读完了四本书, 都一般, 没特别出彩. 最好的一本是漫画分镜头表现教程, 看这本的原因是下个月开头组织的一个Game Day里面大家都会用AI来去生成一些多媒体内容(漫画, 视频等), 这本书能够提供一些分镜头方面的知识储备. 而且这本书算是超出期待, 在于不光演示了正确地画法, 而且还演示了如果不这样做会怎么样. 第二本是金圣叹选评杜诗, 作为金圣叹的粉丝, 我本来对这本有比较高的期待, 但是他所选取的杜诗没让我领略到杜甫的好. 倒是附录里的一句歪诗让我印象很深刻: “子美篇篇老, 陶潜顿顿饥”. 剩下两本都是技术相关, 一本是汉语写的Claude Code实战: Harness工程之道, 这本书比较有意思的地方在于没读到多少AI味, 但是不少技术细节有些缺漏, 看不明白作者的深浅. 最后一本是更像是工具书的Three.js权威指南, 这本书虽然是人写的, 但是更像是AI的输出一般, 一味堆材料, 没有起伏, 比较无味.
游戏来说, 这个月无聊重新捡起暗黑三, 用死灵又玩了一遍150层大秘境. 总共大概也就花了十几个小时吧. 整个游戏最好玩的部分是刚刚到70到能速刷T16的部分. 后面的冲层真的挺无聊, 就是按部就班地升级宝石, 给身上的装备打卡, 然后能速刷120后就可以试着冲150了, 一千巅峰就差不多够了. 而且真正抓的时候很多时候是在撕票, 就很没意思. 最好玩的那个部分玩家能明显地感觉到提升感, 而一千巅峰后的提升就很不明显了.
有了AI之后, 我越来越懒, 配置文件的管理都是交给AI来更改了. 这个月也是在AI的帮助下, 解决了一个困扰了我数个月的小故障.
问题是这样的: 我在使用kitty这个终端模拟器的时候, 本地的日常操作都很正常, 但是连到一台远程由coder管理的devbox的时候, 经常ascii码会错乱, 比如复制内容的时候会带上ascii控制字符, Ctrl-C/Ctrl-D无效等等. 往往都是得关Tab来断开连接. 我一般是多个tab操作, 与此同时, 我devbox上的Claude Code进程里的输出却完全没问题.
如果你认为我说得比较模糊, 那么你完全正确, 因为真实世界就是可能有很多个因素会导致某个结果, 但是在你排除了其他各种原因前, 所有的原因都是混杂到一起的, 就像你在观察一个量子系统前, 系统的态矢量不会坍缩到某个确定的本征态一样. 对于这样一个系统, 可能有影响的因素有:
我对ps1有点信心, 因为这个软件的ascii控制字符我很仔细地调校过, 而且这么多个版本都没出故障. 然后, 当然一开始要怀疑自己的代码了, 而且最近有rust的第三方库更新. 我让AI帮我审核了一遍, 答复说应该没问题.
然后我认为是kitty版本的问题, 我记得之前从0.45.0升级到0.46.0的时候发现了这个问题, 当时回退到0.45.0就正常了, 所以我当时猜测是kitty版本导致了问题. 后来发现0.45.0也能触发这个故障, 于是排除了这个可能.
因为claude code里面的输出都完全正常, 所以我猜测是不是ssh control master导致了这个故障, 两个ssh会话共享一个连接时, 是不是有些内容错乱的问题? 虽然这样的想法很玄幻(因为openssh如果有这种bug, 早应该被修好了), 但是我还是认真地测试了下, 发现control master完全关闭后也还是有一样的乱码情况.
为此, claude开始指导我, 让我用下面这样的代码来运行kitty, 这样能够捕获所有输入输出流:
kitty --dump-bytes=/tmp/kitty-dump.bin --dump-commands > /tmp/kitty-commands.log 2>&1
AI当然会犯错, 比如它看到我的prompt里面有一个分支名叫kaix/dynamic⁁ess, 信誓旦旦地告诉我, 这就是是kitty跨窗口串台的证据, 其实这是我自己写的ps1代码里对过长分支名做截断显示的正常逻辑(用⁁作为截断标记), 并不是bug.
下一个发现是, 我在devbox上尝试重现问题的时候, 发现我在我自己的Home里面随便操作, 没导致问题, 而一旦我进入了我们公司的monorepo, 就有问题了. AI指导我操作了一圈, 还是没发现具体的问题.
这个时候, 我开始问AI, 为啥系统自带的Terminal做这些操作都一切正常, 而当我用kitty的时候就会有故障呢? 这个时候, 我发现了另外一个线索, 因为我在kitty下已经习惯了用Cmd+K来执行清屏操作(映射到clear_terminal reset active), 而这可能是导致后面出乱码的直接原因, 而Apple Terminal我用得很少, 在里面也是缩手缩脚, 肯定不会有这个肌肉记忆来帮我清屏, 所以一切正常. 让AI进一步帮我分析了一下, 果然. 问题是我本地有清屏, 但是这个操作并没有把任何操作指令发到远程服务器上去, 因此两边会不同步. 为了验证这个猜想, 我慢悠悠地在Home下执行了一次ls, 然后Cmd+K清屏, 然后再ls, 此时复制的结果就出问题了, 类似^[[200~bin/git-misc^[[201~. 而且, 这个粘贴结果只有在当前这个被reset过的session里是这样, 贴到kitty其他的tab都是正常的.
知道了问题的原因, 修起来就容易多了, 我们不应该那么粗暴地重置状态, 按照AI推荐的这个组合就好很多了:
map cmd+k combine : clear_terminal scrollback active : clear_terminal to_cursor active : send_text normal,application \x0c
这样长是因为我的确很多时候习惯了Cmd+K清屏后跑命令, 然后Cmd+A来复制所有内容.
2026-06-28 14:38:00
这个月比较浮躁, 个人项目进展不尽如人意, 读书一般, 有不少本读了一半, 游戏玩得不少.
先说读书, 这个月读完了中岛敦的山月记. 这本书挺有意思, 作者是日本人, 但是里面的故事都是中国的人物和背景, 译者也很贴切地用了很多古汉语, 颇有以假乱真之效. 这本里面除了山月记这个进了日本学生教材的篇章外, 其余几篇也都还不错. 比如篇幅最长的故事是讲子路的生平. 大概想要表达的是子路是一个很有勇力但是内心很纯良的人, 一生追随孔子, 孔子也很喜欢这个徒弟的率真. 最后子路在一个政变中舍生取义, 临死前还不忘把地上的冠帽端正地戴好. 另一个印象深刻的寓言是对纪昌学射的扩写, 本身写得四平八稳. 中岛敦在故事里面增加了一个小细节, 纪昌百步穿杨时拉弓的胳膊上放了一杯水, 箭无虚发的同时杯中水不动分毫. 我有点猜测要么这个故事和头文字D有着共同的来源, 要么头文字D里AE86车座上的那杯水来源于这儿的中岛敦(当然也还有可能是大家都是原创了, 但我希望不是). 山月记的故事写的是唐朝末年, 一个才华横溢但是自视过高的人追求诗作而荒废了自己的家庭职责, 而后陷入自卑怯懦, 乃至离群而去, 化身为虎, 为恶一方. 而后他少年时的朋友恰好路过, 在这个虎人尚有意识的时候和他攀谈了几句, 了解了来龙去脉. 一辈一辈的日本学生都是读着这篇长大的. 这篇有一定的现实意义, 因为成篇大概是二战期间, 里面化身为虎的事例对军国主义的遗毒的清理多少有一些积极作用. 整本书回头看, 让我想起了鲁迅的故事新编, 并没有什么真正地过人之处, 只是对古早故事的一个扩写和衍发而已. 另外, 有些句子, 也是让人很有错位感, 比如下面这句
一日子路走在街上, 遇到三两旧日朋党. 他们虽说不上是无法无天, 也算是肆意放荡的侠义之辈.
这段就更像是一个日本人写出来的, 带着很重日本感的中国古代场景.
游戏的话, 主要在玩死亡细胞, 之前只是普通难度通关, 这次花时间刷刷刷后, 能够多次2BC通关了. 对于我而言, 这个游戏的优点是很上瘾, 但与此同时, 我也觉得游戏的深度不是特别够. 首先游戏的节奏感很好, 大部分关卡能够在大概十分钟内完结, 关卡中间会有一个休息室来放松. 游戏的机制也鼓励你在游戏过程中全神贯注来拿到无伤击杀的奖励. 然后是武器种类的多样化很厉害, 几十种武器, 各自有不同的手感, 触发暴击的方式也都不一样. 再接下来打击感做得像教科书, 声音动画的反馈都很到位. 主要让我不太满意的地方是武器词条里的随机性太大, 以至于很多时候我都不敢去洗词条. 再就是, 武器种类太多, 很多时候缺乏对玩家的引导, 比如我上手了某个装备试了试觉得手感不对可能就放弃了, 但是也许真的只是我不会玩而已. 比如回旋镖, 我的期待是丢出去打人, 试了第一关觉得手感不佳就没特别关注了, 偶尔拿到一个传奇级的回旋镖再逼着自己使用的时候才发现, 这个回旋镖打到怪物的时候会有一个计数器, 计数器结束之前, 如果怪物没死, 回旋镖会反复攻击同一个怪物. 这对于打boss就太友好了.
电影来说, 这个月重看了三个白痴和失恋三十三天, 现在回头才发现都是三.
顺便的, 也算是玩吧, 试用了Siri AI. 我的感觉仍然是很人工智障:
我晚上一般都会在公寓的健身房里健走和跑步. 这一次, 得朋友推荐, 得知墨尔本每周六早上有例行的跑步活动. 我去了一次, 大概记录如下:
跑步的地方是在CBD北大概3公里的Princes Park, 从我的住处出发还需要换乘一次电车. 而实际上最大的挑战是周末电车的时间间隔太久了, 万一运气不好赶不上适当的电车, 会需要等好久. 于是, 早上七点半, 我手里拿着Snicker和一瓶水, 戴着hoodie的帽子, 看着一辆电车缓缓向我驶来的时候, 心里才放松了下来. 在电车上看了看whatsapp, 发现我认识的两个人今天都不会参加, 于是我跟自己说, 就自己跑跑吧.
到了公园, 发现那边已经聚集了大概一百个人. 大都是西人, 东亚面孔不多, 年龄大概是20-50间, 有带着teenager的, 还有牵着绳子带着狗的. 我到的时候已经是八点整了, 有穿着制服的志愿者开始拉好绳子, 组织起队伍. 我站到队伍后面, 等了一两分钟, 就开始跑起来了.
前面我跑得还是挺轻松的, 毕竟每天晚上在健身房也仍是在健走/跑步. 跑的时候都是用脚尖, 很享受跑步的感觉, 跑完了一公里之后感觉有一点点吃力了, 开始主动呼气, 并用脚后跟落地的跑法, 省力一些. 坚持到了大概1500米的时候, 感觉有点吃力了, 就改成步行, 休息了一两分钟后又开始跑. 不过这个时候开始有点下雨了, 于是我又戴上hoodie的帽子. 我没跑完全程的5千米, 只跑了大概2.5千米. 看着雨没有歇的意思, 我看着地图, 转了个弯, 去了电车站, 回家了.
受波色创投邀请, 这个月23号我请假一天参加了一个澳中创新峰会, 主要是关于AI的. 这个峰会是由澳大利亚维多利亚州政府和香港特别行政区政府联合举办, 而由波色创投承办的. 主要是为了促进两地在创新科技方面的交流与合作. 参会人员包括来自澳大利亚和香港的政府官员, 企业代表, 学术界人士以及创业者. 其中代表维州政府的是Steve Dimopoulos, 代表香港政府的是孙军(顺便说, 正好是今天date输出的一部分). 整个会议前面是访谈和各种发言, 中间有很多时间供大家social和networking, 认识了很多新朋友. 下午还有新startup的pitch, 全天收获不少.
主要的感想是企业界对AI的认识更多是一种实用主义的策略, 并没有去真正理解AI的工作原理, 而只是用宏观上的方法去评价一个AI是不是可靠. 这样的认识也许够用, 但是技术出身的我, 总觉得还没理解到数学那个层面就不能算.
2026-05-23 08:40:00
这个月事情做得少了一些, 读书和游戏的时间多了起来. 王国之泪通关了, 具体评价后面有说. 另外, 暗黑三的大秘境刷到了140, 有点刷不动了. 这次icy-vein上推荐的死灵的build好像比较弱. 也能理解, 这种老游戏, 内容创作者都会懈怠的. 另外还玩了Witcher 3, 感觉也不是一个特别出色的游戏. 最后的, 我又捡起MilkyWayIdle, 玩了近一个月(学习游戏设计), 里面附魔的设计实在是让人印象深刻.
读书来说, 这一两个月终于读完了一本被嫌弃的松子的一生. 我读这本书时, 每次读几分钟就想放下来, 因为明明白白地有悲剧在上演, 而且还不断重复, 简直就像巡演一样. 主人公的性格造成了她一生的悲剧. 她有各种各样的机会爬出来, 但是她都没有珍惜, 而是在每个可能跌得更深的坑前, 毫不犹豫义无反顾地往前走. 这本书的多线叙事方式挺不错, 但是除了主角之外的人物的塑料感比较强. 另外重读了亲王的殷商玛雅征服史, 边读边感慨当时的亲王写得比现在好多了, 完全没有Dan Brown的感觉.
先说最后去地下海拉鲁城堡的经历吧. 我一路脱战一路跑, 不想在小怪身上耗武器耐久. 到了人马那儿跳不过去了, 于是静下心来打. 结果发现这货完全不吃状态攻击, 我爬上石头往下跳的子弹时间里射中眼睛也没让它硬直供我爬背. 我最后在这儿用掉了绝大多数解gloom的食物. 到了真正见到加侬时, 我身上的补给捉襟见肘. 我硬着头皮穿上甲最厚的衣服, 扛着输出, 用刚刚打到人马时掉落的一个五重发弓不断用炸弹箭把他射死了. 所以等到了加侬变龙回到地面时, 我的第一反应不是最难的部分终于过去了, 而是我身上的gloom终于可以解了. 当然, 这段之后更多是剧情杀, 所以很顺利地通过了.
游戏评价来说, 这是一个感觉让我有点五味杂陈的游戏.
好的部分, 剧情演绎真的很棒. 相比于旷野之息里面的取得林克的回忆, 这一部是去搜集塞尔达回忆. 剧情设定除了Sonia被死亡外没什么大的硬伤. 塞尔达把自己变成龙那段真是看得很感动.
不好的部分:
参考当前供职单位绩效考核的评级, 这个游戏远比不上旷野之息的redefining, 连excelling都有点悬, 能稳稳地拿到thriving. 但是对于塞尔达这个品牌而言, 不算是出色的作品.
首先说这个游戏我没玩完, 而且可能也不会回头去玩了. 我觉得这是一个剧情比可游戏性出色的游戏. 总体来说是一个好作品, 但是并不是我心目中那种能让我主动推荐的作品(排名在Horizon/BotW/HollowKnight)后.
缺点:
这个月有两个同事这样问我, 于是归纳总结一下, 放在这儿.
我去年买的一块硬盘有了坏道, 挂载到家里的路由上, 不过里面有了坏道, 我在dmesg里面能看到:
[428116.653786] EXT4-fs (sda1): error count since last fsck: 92
[428116.668133] EXT4-fs (sda1): last error ... ext4_lookup:1739: inode 27197457
于是, 还得筹划如何替换.
希捷网站上退换还是挺简单的, 直接根据序列号查了一通, 就知道硬件还在保了, 而且也没问我要任何证据来证明硬件故障. 我点击start claim, 开始走流程.
接下来就是各种坑了. 首先, 希捷的用户系统和start a claim的用户系统我相信都是基于微软的一套服务. 但是两者的登陆入口不同, 登陆后看到的内容也不同, 整个就非常让人迷惑. 需要你多试几次才知道. 接下来, 我不幸在提交退货单时写错了地址, 想要去更新却没办法自行操作, 必须要找客服. 客服就是另外一个故事了. 我之前查信息的时候打开过他们家的网站, 按照习惯在cookie那边选择了necessary cookies only. 结果就被教育了. 如果点击了这个选项, 则页面上的在线聊天按钮加载不出来. 我还让Claude Code调用playwright帮我研究了半天, 结果后面去了美国官网, 发现仍然加载不出来, 不过相比于澳洲官网, 美国官网上有有一个链接能够让你马上重选这个cookie(而不是等你去settings -> privacy -> website data里面去搜索然后再删除). 所以算是也发现了这个坑. 好在客服同学很贴心地帮我取消了旧订单并生成了新订单.
然后的体验还算是顺风顺水, 我去邮局把旧硬盘以及硬盘的电源线寄出, 过了大概两三天, 系统提示说收到了, 而后又过了一周左右, 收到短信说可以去取一个UPS的快件. 拿到快递时我都有点惊讶, 因为对于一个现代汉语词典大小的普通硬盘而言, 这个塞不进登机箱的包装盒未免太大了. 不过里面还真就只是一个普通硬盘而已.