Pensieve: 2501

2025-01-30 11:21

所读所观所玩

这个月沉迷写码, 游戏书籍电影涉猎得都少. 游戏来说全成就了九日, 这个游戏真的很推荐. 很多角度来说, 这个游戏都像是一个低成本的黑神话. 最后的boss战, 真假结局, 对中国文化传统的再挖掘, 都是很值得赞赏的. 很期待赤烛的下一部游戏. 另外, 差不多月中的时候手机上开始玩小丑牌. 目前还在努力解锁所有小丑(还剩6个), 基本上所有手牌都通了红注, 但是只有比较容易的方格牌组通关了绿注. 目前主要感受是要保持平衡, 默认的5张小丑牌, 要有经济的, 加筹码的, 加倍率的, 加特效的, 后面还要换成乘倍率的. 最好玩的一次是拿了比较好的组合, 能够比较有效地Farm幻灵牌. 这个游戏很容易沉迷, 写码写累了来一局感觉还挺好. 令人觉得很厉害的是游戏的平衡性做得很好. 另外我在等到了主机上支持loot filter的更新后尝试回归了Path of Exile 2, 不过还是没怎么玩下去, 第二周目到了最后一个章节. 这个游戏没让我感觉太engaging, 很多时候只是为了玩而玩, 挺累的. 躺在床上刷小丑牌更舒服不是?

书籍开始重读燕食记, 这次重读的时候特意标记了一下那些我觉得很细致很入神的描写, 比如:

小孩子们在地下欢闹着,边剥边吃。慧生剥开一个给阿响。吃下去,爽了神一般,刚才的旅途劳顿,竟然不觉了。阿响抬起头,看晨光熹微,照进山谷里来了。光芒从繁密的树叶间筛过来,落到地上是斑斑驳驳跳动的影子。雾气也散了,渐渐稀薄,也匿到了光里头,整个山谷都明亮起来。

这段是描写在果园吃荔枝的场景, 顺着小孩的视角, 没有直接描述荔枝的好吃, 而是通感般地描写太阳的光照. 短句也多, 仿佛诗一样.

河川守智推开了邻湖的满洲窗,看见窗外的荔枝湖上,已是一派绿意。微风吹过,湖上泛起层叠的浪。不是水,而是新生的荷叶,正是舒展的时候。茎叶相连,一叶推着一叶,向远处迭进去。他想,秋后底下生出的,又是枝枝好藕。

这段是写餐馆旁荷塘的景致, 这段荷浪的描写让我想起了朱自清, 篇幅/剧情限制下, 这儿没有太多着墨, 自然无法与荷塘月色里的繁复描绘一较高下, 但是我觉得这段比季羡林那篇里聊胜于无的描写还要更好一点. 比如写浪, 用的是推字和迭字, 都很精到.

w.nvim

这个项目在不断的演进下已经算是比较稳定了, 我自己也已经用了有一个月了. 希望不会有太多的bug. 不过看着自己的idea从无到有地萌发出来, 感觉也还是挺特殊的. 另外, 对于nvim这种比较方便hack的编辑器, AI的时代也对我们的使用带来了很大的便利, 我们现在已经可以按我们的要求来随意扩展编辑器的功能了. 相信随着AI的发展, 我们也许会有自己跟AI聊聊天, 就能帮我配置好编辑器的一天(对, 我相信无论到什么时候, 自己写代码都还是有必要的, 我不相信AI会让所有的编程语言都变成机器码).

dashed

这个月又开了一个新项目, idea源于我很早就有的一个需求: 一个更现代的shell. 我之前尝试过用rust+pest来完成一个shell, 后来发现POSIX是一个深坑, 我自己来说那个项目就半途而废了, 不过这也许也是很多新写的shell不再使用POSIX标准. 但是, 就我个人的使用习惯, 我觉得POSIX标准还是有市场的, 毕竟在已经熟悉bash的前提下再去学一个新的shell语言规范实在是有些不划算. 然而, 那些比较成熟的shell相对不太会有比较大的更改, 因为这些shell除了提供交互体验外, 还要兼顾脚本执行的功能, 而在这种情况下, 稳定是压倒一切的.

月底时和AI聊天, 想到另外一个approach, 我们也许可以修改已有的shell, 在交互模式下, 我们可以短路一些shell内置的逻辑, 而运行一个我们自己提供的cli. 所有的用户体验都可以由这个dashed(dash line editor)来完成. 为此, 我在AI的协助下修改了dash的源码, 插入了一些我自己的hack, 下面是一个PoC:

dashed.PoC

上面这个gif里大概展示了这样一些功能:

  1. 我们启动dash的方式是DASH_LINE_EDITOR=./dist/dashed ./dist/dash, 即告诉我们自己编译的这个dash, 使用我们自定义的行编辑器.
  2. 整个演示过程中, 前端的提示符都是我用go写的一个进程来显示的, 而用户的输入会直接发送给dash.
  3. readline support, 命令提示符下可以Ctrl-A到行首, Ctrl-E到行尾.
  4. dash会将上一个命令的执行结果交给dashed, 我们也在prompt里面正确显示了这个退出状态.
  5. EOF处理, 虽然最后没截取到, 但是我们的Ctrl-D能够让dash正常退出.

现在项目的进度是刚刚hack完dash, 协议还没完全完成(现在只通过命令行将退出状态传给了dashed, 但是还有一些其他信息需要传递呢). 至于为啥不hack bash/zsh而是dash? 因为代码少而且简单啊. bash和zsh的代码量都会大不少. 而且交互模式下我们不太会需要用到那些高级功能, POSIX提供的那些就够用了, 至少目前是这样的. 这个路如果走通了, 我们后面还有机会还可以去hack其他的shell. 项目目前还是private, 等更稳定一点功能更丰富一点的时候会设为public.