各位老友们好,我是 Chlorine。新的一期周报,双手奉上。小氯这周比较忙,今天写了一天的 DSA,晚上疯狂码字,总算是在睡前把周报发出来了 qaq。
本期的标题依旧和内容有联系但是不明显,欢迎各位老友自行解读 OωO
本文为园子周报——Ephemeralis Weekly(浮生散记)的第十一期,日期范围为西历 2024 年 10 月 21 日至 10 月 27 日。祝食用愉快。
中微(发疯预警)
这周是我们牢贡经管的关键课程——高级英语听力训练 微积分 A 英语授课版 终寄危棺惊悸穴 中级微观经济学(简称中微)的 Problem Set 2 的 DDL。
老实说,中微课程小氯大部分在划水(你什么课程不划水?),再加之危寄坟知识早就还给老师了,而中微的课程作业也是充分体现了经管学院希望同学们深入现实生活、培养经济思维、承担社会责任、接受生活毒打的教育愿景(bushi),因此小氯做起来可谓是肝肠寸断。
上周日下午和晚上小氯是闲暇的。小氯本想摆烂,反正 DDL 还剩六天。不过小氯酱嘴上说着不要(学习),身体却很诚实呢(看了一下午中微的 PPT,并且在晚上写了一道半的题目)(大雾)。
一晚上就写了一道半?你看这个小氯就是逊啦~
你说得对,但是中微的一道题有十个问,而且是全英文书写的作业(标准微笑)。
然后第二天起来,趁着去上寄膝盖计系概之前,写了一道;然后在下午上课时勇敢地扔下了电脑而带着 iPad,于是又写了不少,晚上再补一补剩下的部分,终于是把作业交上去了,没有成为 DDL 战神。
中级微观经济学,你看你领的内几个贵物,还有你,人不人鬼不鬼滴,就你还要抓我嗷?在学堂路,别让我看到你,看到你效用函数必须给你拽掉,必须打你脸!我告诉你啊,中微。到学堂路了,指定没有你好果汁吃啊,你记住了啊。 ——《计金往事》(大二上)
于是小氯星期二就光明正大地开摆了,写完了积攒很久的超级长文。
我们之所以今天能够共同摆烂,都是因为最初做出最困难的决断,带领我们走向胜利的,小氯同学的明断。来,我们祝小氯同学健康,干杯吧!来,我来致辞:祝小氯同学,健康常胜!
新域名
这周买了个眼馋好久的新域名,chlor.in
。具体可以看这里。
GPG
最近小氯对 GPG 比较感兴趣,然而由于知识的匮乏,现在还是一脸懵的状态。主要在看阮一峰老师的教程,虽然这篇教程已经是十多年前的古董了,但是用来入门还算可以。毕竟虽然 GPG 一直在进步,但是基本原理没有改变太多。
此外,小氯也把自己域名邮箱的 GPG 公钥公布了出来,就在关于页面。如果各位老友希望给小氯发一封邮件说些悄悄话,可以使用这个公钥进行加密 (⑅˃◡˂⑅)
IPFS 和 Hugo?
之前小氯水过一篇很长的文章:Markdown图片管理实践,讲了一大堆可用的图床之类的。
最近小氯接触到了 IPFS(InterPlanetary File System),于是心生一寄:你对象存储是个文件系统,我 IPFS 也是个图片系统,而且支持直链,那 IPFS 能不能当图床?
听起来非常美好,无限容量,无限流量(全球那么多节点,相当于全球 CDN),无须登录注册,抗审查。唯一的缺点可能就是不能删除,但是小氯觉得博客图床的话,需要删除的情况应该也不会多。
于是小氯去了解了一下。然后发现这的确是一个可行的方法,也已经有许多人在做了,比方说 IPFSScan 就提供免费的 API 和 IPFS 网关(简单来说就是一种可以让用户通过一般的 https://
访问 IPFS 文件的东西,因为一般的浏览器不支持 ipfs://
协议)。
当然,IPFS 也不是一个 silver bullet。除了上面说的不能删除以外,IPFS 有一个 GC 机制,如果一个文件长时间没人访问,会被删除(别紧张,重新上传就行了,链接不变——这是 IPFS 的机制),如果访问的人少,速度会很慢(当然如果访问的人多的话就会变得很快)。所以小氯暂时还没有全面切换的想法,缤纷云和 CloudFlare R2 目前还不错的。
不过把 Hugo 全站 IPFS 化,像全站对象存储化那样,似乎还是有点困难,或者需要借助一些其他的(可能付费的)服务。不过 4EverLand 应该可以帮上一点忙。
1024 程序员节
如各位老友所见,小氯的记性并不算好,同时对于节日和特殊的日子非常不敏感。可能再过两年,就能达到连自己的生日和过年都记不住的境界了(笑哭)。
所以 1024 节,对于小氯来说就像没有一样。似乎牢贵也没举办什么活动,至于叉院、软院(现在应该叫笃实书院了 🤣)小氯就不太清楚了。
不过既然有这么个说法,小氯也不能没有一点表示。正好今天一下午都在预习复习计系概,写点简单的汇编吧。
foo:
testq %rsi, %rsi
jz .L1
pushq %rdi
pushq %rsi
shrq $1, %rsi
call foo
imulq %rax, %rax
popq %rsi
popq %rdi
andq $1, %rsi
cmpq $0, %rsi
je .L2
imulq %rdi, %rax
.L2:
ret
.L1:
movq $1, %rax
ret
很初级的一个算法,小氯现在的汇编知识也只能写这么多了。
再写一点精神状态很美好的代码:
template <class T> class World {
public:
T *getEarth() { return nullptr; }
T *getWater() { return nullptr; }
T *getAir() { return nullptr; }
T *getFire() { return nullptr; }
};
/dev/zero
下面的内容更奇怪,可以说是不知所云。
最近在向 Grok 询问 /dev/null
的相关知识时,得知了另一个 Unix 和 Unix-like 的设备文件—— /dev/zero
。
简单来说,/dev/zero
是一个 /dev
目录下的虚拟设备文件,其作用是提供无限的零字节流(也就是所谓的 \0
)。我们可以用这个东西创建一个很大的文件:
dd if=/dev/zero of=file.txt bs=1M count=102400
这个文件的大小是 100 G。但是如果你用 Vim,Emacs,nano 或者是不管是什么东西打开它,你大概率会什么也看不见,因为 \0
并不是正常的、可见的字符。
当时小氯想到了一句话:
空不是无,空是一种存在,你得用空这种存在填满自己。
这句话是《三体》中,长老对魏成说的。不知道这能否算是比较准确的佛教思想,但是至少是比较接近的。
很巧,小氯最近就希望看看《金刚经》。小氯是个无神论者,但是一点哲学(宗教也是一种哲学)对小氯也没有害处。
「一言」
小氯的手机上有一个软件,名为「一言」,也是我为数不多购买了终身会员的软件之一。一言的 slogan 是「记录字句,发现共鸣」,是一个……嗯,比较文艺的文字社区。一言有许多高质量的创作者,但是小氯只关注了一个作者,就是一言官方。每天读一读那些别具匠心的句子,感觉生命都明亮了许多。
但是,小氯今天在看一言的时候,突然想到了一个问题(小氯酱总是会在各种奇奇怪怪的场合想到奇奇怪怪的问题):我们阅读,欣赏并且迷恋这些句子,到底是作用在这个句子的哪一层的(事先声明:下面的各种胡言乱语和一言无关,不是对其任何的指责或者批评,希望各位不要误解)?
容小氯解释一二:我们姑且不考虑这个句子本身的形式美,我们可以喜欢这个句子遣词造句的考究,可以喜欢这个句子的含义,可以喜欢哲学深度和情感意境,也可以是这个句子在所处语境中的此类。似乎我们大部分时候都是单独地欣赏这个句子本身,而不是去结合其背后的语境。举个例子,元好问曾写过一句:「且酩酊,任他两轮日月,来往如梭。」这个句子本身自然是把作者及时行乐的潇洒落拓染于纸上,但是如果不去读一读那首《骤雨打新荷》的全文,看不到上阕春末夏初园亭的自然景色,也读不到下阕前半部分作者的直抒胸臆,那我们体会到的那种潇洒落拓,是否还差了点意思?更广一些,把这首词放到这个作者的人生的语境中,甚至是当时那个时代的语境中——无论是历史学意义的时代,还是文化意义的时代,感受是否又会有所不同?就是如此。当然,从一个高屋建瓴的视角,去对这首词作彻底的解构和鉴赏,是我们中大部分人力所不能及的,但是稍微上升那么一两层的语境,我们都是可以做到的。
而且,如果离开语境,含义不仅会发生弱化和变形,甚至有可能完全扭曲,乃至形成一种刻板印象,影响公众对作品整体的判断。再举个例子吧。东坡有句流传甚广的词,大概是:
且将新火试新茶,诗酒趁年华。
听着真是无比的浪漫、雅致而自由。
可是这句词真的是这样吗?不用多,我们稍微多看一下前面的一句:
休对故人思故国,且将新火试新茶,诗酒趁年华。
再多一点:
寒食后,酒醒却咨嗟。休对故人思故国,且将新火试新茶。诗酒趁年华。
现在还觉得这首词很浪漫雅致且自由吗?
我一位谙熟语言学的学长曾经对我说:中文是一个高度甚至完全语境化的语言。小氯不懂语言学,但是作为一个中文本族语者对这个说法深以为然。
以及,如果只是反反复复地赏玩和传播少数乃至一个句子,对作品中其他同样优秀的句子其实也有点不公平。还是拿上面那首《望江南》为例。那首词还有上阕:
春未老,风细柳斜斜。试上超然台上看,半壕春水一城花。烟雨暗千家。
小氯当年在读这首词时,其实相当喜欢上阕,反而可能是因为下阕听得太多了,产生了一些逆反心理,而对下阕并不感兴趣。
忘了在哪听过一个说法了:诗歌的金句化,是诗歌文学的灾难。其实不仅是诗歌,所有被摘录、被拆解、被剪下枝叶做成标本供人赏玩的文学皆是如此。不是说单独鉴赏一个句子不可行,只是希望各位老友不要只这样做。
与互联网脱轨
最近,小氯花了不短的时间,以 Vaultwarden 为根据地,对密码开展了整风运动和带清洗。前者就是把一些弱密码和重复密码改成强随机密码。对于许多用户,社会工程学的危险性其实比暴力破解要大得多。如果你在多个网站用同一个密码,那这件事更危险。但是如果你使用足够长的随机字符串作为密码,例如 Bitwarden 自带的密码生成器或者 openssl
,并且把它保存在一个足够安全的地方,不要到处乱放,那再厉害的社会工程学黑客都只能看着你的密码干瞪眼(当然,要是您被钓鱼了,那小氯祝您好运。牢清甚至发过官方钓鱼邮件)。
同时,小氯还注销了大量的账号。从 Blackbaze 到 Flomo 到 Zohomail 到 Hugging Face 再到各种我都忘记什么时候注册的小东西。原因很简单:我用不到了。这应该也算是数据最小化原则的一个体现,既然我赋予你们这个权限但你们却无法带给我对等的价值,那就请体面地离开小氯的世界。
此外,小氯也对电脑上的应用进行了一波断舍离,就连用了许久的 Arc 都被小氯扫地出门(小氯现在的主力浏览器是 Zen,即使还在 Alpha 阶段,也已经是极为优秀的开源浏览器)——期间还出了点趣事,小氯卸载 Arc 后想着注销 Arc 账号,结果 Arc 账号只能在 Arc 中注销,没办法只好把 Arc 下了回来。
现在在小氯的 MacBook 上,除了自带的一堆之外,闭源的软件大概有:
- VX、腾讯会议:被逼无奈。
- Obsidian:小氯很希望它有一天能开源,但是这即使发生,恐怕也不会是最近的事情。请看这里。
- Raycast:目前没找到什么开源替代品。可能 Hammerspoon 可以,但是似乎做不到 Raycast 这么好,还得写一堆 Lua 脚本。
- iShot Pro:全能截图软件,小氯另一个有终身会员的软件。目前没有更换的想法。
- Typora:现在用得不多,大部分时候拿来当临时记事本,以及导出好看的 PDF。
- iRightMenu:一个右键助手。目前似乎可以用 RClick 做替代,但是后者还没有足够的功能。
- Lark(飞书):用得不多,主要靠手机接通知。留下的原因是有些操作必须在桌面端进行,不知道飞书为什么要这么设计。
其实说实话,里面最容易替代的应该是飞书。小氯目前使用飞书主要是借助其邮件助手和 Webhook 来接通知(比如说 DDNS,Twikoo 评论等),理论上来说后者可以使用一个自部署的 Webhook 服务器进行替代,但是要想做到和飞书一样或者接近的丰富 JSON 和可视化编辑器,恐怕还是有点困难。其实对小氯来说,对于这种「通知性」的消息,最好的方法就是和 IM(即时通讯)软件集成——当然不是 VX 或者 QQ,更不是 Telegram,而是 Matrix(和 Jami 集成确实难了点)。不过目前 Matrix 的生态还不太完善,Matrix Bot 也远不如 TG Bot 那样成熟。此外,Ntfy 和 Bark 也是非常优秀的选择。不过小氯其实更喜欢 Ntfy,虽然在 iOS 上不太原生。
小氯的最终目标是全面转向开源和本地化,需要同步和网络的(个人用途软件)就采用自托管。小氯将其称之为「与互联网脱轨」。曾经小氯对互联网一无所知,处于现实意义上的脱轨状态;后来是热烈地投入互联网的怀抱,不管不顾;现在,小氯只想保持最小程度的连接,守住自己在数字世界的一方净土。
当然,小氯喜欢开源,是个 FOSS 爱好者(之前说的「FOSS 主义者」可能绝对了点?),不意味着小氯就要求自己的任何一个数字部件都要开源——如果我们拿着客体科学的钻牛角尖的精神一直往下挖,我们可以创造无穷无尽的需求:从操作系统开始吧(这已经很底层了),开源的操作系统非常常见,最典型的代表就是庞大的 Linux Distro 家族;再往下,固件,也就是 BIOS 和 UEFI 之类的东西,我们也有开源替代品,例如 Coreboot;继续,主板设计,比如说 PCB 布局之类的东西,小氯记得 KiCad 有这方面的设计;再往下,处理器,甚至是指令集,我们也有 RISC-V 可以和 x86-64、ARM 分庭抗礼(尽管小氯还没见过任何使用这个指令集的消费级计算机)。
我们还可以继续深挖吗?可以,但是这就不是小氯的专业(准确来说是专业的一半)——计算机科学与技术擅长的领域了,而是牢无(电子工程系)的专长。据小氯粗浅的了解,再往下的部分可能是晶体管布局,这东西有强专利性,虽然据说 Google 和 SkyWater Technology 合作过开源 PDK,但是目前还没见过完全开源的晶体管设计工艺。我们甚至还可以继续:制造工艺、物理材料和光刻机之类的设备,至少就目前人类的认知,这些东西根本不可能开源。
对于小氯来说,虽然一台 100% 开源的 PC 非常酷,但是使用的机会成本实在太大了,这不符合小氯专业的另一半(金融学)。小氯将来最多到达固件的级别就可以了,咱也不是钻牛角尖的人。
Next-Gen Information Browser?
如各位所见,这个标题是 Follow 的口号,字面意思是「下一代信息浏览器」。但是如果要我来翻译,我会翻译为「面向未来的信息聚合系统」。
把「Next-Gen」翻译为「面向未来」是小氯的习惯,容我解释一二:如果是「下一代」,那么下下一代呢?下下下一代呢?子子孙孙无穷匮也。但是「面向未来」不一样,只要开发者能够保持积极的开发、维护和创新(有的时候甚至是完全的重构,也不知道这种情况下产品还能不能算原来的那个,忒修斯之船了属于是),那么我们似乎可以用到海枯石烂。当然,这只是个翻译问题,最终能否在未来相当长的时间内不落伍于时代还是要看软件本身的素质和社群的活跃度。
那么「信息聚合系统」呢?
「信息」自不必说,「系统」是指一套完整的、自洽的、内部交互的、带有可使用 API 接口的工具和工作流程。至于「聚合」,字面意义上说,它和「浏览」是两个不同层次的事情:「聚合」是一个事实性的功能,亦即使得不同的信源能够统一地归并到和显示在同一个地方;而「浏览」是人类的动作,就是「看」,准确来说,快速、粗略、初步地看。在英语中,browse 也有随意地、无目的地看的意思,一般网页会使用这个动词。而浏览时或者之后还会有更进一步的动作,例如批注、整理、消化、归档和应用等。但是显而易见,在这个信息获取的流程中,「聚合」是一个基础性的流程。尽管这不是一个 BREAKING CHANGE,但是确实是一个提高效率的好手段——毕竟如果等待我们获取的信息分散在太多的角落,记起来确实麻烦。人类的第一大脑利用得普遍不太充分,不然也不会费这么大劲折腾第二大脑。
小氯一直在使用一个软件:Omnivore。Omnivore,杂食者,简单来说是一个开源、全能、跨平台的稍后读(Read-It-Later)软件,或者也可以叫网页剪藏器。1不过,Omnivore 的功能不止于此,其还有一些其他的功能,包括批注、Obsidian / Logseq 联动等,甚至还有 RSS 阅读——准确来说,是 Subscription,不只是 RSS。当然,Newsletter 似乎还不行。
小氯十分欢喜 Omnivore,除了还不能省力地自托管,Omnivore 几乎就是小氯理想的 RIL 软件。但是爱折腾的小氯也不止一次想过,Omnivore 能否成为一个理想的信息聚合系统。前面说,小氯希望和互联网脱轨,这也算是一种信息层面的脱轨吧——一个自我保护性的信息茧房。
所以,我们——或者还是不要随便代表大家了吧,小氯,平时的「信息聚合」到底有哪些要素?
不难归纳得出以下方面:
- RSS / Atom / JSON Feed,或者统称为「非交互式订阅」。其中 JSON Feed 还没见过,据说是个比较现代化的东西。此外 RSS3 好像也和 RSS 不一样,理论上来说应该单列的。
- Newsletter,或者称为「交互式订阅」。一般 Newsletter 都是通过邮件分发的,当然也可以通过 Webhook 和 Bot 一类的方式。
- 任何类型的我觉得有价值、需要保存、一会儿去读(
也可能是永远不读)的网页内容。可以是「有些趣味」的消遣内容,可以是发现里面有新奇东西的 FYI,可以是自己正好需要的 step-by-step tutorial,可以是看了第一句就感觉不简单的深度好文。当然,也可以是单纯希望给文章存个档——虽然说我们有其他的方式,例如一些扩展可以直接把整个页面保存为 Markdown 甚至完整的 HTML,并且小氯不推荐大家当 browse 方面的数字仓鼠。
如果要实现无缝聚合,其实现无非就是以其中一种为主要,例如把所有东西都变成 RSS 或者 JSON Feed 或者这类的东西(但是小氯觉得这样很难做到「剪藏」),或者把所有东西都发到邮箱里(这个还算可行)。无论使用哪种方式,都相当繁琐,而且很难做到统一且良好的体验。所以说一个退一步海阔天空的方式应该还是接受一定的缝合,但是如果需要后续进一步的消化处理的话,还需要有一个统一的底层结构,这不是什么容易做到的事情。
其实如果要说现在的各种产品中,最符合小氯要求的,应该还是 Follow。Follow 最近刚刚进入 Beta,加了一堆新功能,其中包括收件箱——你可以创建一个 xxx@follow.re
这样的邮箱(不知道只能创建一个还是可以有很多个)接收邮件,当作 Newsletter 使用非常合适(估计会有人拿来接码,小氯不提倡这种行为)。Follow 甚至显示可以接收 Webhook,不过 DIYgod 只在 Wiki 页面写了个 TODO,估计是还在开发中吧。此外 Follow 也搞起了多软件联动,包括 Readwise、Instapaper、Eagle、Omnivore 和 Obsidian 等软件都有集成,只不过小氯还没试过。
目前来看 Follow 还是很有潜力成为一个合适的 All in One 信息聚合系统的,但是至少在一段时间内,小氯并不考虑将 Follow 作为主要的信息聚合系统。一方面,Follow 还没有一个完善的移动端(目前的说法是还在做,但是这会怎么进行同步呢?);另一方面,Follow 缺少一个书签或者是网页剪藏功能,而这是小氯所必须的。最重要的,据小氯所知,Follow 需要一个账号。尽管这在 Follow 的特殊条件下是可以理解的,而且 Follow 的轻社交也是个很有意思的设计,但是小氯只希望安安静静地读点东西,没有任何人能闯进我的书房。
如果生命只剩三天
这周上马原(马克思主义基本原理)的时候,老师向我们提了一个问题:如果你的生命只剩下了几天,例如说三天,你会用剩下的时间做什么?
这个问题涉及到对生命意义最本源的探讨,这是古往今来的人类群星们都在认真思考的问题。但是对小氯酱这只对哲学几乎没什么认识的元素娘原子而言,小氯只相信第一感觉。
所以,小氯的第一反应是:回家去吧。
不管怎么样,编一个合适的理由,尽快买好回去的车票——飞机票如果更快也行,这时候钱早就不重要了。在路上回顾一下,这十几二十年的人生究竟是怎样的。再看一看小县城的落日,吃一次妈妈做的菜,陪外公外婆散散步,睡一次自己从小到大躺惯了的床。在最后一个晚上,假装买了那趟十几个小时的卧铺,告诉家人已经准备启程回北京,然后悄悄找一个僻静而美丽的角落,在北方秋天萧瑟的晚风中,感受气流穿透自己的身体和灵魂,看着自己用惯了的躯体化为原子和微粒,投身苍穹,万物长拥。
……上面的场景当然是虚幻而矫情的。但是小氯在想到这个问题时,甚至都没有分哪怕是一点思绪给生活中的其他人,或者自己平时喜欢的任何事。满脑子只想着,回去见家人最后一面,以及如何合理地将他们蒙在鼓里。
第一感觉不会欺骗你。由此可见,家人和亲情在小氯的生命中,究竟占有怎样的地位。
按照星座而言,小氯是巨蟹座,而巨蟹座的很大特点就是恋家。不过小氯一向不信星座的说法,而宁可解释为一种在特定文化氛围和生活环境下的强烈心理依赖。如从前所说,小氯有一个自认为非常幸福的原生家庭,而在小氯的成长中,家人一直起到了几乎是绝对的支柱作用,直到现在都是这样。遇到自己完全拿不定主意的问题,小氯的第一反应永远是去问问自己的家人;而任何有趣的日常或者大好的消息,小氯第一个分享的也不会是别人。
写到这,小氯有点疲惫,不自觉地抬起头活动了下颈部,然后视线就撞上了书架上摆着的全家福——那是高三那年过年时拍的。我们穿着喜庆的红色衣服,在明亮的灯光下,笑得无比灿烂和幸福。
若世上有神明,我向您祈愿,愿我们阖家团圆,平安喜乐,天长地久。
严格来说两者并不一样,你只打一个书签存起来也算是 RIL,用 Save Page WE 这样的插件把网页变成一个完整的自包含 HTML 也算是网页剪藏。小氯一般在两个场景下使用这个功能:遇到一篇希望日后读的文章,或者是遇到了容易消失或者希望保存的文章。当然,二者有重叠。 ↩︎