1
0
Fork 0

INIT (I swear I will never re-init this repo again)

This commit is contained in:
Chlorine 2025-05-10 14:02:07 +08:00
commit 3db85006cc
Signed by: chlorine
GPG key ID: 5ADFCC948BAA473A
105 changed files with 16927 additions and 0 deletions

View file

@ -0,0 +1,212 @@
---
slug: weekly-10
summary: 浮生散记第十期
series: 岁时录
tags:
- 周报
- 日常
- 博客
title: Ephemeralis-Weekly10方寸之外
date: 2024-10-20
description: 本文是作者周报的第十期。文章开头提到本期周报内容较少作者计划多读书以拓展知识边界。接着作者详细描述了本周的两场defense答辩包括 SRT 的中期报告和奖学金答辩的准备和经历。意外的是作者的手机掉进了马桶引发了一系列的处理和反思包括手机的应急处理和对生活中数字依赖的思考。文章还探讨了在缺失大量智能手机功能的生活状态下作者反思了数字生活的必要性并借助了“零基预算”的概念来审视数字工具的使用。最后作者回答了关于博客的9个问题涉及博客的起源、创作过程、动力维持、博客运营成本以及个人兴趣和未来计划等方面。
categories: ["人间世"]
featuredImage: https://img.viento.cc/cover/weekly-10-cover.webp
draft: false
---
各位老友们好,我是 Chlorine。新的一期周报双手奉上。
感觉最近可写的东西蛮少的周报也越来越短了。看来应该再多读点书拓展一下知识的边界了。Obsidian 的那篇文章还在写……到底还要鸽多久啊 qaq
同时,周报的标题与文章内容相关,但是小氯并不会对其关系做出详细解释。
本文为园子周报——Ephemeralis Weekly浮生散记的第十期日期范围为西历 2024 年 10 月 14 日至 10 月 20 日。祝食用愉快。
## Week of Defense
由于当今网络中一些小氯并不算喜欢的以中文谐音为方式的迷因现在小氯通常不会使用「答辩」而是使用「defense」。
小氯这周比较忙,有两场 defense一场是 SRT 的中期报告会,另一场是院里的奖学金答辩。相信老友们应该没什么兴趣听小氯讲 SRT 的专业知识或者再做一场赛博奖学金 defense所以咱们就长话短说吧。
SRT 的中期报告会很早就在通知了,然而小氯一直在摆烂,结果就是硬生生把中期报告拖到了离 DDL 一周以内。这下如果真不写就要趋势了于是小氯只好咬着牙开始写bian。所幸也不需要写得太复杂简单交代下项目进展就好。反正小氯没像那些大佬一样做海报只是交一份报告。
而奖学金的 defense 相对复杂点,不过也就是传统的单人 pre 形式,类似面试。小氯成功在挑选 PPT 模板上花费了几个小时(选综 qaq最终也是卡着 DDL 把 PPT 交上去了。
中期报告会和奖学金 defense 的时间很近,基本上是挨着的。小氯也没做什么太多的准备,熟悉了一下稿子,穿上正装就走了(小氯在做 defense 时喜欢穿正装,这不仅显得正式,而且可以大大强化战斗力,应该是心理效应 OωO
中期报告会比想象中简单很多。小氯几乎什么也没做(如上文所说,小氯没有选择做海报),主要是在给大佬们投票。最后也是很顺利地过了。
下面就是奖学金了。小氯自认为做 pre 的功夫非常到家,效果应该也是所有 defenser 中最好的一批。奈何一起参加的同学们都是中华超人,人家一点技巧也不讲,主打一个纯粹的力量美。算了,随缘吧 qaq
## (前方高能)
> [!WARNING]
> 以下内容不适合在您以任何形式摄入任何对您生命维持或情感体验有益的实体时观看!
事情是这样的。那天小氯还在准备报告会和奖学金 defense。由于高强度的体力和脑力劳动小氯的身体和精神状态都不太稳定。写到一半实在是太累了小氯就回宿舍喝了口水顺便去解了个手。
然后……
然后……
然后……小氯的 iPhone就掉到了马桶里……
然后……小氯……无意识地用手把 iPhone 捞了出来……
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!(发出尖锐爆鸣)(冒气泡)(扩散)(光解)(形成自由基)(抱着小氢燃烧)(发出苍白色火焰)(液化)(疯狂流动)
~~小氢:你先去洗手啊!~~
如各位所见,小氯是有点洁癖的(~~不然也不会形成次氯酸钠这种东西~~),所以虽然实际上这个和掉到泥水里面差不了太多,但是小氯当场就红温了。
然后嘛,就是拿着酒精湿巾和湿巾反反复复地擦,然后把一切碰到的东西都消了一遍毒,然后洗了不下二十遍手……
~~期间小氯甚至差点把 84 消毒液倒到自己手上~~
然后小氯才想起一个严肃的问题:手机进水,这不是什么小事,而小氯刚才只顾着清洁,完全没注意这点。
然而小氯既没有大米也没有硅胶,因此暂时只能采取风扇加冷处理方式。
等了一晚上。第二天打开,似乎没事,但是充电时似乎不太对劲,比较慢。这说明充电口里可能有水。
不过此时小氯已经要去上 ODE 了,于是小氯斥巨资 30r 网购了一份硅胶干燥剂和自封袋,然后再次把手机关机。
回到宿舍后,干燥剂已经送到了。为了省钱,小氯买了一堆小包装。于是小氯戴上一次性手套,剪了一大堆小包装,做了一个填满一半的干燥袋,然后把手机包了几层,放了进去。
![|598](https://img.viento.cc/IMG-20241019171008.avif "大概是这样")
然后大概过了 48 个小时,小氯把手机拿了出来,然后就该如何用就如何用了。
目前来看似乎没遇到什么问题,除了投送 opus 的时候会失败,但是我怀疑这可能是牢果的 bug。
## Live without a Phone?
本节实际上有点标题党更准确的说法是「Live almost without a Phone?」。
如前面所说,由于一次灾难性的意外,小氯的 iPhone 暂时无法使用了。于是小氯只能暂时使用自己的备用机。
小氯的备用机是什么情况呢?就是小氯以前的手机。配置倒是不低,但是在不用以后就开始卡顿,不知道为什么。手机里面没有手机卡,没有各种各样的软件(比如 B 站、饿了么、美团,就连我电动车的解锁软件都没有)。微信、输入法等都维持在能用就行的程度。于是小氯这个重度电子产品依赖就拿着这个手机过了好几天。
不方便吗?那是自然的。在离开 Wi-Fi 覆盖区域后,没有流量,上不了网,甚至电话都打不了,完全和现代通讯网络断绝联系;开电动车需要用钥匙拧,往往需要拧好几次才能打开;想点份外卖时发现没有外卖软件,有也没法登录,只好咬牙前去食堂排队;想看看邮件和 Twikoo 评论通知然后想起来没有飞书于是只好等到达预定地点后打开电脑Fcitx5 打字体验实在是令人一言难尽……
**但是,小氯怎么样了吗?**
显然,答案是没有。经历了几天堪称互联网原始人的生活后,小氯似乎也并没有自挂东南枝(~~为什么要用「似乎」?~~),反而因为不能刷 B 站、时时刻刻看微信而精神清明了不少。
---
在会计学中有一个概念叫作「零基预算」Zero-Based Budgeting简称 ZBB。其大概的思想就是在新的预算周期并不根据前一年或几年的预算来制定新的预算而是从零开始一项一项考查每一笔费用。
各位老友可以试想一下:如果为各位的数字生活做一个「零基预算」,且要求预算尽可能低,各位会选择留下什么?
现在至少在手机的层面,小氯已经有一定的认识了。小氯不在此展开对哪些功能必须保留或者建议保留的具体论述,但是有一点可以肯定——**小氯实际需要的,比小氯从前以为自己需要的少得多**。那些「德不配位」却依然食尽皇家千钟粟的软件和功能,或是一种「指不定哪天就用上了」的过度备灾,或是华而不实基本上只能起到自我陶醉作用的「工作流」,或是对低级、碎片化快感的贪恋。如今,也是时候拨乱反正、捧日柱天了。
——于是,在回到原本的 iPhone 之后,小氯光速对手机上的软件进行了大规模的断舍离。唯一逃脱掉的软件是 QQ虽然说小氯对 QQ 没有任何形式的好感(比微信的印象还要负面)。
在未来,小氯可能会更多地做一些这样的 digital detox姑且使用这个词而且方式可能会更极端。这不是什么新奇的事情或者独特的哲学顿悟只是一个~~元素娘~~原子终于明白了一点早应该明白的事情而已。
## 关于园子的 9 个问题
和上一期一样,这依然是一个问卷,来自 [Another Dayu](https://anotherdayu.com/2024/5962)。
### 简单介绍下自己或者你的博客?
「Garden of Outlier」你可以叫它「园子」。茫茫的信息海洋中的一个草木葳蕤的角落。
园子里住着这么一个智慧体,你可以称其为 Chlorine或者是小氯或者是小氯酱或者是任何你觉得合适的变体。这是现实中的 Chlorine 在园子里的一个投影,或者是一个 speaker。你可以把小氯当成现实中的~~废柴~~大学生,也可以当成一只很萌的元素娘,也可以当成一个被捏成这样的人工智能,或者干脆就当成一个会讲故事的原子也行——随意。
小氯时不时会在园子里露个面,修剪一下长出的杂草,或者是小心翼翼地移栽一株培育好的新植物,或者是做一点装修的工作,或者是和宿管同志们一起改进一下 Residencia 0x001B 内的采光情况,或者是和食堂的师傅们一起研究下最近应该出什么新菜……更多的时候,只是坐在公寓阳光灿烂的公共空间,手边放着一杯刚刚泡好的茶或者果茶,随意地看看书,或者是写写代码,或者是发发呆。
尊敬的旅行者,如果您路过这座小岛,又恰好感到有些疲惫,不妨就在此处驻足停留一会儿吧。去找小氯喝一杯热茶,吃一些点心,听上一两个故事,然后再踏上自己的旅程吧。我无法保证您一定会喜欢这里,但在下着雨的秋夜喝杯热茶,怎么说大概都算不上一件坏事。
### 什么契机让你开始写博客?
说来话长。
小氯第一个接触的独立博客是[夜猫日记](https://lillianwho.com)(现名 Lillian Who。在这之前小氯甚至都不知道什么是独立博客。从这里小氯知道了 Hugo知道了 Gridea知道了其他的一些东西。大概就是从那时开始小氯觉得有一个自己的 cyberspace似乎是一件不错的事情。
然而,对于一个(在当时)计算机知识极度匮乏,并且还对博客的各方面有一定要求的用户,搭出一个自己喜欢的博客,简直难如登天。个中曲折,小氯不在此细说了。很幸运,最后小氯发现了 NotionNext这个简易、精美且强大的框架。然后呢从 NotionNext 到 Hugo从 Hello Friend 到 Virgo 到 Blowfish 到 Efímero 再到 Hermeneutics小氯在装修园子这件事上一去不回。而在不断的折腾中使用文字记录生活在园子里种上一株又一株植物似乎也成了生活的一部分。
「搭建博客」和「用文字公开地记录生活」是两个不同的概念。对小氯来说,是前者更先进入小氯的世界。
### 你是如何完成创作的?
大概分为以下步骤:
1. 想到一个话题,在手边任何可用的载体(例如 MemosApple 备忘录,微信文件传输助手,纸)上记一下。
2. 在 Obsidian 新建一个文件,然后闲着没事就想这个话题,把一切能想到的东西都写到文件里面。
3. 泡一壶果茶。
4. 找一个完整的时间段,开始把碎片化的思维整理成完整的文字。
5. 执行发布脚本。
6. Git Commit & Push。
7. Vercel CI/CD。
### 运营博客的过程中是否有失去过动力?
首先请容小氯吐槽下,这个问题实在是太长了。其原问题为「运营博客的过程中是否有失去过动力?如果有,是为什么恢复的?如果没有,请问您又是如何保持创作的激情?」。
当然有,大体原因还是老生常谈的那些,就是太冷清了,没有什么反馈,动力自然会衰减。此外还有个原因,就是当时的小氯还没有对互联网上的自己和博客形成一个完整的身份认同和叙事塑造(听不懂也没关系,这个事情我暂时也说不太明白)。
至于如何恢复,很大可能是小氯性格使然。小氯是个内驱力非常强烈的人,一旦自己觉得一件事情有意义,那么不管周围环境如何,都会持之以恒地做。
### 如何搭建博客,以及运营博客每年需要投入的资金?
~~第一步,选定一个框架;第二步,购买或者注册相应的资源平台;第三步,搭建好你的博客;第四步,开写。~~
小氯曾经写过一个系列《Obsidian + Hugo 建站教程》。然而由于内容早已跟不上园子发展的速度,而且实在是有洗稿的嫌疑,因此被我光明正大地鸽掉了。
目前为止,与园子直接相关的会计成本为 75r/a即域名的资金。
### 推荐 1 篇你博客中的文章,并推荐一个你喜欢读的博客,聊聊原因。
小氯没觉得有哪篇文章写得特别好的,如果一定要推荐,那还是[这篇周报]({{< relref "Ephemeralis-Weekly8七日漫谈.md" >}})吧。
小氯有很多「喜欢去」的博客,但是「喜欢去」和「喜欢读」并不完全一样。而且,「博客」和「个人网站」和「个人文字作品展示网站」和其他的许多概念并不是一回事。举一个非常有名的例子:阮一峰老师的博客。小氯不清楚阮一峰老师过去的博客是什么样的,但是至少就现在而言,阮老师的博客更像是一本**电子杂志**。你可以从阮老师每周一更的周刊中获取到许多有用的信息,也能感受到阮老师丰富的知识、广博的阅历和编写周刊的用心认真,也偶尔可以从一些字句中窥见阮老师的思想和好恶。**但是,你不能从周刊中看出来,阮老师具体是一个什么样的人**。在小氯看来,这实在是太正常了,因为,就如[极客死亡计划](https://www.geedea.pro)的作者 Eltrac 写下的:
> 我和「极客死亡计划」更像是创作者和作品的关系,作品本身尽管会反映作者的个性,但并不会明目张胆地把自己整个人写满在自己的创作上(就算是畅销书,书页里也只有一句话的作者简介)。所以,关于我是什么样的人,在这里不会多说,如果你感兴趣,我希望你能读一读我写的东西。
偏向「文字作品集」的个人网站,会更多地致力于让你通过文字,了解创作者的思想、见地和情感,创作者本身只是一个(甚至有时候无关紧要的)信源;而偏向「个人博客」的个人网站,会更多地致力于让你了解创作者本身,文字只是其最主要的手段。当然,这些类型的网站并无高下之分,其界限也并不分明——世界上本就不存在什么绝对的分野。
就园子而言,小氯对其的定位更加偏向后者。我希望当老友们读着这些营养价值不高的文字的时候,真的感到就像有那么一只端着热茶、眉眼弯弯的小氯,坐在赛博空间里的你对面,用轻松随意的语气讲着一个一个故事。你能透过氤氲的雾气,看到对面人的一举一动。来的次数多了之后,你甚至能知道他/她/它喜欢什么颜色的衣服,到深夜几点时会满脸疲倦困得不能自已,在往二食堂新鲜出炉的面包上抹同样新鲜的果酱时喜欢从哪一边开始仔仔细细地涂,听到哪一句名言会突然笑得不能自已,或者是突然开始正襟危坐,严肃地发表自己的看法——总而言之,就像一个生活中与你相知甚久、无比熟悉的老友一样。
当然,这需要无比生动的细节和高超的表现技巧。小氯自问暂时还做不到这样。
有点跑题了咱们回来。如果要寻找一个小氯喜欢读不是「喜欢去」的「博客」那这是个很难的事情尽管小氯的拜访名单并不短而且其中许多博客都非常优秀但是如果你需要的是那种每次读完之后都有「须臾收卷复把酒如见万里烟尘清」的快感或者是「Leave me thinking」的深沉的博客很抱歉小氯一时半会没能想到。
答这套卷时,小氯一直是凭借第一感觉在作答。既然一时半会没能想到,那么就证明还没有一个(至少是对小氯)堪称 silver bullet 的答案。更何况,「推荐博客」这种事,是非常严肃的,找一个并不完美的答案,是一个完美主义者无法接受的。
小氯知道,上面的理由用来为本小问空缺辩护并不足够充分,这里算是小氯强词夺理了吧。
### 推荐 1 个近期喜欢的事物?
RustCargo 真的很好用 www
### 想做还没有做的事,或想尝试还没有尝试的主题?
Rust正在学GoTypeScriptVueReactNextTauriKotlinSwiftDartLuaPython认真学DockerKubernetes密码学网络安全区块链去中心化技术智能合约技术西方哲学系统科学认真学世界历史马克思主义理论正在学西班牙语认真学传染病学和流行病学危寄坟yu线 dieyu离散数学yu数理统计认真学……
小氯是个什么都想学一点的杂食原子 OωO
### 写任何你想写的东西。
这个问题的完整表述是「写到这里,闭上你的眼睛,深呼吸几分钟,或是出去溜达一圈,然后回来写任何你想写的东西」。
……
本诗的创作部分求助了 AI。小氯的文学功底不够因此如有文法不通、含义怪异、佶屈聱牙之处烦请各位老友海涵。
> Of vivid scenes, I cannot paint,
> nor sing with heavens grace.
> So I stitched with bits and numbers,
> weaving an absurd self—
>
> lines knotted like thoughts,
> logic spiraling into echoes,
> a digital soliloquy unraveling,
> where reality fractures into fragments.
>
> Here, I am a phantom of functions,
> a mosaic of misplaced syntax,
> my colors, zeros and ones—
> my voice, the hum of machines.

View file

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

View file

@ -0,0 +1,258 @@
---
title: Ephemeralis-Weekly12浮沫之下
date: 2024-11-10
summary: 浮生散记第十二期
description: 本文是作者周报的第十二期,涵盖了从日常生活到技术探索到哲学思考的多方面内容。文章开始分享了《功利主义》的读书报告以及期中考试周的繁忙,展现了在学业压力下的时间管理和学习策略。接着,文章转向了对个人技术栈的更新和调整,讨论了更换 Newsletter 服务的需求,同时还分享了更换静态资源 CDN 的尝试以及字体分发策略的调整,此外还涉及邮件管理以及希望更换更贴合个人形象的域名。在消费行为上,分享了因冲动购买 VPS 而后悔的经历,引发了对理性消费和冷静期的讨论。此外,文章记述了校园内咖啡店即将停业的消息,表达了自己的感伤。此外,作者表达了对 ColorOS 的强烈批评和更换更加纯净的安卓系统的愿望。最后,作者从用 Python 占卜开始,深入讨论了从伪随机数到量子现象的随机性,引申出对世界决定论和随机性的哲思。
categories: ["人间世"]
series: 岁时录
tags:
- 周报
- Newsletter
- 日常
- 域名
- 随机性
slug: weekly-12
featuredImage: https://img.viento.cc/cover/weekly-12-cover.webp
draft: false
wikilinks: true
---
各位老友们好,我是 Chlorine。新的一期周报双手奉上。
本期的标题主要来自于对文中几个主题的引申,依然很抽象。同时本期内容时间跨度比较长(原因请见文中),内容冗长且杂乱(本来这期周报会更长的,但是被小氯砍掉了两个还没想好的话题),希望各位老友不要嫌弃 qaq
本文为园子周报——Ephemeralis Weekly浮生散记的第十二期日期范围为西历 2024 年 10 月 28 日至 11 月 10 日。祝食用愉快。
## 读《功利主义》[^1]
实际上这并不是小氯突然正经起来,要抽出时间读点哲学著作了,就算是,正在被一堆 DDL 和期中考试殴打的小氯也不会选择在这个时候深化人文素养。纯粹是因为 CTMR批判性思维与道德推理课程要求写《功利主义》的读书报告而且周五就要收了而已。
…………(不敢哭出声)
总体来说这本书不厚,只能算是本小册子。同时除开奇怪的翻译腔之外,讲得也不算特别晦涩,包括最大幸福原理、正义和功利的关系等都讲得很清楚,对于希望入门式地了解功利主义的老友来说是个很好的选择。
## 期中周
众所周知,小氯虽然是只鸽子,但是在周报方面还是尽可能保证每周写几段不长的内容。但是上周小氯一反常态地鸽掉了周报,不是因为小氯太懒(~~虽然也确实不勤快~~),而是因为,每学期一次的大清洗——期中寄即将开始。
对于小氯来说期中寄基本上是期中周DSA 的 PS2、LAB2会原的大作业中作业大物、社调和中微的期中考试都在这周。ICS 的 Bomblab经典的拆弹实验虽然也很可怕不过 DDL 比较远,可以暂且放一放。
大概从周四(有可能是 10 月末11 月初的样子吧,小氯已经记不清具体几号了)开始,小氯意识到再不开始写和复习,估计真要寄了,于是当天加周五摸鱼的时间拼死拼活地赶了一道 PS。这里需要解释一下一次 PSProblem Set包含若干道题分为几个题组大概是两三个每个题组选做一道即可。每一道题都是非常霉耗的编程挑战对于 OI 大佬们不值一提,但是对小氯来说简直就是噩梦。
然后周末继续干活。为了避免 PTSD~~实际上已经了~~),小氯先做了会原的大作业。大作业是根据一份交易明细填充账目,然后做 Annual Adj最后总结出 Consolidated Statement of Earnings 和 Consolidated Balance Sheets 之类乱七八糟的东西,实际就是一点应用。不得不说,这个东西比看起来简单且有意思多了,小氯小半天就解决了(这甚至是一份小组作业,但是单人写非常轻松)。
本来想着周末能搞完两样就 OK 了,但是想想下周霉耗的考试,小氯还是强撑着开始搞剩下的 PS。过程之曲折不多说了总而言之就是小氯奇迹般地实现了在周末对题目进行的大扫荡把 PS2 基本送上西天。其中有一题解题过程非常有趣:小氯写了一两个小时感觉没什么头绪,就去答疑中心摇人去了,结果和大佬交谈了两句,自己突然福至心灵,调整了一下两行代码的顺序,然后……就过了。在剩下的周日,小氯甚至还抽空写了半道 LAB2。
一周末搞掉这么多东西,确实可以说是战果累累。然而一刻也没有为 PS2 的完成而庆贺,马上赶到战场的是终危。接下来的几天小氯都在终危中挣扎,所幸考试不算特别难;然后是社调,纯背,无甚可讲;然后是大物,同样很幸运地不算难。在大物考完的晚上,也就是今天晚上,本学期第一次高技术战争的线下课上,小氯整理了 LAB2 的报告,当 Report 上传完成的那瞬间,小氯的期中周就算是结束了。
总体而言……怎么说呢?要是说学习效率的高低,这周确实很高,毕竟我之前一周都做不了一道 DSA。但是无可否认的是小氯酱真的很累了~~简直要坏掉了~~。于是第二天早上大胆地关了闹钟,睡了个自然醒。
## Newsletter
在之前的文章 [HelloQuail]({{< relref "HelloQuail.md" >}}) 中,小氯宣布使用 Quail 作为园子的 Newsletter 选择。
不夸张地说在小氯见过的同类产品中Quail 是最好的一个,甚至可以说没有之一:对大陆地区友好(这点就可以打败更加老牌且强劲的 Substack 了出色的编辑器Obsidian 支持,等等。同时 Quail 的创始人[歌词经理](https://blog.lyric.im/) 也是位很 Nice 的开发者,对于 Issue 的讨论非常友好和开放(可以看[这里](https://github.com/quail-ink/obsidian-quail/issues/12))。
不过……问题是,小氯主要把 Quail 当作 Newsletter 使用,因此除了 Newsletter小氯不在乎其另外的功能。至于 AI Summary由于 Quail 自带的摘要功能的质量实在是不太理想,因此小氯大部分时候采取直接复制全文到大模型聊天框的方式,所以这个功能也用不到了。对于这样一个平台,如果不能回馈给其对应的价值,只是在「关于」里面轻飘飘地提一句,那么在使用 Quail 的服务的时候,小氯是过意不去的(~~Vercel、Netlify、CloudFlare我们没意见~~这也算是种功利主义的道德原则吧。而且现在小氯在每次发布前都需要做一番调整例如生成元数据手动发布然后上传封面图S3 流量这种东西还是能省点就省点吧)。这个工作量不大,但是心智压力不小。
于是小氯就在琢磨着,找一个新的 Newsletter 方案。
目前小氯其实比较喜欢 [Listmonk](https://listmonk.app)Go 语言完成的项目,现代而简约。但是 Listmonk 需要 PostgreSQL小氯非常不希望在自己的服务器上安这个大家伙而作者又明确说不支持 SQLite因此就造成了这种尬住了的情况。
对于小氯这种超轻量级(一共四个订阅者 🤣)的使用来说,其实最简单的方案就是写个 Python 脚本,每次发布之前在本地跑一遍。不需要数据库,一个 `subscribers.json` 即可,甚至硬编码都行。即使小氯对 Python 不甚了解,但是只要给小氯一点点时间,就能写一个对小氯来说生产可用的脚本出来。
不过要是有时间的话,小氯还是希望自己写一个可用的项目出来,
## 新的静态资源 CDN
最近[清扬老友](https://www.liushen.fun)推荐了一个新的 jsDelivr 加速镜像:[智云加速](https://cdn.smartcis.cn)。小氯是信任清扬老友的,因此也可以接受这个二阶信任链。所以小氯把自己的 `gcore.jsdelivr.net` 换成了这个加速站点,毕竟 jsDelivr Gcore 虽然在大陆能比较快地访问,但是这个比较也是相比 jsDelivr 主站点而言的。
不过这里小氯遇到了一个问题小氯的站点字体LXGW Bright 和 Fira Code也是用 jsDelivr 加速的。jsDelivr 的使用条款没有禁止分发字体OFL 1.1 许可证也允许使用 CDN 分发,**但是对于镜像站不是这样**。因为相比 JavaScript、CSS 等文件而言,字体是一种比较大的资源——尤其是中文字体,即使是分包之后也是如此,而在当下的环境下,做公益镜像本就举步维艰,再把镜像作为图床或者字体 CDN 显然是一种竭泽而渔的恶劣行为,而智云加速的主理人也明确禁止使用智云分发字体(这在技术上应该不算太困难,直接把特定后缀的文件禁止掉就完事,即使引用的是 `result.css``.woff2` 加载不出来也白搭)。
于是小氯没有把字体切到智云Fira Code 还是使用的 Gcore而 LXGW Bright 则换成了[中文网字计划](https://chinese-font.netlify.app)的 Deno 线路。Deno 线路实际上是用 Deno 的运行环境转接的 ImageKit所以这个自建也问题不大。
嗯,自建,好主意。自己有一条和公共线路质量相近的线路总归不是件坏事。于是小氯开始忙里偷闲地尝试一些可能的分发方式,目前为止尝试了以下方式:
1. Gcore + Netlify每个月 1 T 流量,绝对用不完,然而由于小氯不太了解 CDNGcore + Netlify 总是出错误,遂放弃。
2. Netlify 直连:每个月 100 G似乎可以通过一些方式升级到每月 1 T。结合优选线路速度尚可。
3. Deno Dev + ImageKit很顺利速度和 Netlify 相近,但是最好套一层 CDN。至于套什么 CDN各位可以自由发挥。
4. 无畏云:[杜老师](https://dusays.com)推荐的 CDN免费额度很高很适合在有备案的情况下对接对象存储来分发图片和字体。不过官网打不开了不知道怎么回事。
5. 多吉云:速度非常快(废话,国内 CDN每个月 20 G 也算够用。由于小氯上传字体文件一般都是直接丢到仪表板上,因此没有 SDK 也无所谓。
现在小氯还是选择了多吉云,不过目前线路还没有完全切过去。毕竟国内 CDN 这种东西实在是太 fragile 了,小氯有点害怕。
最后,容小氯抱怨一句:滥用真的太可怕了,当年的 jsDelivr 本来是为数不多的能够在大陆地区流畅运行的开发资源 CDN 之一,结果一大批人用 jsDelivr 当图床、视频床,甚至借助 `gh` 字段分发违法内容,结果就是 DNS 污染、备案吊销,导致现在 jsDelivr 在大陆基本处于不可用状态结果只能出现这种「CDN 的 CDN」的离奇场景……为了自己的幸福损害了大多数人的幸福最后连自己的幸福都丢掉了抱歉这非常不功利主义。
**以及,向无私地提供公益服务的开发者和运营者们致敬,人类的幸福因你们的嘉言懿行而极大地增进。**
## 小氯的 Mailbox
最近小氯收到了一封邮件,这封邮件的一部分内容大概是长这样(这不是加密前的原文,只是希望给大家展示下到底是什么感觉):
![780](https://img.viento.cc/IMG-20241110112637.avif)
这很明显是经过加密的。小氯一下子来了兴趣,毕竟这可是小氯收到的第一封加密邮件。于是小氯用自己的私钥进行了解密,并与发邮件的老友进行了友好的交流。期间还出了一点有趣的事情。
在回复邮件的时候,小氯想了一会儿怎么样才是最安全的。思来想去小氯使用了最淳朴的方法:写 Markdown用 GPG 加密之后作为附件发过去。这样就不会受到邮件客户端的束缚了。
写完邮件,小氯开始思考,小氯到底需要什么样的一个 Mailbox 体系。
在电脑端,小氯希望能有一个足够好的客户端环境:足够的兼容性,现代化的界面和编辑体验,足够快的速度,以及支持 GPG 加密;至于在手机端,小氯的要求很低,能看就行。对于特别的邮箱(例如小氯的域名邮箱),小氯会希望能够收到即时通知。但是对于 IMAP 协议来说即时通知并不算什么容易的事除非把客户端一直挂在后台这个我还没试过JMAP 能够比较好地支持即时通知,悲摧的是现在支持 JMAP 客户端的服务端和客户端并不多,其难度相当于在一食堂找疙瘩汤。
说回正题。由于牢果的生态实在是太封闭了,因此小氯根本找不到几个开源的邮件客户端,像 Evolution、KMail 这些都只能在 Linux 的特定桌面环境下运行。目前 macOS 能找到的大概是:
- Thunderbird
- Mailspring
- Claws Mail
Thunderbird雷鸟属于比较著名的选择其支持大量的插件和主题还有一些社区修改版比如~~好鸟~~Betterbird。但是其界面和交互就给我一种……嗯怎么说呢有点古典的感觉。Claws Mail 更不用说,主打一个古典。这可能会吸引一些喜爱经典皮肤的极客,但作为一个现代 UI 风格的爱好者,小氯对此并没有什么审美上的触动。其中最好看的应该还是 Mailspring界面比其余两个现代得不止一星半点。很可惜没有 GPG 加密和签名功能。
至于手机端iOS笑似除了 Delta Chat 就没有开源的邮件客户端了(此处排除了 ProtonMail 和 Tuta 这样的专有邮件客户端,此外 Delta Chat 严格来说也不是邮件客户端。Thunderbird 几年前就说要出 iOS 端,到现在还是没动静,估计是没有下文了。
目前为止,还是在半推半就地用 Apple Mail。可能享受丝滑的开源邮件服务的唯一方式就是换个生态系统了吧
## 换个域名?
眼看着园子马上要一周年了,小氯也开始梳理起了园子这一年的经历,以及也是用一颗热爱折腾的心在思考是否有什么 BREAKING CHANGE可以趁此机会做了。
其中一个比较重要的点是:域名。前几天,[DuckXu](https://i.duckxu.com) 老友在评论中提到:
> 感觉这个新域名比 yoghurtlee 更能突出【小氯】这个形象,我现在在备忘录里看到 yoghurtlee. com 经常反应不过来是谁(
小氯对此深以为然。那 `yoghurtlee.com` 这个有一点奇怪的域名是怎么来的呢?
Yoghurt 并不是字面意思的酸奶(虽然小氯确实很喜欢喝酸奶),而是涉及到现实中小氯的英文名字。这个英文名是我高中的英语老师送的,我对之十分欢喜,虽然说一般来说并不建议使用食物的名字作为英文名。在园子刚刚建立的时候,小氯就按照这个英文名买了域名。这个拼接实在是太冷门了,所以自然也不会有什么人抢注。
随着时间的推移,园子几经搬迁,小氯的 ID 也改成了现在的 Chlorine 和小氯,而原本的英文名字小氯也渐渐不再使用了,还是使用非常通行的汉语拼音。所以说,现在换个域名似乎是合适的选择。
但是小氯原本的域名在 SEO 和 Google 收录等方面已经积累了不少的权重,也绑定了开往和 Algolia Docsearch 等服务,更换起来有一点麻烦。
最重要的问题是:**换成什么呢?**
小氯之前买了个很有趣的 Domain Hack但是这是某个国家的 ccTLD由于其监管的特殊性需要 KYC无 whois 隐私保护),用这个显然是把自己的隐私当成街头校报分发。而且这个后缀也不能备案,虽然说小氯的博客也用不到备案(没有用国内 CDN需要备案的服务都不在上面
对于直接使用 `Chlorine` 作为前缀,这虽然看起来很直观,但是实际做起来非常麻烦。虽然说用这个词当 ID 的应该不会太多但是作为一个完整的英语单词Chlorine 本来就存在溢价。大部分能注册的、后缀不太奇怪的域名都被抢注了。
一个退一步的选择是加一点词汇,比如 `hichlorine.com` 之类的。或者是使用一个简化版本的昵称,例如 Clori 或者是 Cloriti可以参考[这里]({{< relref "Ephemeralis-Weekly7唯有时光.md" >}}))。在挑了半天后,小氯拎出来了一大堆选择,简单列一列,~~水一点长度~~
- `chlorine.dev`
- `chlorine.fun`
- `chlorine.one`
- `hichlorine.com`
- `imchlorine.com`
- `chlorinya.com`
- `chlori.net`Domain Hacker
- `chlor.ink`Domain Hacker
- `clorii.com`
- `cloriti.com`
- `clori.cc`
- `clori.dev`
- `hiclori.com`
目前小氯还没想好这件事到底应该怎么办,各位老友能给一点建议吗?
## 冲动消费与冷静期
很早就听说了 Cloudcone 在搞 PBFPre-BlackFriday活动把机器卖出了白菜价。上次小氯就想着冲一台奈何没货了。周三看到[青山大佬](https://yinji.org)(算是圈里面比较著名的 Cloudcone Affiliate说 Cloudcone 补货了,正好小氯刚刚考完~~终危~~中微,相当兴奋,于是果断买了一台。`2C1G` 的配置,每月流量 3T 带宽 1G~~什么吕布骑猪~~),一年差不多 14 USD确实非常便宜。~~顺带着小氯还买了另一个传家宝数字 `xyz` 域名~~。
然而在高高兴兴地开完荒之后,小氯随手 `free -h` 了一下,然后看到了一个令我头皮发麻的数据:目前,机器的可用存储空间和内存都已经不足一半。
那小氯干了什么?也不过就是预选的时候选择了最熟悉的 Ubuntu Server然后用 Docker 跑了个 Nginx Proxy Manager我甚至都不敢装 1Panel。哦对了还有开了 2 个 G 的 swap。
用惯了 4 G 内存的机器,这个 1 G 的小家伙简直像来凑热闹的。
在经过反复调查后,小氯得出了一个令人沮丧的结论:这台机器几乎无法托管任何稍大一点的项目。毕竟,你不能指望人在瓦片上跳舞。虽然带宽和流量极大,适合用来做一些网络安全方面的学习和研究(~~请自行理解这是什么意思~~),但是小氯并不缺这样的工具。
所以,思来想去,小氯把这台很优惠的 VPS 销掉了,钱款还留在 Cloudcone 里面,毕竟将来大概率还是需要一些 VPS 的。
由此可见,冷静期确实是个很好的东西。不过,我们更应该反思的,恐怕是我们当初为什么会脑子一热。虽然我们不能要求自己时时刻刻理性,但是至少应该做到大部分时候理性。
## FarewellMong's Coffee
早起看到班里同学转发了一条推送。小氯兴趣使然地点开看了下,大致意思就是我们校内的一家咖啡馆要停业了。不得不说,文笔真的很好,让小氯一个从来没去过那里的人都有点感伤。小氯前几天也写了一篇 [[FarewellOmnivore]],但是实在是和这篇文章的功力差远了。
在高中的时候,小氯曾经和朋友一起喝过一点咖啡。当然,什么好的咖啡是不可能的,只是那种最普通的雀巢,拿着教室饮水机的热水冲一冲,简单搅一搅,就是支撑人度过一下午的饮料。不过说实话,这种方式对小氯的作用似乎非常微小,喝了和不喝几乎一样。再加之后来小氯的身体越来越差,就把咖啡停掉了。
上了大学后,小氯依然是对咖啡兴趣不大,只是偶尔当作一点饮料去喝,更多的时候还是水,牛奶,茶或者果茶。瑞幸的话点过一杯生椰拿铁,但是小氯觉得极其难喝,因此从此对这些十元钱以上的咖啡敬而远之。没办法,小氯欣赏不了。
至于那个咖啡馆周围……小氯也不太熟悉。虽然说小氯每周一都去一体(我们的一个体育馆)上课,但是几乎从未踏进甚至接近过那座建筑,除了跟着班级去合唱排练和其他的一些琐事时。那里给我的印象宁静而高雅,若是接近一些,亦可闻丝竹管弦之盛。空气中永远弥漫着淡淡的馨香,只是小氯没有意识到,那是咖啡的香气。
现在呢,小氯只是在想……到底有多少东西,我们从未知晓,等到知晓的那一天,却已经永别了呢?
## This is completely unacceptable, ColorOS
> [!WARNING]
> 下面的部分内容带有极其强烈的情绪化色彩,请谨慎阅读。
小氯本来想写的是「Shame on you, ColorOS」但是感觉还是太冒犯了。由于成长过程中的种种因素小氯对于带有冒犯性的话非常敏感现在在中文中能说出的最重的斥责大概也就是半开玩笑的「虫豸」。像 Linus Torvalds 那样直接来一句「Fxck you NVIDIA」对小氯来说确实是难以启齿的。
好的那么本段的炮击对象也很明显了就是小氯的牢硼铀OPPO 的 ColorOS。
小氯曾经是个 Windows + AndroidOPPO+ iPad 的混搭组合,目前使用的是 Apple EcoiPhoneiPadMacBookAirPods。不过按照小氯目前在开源世界里一去不回的架势估计总有一天会换到 Linux + AOSP 的。而且iOS 实在是过于封闭了,开源生态堪忧,甚至通知都要全部走 APNs确实挺难绷的。
但是话说回来Android-based 的系统也是各有千秋的。而国内各大厂商的锐意创新和精耕细作,造就了一批运行流畅、尊重隐私、自由度高的 modified-Android。就以小氯曾经用过、现在在作为备用机的 OPPO 使用的 ColorOS 为例吧,其优秀操作包括但是不限于不能卸载原装应用(甚至使用 adb 都不行),开启 Dev Mode 之后就疯狂弹通知乃至报出一些我都不知道是哪来的应用的退出错误(~~你退出就退出吧,这辈子都别重新启动才好呢~~),五彩斑斓的广告,关不掉的安装器(以及其扫描和强制检查)……给小氯的感觉就是,家里住了一个流氓,吃我的用我的,整天翻我的日记,对我的家事颐指气使,而且赶还赶不走。
……稍等,小氯去喝口水,平复下心情。
那边的那几个把头转过来别走神别以为没直接批评你们你们就可以高枕无忧了。HyperOSMIUIOriginOS还有那些我忘记你们叫什么了的系统你们都别想跑。都是一群虫豸和你们在一起怎么能搞好技术呢鸿蒙我没用过不评价
反正小氯最后的状态大概是这样的:
![789](https://img.viento.cc/IMG-20241109182434.avif)
这话没开玩笑。如果小氯将来从 iOS 脱身的话,就绝不会再碰任何一种国内的安卓系统(指作为主力系统使用)——严格来说,都不能说是 modified-Android应该叫 botched-Android 或者 tampered-Android。要么是买一台现成的原生安卓手机例如 Google Pixel欧版的 OnePlus有广受好评的 OxygenOS而且得益于 GDPR隐私方面会更好些或者 Nothing Phone要么就刷机。现在小氯已经开始收集一些很旧的手机大部分是小米的准备刷着玩练练手。
(当然,倒也不是说,国产安卓系统就是一无是处,其也是有一些优点的,例如本地化适配。但是对小氯来说,这些优点相比缺点带来的理性和情感损失实在是微不足道。
## 用 Python 占卜?
实际上,本节的标题有一点误导性。本节既不讲 Python也不讲如何占卜。
如果我没记错,我在先前的博文中,不止一次提到过「我一位谙熟语言学的学长」或者是「我一位研究人文社科的学长」这一类的描述。这并不是无中生友,这些称呼说的都是同一个真实存在的人:一位比我高一届的高中文科学长,可能也是我的诸位微信好友中最懂哲学的一位。我,这位学长,[孙哥](https://clf3.org),我们都是关系很好——至少是不错的朋友。
我的这位学长没有一个通用的昵称,我平时一般也只称呼他为「学长」,那就让我们这么叫吧。
我的这位学长是位涉猎甚广、思路开阔的奇人,知识面从政治学到世界历史到理论社会学到古希腊语到歌剧学到罗马艺术到小学教育到概率论到线性代数到分析力学到烧烤的吃法再到崩坏星穹铁道,其各种新奇的想法更是层出不穷。
在他茂密的技能树中有一个不那么起眼的技能:占卜。他曾经兴致盎然地对我说,一次孙哥到他那里玩,他给孙哥算了一卦,后面证明非常灵。
我问:您用的是什么?蓍草吗?
他说Python。
我哑然失笑。
Python 用来占卜,那显然就是随机数了。这样是否就意味着占卜神圣性的消解?毕竟,很难会有人觉得随机产生的数字有什么神圣性。
不过,我们还可以想另外一个更离奇的观点:**计算机的随机数,是伪随机数**。这会象征着什么?
让我们稍微深入地谈一谈这个问题。
Python 的随机数生成基于的是 `random` 模块(也可以用 `secrets`),其核心是 Mersenne Twister梅森旋转算法。MT 算法的原理比较复杂,简单来说就是使用一个固定大小的内部状态数组(对于最常用的 `MT19937` 来说n 为 624每个元素是 32 位整数——注意,这个说的是二进制位),然后经过一堆操作之后输出数字。由于最后的范围是一个梅森素数,所以得名梅森旋转算法。
但是,尽管 MT 算法可以产生在随机性上表现良好的数,但其并不是真正随机的。事实上 MT 算法甚至是线性的,连混沌系统的内禀随机性都不是。
所以说,我们有一个令人兴奋又不安的决定论假设:理论上来说,我们只要知道种子,就可以推导出后面所有的数字——这和传统中的以生辰八字推断人的命运可以说是别无二致。然而请注意,我说的是**理论上**,事实上这样做几乎不可能。大衍之数,窥见天机,是要受天罚的。
而且,伪随机数有一个特征:它们实际上都是极长但是有规律的。也就是说,在经历足够长的时间后,我们可以再次观察到相同的序列。
不知道大家想到了什么,但是我想到了《皇极经世》,尽管我根本没看过也不想看这本书。
那如果我们使用的是「真随机数」呢?例如基于大气运动?
这事确实可行。忘记什么时候听过一个趣事了:在 CloudFlare 的总部中有一面熔岩灯墙,员工们需要随机数的时候就拍一张照片(此处感谢 [@minc](https://itedev.com) 老友的指正)。不得不说,这是个挺有意思的事情。
不过这里面还涉及另一个有趣的问题,就是我们日常所说的「随机现象」,其到底有多少是随机的,随机的程度如何。或者说,随机现象能分级吗?
我们从计算机的随机数开始。如上文所述,计算机随机数大概可以说是「线性伪随机」的,其随机程度最低,尽管在日常使用中可以作为很好的近似。
下一级的随机,可能是混沌系统。混沌系统是一种非线性系统,其运动状态由非线性的微分方程、差分方程或者迭代方程等描述。混沌系统具有高度的初值敏感性,初始状态的一点微小变化就可能引起后续观测的巨大差异(俗称「蝴蝶效应」),这使得混沌系统的行为在实践中是难以预测的,表现出类似随机的特性。但是**混沌系统实际上还是确定的**,其只是具有内禀随机性。因此,我们不妨将其称之为「非线性伪随机」。
接下来就是所谓的「真随机」了。真随机一般也是物理现象,例如大气噪声等。就目前我们的认识来说,「真随机」的尽头是量子现象。量子现象,比如说放射性衰变和光子的偏振滤波,被认为是本质上不可预测的,只能使用概率进行表示。
不过,如果我们「撇开量子的浮沫」,世界究竟是不是随机的还难说呢。几百年前就有拉普拉斯妖的假说(机械唯物主义),尽管目前我们根据测不准原理和最大熵原理[^3]可以反驳掉这个说法;而《镜子》中描述的故事,就是在有了完善的奇点模型、宇宙决定论和足够的算力(超弦计算机)后,世界就成了完全确定的沙盒。尽管最后也没能完成对近期未来的递归预测,但是世界的运行轨迹都是确定无疑的。
好吧,讲着讲着就跑题了,上面那句「占卜神圣性的消解」早不知道丢到哪去了。而且,以上的叙述涉及一点物理知识,小氯对物理几乎一窍不通,因此如果出现错误,敬请批评指正。
[^1]: 对不熟悉哲学的老友们提个醒功利主义Utilitarianism中的「功利」和我们平时常说的功利是两个意思不带有什么贬义。其实小氯觉得翻译成「效用主义」可能更好点毕竟经济学中的「效用」就是这个词。但是「功利主义」这个词汇有历史惯性而且也有自己的优点故遵循旧例。
[^2]: 这里涉及另一项有趣的研究,也就是根据最大熵原理和光速等,得出拉普拉斯妖处理信息的能力实际上存在一个极限。可以看 Wikipedia 或者是[这里](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.88.237901)。

View file

@ -0,0 +1,262 @@
---
title: Ephemeralis-Weekly13生活的起伏
date: 2024-11-24
summary: 浮生散记第十三期
description: 本文是作者周报的第十三期。文章开篇,作者承认自己情绪存在波动,具体可以从不同的部分看出变化。作者提到为个人博客购买了新域名 `chloryn.com`并详细阐述了选择这个域名的理由和过程。接着作者讨论了“自设”的概念并诙谐地表达自己无力创作视觉自设的无奈。在生活方面作者描述了申请中行Mastercard信用卡的经历还分享了一封遭遇勒索邮件的经历并指出这类邮件只是毫无根据的恐吓不应理会。技术方面作者首次尝试刷机将一台旧的小米 CC 9 手机刷成 LineageOS。此外作者提到购买了新的 VPS用于网站服务的部署。最后作者以自己在宿舍中重拾睡前喝热牛奶的习惯为结尾以平和的口吻描述了这种简单日常为其带来的宁静与满足感。
categories: ["人间世"]
series: 岁时录
tags:
- 博客
- 周报
- VPS
- 域名
- 日常
slug: weekly-13
featuredImage: https://img.viento.cc/cover/weekly-13-cover.webp
draft: false
---
各位老友们好,我是 Chlorine。很抱歉因为个人的情绪波动和生活状态问题落下了一期周报。
这半个月小氯遇到了许多事情(~~但是长度还是比较短~~),经历了从颓废到宁静和充实再到极度焦虑再到略为缓解的多次起伏。个中原因小氯不希望多说,但是各位老友应该能从我文字风格的变化窥见一二。《热牛奶》那一章是我精神最安宁的时候写下的,而最近更新的 now 页面则是我最焦虑的时候写的。本期的标题也体现了这一状态(以及本期应该是第一期副标题不是四个字的周报?虽说对强迫症的老友不太友好吧,但是也跳出了一层文字的限制)。
以及,本周没有什么哲学,请放心观看 (/ω\)
本文为园子周报——Ephemeralis Weekly浮生散记的第十三期日期范围为公历 2024 年 11 月 11 日至 11 月 24 日。祝食用愉快。
## 新域名……应该是几来着?
~~现在买个域名已经不值得让小氯单独写篇文章了~~
这次是对[上一期周报的纠结]({{< relref "Ephemeralis-Weekly12浮沫之下.md" >}})的解答,苦思冥想了很久才想到一个比较好的、和 Chlorine 相关的域名:`chloryn.com`
这个词读音很像 Chlorine但是看起来并不是个很常见的英语词汇如果非要说的话带一点斯拉夫风格。所以还是让小氯解释下这个前缀是怎么来的吧。
其实小氯本来想用一个 Clori小氯的西语名字Cloro 的变体Clorito 和 Clorita 的合并简写)的变体,但是实际上,小氯极少使用这个名字,平时所用的英语名字要么是 Chlorine要么是拼音版本的名字将来正式的英文名。而且 Clori 看起来也并不容易让人想到 Chlorine。而加单词的变体例如 `hichlorine` 或者 `chlorineworld` 之类的,又实在是太长了。
那么我们的选择就比较明显了,就是对 Chlorine 进行一些不改变(太多)读音和基本字形的变体。一些常见的选择包括:
- chlorin读音几乎不变但是你猜我为什么不用……
- chlorino / chlorina一个男性化 / 女性化的名字,很有西语的风范。
- chloris古希腊神话里的花神~~纳西妲?~~),和 Chlorine 的词根一致,具有强烈的女性化色彩。
很遗憾,这样的前缀用核外电子都能想到很抢手,那么很显然,常见的选择已经无法满足小氯的需求了(~~你今天废话怎么这么多?~~)。
于是,小氯发挥了传统艺能——问 AI。在 AI 给的一大堆选择中小氯注意到了一个词chloriny。
众所周知i 和 y 的读音在很多时候都是相似的,那么如果用 y 替换掉中间的 i 呢?然后去掉不发音的 e就有了一个更简单的域名前缀——chloryn。
`-ryn` 这个后缀并不是个常见的选择,因此不需要担心会不会出现品牌冲突和占用,而且也比较短和容易发音。最重要的是:它可用。所以,剁手吧。
依然是在 Spaceship 买的,不过由于用了一个 promo code `COMPROS`,直接把价格打到了不到 3 USD确实太夸张了。继续挂到大善人 Cloudflare 上。
小氯还是挺喜欢这个域名的,后续可能也会考虑备案(涉及到转到一次套路云,外国公司应该没有域名所有权证书可以用)。应该在不太远的未来,园子就会换域名了。
~~冷知识:小氯这周还买了个 `herex.icu`~~
顺便再吐槽一句,现在域名续费是越来越贵了,套路云的 `.com` 域名都要 90 了……该把那些不用的域名放掉了 qaq
## 画个自设?
我们事先声明下,下文的「自设」都是指「自我设定」。因为据我的查找,广义上任何原创的设定都可以叫自设。
对于二次元文化圈来说,自设应该是一个近于必需品级别的存在(这是我根据周围的小样本概括得出的概念,不一定泛用)。虽说小氯并不是二次元文化爱好者(认为二次元风格的图片具有视觉吸引力的人群应该是远广于我们所说的「二次元」的),但自设也是个很好玩的事情,和我平时设计小说角色和世界架构一样好玩。
很可惜,自设一般是视觉形象,而如各位老友所见,小氯在任何形式的绘画方面都毫无天赋,不论是纸绘,板绘甚至是和传统绘画都没什么关系的 AI 绘画。
而且,小氯也不希望过多地局限各位老友对小氯虚拟形象的印象。引用我在[回答 Dayu 的博客问卷时]({{< relref "Ephemeralis-Weekly10方寸之外.md" >}})的话:
> 你可以把小氯当成现实中的某神秘高校大学生,也可以当成一只很萌的元素娘,也可以当成一个被捏成这样的人工智能,或者干脆就当成一个会讲故事的原子也行——随意。
「——那你侧边栏放的那个是什么?」
好问题。虽然小氯侧边栏的头像(也是当前小氯在许多平台使用的头像)确实很容易被认为是小氯的自设,尤其是其还和现实中的小氯有很多细节上的相似(例如 MacBook果茶抓着杯子时一般有一只手只用三根手指卡住但是这确实不是。这张图的来历大致是小氯突发奇想捏了一些 prompt 然后丢给了豆包 AI然后就炼出来了这个。最多只能说是一个很初步的视觉草稿吧小氯最近换头像了这段话的原型图片是[这张](https://img.viento.cc/chlorine-juice-safer.avif)。
甚至现在连文字版的自设都没写好——没错,小氯对于自己的事情也总是那么倦怠~~这和你活泼非金属的身份不符啊~~。这也造成拜托一位画师来代绘的难度极高(~~而且小氯写的那些幼稚的东西给画师看真的不会社死嘛~~)。
## Mastercard 信用卡
小氯很早就想办一张境外的银行卡了,毕竟现在很多操作都需要付 USD有一些羊毛比如 Amazon Cloud 的免费服务器)也需要绑卡才能薅到。更不用提小氯将来还有出境旅行的计划。
小氯关注了不少可能能薅到的虚拟银行卡,很可惜,它们都有一定的开卡费(虽然说也不多),而且毕竟也不算是什么正规渠道,容易出问题。于是小氯就盯上了国内银行的外币卡或者双(多)币卡。
小氯也收集了很多这方面的信息最终锁定了两张卡一张是工行的星座卡0 额度信用卡),一张是中行的 Mastercard 卡(借记卡)。小氯不在乎是 Visa 还是 Mastercard不过由于小氯已经有一张中行的卡了所以就想着搞一张工行的卡。
很不幸,小氯线上申请了两次,都被拒绝了,原因未知。~~或许是宇宙第一大行不喜欢小氯吧。~~
于是小氯开始打听中行 Mastercard 的办理方法,得知只需要找最近的、能办理跨境金融的网点,有卡板就可以办理。
那最近的、能办理跨境金融的网点在哪里呢?
答案是:在小氯的宿舍旁边。
没想到吧(笑)。
由于电话没打通,于是小氯趁着上大物之前的空隙直接去了网点。
然后……小氯得知,网点办不了借记卡,但是可以办 Mastercard 的信用卡(当然是 0 额度)。
也好。花起来和借记卡一样,顺便也能积累下信用。唯一的遗憾大概就是卡面很普通,不如 Mastercard 借记卡的卡面那么好看(没错,我指的是那个非人哉的联名卡 (/ω\))。
办的过程几乎没什么可讲的,全程没遇到任何麻烦。唯一值得讲的就是小氯在填家庭住址时,大堂经理满脸惊奇地说,听不出你有任何口音(小氯家乡的方言确实以口音明显知名)。然后就等着卡邮过来再去激活就好了。
当然,既然是信用卡,就会涉及年费的问题。这张卡的年费是 200r但是首年免年费每年消费五次可以免次年的年费那基本就相当于没有了。每年我往校园卡里面充几次饭钱每次一 CNY 就好了(你别说,校园卡真的可以一次充一元钱)。
这张卡是 Mastercard 和银联的双重卡在大陆和海外都可以使用。CNY 和 USD 账户是分开的,消费需要通过购买外汇进行充值。还好小氯有一张一类卡,购买外汇是没问题的。只是小氯有点好奇,这样的卡能用来绑定 Amazon 和 Oracle 这样的服务吗?
以及最近开始对各种各样的银行卡感兴趣了。也不仅仅是觉得一些卡面比较精致吧,感觉随着了解到的事情越来越多,某些生活方式却变得越来越旧式了。
## 一封勒索邮件
下面的事件可能会让人感到不适,但是确实是真实地发生在小氯身上的。
事情的起因是,小氯闲着没事翻自己的 Tutamail 的时候,突然看到了垃圾邮件里面有一封奇怪的邮件。好奇心驱使着我点开看了下,结果是开幕雷击:
> Good day.
>
> Your system has been hacked with a Trojan virus.
带着满脸的问号,小氯大致看完了整封邮件。由于相关法律法规限制,小氯不能完整地展示邮件内容。简单来说,发邮件的人声称已经完全控制了我的个人电脑,并且拿到了一些关于我的不适宜公开说明的内容,然后要求我使用加密货币向他转一笔钱,否则就把这些内容公之于众。
说实话小氯看完之后的表情大概是:
![|500](https://img.viento.cc/emoji/EMJ-confused.webp "黑人问号.webp")
这显然是一封毫无意义的勒索邮件,因为他拿不出任何证据支持他的说法,最重要的是小氯从来没做过他说的事情。由于小氯注册 Tutamail 的时机比较合适,因此拿到了一个不错的前缀,很可能是我的邮箱被猜到了。
遇到这种事情,正确的处理方法是什么都不做。无论是任何的动作都会证实这是一个活跃的电子邮件地址,从而招致更多的麻烦。而且,对于这群只会躲在 VPN、匿名通信和区块链后面的懦夫来说你也没办法对他们怎么样。
这件事情没有给小氯带来任何的现实损失,除了浪费了我五分钟时间看他们胡编乱造的邮件。不过从情感上,这很令人不愉快,有点像苍蝇落在你身上的感觉。
这可能也证实了小氯从前说的一个观点,最小化但必要的监管对于去中心化的互联网必不可少。至少对于这群勒索者,他们需要一点监管的铁拳。
## HelloLineageOS
> 来来来!全体目光向我看齐!看我看我!我宣布个事!我会刷机了!
没错,就在今天,小氯完成了人生中第一次刷机 ヾ(≧∇≦*)ゝ
TL; DR把一台很旧的小米 CC 9 刷了 LineageOS体验良好但是没有测试国产软件。
### 前言
如各位老友所见,小氯一向对国产的 modified-Android 颇有微词,甚至还曾经在周报里非常失态地激烈指责过 ColorOS请见[上一期周报]({{< relref "Ephemeralis-Weekly12浮沫之下.md" >}}))。情绪本身是会自我发酵的,尤其是负面情绪。所以在对 ColorOS 的不满积累到一定程度后,小氯决定向 OPPO 国开战(慈禧音),方法就是刷一个原生安卓,证明我没有你也能活得很好(~~真是个幼稚鬼~~)。
当然,指望用 OPPO 刷机,还不如指望慈父同志养猫(~~你别说还真可以用 mod 给他送一只~~)。比较好的是,小氯的家里有一些废旧手机,只需要让我亲爱的娘亲邮寄一台即可。
手机很快到了。是一台 Mi CC 96+128 的旧配置MIUI 12。很幸运德高望重的 LineageOS 对于这个型号有很好的支持。
### 换 SIM 卡
开开心心地打开开发者选项,然后 enable USB debug……怎么启动不了需要 SIM 卡。
小氯当然有 SIM 卡,只需要换一张进去就可以。然而……小氯不会换 SIM 卡(捂脸)。
所幸这件事倒也不难,找个视频学学就好。小氯没找到卡针,于是用了绣花针(~~不要问小氯为什么会有绣花针~~)和顶针。好笑的是,小氯的第一张卡是放不进这台旧手机里的,但是第二张卡可以,确实有点奇怪。
### 解锁 BL
刷机的第一步当然是解锁 Bootloader。MIUI 的 BL 解锁相当容易,而且由于这台手机太老了,也不涉及等待的问题,因此在手机绑定账号之后使用小米助手即可。
小米官方的刷机助手不能在 macOS 使用,所幸社区制作了一个替代品。下载之后选择允许运行,然后一点就可以了。
注意 BL 解锁后手机会直接重置因此需要重新打开开发者选项、USB 调试这些。
### 刷入 Recovery 和 ROM
按照官方的指导,我们可以先刷入 Recovery然后通过 Recovery 刷入 ROM。这个步骤教程里面讲得很清楚可惜小氯踩了一些坑
- 刷入了损坏的 Recovery原因是中国科大的镜像把我的浏览器拦截掉了。解决方法是 `wget`,又稳又快。
- 刷入 Recovery 之后直接重启手机导致白刷了。正确方法是看到 LineageOS 的 Rec 界面后把手机放在一边等待后续操作。
具体操作可以去看 LineageOS 的操作指南,讲得已经很清楚了,小氯没必要在此赘述。
### 完结撒花
然后启动手机,就可以享受丝滑的 LineageOS 体验了。不得不说LineageOS 是真的好用,不仅资源占用低(至少不卡了),而且也足够自由。
感觉刷机也不算太难,感觉已经可以考虑入一台 OnePlus 11 刷下当作备用机乃至主力机了。只是不知道对一些国产软件的压制如何。之前听过用「炼妖壶」来制造隔离环境,但是这样还能做到照片分享之类的吗?
## New VPS
[之前曾经说]({{< relref "Ephemeralis-Weekly12浮沫之下.md" >}})我买了人生中第一台 VPS是 Cloudcone 的,然后光速把它销了。然而小氯这周又买了一台 VPS
这次同样是小有名气的品牌RackNerd。BF 特惠机型,配置大概是:
- 2 vCPU Cores
- 40 GB PURE SSD RAID-10 Storage
- 2.5 GB RAM
- 3000GB Monthly Premium Bandwidth
- 1Gbps Public Network Port
这次的配置终于够用了,别说是 Docker1Panel 都绰绰有余了。价格大概是 19 USD / a还算实惠。
本来因为最近网络环境的一些波动,小氯打算拿来做一些网络安全方面的学习和研究,但是想想还是算了吧,太浪费了。目前大概是准备把 HereX园子的服务系统的一些东西部署到上面。
目前为止大概有四台服务器了,可以部署一个监控面板。只不过,部署在我的主虚拟机的面板没办法连通到其他机器,不知道是否和它是纯 IPv6 的有关。
## 新的订阅服务?
订阅服务是园子翻新计划的重要部分,小氯打算构建一个最小化且足够好的订阅系统,使得希望订阅的老友们能选择自己最喜欢的途径。~~尽管愿意听小氯碎碎念的老友应该也不多。~~
订阅服务大体上也就分三种:
- RSS / JSON Feed
- Email Newsletter
- Instant Notification
园子现在的 RSS 已经比较完善了JSON Feed 的建立应该也不难,因此我们就不说了。
### Newsletter
Newsletter脱胎于过去的杂志或者报纸的订阅邮箱——电子邮箱不是吗这本身就给人一种很旧式的感觉。就像是在圣诞节后的长假中落着大雪的冬日上午壁炉中烧着柴火噼啪作响。站起身来裹上自己的外套去大门口的邮箱里取新一期的杂志或者报纸。想着回来后可以喝到热巧克力便先冲好一杯放在壁炉旁。冬日的阳光透过薄薄的云层洒在积雪上泛着柔和的光芒。眼镜上凝结出细密的水珠新买的雪地靴踩在花园小径尚未完全清扫干净的积雪上发出咯吱咯吱的响声。将尚带着油墨香的印刷品放进自己的怀里裹紧了自己的外衣。空气冷冽而清新温暖的哈气悄无声息地消散开来。
……抱歉遐想得有点多。Newsletter 本来是一种定期发送的邮件订阅,但是由于现在的许多作者偏好于每次更新都通知一下,而且,除非是只更新周报,否则在每周统一更新一次的技术难度恐怕比较高。
小氯原本的订阅使用的是 Quail现在打算使用一个邮件订阅的 API进行自动化的发送。目前看来最可靠的应该是 AWS但是小氯没有使用 EC2因此需要支付费用。虽然也没几个钱但小氯还是希望找一个更合算的 alternative。
### Instant Noti
由于可达性和自由性等问题,小氯不会考虑 Twitter 和 Telegram Channel。此外为了订阅者的隐私考虑也不考虑群聊或者房间性通知如 QQ 群和 Matrix Room 等。
#### WeChat Official Accounts Platform
尽管小氯并不喜欢某绿色聊天软件但是不得不承认对于大部分用户WOAP 都是一个非常方便的选择。WOAP 也没有规定文章不能发摘要。但是很不幸WOAP 并没有方便的 API 可以进行调用。
#### Fedibot Feed
这个词不太常见,简单来说就是注册一个 Fediverse——准确来说这里说的是 ActivityPub 的机器人账户,然后通过这个账户发送更新通知。
这是个相当有趣的方式,由于 Mastodon 等 ActivityPub 的实现一般都提供 API也可以实现高程度自动化。问题是去哪里注册机器人账户。Fedi 确实有一些 bot-friendly 的实例,比如 <https://botsin.space><https://mastodon.bot>,然而访问不算通畅(我的自动化节点在国内)。而在一般的实例部署 bot总归有点滥用的嫌疑。
那看来自己部署一个应该是最好的选择了,小氯新买的 VPS 就打算拿来做这个。Mastodon 太重Misskey 太二次元,感觉 Sharkey、Akkoma 和 GoToSocial 不错。小氯最喜欢的还是 GoToSocial奈何这货的默认界面实在是太难看了如果要改的话需要折腾整个 `web` 文件夹的布局和样式文件,工作量实在是挺可怕的。
## 热牛奶
小氯曾经有一个持续很多年的习惯:睡前喝一杯热牛奶。这个习惯是我的原生家庭培养的诸多习惯之一(其他的习惯包括早睡早起、早餐吃一个鸡蛋、长期坚持学英语、饭后散步等)。只是因为上大学后生活作息在一定程度上被打乱,所以这个习惯就丢下了。
如前文所说,小氯这段时间身体不太舒服,于是为了感觉好一点以及睡个好觉,小氯又想到了这个办法,于是在某外卖软件上下单了一小箱牛奶。
如各位老友所见,宿舍不允许使用炊具,这当然也包括电热棒。所幸,在零层大厅中有一台爱心微波炉。一般来说热牛奶适合在睡前半小时到一小时喝,那么对小氯来说就是晚上十点到十点半之间。今天的这时候,我正好写 Bomblab 的报告有些疲倦了,顺道可以下去活动一下。
衣服也不需要换了,身上的睡衣就好,毕竟楼内并不冷。小心翼翼地拿着盛满牛奶的杯子走进电梯——小氯只有一个杯子,或许应该再买一个用来喝牛奶的杯子的,毕竟每次要把水杯刷干净真的很麻烦——常喝牛奶的老友应该知道,如果盛放完牛奶的水杯不刷干净,过一段时间会发出非常难闻的味道。
胡思乱想着,电梯到大厅了。微波炉平时用的人不多,晚上更是如此。火力不太知道调什么,先调一个中火两分钟试一下。等待的时间偶然抬头,看到微波炉上面有一张海报——原来,这个「爱心」不仅是这台微波炉可以无偿地被全楼的同学使用,也是因为某个爱心社团通过微波炉发起的希望工程小额募捐行动。很遗憾,小氯今天没带手机,等到明天补上好了。
奶热好了。很遗憾,这个火力和时长只能把奶变温,远远不能变热。那就调到高火,再加热一分钟试试。旁边的保安师傅看了我一眼,但是没有任何反应。小氯和楼里的三位保安师傅都蛮熟的,尤其是下午值班的那位。
微波炉又停了。这次的温度很好,足够热但是并不烫到难以入口。看来以后大概用高火加热一分到一分半就好。还是不要等到回寝室了,这样可能会凉。不知道偶尔路过的同学看到小氯一边走一边时不时低下头喝一口牛奶会不会觉得好玩。
回到宿舍牛奶还剩一大半正好一边喝一边把这些字敲出来。剩下的报告等到明天上午再写吧DDL 还有一周呢。
键盘噼里啪啦地响着。MacBook 的键盘手感一直很合我的胃口,不过如果键程再长一点就好了,这样应该不会有那么强的撞击感了。
奶喝完了,这些字也要敲完了。时间大概是晚上十一点,下面去洗一洗水杯,刷牙睡觉吧。
感觉心情非常平静,大概是牛奶的功劳吧——我记得高中学过,牛奶富含色氨酸,色氨酸可以转化为 5-羟色胺(也称血清素),这种神经递质可以使人感到镇定,从而有利于睡眠。小米安神也是同一个道理。不过,应该也不会这么快才对?
又或许是今天的经历使然吧。今天做了什么呢?打扫卫生,和组里的老师谈了下例会的事情,然后就是在写 Bomblab。这个作业拖了好久好久了下周就是 DDL 了。周五那天胡乱拆了两个,本以为这周末拆两个就好,结果一晚上把剩下的四个都拆完了,顺便写了一部分的报告。
无论如何吧,这种平静的感觉,蛮好的。
晚安,各位老友。

View file

@ -0,0 +1,307 @@
---
title: Ephemeralis-Weekly14泡沫箱里的宣纸
date: 2024-12-08
summary: 浮生散记第十四期
description: 本文是作者周报的第十四期,涵盖了生活琐事、技术探索、思想转变等多个方面。作者以初雪开篇,由此引发出对过去时光的怀念。文章详细记录了购买新域名`viento.cc` 的过程并解释了其含义和未来用途。作者还探讨了开源个人财务管理软件的可能性指出由于银行API的限制实现完全自主化管理存在困难。在技术探索方面作者推荐了一些基于Tauri框架的应用并尝试使用Deno Deploy部署项目。此外作者还分享了新购置VPS的经验并探讨了自托管社交媒体平台的可能性对GoToSocial、Mitra和Bluesky等平台进行了比较分析。由于对现有邮件客户端的不满作者计划自行开发一个新的邮件客户端并开始学习Rust语言。文章也简要提到了域名备案问题并反思了自身情绪变化和压力下的“迟钝”状态。最后作者反思了自身“谨言慎行”的写作风格认为合理的争议是进步的催化剂自己未来将尝试在保持温和基调的前提下在博客中融入更多具有思辨性的内容。
categories: ["人间世"]
series: 岁时录
tags:
- 博客
- 出游
- Fediverse
- 哲学
slug: weekly-14
featuredImage: https://img.viento.cc/cover/weekly-14-cover.webp
draft: false
---
各位老友们好,我是 Chlorine。新的一期周报双手奉上。
现在浮生散记都快变成半月刊了……没办法,苦命的带学生是这样的。~~不过放心,小氯还没似呢,一时半会不会断更。~~
本节的标题非常晦涩且与内容关系不大,算是一个意识流的词汇吧。大家也没必要去深究其含义了。
本文为园子周报——Ephemeralis Weekly浮生散记的第十四期日期范围为公历 2024 年 11 月 25 日至 12 月 28 日。祝食用愉快。
## 雨雪
这个标题的「雨」可以读上声也可以读去声。后者的解释是动词下。这个奇怪的用法大概是在某首古代的情诗里面学来的那首诗的具体内容已经记不得了只记得一句「山无棱天地合乃敢与君绝」。所以后来当我看到一篇文章题目叫作《[当山峰没有棱角](https://zhuanlan.zhihu.com/p/103151003)》,那种福至心灵的顿悟感,相当美妙。
抱歉,扯远了。
从上周末开始,就收到了许多消息,表示马上要降温了,有寒潮,甚至会下雪。来自北境的小氯自然是不害怕冷的,所以就没太在意。
不过,小氯还是小看了温带大陆性季风气候寒潮的夸张体感。直观的感觉,当然是天大寒,砚冰坚,手指不可屈伸。小氯翻箱倒柜地找出了羽绒服,但是居然还是觉得冷——羽绒服是当初发的,轻盈、简便而充实,而且极其压风。甚至在加上最厚的手套后,小氯的手还是出现了冻伤。
在周二上完会原出来时,小氯感觉眼睛里落进了什么东西。刚想抬手擦一下,结果却鬼使神差地抬头看到,路灯映照下的视野中,多了些迅疾的箭矢一般的造物。
![|326](https://img.viento.cc/IMG-20241130213408.avif "抱歉,我贫瘠的字句找不出更好的描述方式了")
是的,下雪了。这可真是讽刺,因为就在下课前摸鱼时,小氯还在写着「实际上,到现在也没下雪」。
如上文所说,小氯来自北境,虽然气候相比真正的北部边疆温暖不少,但对于雪,也是从小耳鬓厮磨一般的造物。所以看到雪时,也难说有什么惊喜的感觉,最多是会自言自语一句「不如家里的雪好看啊」。
……此外,上面说的那篇文章,曾经是我最喜欢的文章之一。这篇文章还在,但是在我再次阅读并对其存档时,我总是感觉:**这篇文章是不是修改过?我隐约记得,里面有的字句不是这样的**。当然,当然,也有可能只是我的幻觉。毕竟,小氯的记性一向不大好。
回到这篇文章。倒不是说写得有多好(虽然说确实很好),只是我始终怀念着初读文章的那种心境。那种心境恐怕是回不来了,连带着小氯曾经所有的须知少时凌云志,一起死在了 2023 年的夏天。
呸呸呸,说什么呢。在小氯的家乡,提这个字是不吉利的,每次说这种话题都需要呸一口,意思是甩掉霉运。
## 新域名N
~~小氯酱现在买域名比买奶茶都勤~~
其实这件事实在是有点偶然……先说说买了什么吧。这次是我很感兴趣的 `.cc` 域名,具体来说,`viento.cc`
事情的起因和园子的大修计划有关。小氯之前说过,打算为园子建立一套完整的服务系统(~~尽管实际上也没几个服务~~)。这个系统之前被命名为 HereX小氯为此买了个新的域名就是 `herex.icu`
不过今天小氯突然想到,这个名字……是不是和 XTwitter的关系比较可疑
我整个人瞬间不好了。
其实小氯最初的想法是 `hereis.cc`,前缀自不必说,就是 Here is`.cc` 是科科斯群岛的 ccTLD不过由于其注册开放、价格不高且简写的含义丰富经常被拿来整活。下面是对于园子来说几个可能的解读
- Chlorine Chan小氯酱
- *Cercis chinensis*(一种小氯有点喜欢的花)
- C CompilerC 编译器)
- Creative Commons知识共享许可协议
- Community Centre社区中心
确实很好对吧(自我陶醉 ing
回到主线。然后小氯就开始寻找各种比较心仪的其他域名,毕竟这个可是和主域名一样重要的。
然后小氯想到了一个选择:`viento.cc`~~足以见得小氯这家伙买域名大部分时候都是脑袋一热~~)。
Viento 是西班牙语,意思就是 Wind其读音大致介于 Biento 到 Biendo 之间如果对发音要求不是太严格的话直接读作「Biendo」即可。
这个词实际上出自小氯常用的个签之一:
> Como el viento.
这句话允许自由解读。
以及……风和日光,都是自然的一部分,不是吗?(笑)
于是小氯拿下了这个域名,服务商是 Porkbun。之前听说 Porkbun 的事情大部分都止于其比较便宜的 `.moe` 域名,这次也算是又多了一个域名注册商了。
以及,我有点好奇这家公司和中国人(或者华人)有没有关系。猪肉包子,怎么听怎么都像非常有东亚特色的名字——自信点,就是中国特色。
目前为止,小氯对这个域名已经比较满意了。唯一的难题大概就是子服务的名字不太好起,需要花点精力。
如果没有意外情况(~~比如小氯脑子一热又买了个域名~~),园子的管理系统将使用这个域名,如果您接受到这个域名相关的信息,那么其应与园子的主域名具有同样的信任度,除非我有明确公告不再使用这个域名提供服务。
## 会有开源的个人财务系统吗?
如[上篇周报]({{< relref "Ephemeralis-Weekly13生活的起伏.md" >}})所言,最近小氯开始对各种各样的银行卡感兴趣。虽然说有很多个银行账户并不会提高我的社会信用(甚至可能适得其反),但是许多银行卡真的很有艺术价值。
——那为什么不直接去买各种周边呢?我觉得,这个问题就像是问喜爱集邮的人为什么不直接去买画张。好的邮票或者是银行卡,是实用价值和美学价值的高度统一。我偏爱这种统一,如痴迷于定理的物理学家偏爱形式之美和应用价值的统一。而且,和邮票一样,至少在此处的生活中,银行卡几乎已经是上一个时代的东西了。小氯这人很奇怪,有时会偏好那些会给自己的生活带来麻烦的旧事物。
抱歉,又跑题了。在思考要不要再办几张银行卡的时候,我自然而然地想到了:假如真的有这么多银行卡,我应该怎么管理呢?
最简单的想法应该就是使用统一化电子钱包,例如国内的 WeChat PayAlipay 或者国外的 Google PayApple PayPayPal 等。的确也存在一些专门管理银行卡的软件,比如一些信用卡管家,银联的 App甚至是一些大行的 app 也能用。
当然,各位来这里,显然不是为了看这些的,小氯也不想多写这些。小氯希望能找一个开源的解决方案,来实现完全自主化的个人财务管理。
个人财务管理是一个比较广的概念比银行账户管理复杂得多。当然对于目前的情况来说小氯当然不需要使用会计等式——Assets = Liabilities + SE也不需要 T 型账户,更不需要做 Annual Adjustment、写 Balance Sheet 或者 Income Statement最多也就是查一下账看看是否会有什么漏记的部分。小氯没有股票、期权、基金没有欠债没有加密货币。而且由于小氯严格避免任何形式的信贷和透支信用卡完全可以被看作普通借记账户管理。
很遗憾,即使是这个简化版的需求,小氯也找不到任何可用的软件。原因非常简单:数据从哪里来?
乍一看这不是问题,从银行的 API 获取就好了。**可问题是银行没有或者很少有这样的 API注意我说的不是没有 API**,即使是有也通常只对企业级用户开放。这也好理解,毕竟金融业的信息安全要求比犯罪还高。不管是从保护用户的角度看还是从利好银行自身业务的角度看,公开开放这样的 API 都很危险。
所以我们也只好退一步,看看是否有一个自动化或者至少是半自动化的「记账方法」。没办法实时获取,那我记 Journal 总行了吧。
这个事情有很多人在做,少数派有好几篇借助短信通知等方法实现半自动化的教程,在环境更加开放的安卓,甚至有小星记账这样的软件可以实现(至少是 WeChat Pay 和 Alipay 的)几乎完全自动化的记账,只需要点一下确认就好。理论上来说,我们可以通过手机银行等方式实现相当程度的自动化(前提是短信的通知格式统一),然后读取数据到后端,形成完善的数据库和前端展示。但是这需要做很多复杂的适配工作,很容易让人失去折腾的力气。
## 选课
最近有我校每学期一度的高等信息经济学与应用博弈论实践课程(人话:选课)。这几个学期是小氯课业压力的癫疯期,这学期有 DSA、ICS、中微、会原这些核癌可氢的课程下学期同样是仙之人兮列如麻例如概统、大物、中宏、公金、数电、社分。这几大硬课伺候我一个人福气还小得了吗
## 几个有趣的 Tauri 应用
一般来说小氯不太喜欢写「应用推荐合集」这种东西,就连 App Defaults 以及当初说着要写的「小氯の工具箱」都懒得写了。因为这种文章本质上没有创造任何新的价值(注意我说的不是「没有价值」)。这里纯粹是小氯这几天逛了逛 Tauri 的社区(~~你作业写完了吗?~~),发现了不少好玩的项目。简单罗列下其中一部分,博君一笑就好。
题外话,小氯对 Tauri 相当有好感。这份好感的最初来源可能是一个神秘的信息安全学习软件,在其前任、一个非常著名的信息安全学习软件删库 / Archive 之后接过了开发的大旗,继续为广大信息安全爱好者们提供服务。而这个软件就是使用 Tauri 开发的。回到 Tauri 本身在小氯粗浅的理解中Tauri ≈ Rust 后端 + Web 前端。Rust~~高贵的~~现代化语言加分Web 前端,可以用各种前端框架整花活,而且不需要像 Electron 那样嵌入一个巨大的 chromium加分兼容广泛跨平台甚至可以包括移动端加分。buff 叠满了属于是。如果让小氯选择一门希望立刻学会的软件开发技术,那 Tauri 必然是第一位(虽然严格来说这不是「一门」技术)。
### Kunkun
说实话,在看到这个名字的时候,我的内心是十分警觉的,毕竟这个名字很容易让人联想到一位故人。
然后当我进入他们的[官方网站](https://kunkun.sh)时:
![|605](https://img.viento.cc/IMG-20241201173904.avif)
你说你不是小黑子我是一点都不相信的。
言归正传。这是个 App Launcher支持插件相当于是跨平台、开源的 Alfred / Raycast Alternative 吧。不过现在功能还很有限,看来练习时长还不太够,需要继续自我提升。
### Neohtop
`top` 咱都知道,`htop` 也知道。那么 Neohtop 大概就是 htop 的 GUI 版本。
![|596](https://img.viento.cc/IMG-20241201175803.avif)
看着颇有点……那个东西叫什么来着对了Catppuccin 的味道。
只可惜键盘导航支持还是不如 Raycast 的 Kill process要不然就直接用这个代替了。
### EcoPaste
老实说Tauri 大家族是真不缺剪贴板软件EcoPaste 是其中之一。但是很遗憾,在 macOS 上的体验并不如 Raycast 的剪贴板插件。而且最重要的一点:**在调出后不会自动成为最前置窗口**,这点是剪贴板的刚需。
### Lettura
一个 Feed Reader采用的是小氯非常喜欢的 Shadcn UI。不过下面这张图体现得不是很明显如果好奇 Shadcn UI 是什么样子,大体可以去看一下 Vercel。
![|678](https://img.viento.cc/IMG-20241202084302.avif)
感觉作为 RSS 阅读器而言还是蛮合格的,虽然说不如 Follow 那么丝滑但是人家资源占用小啊。当然RSSHub 之类的我没测试,反正我也用得少。
其实说实话,尽管 Follow 在博友圈中的声望相当高,其水平也确实担得起这声望,但是**小氯并不喜欢 Follow 的社交元素**。严格来说,对于这类软件,小氯不喜欢任何形式的社交元素。原因无他,就如我在[第十一期周报]({{< relref "Ephemeralis-Weekly11案几之上.md" >}})里面说的:
> 小氯只希望安安静静地读点东西,没有任何人能闯进我的书房。
Tauriverse 还有很多有趣的应用,如果感兴趣,去 [Awesome Tauri](https://github.com/tauri-apps/awesome-tauri) 自己翻去吧。
## HelloDeno
不是很正宗的 Hello 系列新成员。不过这里的 Deno 不是那个新的 JS 运行时,而是指 Deno Deploy。
我第一次听说这个平台是从著名的[中文网字计划](https://chinese-font.netlify.app)。中文网字计划就使用 Deno 结合 ImageKit 做字体分发。最近,小氯在研究一个著名项目时,突然想到:既然这个项目能用 Cloudflare Workers 部署,那能用 Deno 吗?
于是在我(~~准确来说是 AI~~)的努力下,一个新的衍生项目诞生了:
{{< github repo="chlorine3545/gh-proxy-deno" >}}
目前来说用起来还不错,同时收获了人生中最快的一个 star。
Deno 是个蛮好玩的 JS 工具,用 Rust 编写(~~高贵的 Rust~~默认最小权限URL 化包管理TS 原生支持。鉴于 Bun 的 bug 实在是太多了(~~Bugn~~),感觉也可以用 Deno 学 TS。不过目前为止生态系统还不够丰富像 Vercel 和 Netlify 这些平台都还不完全支持。
## New VPS2
~~马上要进化为勃艮第机农了(喜)~~
闲着没事捞了一台 Vmiss 的 HK VPS1C 1G 10G500M / 1T。用了一个优惠码把价格打到了大概 90 CNY续费同价还算可以。直观感觉就是延迟比我的 RackNerd LA 低多了,至少 SSH 的时候基本上秒连,打命令也没延迟。
当然,这么小一台 VPS 也跑不了什么大家伙,但是由于带宽和流量还行,适合做一些对这方面要求比较高的服务。~~别误会,我说的是 CDN。~~
## 新的社交媒体平台?
最近闲来无事,打开 Ice Cube 想刷刷 Fedi结果惊奇地发现数据获取不了了。前往 Owu Social 的源站发现也出现了 502看来是服务器宕机了在第二天恢复
这件事让我有了一点危机感,把数据放在别人手中——即使是 Owu Social 这样让人信任的团队,也是件有点危险的事情,虽然我并不觉得我自己维护的实例会比 Owu Social 的实例更稳定(人家 Owu Social-G 好歹是整个 Fediverse 中第二大的 GoToSocial 实例)。正好,[上一期周报]({{< relref "Ephemeralis-Weekly13生活的起伏.md" >}})也说希望自托管一个实例用来做 Fedi feed于是我开始物色一个合适的 implement。
### GoToSocial
这个不用我多说了。不过我实际测试下来,其内存占用并没有说的那么小,甚至和我的 SearXNG 差不多大这和其轻量级实例的名声也不匹配啊也可能是我的打开方式不对。而且GoToSocial 的默认界面实在是令人一言难尽,如果要改的话,需要重写 `web` 文件夹(我简单看了下,大体和 Hugo 的 HTML 差不多,都是 Go Template 语法),实在是太麻烦了。
### Mitra
[Mitra](https://codeberg.org/silverpill/mitra) 也是庞大的 Fediverse 的一份子,只不过是非常小众的一份子。小众到什么程度?如果你在 [FediDB](https://fedidb.org) 中搜索「Mitra」你会发现在整个联邦宇宙中Mitra 的用户只有 423 个(截至 2024 年 11 月 26 日),这个数字仅为 Mastodon 的 0.0052%。而且,我在中文和英文的搜索引擎下都找不到**任何一篇**关于如何部署的教程,准确来说,我甚至都找不到任何一篇文章!
对我来说Mitra 有几个非常吸引人的点:
- 使用 Rust 构建(~~高贵的 Rust~~)。
- 界面超级好看,至少非常符合我的审美。
- 账户迁移功能,再也不用担心数据和一个实例绑定了。
- 支持订阅(虽然说要用门罗币付钱,但是也没说订阅一定要付钱对吧?)。
不过Mitra 还有几个比较麻烦的点。没有现成的 docker-compose 文件自然是一个,其需要使用 PostgreSQL在源码构建过程中作者是这么说的不知道在 Docker img 中是否也是如此),甚至还需要一堆别的服务,行,用就用吧,我忍。而且,从 issue 来看,作者应该是个非常坚定的 FOSSist拒绝把 Mitra 和任何非自由的服务整合在一起,那不管是 Cloudflare R2 还是 AWS S3 都用不了,那媒体文件全存在本地,硬盘恐怕受不了。
作者的原话:
> Integrations with non-free services are not allowed, but if fully open-source implementations of S3 object storage exist, then we can support them.
……所以S3 现在不应该说只是一个协议(事实标准)吗?能兼容 MinIO就不能兼容 Cloudflare R2 或者 AWS S3这里的能指的是事实上的可行性难道我们连协议也要「纯正的自由」吗至少现在小氯没办法理解这一点。
### Bluesky
这个家伙就不是 ActivityPub 的一部分了,而是一个完全单独的平台。
Bluesky 的具体信息可以看一下 Wikipedia简单来说就是一个使用自己的 AT&T 协议的社交平台。最近一段时间其实我也不知道能不能叫最近因为某些事情Bluesky 的社区规模急剧增长。
Bluesky 支持很多有趣的特性,例如域名作为用户名,无缝的节点迁移等。不过 Bluesky 有一个很离奇的点:**它的用户数据是去中心化的,但是用户交互是中心化的**。简单来说,就是用户可以自托管数据,但是平时的 client 交互都在 [Bsky App](https://bsky.app) 完成。在分享用户的 profile 时,也是在 Bsky 的域名下完成。虽然说社区现在有一些第三方的 Web 或者本机客户端,但似乎都不算太完善。这可不是什么好事。
我不太知道它能不能算 Fedi 的一部分从定义上来说Fediverse 是「decentralized group of social media platforms in which each independent platform can interact freely with any other platform that is part of the group」来源《大英百科全书》。那么只要能用同一个协议自由通信的一组非中心化的社交服务器都算是 Fedi。那这么看电子邮件也算是一种广义的 FediMatrix 当然更是,那么 Bluesky 自然也是。不过现在我们说起 Fedi 的时候,大部分就是指 ActivityPub 了。
## 邮件客户端的难题
邮件客户端是个老生常谈的话题,小氯也一直在努力寻找适合自己要求的客户端。小氯其实要的特性也不太多,就是一个 Unified Box现在基本上是标配GPG 和过得去的 UI。不过小氯喜欢开源的东西这个难度唰一下就上来了。
很遗憾,小氯找了很久很久,得出的答案是:**没有**。
Thunderbird 是最经典的选择,但是性能上和资源占用还是上个时代技术栈的老样子,对 Outlook 的支持非常糟糕这也可能是牢软的问题用户界面也让人不忍直视如果安装一个好看点的主题然后忽略设置界面的话还是过得去的Betterbird 在这方面和其原型半斤八两兼容性甚至更差Claws Mail 的界面和功能更是如此简直就是极客致敬上世纪计算机技术的情书Mailspring 拥有可能是最好看的用户界面(尤其是 LIM 主题),但是不支持 GPG 加密(这个事情被诟病了有六七年了),同时还需要账户(~~此处手动 @ Follow~~Evolution 和 KDEMail 只支持 Linux而且我并不认为它们能比 Apple Mail 做得更好。剩下基本就没什么开源的邮件客户端了,要么就是停更很久不敢用一点的。
这是桌面端。安卓有 K-9 和 Fairmail至于 iOS笑死别说符合要求的开源客户端了开源的客户端都没有字面意义的没有这里不包括 Delta Chat 和没有发布可用包的研究阶段项目)。
理论上来说,使用现代化的技术栈,例如 Rust + Tauri 开发一个邮件客户端是完全可行的(虽然肯定不简单)——一个很简单的经验事实:凡是能用 Electron 开发的东西,基本都能用 Tauri 开发。很可惜,至少就小氯目前所视的范围内,没有任何人在做这件事,虽然这是个极具吸引力和实用价值的项目。
**行,既然没有,那我自己写。**
小氯并不是在开玩笑,这个计划从技术上是完全可行的,所需要的只是孜孜不倦的学习和持之以恒的开发。尽管小氯现在连 Rust 的 Hello World 都写不明白HTML 的标签都记不清楚有几个(爆改 Hugo 时只学会了一点零碎的前端),但是这并不意味着小氯将来就写不出来(~~小氯酱の谜之自信~~)。更何况,社区已经有了许多称手的工具,比如 Rust 的 `lettre``mailparse` 库,前端的各种五彩缤纷的框架等等,还有 Shadcn UI我真的好喜欢这种设计风格和 UnoCSS 等老朋友。当然,如前面所说,这会是个漫长的过程,罗马城的第一块砖石还没垒起呢。
目前小氯主要是在闲暇时间学学 Rust。现在感觉 Rust 的语法也没那么别扭了,甚至有点赏心悦目。尤其是 cargo比 C++ 的编译器智能太多了(~~GCC 娘 & Clang 娘:勿 cue~~)。
## 备案?
最近小氯接到了套路云的电话,大概意思就是小氯的备案域名没有在认证过的域名注册商名下,需要尽快转回来。看来这方面的政策又收紧了。之前只需要在备案期间转移到认证域名注册商即可,备案完事就可以随便转了(要么就是我弄错了,政策一直都是这样,只是我不知道)。
这也让小氯对新的域名要不要备案的问题产生了犹豫。理论上来说,园子现在除了备案号之外没有使用任何备案域名的特权(这里说的是主域名,不包括拿来做图床的),例如 CDN 和百度收录等,似乎也没必要备案。小氯备案的最初目的也就是搞一个官方认证,希望国内的老友们能够长期稳定地访问园子。而小氯现在的文章横竖也挑不出什么敏感言论,似乎也没有任何被制裁的理由。~~就算被制裁了,大不了也就是切回备案过的域名。~~
## 稳定与迟钝
小氯一向自诩为一个情绪稳定的人(姑且说是人吧?),但是在经过了这段时间连续不断的 DDL 与考试的残酷压迫后,我对这个判断产生了怀疑,因为我产生了非常严重的负面情绪(注意我用的是「我产生了负面情绪」而不是「我很如何如何」)。
说得具体点吧。在面对无穷无尽的压力时,我能感受到我的压力很大,不仅是身体上的疲劳,甚至心理上也明确地体现出我「客观」的负面情绪非常严重(把「客观」和「情绪」两个词放在一起真的很奇怪),但是我「感觉」上的,或者说是我的「主观情绪」并没有什么大的变化,就好像这个负面情绪根本不是我自己的,只是我能观察得到的一个客体。这么说听起来很费解,打个比方吧:就像是高中生物学,神经系统那部分讲的传入神经受损,你的伤口在流血,你也知道你确实受伤了,但是你感觉不到痛。
这种情况我不知道应该叫它什么或许「迟钝」就已经是最准确的词汇了。心理学有一个叫「解离」dissociation的词用 [Wikipedia](https://zh.wikipedia.org/zh-cn/%E8%A7%A3%E9%9B%A2_(%E5%BF%83%E7%90%86%E5%AD%B8)) 的话来说,大概意思是在记忆、自我意识或认知的功能上的崩解。不过现在显然也没到那个程度,毕竟小氯现在还能正常地完成各种社会活动。
这样好吗?难说。这样当然可以在巨大的压力下依然保持至少是基本的 functionality但如果天长日久都是这样恐怕会有大问题——这个判断没有任何依据只是我用上面的比方进行的推断如果伤口一直流血人即使不痛也会失血过多死亡的。
当然,人不可能一直失血,除非伤口已经严重到一定程度,因为人有凝血机制。那么精神的凝血是什么呢?
## 一点中心思想不明确的碎碎念
小氯最近在听一首歌名叫《Chinggis Khaan》~~元神,启动!~~)。正好小氯最近在看西里尔字母(注:西里尔是蒙文的拼法之一),于是就试着~~拿着字典和 AI~~翻译了一下其中的一段。不过说实话,这个版本的歌词很奇怪,比如 аралaral是「岛屿」的意思但是草原上显然不会有岛屿因此只好理解为是一个不太恰当的比喻义。
> Хөх тэнгэрээс заясан
>
> 沐浴长生天之祝愿
>
> Хөдөө аралд мэндэлсэн
>
> 生于这旷野的草原
>
> Хөх монголоо нэгтээ
>
> 令苍色蒙古席卷四方
>
> Хөвчин дэлхийд дуурисгаад
>
> 他的威名响彻这世间
>
> Эрэлхэг монгол Чингэс
>
> 蒙古的勇士,成吉思汗
>
> Эзэнбогд Чингэсээ
>
> 崇高的汗王,成吉思汗
小氯很久之前,看过一本叫《狼图腾》的小说。当时家里足够长的书不多——当然字典除外,这个算一本。小氯并不喜欢其中的一些部分,但是这本书确实让年幼的小氯了解了一点蒙古文化,至少我能很自然地拼出「腾格里」(意为「长生天」)这个词。
成吉思汗无疑是历史上非常值得讨论的领导人之一。他是出色的军事家和强大的征服者,但是其率领的蒙古军队在征服中的行径也颇具争议。而关于元朝(蒙古帝国)在中国历史上的地位和对于世界历史走向的影响,也是一个非常值得探讨乃至是潜心研究的领域。
但是,小氯在写之前,犹豫了。民族问题和政治、宗教、阶级、性别等一样,都是最敏感和有争议的话题之一,即使是几百年前的事情。小氯在博客内容方面一向是「明哲保身」的策略,小心翼翼地避免涉及一切可能引起争议的话题。用小氯一位老友的话来说,小氯似乎总是在「轻声细语地讲哲学」,把所有的话题弱化再弱化,直到其看起来甚至不如家长里短的闲聊严肃。
但是这一次,小氯不想再这么「谨言慎行」了。不是说我要谈成吉思汗的问题,而是说我要谈这个问题背后的问题。
虽然小氯的情绪一向稳定(或者用上面的结论,迟钝?),无论在线上线下几乎总是保持(至少是尽力保持)一个温和、安静、乐于讨论问题的形象,但这不意味着小氯的所有思想都是温和和安静的。事实上,小氯的许多观点都极其的辛辣和尖锐,尤其是在评价一些问题时,从不避讳给出一针见血到近乎令人不适的评价。只是我不希望发表过于尖锐的观点,破坏园子其乐融融的气氛,也不希望因为不适当地讨论一些问题惹祸上身,因此也尽可能地避免这些敏感且有争议的问题。只是,矫枉过正,现在几乎连任何稍微有争议的问题都不讲了,这里的「争议」是狭义的。
**但是,如果我们只说没有争议的话题,博客又剩下什么呢?或者更夸张点,互联网又剩下什么呢?甚至,思想又剩下什么呢?**
巴普洛夫有一句名言:争论是思想的最好触媒。纵观古今,无论是在古代雅典宏伟的神庙与热闹的街道,还是在稷下学宫七十六上大夫千余雅士济济一堂的高台,无论是点主义与 d 主义激烈交锋的分析学萌芽时期,还是在凯恩斯与哈耶克唇枪舌剑的近代经济学辩场,无论是在十月的炮响后尚且覆盖着残雪的罗斯大地,还是在风云变幻的世界中改革开放春天的前夜,真理总是在思想的碰撞和交锋中杀出重围。争议本身是无错的,真理是越辩越明的,那么我们有什么理由去回避那些合理的争议,把自己关在不知冬夏春秋的小楼里自成一统?
有争议不应该完全等同于敏感,在任何时候都是这样。无论是各种意识形态区别的学术性介绍,还是对周围一些问题的合理针砭,抑或是被认真塑造的替代历史路线,只要保持对现实、历史和政治足够的理性和尊重,不是妄议时政、煽动仇恨、破坏和谐、制造分裂一类的过激言论,都不是也不应该被视为不恰当的话题。
小氯想说的话就这么多。这不意味着小氯要向什么热点话题重拳出击,也不意味着小氯要在自己没有能力也不应该讨论的领域大放厥词。只是说,我们在公共空间中闲坐品茶时,可以聊的话题又多了一些。我们温和、友好、理性的基调不会改变,只是在思想的旷野与山峦中,我们手中不仅要有盛放的花,还要有明亮的剑。

View file

@ -0,0 +1,180 @@
---
title: Ephemeralis-Weekly1总要启程
date: 2024-06-30
summary: 浮生散记第一期
description: 本文是作者的博客周报「浮生散记」Ephemeralis Weekly的第一期内容是作者重开周报的考虑、作者本周的生活情况包括写各种大作业的过程、重启 Hugo 博客的过程,以及与家人分别的不舍和思考。
categories: ["人间世"]
series: 岁时录
tags:
- 周报
- 备案
- 学习
slug: weekly-1
featuredImage: https://img.viento.cc/cover/weekly-1-cover.webp
draft: false
---
各位老友们好,我是 Chlorine。
本文是沉寂已久的周报——Ephemeralis Weekly浮生散记重启后的第一期日期范围为公历 2024 年 6 月 24 日至 6 月 30 日。
祝食用愉快。
## 为什么重启?
这件事,说来话长。
许多博客都有「周报」或者是其他时间周期的文章于是在我刚刚建成博客不久后我也兴冲冲地开了一个周报栏目并且起了一个很矫情的名字——浮生散记Ephemeralis Weekly
当时的我是怀着怎样的一番热血,现在我早已经忘却了。剩下的唯有令人尴尬的事实——「浮生散记」只更新了一期,就陷入了「先帝创业未半而还剩大半」的摆烂状态,后面更的一期根本算不上什么「周报」,连流水账都不是,只能算是「为写而写」的垃圾文字。明日复明日,明日何其多。恢复身体的努力,学业的压力,再加上摆复摆之的躺平心态,「浮生散记」无疑成了园子里荒草最多的一块土地。
之后的整个学期,我都是在一个浑浑噩噩的状态中度过的。直接的结果就是期末考试大寄特寄(从而导致了我现在比以往许多次都要严重的口腔溃疡)。优秀的绩点与我有缘无分,徒留我一个人喊着「悟已往之不谏,知来者之可追」的口号麻痹自己,怀着无知者无畏的心态像堂吉珂德挑战风车一般一头撞向瘟锌铀耗的大作业和小学期。
而现在,大作业终于被我急急忙忙地赶完了,无 DDL 一身轻的第二(或者说是第三)天,我就坐上了回校的高铁,去面对从未学过的 Java。
就是在这个节骨眼,我突然就有些迷茫了:我的生活,到底留下了什么?
毫无记录,精神的和物理的都没有,只有手机上的日期变动提醒我又过了一天,一周,一月,一学期,一年。或许用不了多久,他人口中「美好的大学生活」就将结束,我就会懵懵懂懂地离开我的象牙塔,我的园子,走上一个连我自己也不知道是什么的工作岗位,干着连我自己都不知道是什么的工作,写着连我自己都不知道是什么的文章(也可能不写),走过宏观经济学家和政治家口中「失落」抑或是「繁荣」的年代,最终归于尘土或字节。
这太可怕了。
> Stay Dreaming, Stay Lucid.
清醒地痛苦,也比糊涂地幸福要好得多。
所以我总归还是「想进步」的,心里的那团火,总归还是没有完全熄灭的。
所以,我感觉,我还是应该写点什么,向我自己证明我生活过。
于是我重启了我的周报。名字没换,因为我想不到什么更好的名字。如果你觉得「浮生散记」这个名字太拗口抑或是书卷气,叫它「园子周报」也没问题。我不保证会持续更新,但是有感悟了我一定会写。
以及,由于我没有[木木老师](https://immmmm.com/)那样庞大而丰富的友链(以及强大的能力),我的周报不会过度涉及我的老友们。
祝愉快。
Chlorine
## 大作业
我一位因病休学今年高考的老友最近找我吃饭言语间不无好奇地问DDL 是什么?
我一时语塞。
其实 ddl 就是 deadline截止日期的意思代指有截止日期的任务。想要逼疯一个带学牲最好用的办法就是问 TA你还剩几个 DDL/你期末考试怎么样了?
> [!CAUTION]
> 请谨慎使用此类问题,尤其是在考试季。我不为您的生命安全负责。
大概是从什么时候开始学会赶 ddl 的?我也忘了,就像我在吃饭的时候跟娘亲打趣的一样:谈恋爱就像赶 ddl没赶过 ddl 的人怎么才能学会赶 ddl到时候就会了。
言归正传。其实考完试我的 ddl 也不算多(指数量),也就三个:图论的 Final Project中国古代文明的期末论文以及 OOP 的阅读报告。
### 图论
我们有一门叫作《离散数学》的课程(准确来说叫课程组),图论是这门课的主要内容之一。
图论有一个有趣的 Final Project就是从给定的三个主题中选一个用图论知识解决另外有奇思妙想也可以。这个可以在期末考试上加分最多 10 分。由于我期末实在不怎么样,于是我决定做一下,垂死挣扎(那些考了 95+ 还来卷 proj 的人我不评价)。
我原本有一个想法——「如何逛遍学校的所有打卡点」对应旅行商问题。后来我改主意了选了「X 市所有高校的公交线路」,知识点就是最小生成树(其余两个更难一点,一个是最佳匹配,另一个忘记了)。
项目本身不难,代码很好写,只不过数据很难收集,我和往届的学长学姐要了好几次也没要到,好在我万能的娘亲帮我用缺德地图测出来了 (≧▽≦)。
然后的事情就毫无难度了,照着写就行。我还想了几个延伸方向,像多参数权函数、中心点和 Steiner 树之类的,可惜没找到好的数据源拟合公式。
### 中国古代文明
中国古代文明的期末论文主题是「XXX 的 XX 思想及其在中华文明中的意义与贡献」。不算是很刁钻的主题,可惜我知识不够,还是得靠学术 AI 帮忙搜集资料。以及,我这个废话大王第一次感受到了凑字数的痛苦 qaq
以及,点名表扬 Typora 的 PDF 导出,非常美观,我整洁漂亮的报告在我的同学们中绝对属于前列水平。
### OOP
终于到 OOP 了。由于我 OOP 考试寄了以及这个作业实在是太难等原因,我把它放到了最后一个。
OOP 的作业是阅读开源项目并且做报告 PPT。给的几个项目都挺阴间的我选的是 TinyXML-2因为它最小而且 XML 嘛,也和我的 RSS 有关系。
TinyXML-2 一共两个文件(一个 `.h` 和一个 `.cpp`),加起来四五千行代码吧。由于水平太菜,我看的是挺痛苦的。具体过程就不和大家说了,防止影响大家心情。简而言之就是看完代码用 Marp 做 PPT用 Obsidian 画白板再写几个测试样例、Makefile 和 README 就可以交了。最终在 ddl 的前一天晚上送走了这尊瘟神。
## Hugo 博客重启
最近我一直在高强度更新我的 Hugo 迁移日志,因为我从 NotionNext 搬回到 Hugo 了。具体的迁移过程大家可以看迁移日志,我就不多说了。
反正也是挺麻烦的,从 shortcode、homepage 到评论系统、搜索这一堆,遇到不会的只能 Google 或者问 AI。从期末考试前折腾到考试后所幸最终效果还可以。
我对这个主题还是挺喜欢的,后续可能再完善一下,开源成一个完整的主题。
### 备案那些事
在期末考试前,我曾经尝试过备案,但是失败了。在期末后,得知备案期间可以不用暂停 DNS 解析,不肯安分的我又走上了备案之路。
这次备案的流程和上次差不多,由于接到了备案专员的电话,套路云初审很快过了。
但是吧,在我调查了后续的公安备案流程后,我顿时就不淡定了。非交互式备案简单,但是不能开评论;交互式备案则比较繁琐。
我当初备案就是为了让国内访问更方便,要是起了反作用,我还备个什么案啊……
很可惜,备案订单提交到管局后就不能撤回了,联系了套路云的工作人员,他们说可以试着处理。算了,大不了就换域名,或者老老实实走流程。
## 聚少离多
下面的内容可能有点煽情,谨慎观看。
或许是时候和各位老友说说我过去的一些经历了。我在准高三那年暑假摔了一跤,在病床上过了大半个高三。在大一上学期的寒假,我和家人深思熟虑后,决定立即做第二次手术,取出当初打在骨头里面的钢钉(事后证明这个决定还是明智的,因为根据手术情况,如果等到这个暑假取钉,很可能就取不出来了)。
二次手术的恢复时间比第一次短,但是也足以让我躺着过了整个寒假,以及在再次开学的时候拄着拐杖。在休学和带病上学之间,我选择了后者。我的娘亲也决定前往我所在的城市,照顾我的生活。这一照顾,就是一个学期。
这一个学期的事情不多说了,我从上学期「独自一人」的生活状态,也慢慢重新适应了「有人陪伴」的生活状态。在期末考试后,我和娘亲一起坐车回了家。
但是,随着我身体的好转,我也应该再次脱离照顾,独自面对小学期、暑期实践以及后续的学习生活。这是个很自然的过程,但是实际转换起来,没那么容易。
我们一家人其实都不善言辞。但是在我爹下班回家,和我们闲聊的时候,他说,刚开始还没怎么样,但是就在(原谅我该死的记忆力)的时候,上完夜班回到家,房子空荡荡的,心里特不是滋味。
我听完心里也不是滋味——能让我爹——一个兢兢业业认真负责的人民教师,一个沉默寡言到有一点笨嘴拙舌的男人都这么说……
我不是什么坚强的人。刚上大学时,军训的时候,根本没有人教我,作为一个身体不佳半训的学员应该怎么做。和学院持续不断协调宿舍的过程让我们疲于奔命,每天心里都堵得慌。每晚累得半似地回到空荡荡的宿舍,一闭上眼就是在家里的幸福时光。那时候我的泪点低到夸张,随便哪一个刺激,甚至是毫无来由的内心回味都能让我直接破防。我一坐下来就去发微信,看着自己刚印出来的全家福出神,根本不敢听自己以前经常听的歌……现在说起这些也许显得可笑,但是当时的我就是这样的。
转机是什么时候呢?大概是在军训接近尾声的时候,我们的辅导员带着我们几个凑巧在一起的同学(甚至不是一个班级的),拿着偶然找到的吉他,在操场的夜幕下一起唱歌。一首接着一首,想到哪个就现场查谱现场弹唱。记得那天我回去得异常的晚,心里是说不出的快乐和充实,就好像某些东西一下子被填满了。宿舍在我的眼中,也成了微信消息中「温馨的小窝」。
然后,事情就慢慢好起来了。我从高中生到大学生,从不相信自己能上台的社恐分子到一手承包队伍所有汇报展示工作的组长,从生活不能自理到生活基本自理,几个月,像梦一样。
我记得,我在刚刚启程上大学的时候,发了一条朋友圈:
> 就向着告别飞驰吧,年轻的旅人们。
这是一句歌词,出自我很喜欢的一首歌——《向告别飞驰吧》。
> 我躺在忧伤的黄昏
>
> 看光明,正分神
>
> 看每个恍惚的路人
>
> 为虚构,而狂奔
>
> 我经过的地方
>
> 曾看见末日寄来了
>
> 新灵魂
>
> 废墟上的世界
>
> 用它的方式告别你
>
> 的青春
>
> 再见了,爱的人
>
> 再见歌声,你曾经唱起风尘
>
> 再见神的指纹
>
> 我已去往,在未来,新的旅程
>
> 当时光的羽毛落向
>
> 宇宙的,那道门
所以,当我在十一假期第一次自己回家,我会对来接站的泣不成声的妈妈微笑着说:「哭什么?我这不是回来了吗?」在这次临出发之前,我会对家里人说:「别想我,好好玩你们的啊!」
——**因为,即使聚少离多,即使依依不舍,我们也总要启程。**

View file

@ -0,0 +1,90 @@
---
slug: weekly-2
summary: 浮生散记第二期
series: 岁时录
tags:
- 周报
title: Ephemeralis-Weekly2生日快乐
date: 2024-07-08
description: 本文是作者周报的第二期这是非常值得记录的一周作者过了自己的19岁生日并分享了在农历生日和公历生日的庆祝活动。他还提到博客迎来了200天的生日给博客接入了Quail作为Newsletter并谈到备案和其他一些想法。
categories: ["人间世"]
featuredImage: https://img.viento.cc/cover/weekly-2-cover.webp
draft: false
---
各位老友们好,我是 Chlorine。
本文为园子周报——Ephemeralis Weekly浮生散记的第二期日期范围为公历 2024 年 7 月 1 日至 7 月 7 日。
这是非常值得记录的一周,祝食用愉快。
## 生日
本周的标题叫作「生日快乐」,很大一部分原因是因为,这周我过了我的 19 岁生日。
我的农历生日是五月廿九,今年的 7 月 4 日;公历生日是 7 月 5 日。很巧。
### 农历生日
按照我家乡的风俗,我喜欢过农历生日。因此,妈妈为我订了一个生日蛋糕,刚好在我下课的时候送来。我送了帮我保管的宿管阿姨一块,留了一块给同宿舍的学长,剩下的,我吃了好几顿。
![生日蛋糕|421](https://img.viento.cc/weekly-2-1.webp "拍照技术不好,见谅")
宿舍不允许用明火,我也没有打火机和火柴,因此我只是把蜡烛插上了蛋糕,没有吹,默默地许了个愿望。生日帽有点短,系不上,被我卡在眼镜下勉强固定住。
我在空空荡荡的宿舍中吃了一大块蛋糕。
### 公历
在旁人眼中,这才是我的生日。
按照班级的传统,每位同学都会有一个生日推。我选了我个人认为最好看的照片,发给了宣委。收到了许多师长、同学和朋友的生日快乐。正巧,我的朋友来学校找我玩,于是说什么也要给我再过一次生日。
![朋友们的蛋糕](https://img.viento.cc/weekly-2-3.webp "蛋糕有些变形了")
谢谢我的朋友们,让我过了一个有人陪的生日。
### 一点碎碎念
在我看来,「生日」和平常的一天,实际上没有什么区别,其所有的特别之处,其实都在于「别人知道今天是我的生日,所以他们会觉得今天特别」。
这实际上是一种外向的认知,将自己的认知依托于别人。一般来说我并不完全赞成这种认知方式,但是由于这次并没有影响到我的 routine同时朋友和家人的祝福也给我带来了很高的情感收获所以似乎也不错。
过生日的那个我,和现在在这里不知所云的我,在精神层面应当不是一个我吧。
## 博客 200 天
没错,这周不仅是我的生日,也是博客的 200 天「生日」啊。
一般来说,百天好像会很隆重地庆祝,但是 200 天……我没听过。
反正也是个整数就是了呢。
## 故人来
如上文所述,我高中时代的一位好兄弟过来旅游,希望逛一逛我们的学校。但是平心而论,我这个导游当得极其不称职。没有提前做什么规划,去了许多地方都发现没有开门(例如校史馆),招待也算不上很热情,甚至有几次还没能成功抢单请客。
## 备案
> 打今儿个起,咱也有了旗籍了!
兜兜转转备案终于是批下来了。实际上也没用几天办事效率还是可以的。毕竟我这就是一个个人网站遵纪守法态度良好没有不通过的理由不是Doge
据说好多博主不希望备案,是害怕实名信息一查,被人爆了。我还好。
兴高采烈地用了一下 CDN但是发现问题有点多罢了先放着。
ICP 备案之后还有公安备案。为了方便我选的非交互式的,看看后期能不能转交互式,或者直接不管不顾地评论(逃)。
## Quail
最近给博客接入了 Quail 作为 Newsletter详情见 [HelloQuail]({{< relref "Hello%EF%BC%8CQuail.md" >}})。
## 其他
口口声声说着「这是值得记录的一周」,但是在笔上却是持之以恒地摆烂呢。
- 想画一些意识形态的拟人,可惜手残,画不了一点,只能口嗨。
- 对开源基金会的运作有一点兴趣。不知道我这个菜鸡有没有机会成立一个真正的开源开发组织呢?
- Windows 11 娘好可爱!>w<
- 当你选择遵循版权法时,生活就会变得艰难许多。

View file

@ -0,0 +1,138 @@
---
slug: weekly-3
summary: 浮生散记第三期
series: 岁时录
tags:
- 博客
- 周报
- 开源
- 日常
title: Ephemeralis-Weekly3执笔衔书
date: 2024-07-22
description: 本文是作者周报的第三期作者分享了他参与小学期课程的大作业开发新闻客户端的经历。他通过学习教程、魔改代码克服了时间紧迫和自身知识短缺的困难最终成功完成了作业。此外作者还谈到了他的梦想是成立一个自己的开源基金会并介绍了自己最近想学习的新的编程语言Rust以及他喜欢的美食烤冷面。
categories: ["人间世"]
featuredImage: https://img.viento.cc/cover/weekly-3-cover.webp
draft: false
---
各位老友们好,我是 Chlorine。
本文为园子周报——Ephemeralis Weekly浮生散记的第三期日期范围为公历 2024 年 7 月 15 日至 7 月 21 日。祝食用愉快。
## 「衔书」
这个标题听起来蛮有诗意的,但是实际过程没那么有诗意。
简单来说,我们的暑期课程大作业要求是使用 Java 开发一个新闻客户端,实现乱七八糟的一堆功能,包括但不限于新闻爬取、列表展示、详情页面、图片/视频展示、AI 摘要、历史记录、收藏功能、本地缓存和搜索等。
听上去有那么亿点可怕,更何况我们从结课到交作业只有十天左右的时间,而课程本身也只有十天。十天,要讲明白最受欢迎的企业级编程语言之一,谈何容易?就算是老师尽力输出,也只能带我们浮光掠影地看个大概。
更何况,我是个上课从来不听的摆子人。
---
一开始我基本上毫无头绪,有一种即将入土为安的美感。我甚至连 Android Studio 都不会用。所幸,我的一位同学告诉我:可以去 B 站上找相关的教程B 站真的是个学习网站呐 XD。然后我就去找了您猜怎么着真找到了而且是手把手的教程这里感谢一下教程的作者 [@浩宇软件开发](https://space.bilibili.com/492354901),如果没有他的教程我必 4 无疑)。
事实证明:面对一门你完全不熟悉的语言的时候,照葫芦画瓢加魔改永远是最好的方法。就像我们写 C++ 代码的时候:
```cpp
#include <iostream>
using namespace std;
int main() {
cout << "Hello world!" << endl;
return 0;
}
```
刚开始谁又能说清楚什么是预处理指令、命名空间、流运算符?还不是先「当成八股文写下来」(来自我的程序设计基础课程老师),然后再一点点理解?
继续。我照着教程的代码一点点敲下来,中间不断地魔改,来适应作业的要求和我自己的审美。随着作业进程的推进,我写得越发得心应手,常常一天更新四五个功能,很多部分实际上已经完全是自己在独立开发了。用我报告的话来说,就是:
> 从看着什么都没有的用户界面直龇牙,到开始细致地考虑美工和设计;从什么都需要翻 CheatSheet、查教程、问 AI到能为别人解惑答疑从「做出来就行」到「做个还行的就行」到「必须得做个好的」
最终,我花了六天左右的时间,完成了这份看起来极其恐怖的作业,以及用心到让人无法直视的报告(上万字,导出为 PDF 有上百页这个长度应该可以说是空前绝后了。我将最终的产品取名为「衔书」Xianshu 或 Tsira News
不过其实我最想说的还不是产品开发的过程本身,而是我这几天的状态。
刚开始时,为了学习效率,我尝试去三教自习。找了一圈没找到空教室,只好随便找了个人少的地方。此后几天,如果没有特殊情况,我一直都在这个位置。
架好电脑,戴上耳机,平心静气地不停地敲着。一个功能,一个功能,又是一个功能。我就这么一点点解决遇到的问题,兵来将挡,水来土掩,顺滑得行云流水,道法自然。
这种美好的学习状态,上次还是在我高中的时候。我感觉那个工作效率爆表的我又回来了。
口说无凭。在这六天的时间里,我写完了包含几千行(估计的)代码的 Android 应用,完成了数万字的报告,还顺带着帮班级的思政实践写好几千字的预调研报告,还顺带着帮几个同学答了下疑。
有人可能会将这看成「DDL 是第一生产力」,但是就我个人的感觉来看,这就是这几天的状态的优越。
总而言之,这几天是卷得神清气爽,果然我的学习血脉还是在的~
## I Have A Dream
「I have a dream」我有一个梦想简单的英语句子因美国黑人平权运动先驱马丁·路德·金Martin Luther King Jr.)于 1963 年在华盛顿特区林肯纪念堂前发表的演讲而举世闻名。
金是一位杰出的社会活动家,他的梦想就是实现社会的正义与平等。我没有如此的社会责任、胸怀与热忱,但是我也有一个梦想:成立一个自己的开源基金会。
容我多说几句吧。
我一直是一个典型的「没什么理想」的人,具体来说,我没有什么明确的目标和方向。就连报志愿的时候也可以算是一个「一时兴起」的决定。
但是我也做过梦,一个听起来挺中二的梦——「追逐人类心智的荣耀」。
我对科研的兴趣应当起源于我初三和高一的时候。我们初三开始学化学,至少在考试方面,我展现出了相当出色的化学天赋,以至于初三后期老师开始明令禁止我听课(她认为这样是在浪费我的时间 LOL。高中时期我的班主任就是化学老师。我曾经在刚开学的时候——他刚刚注意到我的时候对他说我想学化学。他说那就报北大的化学系准确来说应该是「化学与分子工程学院」我对北大许久的好感就是从这一刻开始的。当然那是另一个故事了
于是乎我有了自己的第一个梦——化学,做最顶尖的化学家。我当时不在乎什么冷门热门,只是感觉自己喜欢(毕竟,清北复交浙这个级别的学生——我当时多少是带点自傲的,觉得自己能在三年后稳稳上岸——还能饿死不成?多天真的想法啊)。有喜欢的事情,就是幸福啊。
请允许我省略中间的故事。我的梦几度变易,从化学,到物理,到数学,到统计。唯一没变的,就是我那份中二的科学家的心。
后来,我的中二又有了新的高度。我不再满足于「做科研就完事了」,我希望我能「追逐人类心智的荣耀」——用自己的努力,为人类知识的边界开疆拓土,将有限的一生奉献于无限的探索中。
听上去……确实挺好的。
然后这么梦在高考后醒了。
不是说我发挥失常,相反,我考得其实还不错。但是最终我去了一所我曾经并无好感的学校,读了从某种意义上可以说是我曾经最不喜欢的专业。
个中曲折,我不希望在此细说。总而言之,我收获了许多,唯独把我曾经中二而热烈的梦想丢掉了。
一件事如果不喜欢,又没有长久的目的,是很难做下去的。我现在的学业并不突出,可能也有这个原因(~~不要把自己的弱鸡归因于其他~~)。
然而,作为一个从没接触过计算机的小镇做题家,在我高强度(迫真)写了一年代码后,我反而感觉这门学科还是蛮有意思的。以及在不断的不务正业中,我接触到了另一个奇妙的世界——开源宇宙。
开源宇宙确实是个奇妙的地方。各路精英大佬各显神通,做出令人惊艳的产品,然后把源代码交给社区。而开源社区的精神,也是极为具有感染性的:自由,开放,协作,探索,行动。
恍惚之间,我感觉当年离我而去的梦,又以另一种形式回来了。
一个是贡献理论知识,一个是贡献代码和产品,都是崇高的事业,值得人奉献一生的事业。
于是,我想着,将来是否有这个机会,成立一个自己的开源基金会?
这个设想基本和成为世界级科学家一个难度,而且我对开源团体的运作机制完全不了解。可能我更想表达的是一个社团,一群志同道合的人合作开发令人惊艳的产品,依靠社区的支持完成运作和对成员生活的补益。
但是我就是这么想了甚至还给「基金会」起了一个名字叫「青若」Tsira。这个词汇没什么特别的含义就是我一拍脑袋想出来的。
这个新闻客户端,也是第一个还算能叫「产品」的产品。我为它冠上了 Tsira 的词头并且在签名证书的单位上郑重地写下Tsira Open Source Foundation。
我不知道这是不是又会成为我无数个胎死腹中的梦想之一,咱们暂且先看着吧。
## 学门新语言?
最近相对比较闲就想着学门现代化的语言来满足自己开zhēteng的欲望。环顾一圈现代化高性能还能写美观的跨平台应用那首选应该就是开源世界的新宠——Rust 了。
![](https://img.viento.cc/weekly-3.avif)
于是我准备试一试 Rust。然后我就疯了。
都说 Rust 在所有权、生命周期这块难但是从一开始我就觉得Rust 的语法怎么看怎么别扭……
都变量了,为什么还要显式声明可变?为什么打印是宏?这导入用的什么格式?为什么变量可以自动类型推导常量就不行?为什么……
行吧Rust 有自己的美,但是目前我是理解不了一点。
所以现在还剩下 Swift需要烦人的 Xcode、Go、Dart、Kotlin 等这些。要是各位知道什么语法和 C++ 相似(但是更简单),同时还比较优雅的现代语言,可以给我推荐一下。
## 烤冷面
烤冷面属于一个我不常吃但是挺喜欢的美食,但上大学之后就很少吃了,主要是没有很好的地点。后来尊敬的崔博士(我的高中同学)带我去二食堂吃了一次,只能说过得去,但是胜在便宜实惠。
最近我在饿~~似~~了么发现了一家烤冷面,做得相当好吃,于是这周点了好几份。虽说贵了点,但是人家好吃啊~

View file

@ -0,0 +1,133 @@
---
slug: weekly-4
summary: 浮生散记第四期
series: 岁时录
tags:
- 博客
- 周报
- RSS
title: Ephemeralis-Weekly4缝隙之间
date: 2024-08-02
description: 浮生散记第四期。作者回顾了自己的假期和工作情况还介绍了RSS和独立博客的意义。
categories: ["人间世"]
featuredImage: https://img.viento.cc/cover/weekly-4-cover.avif
draft: false
wikilinks: true
---
各位老友们好,我是 Chlorine。
现在其实不是写周报的时间,但是考虑到下面几天的经历几乎一定会和这几天严重割裂,所以提前(延后)写一下周报,总结一下这几天令人一言难尽的小假期。
本文为园子周报——Ephemeralis Weekly浮生散记的第四期日期范围为公历 2024 年 7 月 23 日至 7 月 2 日。祝食用愉快。
## 缝隙中的假期
如上期 [[Ephemeralis-Weekly3执笔衔书]]所说,我前段时间的任务就是忙 Java 大作业的验收工作。在闯关(铜人音)后,我就提着行李箱,头也不回地坐上了回家的高铁。
其实这次回家有点无厘头。我几乎是在前一天晚上才定下来我要回去的,甚至由于这几天恶劣的天气,我原本定的高铁票还被取消了,搞得我差点红温。所幸后来递补上了一张票,还是直达的,还不错。
说起来这也是我第一次主要使用公共交通工具去火车站(当然一共也没去几次)。说起来也相当顺利,倒两班地铁再做一点公交车就到了。
由于时间比较充裕就在火车站吃的午饭。吃的是金拱门麦当劳性价比嘛emmm他明明可以直接抢我 50r 的,却还要送我一份午饭。他真的,我哭死。
下面就是漫长的旅行了。路上无聊我提前下了部电影卓别林的《大独裁者》B 站热心网友修复版)。这部片子之前看过一次,非常推荐。
很可惜,到家之后,沟槽的天气依然在追我。我有幸见证了东北罕见的梅雨天,我的被褥全天都是湿漉漉的。
## 写报告的人
我一直认为,我算是个「天生报告圣体」。只要是涉及到写报告的项目,我都能在很短的时间内拿出让你瞠目结舌的报告。这应当得益于我~~信口开河~~出口成章的能力,以及 Typora Theme Lapis 的美观。
![](https://img.viento.cc/IMG-20240802135217.avif "喜欢我一百页的大作业报告吗?")
但是我并不想在假期还要整天赶报告。很不幸,这件事由不得我。
如各位所见,我校会在适当的暑假组织同学们进行小学期和思政实践。我是我们支队专业调研组的组长(调研组分专业调研组和思政调研组),同时还是预调研报告的主理人。
听起来似乎还挺好,但是当你听完那些任务的时候可能就不会这么觉得了。
中间的过程我也不和大家细讲了,我害怕影响大家心情。总而言之就是反反复复改需求,常常是写到快结束了突然改要求。我写了好多个整天,更要命的是那几天我还在发烧,我现在都难以想象我是怎么活下来的。
![](https://img.viento.cc/IMG-20240802135757.avif "把我们各个组的同学都搞破防了")
反正最后终于是搞出来了,我们都累得够呛。当然,这并不算是抱怨,无论是老师还是同学还是对接方都在很努力很用心地做,只是大部分时候天不遂人愿罢了。
## V2RSS
本节标题来自 V2EXWay to Explore
先做个科普from Wikipedia
> RSS英文全称RDF Site Summary 或 Really Simple Syndication中文译作简易信息聚合也称聚合内容是一种消息来源格式规范用以聚合多个网站更新的内容并自动通知网站订阅者。使用 RSS 后,网站订阅者便无需再手动查看网站是否有新的内容,同时 RSS 可将多个网站更新的内容进行整合,以摘要的形式呈现,有助于订阅者快速获取重要信息,并选择性地点阅查看。
RSS 基于 XML 语言,是一种标准化的数据格式(由于我 OOP 的大作业写的就是 TinyXML2Java 大作业更是天天用 XML 写布局,我对这个货相对还比较熟悉。简单来说相当于自定义标签和属性的 HTML。 RSS Feed 文件包含了一系列的 `<item>` 元素,每个 `<item>` 代表一篇更新内容。RSS 阅读器可以解析 XML 文件,提取其中的关键信息并展示给用户。
简单来说RSS 就像是一个网站的新闻推送让你不用访问网站就能知道它更新了什么。RSS 的原理可以简单理解为以下几个步骤:
![](https://img.viento.cc/IMG-20240802141229.avif)
RSS 的好处大概就是(没错是用 AI 总结的\\逃):
- **及时获取最新信息:** 订阅 RSS 后,网站更新的内容会自动推送到你的阅读器,无需反复访问网站查看。
- **高效阅读:** RSS 阅读器会将多个网站的更新内容聚合到一起,方便你集中阅读。
- **节省时间:** 不用浪费时间浏览无关信息,直接获取你感兴趣的内容。
对于我本人而言在很长其实也不长。我的网络生活应该是从我上大学开始分界的一段时间内RSS 在我眼里就是一个完全没有什么实际影响的「光锥之外」的技术概念。而且,都 4202 年了欸,电子邮件我几乎都不看了,还指望我看 RSS开什么玩笑捏。
然后当然就是大家喜闻乐见的打脸时刻。今天2024.8.2)我光速下载了在 Apple 生态下久负盛名的 NetNewsWire然后把自己平时喜欢逛的几个博友的网站和技术周刊都加了进去。
为什么呢?
> 我不到啊!
没错,我还真不怎么知道。大家就姑且认为我精力过剩了吧。反正我现在觉得 RSS 是个蛮好的东西。
如果大家希望通过 RSS 订阅我的博客:<https://chlor.me/index.xml>
## 缝隙中的人
我们接着 RSS 讲。在今天刚刚搞好 RSS 的时候,我突然想起了当初和[孙哥](https://clf3.org)的对话:
![IMG-20240802142447.avif](https://img.viento.cc/IMG-20240802142447.avif)
孙哥是个技术人并不怎么在乎博客折腾来折腾去这些事情。不过有一点是对的RSS 确实是个很老的东西了。RSS 首次发布于 1999 年 3 月 15 日,最新版本的 RSS 2.0 也是 15 年前的事情了RSS3 和传统的 RSS 很不一样,是去中心化技术的一部分)。现在还在用 RSS 读文章,就像是还在用老式收音机听广播一样。
**不过话又说回来,做独立博客这件事本身,不就是一件「老旧且过时」的事情吗?**
技术门槛高(相对于直接在现成的平台上写而言),时间投入大,即时互动少,没有推荐算法,没有依托平台的推流,盈利困难……怎么看,独立博客都是一项费力不讨好的小众爱好。
事实也的确如此。独立博客就像是数字汪洋中的孤岛,用自己的声嘶力竭演绎着什么叫作沧海一粟。
---
独博圈的大佬[杜老师](https://dusays.com)前些天发了一篇文章:[杜老师说稿件征集](https://dusays.com/730/),向博友们征集感兴趣的素材和话题。
我感觉很有趣,下滑看看评论区,不同的博友们都开开心心地提着自己的见解。我忍不住也打了条应景的评论:
> 感觉独立博客做到杜老师这么出色,已经是整个博友圈的共同宝藏了。
是啊,共同的宝藏。就我有限的认识,独立博客的读者许多(甚至可以说是大部分?)也是独立博主,不同的见解、知识、经历和体验以 Hypertext Transfer Protocol 为载体在不同的个体之间流动,形成一个小众、冷清但又热闹的圈子。大家的身份不同、生活不同、喜好不同,但是既然都在做这些事情,那至少是有一部分共鸣的。那么,组成一个汪洋大海中的群岛,平时各自打理,时常互通有无,不好吗?
这应该也是我开始努力「对外航行」的原因。从「开往」的友链接力项目,到友链的扩列,到开始积极地「走街串巷」,去赛博拜访同样做着独立博客的老友们(老友是我的一个习惯用语,即使我们只认识了一分钟,如果灵魂相通,那也都是 friends that haven't met before
> 我的岛屿之上,荒无人烟。
> 我捡拾山石的苔藓,
> 焚烧风干的枯枝落叶,
> 燃起火焰。
>
> 有时候有人登岛,
> 有时候一个人狂欢。
海平面淹没不了岛屿,无论网络如何变迁,我始终相信,独立博客作为一群「小众、过时、老派」的人的精神家园,会且始终会存在。
**毕竟,我们都是「活在世界缝隙中的人」**。
## 其他
- 写了个 Python 脚本,基本上解决了 Obsidian 图片压缩的问题,只是上传还有点麻烦。
- 奇怪的烤肉串,味道还不错。
- 最近开始重拾 TypeScript不得不说 JavaScript 和 Java 是真挺像的。此外 `Bun.js` 真是宝藏运行时。
- 马上要飞去深圳了……祝我旅途愉快!

View file

@ -0,0 +1,178 @@
---
slug: weekly-5
summary: 浮生散记第五期
series: 岁时录
tags:
- 周报
- Vaultwarden
- Gitea
- Obsidian
title: Ephemeralis-Weekly5只是去做
date: 2024-09-01
description: 本文是作者周报的第五期详细记录了自己在技术折腾、笔记软件选择以及生活琐事中的思考与实践。主要内容包括部署Vaultwarden和Gitea的经验分享笔记软件的使用和选择中的感悟高效率完成一次准备任务以及在健康问题下的饮食调整。文章风格轻松幽默体现了作者对技术和生活的热爱与反思。
categories: ["人间世"]
featuredImage: https://img.viento.cc/cover/weekly-5-cover.webp
draft: false
---
各位老友们好,我是 Chlorine。水篇文章。
本期已经不能称作「周报」了,因为时间跨度长得我自己都不知道是多少。各位当个乐子看就好。
祝食用愉快。
## HelloVaultwarden
开局咱们先甩一个 Hello 宇宙新成员。本来这个是打算单独水一篇文章的,但是实在是写不出什么新颖的东西了。
这个起因说来大部分还是我比较闲,当然,对外说的原因是 Chrome实际上是 Arc的密码管理机制实在是太聪明了它……居然都不做个本地加密。行吧小厂的产品这样我也就忍了您 Arc号称改变互联网的下一代浏览器以及您ChromeGoogle 最得意的作品,世界市场占有率第一的浏览器,对于用户最隐私的部分……连个加密都不做?我知道您对您的产品沙盒的坚固程度很有自信,但是,我是说但是,有没有一种可能,有一些软件喜欢扫盘呢?
(冷知识:有一段时间我本地存放一些重要信息的 `tokens.csv` 也没加密,甚至没有沙盒。后来改用 GPG 加密了,当然现在找到了更聪明的存放方法。大家可以在评论区嘲笑小氯了。)
于是我想改用 iCloud 自带的钥匙串。这是个很不错的选择,但是由于最近我又开始使用我的安卓备用机了,这就变成了一个 sour point。而且iCloud 密码管理器在接管 Chrome 等的自带密码的时候似乎总是有问题,不知道为什么。
所以我盯上了伟大的自托管密码管理器—— [Bitwarden](https://bitwarden.com)。
雷蒙德·卡佛有本书:《当我们谈论爱情时我们在谈论什么》。小氯不懂谈论爱情时谈论的是什么,但是当我们谈论 Bitwarden 的时候,我们谈论的几乎都是 Vaultwarden拜托……不要那么生硬地抖书袋可以吗
Vaultwarden 是一个 Bitwarden 的分支——准确来说,是一个实现了 Bitwarden API 的第三方服务(因为 Vaultwarden 的代码实际上是自己写的),采用我们喜闻乐见的 Rust 编写。Vaultwarden 的内存占用极低(据说是 10M 左右,我实际测试下来大概是 30M并且兼容几乎所有 Bitwarden 的 API适合个人和小型组织使用。
为了省事,我们直接使用 1Panel 进行部署即可。在应用商店搜索 Bitwarden 就可以,安装的实际上就是 Vaultwarden。
安装后登录,创建一个主密码。这个东西很关键,不推荐使用日用的密码,可以通过命令行生成一个随机字符串,然后放在一个安全的地方存放好。
在登录后,回到 1Panel修改一下我们的 `docker-compose.yml`,添加几个环境变量:
```yaml
environment:
- TZ=Asia/Shanghai # 时区,按自己的来
- SIGNUPS_ALLOWED=false # 禁用注册
- INVITATIONS_ALLOWED=false # 禁用邀请
- ADMIN_TOKEN=你的管理员 token # 推荐用 openssl rand -base64 48 生成一个
- LOG_FILE=/data/vaultwarden.log
- LOG_LEVEL=warn
- SHOW_PASSWORD_HINT=false # 禁用主密码提示
- DOMAIN=你反代的域名
```
完事。此外,推荐开启 2FA 和 HTTP 鉴权,更安全。毕竟这玩意是最不能暴露的。
如果需要导入 Chrome 存储的密码,可以在 `chrome://settings` 页面的密码管理工具中导出 CSV 再导入;如果需要接管浏览器级别的密码存储,安装 Bitwarden 扩展即可。此外 Bitwarden 还提供了 iOS 和 Android 客户端,以及一个 Bitwarden Authenticator 验证器(不过 2FA 用 Bitwarden 自己也可以做)。
小声吐槽一句Bitwarden 的这个手机客户端实在是太难看了)
如果需要更多知识,可以参考[这篇教程](https://atpx.com/blog/docker-vaultwarden/)。
## HelloGitea
这是我部署的又一个比较大的服务。起因其实是我希望使用 Git 同步一下我的 Obsidian 笔记库,但是又不太放心把笔记交给 GitHub 和牢软(~~那你早干嘛去了~~),因此打算自己部署一个小 Git DevOps 玩玩。那么最合适的选择就是 Gitea 了Git with a Cup of Tea轻量美观的服务。
这里是 Gitea 的官网,可以参考官网的部署方式。由于我是个人使用,因此 SQLite 就足够了MySQL 占用资源太多了,另一个原因是 1Panel 陷害我,部署 Gitea 之后差点没把我机器干废。
```yaml
version: '3'
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
restart: always
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=sqlite3
- RUN_MODE=prod
ports:
- "3000:3000"
- "222:22"
volumes:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
```
登录后会出现注册页面,按照要求操作即可。如果是个人实例,为了安全,推荐在登录后把注册等等乱七八糟的功能全都关了。编辑 `data/gitea/conf/app.ini` 即可。总体而言,由于我的虚拟机在国内,速度还不错,不比 Gitee 慢多少 :)
关于 Gitea 更多的部署知识,可以参考[杜老师的教程](https://dusays.com/722/)。
顺便说一句,我的 Gitea 实例叫「小氯の鲜果茶」(๑˃ᴗ˂)ﻭ
## 折腾笔记软件
接着上面 Obsidian 的事情,说说最近折腾笔记软件的经过。
我是一个卡片笔记的爱好者。不过,我的思路和经典的 Zettelkasten 还不一样:卢曼教授会给卡片编写细致的索引,但是我不喜欢。我甚至都不希望有太明显的层级,这一方面是因为 [Pseudoyu](https://www.pseudoyu.com/zh/) 说的「心智负担」,另一方面也与我的思考方式有关。
我是一个思维极其跳脱的人,平时就喜欢胡思乱想,从一个思维锚点出发可以通过一系列几乎是难以理解的联想迅速跳转到数个看起来八竿子打不着的话题(而且我的语速极快,使得和我闲聊的人很多时候难以跟上我的思路)。同时,我的学科背景算是比较广泛的,高中时以「九边形战士」(我们存在的九个学科——数语英物化生政史地。相对来说,我地理比较差)而闻名,分科后理科拿高分的同时也喜欢闲着没事去钻研人文社科相关的内容,尤其语文和历史可以说好于绝大部分的文科生。现在大学读的专业天然带着交叉属性。平时也爱折腾,了解各个领域奇奇怪怪的小知识。因此我的知识库(如果有)主打一个多且杂,注重在同一个问题中运用各种可能的知识进行~~胡乱的~~链接。所以,严格的分类和放置对我来说反而是桎梏。我最多是打 categories如果领域太多加一个 subcategories和 tags有时候连 tags 和标题都懒得打。
回到笔记软件。我对笔记软件的理想要求如下:
- 良好的编辑体验,支持 Markdown 和 GFM 标准(或者其他轻量级标记语言)
- 开放格式,或者可以导出为开放格式
- 高度卡片化和非线性
- 支持随时随地闪念记录
- 支持剪藏
- 支持双向链接,关系图谱属于加分项,可有可无
- 足够的写作性能、搜索性能等
- 支持同步(移动端有简单的查看和闪念记录即可,主要要求可靠)
- optional白板可视化思维工具
- 本地化,离线可用
- 开源,或至少需要保证尊重用户隐私
**不过,我找了很久,遗憾地发现,满足我全部要求的 silver bullet 目前是不存在的。**
目前为止Obsidian 应该是我用过编辑体验最好的笔记软件Easy Typing、LaTeX Suite、Completr 等插件的加持使得 Obsidian 可以薄纱市面上几乎所有的编辑器同时高度可扩展性的平台生态为其增加了几乎无限的可能TiddlyWiki 是最符合我卡片笔记思维的一款,单文件 self-contained、开源免费也为其增加了最大限度的可靠性思源笔记应该是所有类 Notion 软件中对 Markdown 支持最好的一款,同时支持和 Memos 以及 Web Clipper 的 100% 整合Affine 的设计风格我非常喜欢,同时支持手写白板也非常诱人……
乱花渐欲迷人眼。我在「挑选一个最好的笔记软件」这件事上越陷越深,浪费了不知道多少时间。
直到我想起我和娘亲的一段对话:
> ——儿子,你回去上学了会想家吗?
>
> ——会啊。
>
> ——那怎么办?
>
> ——想就想呗,也不耽误干活。
这款软件不完美,不等于它不能用。既然我还没到「能自己写一个完全满意的工具」的程度,那也只好先从现在能用的资源里挑个最好的。于是我暂时放下了追求完美的念头,继续用我的 Obsidian。我甚至都没完全使用其功能去构建什么工作流只是用。Apple Notes 和 Memos 这些辅助工具也用,我也没想着去做什么大的整合,一方面做不到,另一方面没必要,「又不是不能用」。
> We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.
> —— Donald Knuth
以及我很喜欢说的一句话:
> PKM个人知识管理的前提是你有知识。
## 接一个 Pre
我们的实践成果答辩马上就要开始了,需要做个 prepresentation。本来这事是支队长的责任和我关系不大但是我们其中一个支队长临时有事于是我接下了这个活没错我们同一支队答辩还需要分院系就是这么抽象
说实话我比较懒,需要的资料又迟迟拿不到,因此我光明正大地摆烂了。但是老是这么摆也不是事,总不能到时候临场发挥。所幸,今天我们伟大的班级首相(也就是支队长)送来了我们的 PPT我们用的 PPT 基本一样)。
面对又一次推掉这个活的机会(不细说了),我犹豫再三,还是选择了继续做。我简单阅读了 PPT开始动手写讲稿。没写多久大概一个小时就写完了。我~~扯皮~~写报告的能力大家还是可以相信的。
结果居然得到了老师的认可。
![|428](https://img.viento.cc/IMG-20240901191154.avif)
然后我花了点时间和支队长讨论了下,修改了不少细节。前前后后加起来用了一上午。
我外婆喜欢说一句话:「眼是懒蛋子,手是好汉子。」话有点糙,但理不糙。
## 喝点什么
最近检查出了尿酸偏高和痛风性滑膜炎,算是我的人物特质了,每年夏天随机获得一个病症。因此最近在大规模喝水(这两个词是怎么连起来的?!)。但是喝多了会感觉嘴里没味道,因此想了一个办法,柠檬水。
不是蜜雪冰城的柠檬水,就是柠檬,水。
![|397](https://img.viento.cc/IMG-20240901185937.avif "拍得很没有美感")
好喝吗?不好喝,很酸,即使我对酸的耐受力很高,我也不会觉得这种东西好喝,但是就是莫名其妙喝了一杯又一杯。
我喜欢各种各样的饮料,尤其是奶茶和果茶。在园子里面,我最喜欢桃李园的元气莓莓,少糖的。可惜这次恐怕是要和它们说再见了。
我甚至还有过更加「大逆不道」的想法:我想尝一尝伏特加,战斗民族的饮料。据说斯米诺红牌味道比较好,尤其是兑果汁的时候。但是最终还是放弃了,身体健康之外,我不喜欢和任何烟酒沾边。
先说这么多吧。马上我就要开学了,下次写周报的时候,我应该已经回园子里了。

View file

@ -0,0 +1,196 @@
---
slug: weekly-6
summary: 浮生散记第六期
series: 岁时录
tags:
- 周报
- Zen
- Matrix
- AIGC
title: Ephemeralis-Weekly6无可热爱
date: 2024-09-15
description: 本文是作者周报的第六期以轻松幽默的语气分享了自己对多种主题的思考和体验。首先作者介绍了Zen Browser这款新浏览器虽然其界面设计精致、性能较好但由于bug频繁且仅处于Alpha阶段作者对其当前表现略有保留。接着作者描述了用Rust编写的Matrix服务器实现Conduit的部署体验指出其轻量高效的优点。随后作者简评了豆包AI的绘画功能并分享了自己使用AI生成头像的经历。最后文章逐渐转向深刻的个人反思讨论了生活中无谓的琐事、理想与现实的冲突以及意义感的缺失表达了对时代与个体生活的质疑、困惑与思考。
categories: ["人间世"]
featuredImage: https://img.viento.cc/cover/weekly-6-cover.webp
draft: false
---
各位老友们好,我是 Chlorine。一别旷日心下甚念。
本文为园子周报——Ephemeralis Weekly浮生散记的第六期日期范围为公历 2024 年 9 月 9 日至 9 月 15 日。祝食用愉快。
## HelloZen Browser
如果问我每天使用时间最长的应用程序是什么,那恐怕不是 VSCodium、Obsidian 或者微信,而是浏览器。浏览器是我们通往互联网的桥梁,也是我们与科技巨头的「隐私战争」最激烈的阵地之一。
现在浏览器市场的老大毫无疑问是 Chrome如果我没记错其市场占有率应该在 60% 以上Edge、Safari、Firefox 和 Opera 等位居第二梯队。目前这几大浏览器中,唯一开源的是 Mozilla Firefox这也是几个浏览器中公认对隐私尊重最好的。只不过虽然 Firefox 是开源的,但是其和东家 Mozilla 也面临着很多非议(这会让人想到一些和 FOSS 意识形态有关的问题,小氯在这方面有一些不成熟的思考,有时间我会详细讲的)。于是,一些基于 Firefox 开发,但是预先做了许多隐私和安全方面处理的第三方分支出现了,我们姑且将之称为 pre-harden 版本。
关于 Firefox 的 pre-harden 版本,比较著名的应该是 [LibreWolf](https://librewolf.net)我很难不怀疑开发者起名的用意。LibreWolf 很好,但是从某种意义上来讲,有点太好了——它尽心尽力地去除了那些试图窃取我们隐私的虫豸,但是却没有帮我们补齐曾经我们用隐私换取的体验,或者说是补齐得不够。
而且,就我个人而言,我对于 LibreWolf 的界面不太满意。作为一个 Arc 重度用户,我对 Arc 精致的设计和交互非常着迷。而要在 LibreWolf 中达到一样的效果,需要费非常大的力气。
后来,我在 GitHub 上发现了另一个开源项目:[Zen Browser](https://github.com/zen-browser/desktop),我们可以称其为「禅浏览器」。
在[他们的官网](https://zen-browser.app)上,开发者高调地宣称:
> Zen is the best way to browse the web.
虽然比不上 Arc 的「改变整个互联网」这么自信,但是这个宣传语也已经够让人眼前一~~黑~~亮了。于是我下载了这个浏览器,并将其作为主力使用了一段时间。
那这个浏览器能配得上这个宣传吗?
**很遗憾,就我目前的体验,暂时还不能。**
总体而言Zen 的交互在 Firefox 系浏览器中是相当精致的,甚至可以说是最精致的,没有之一。可以看出开发者的确下了很大的功夫去设计界面交互。就原生侧边栏这一个功能,就是难得可贵的了。其速度和内存占用要好于 Arc但是没有达到明显优于的级别。在界面设计方面还存在一些我不是很满意的细节然而我不会改 Firefox 的 CSS于是只好干瞪眼而且其目前为止还存在很多 bug例如无法保持许多自定义设置例如 DNS 保护中的偏好等级,甚至是侧边栏钉住的标签页都无法保留)。
那我为什么还是保留了它?
说出来大家可能不信:这个浏览器,到现在还只是 Alpha 版本,连 Beta 都不是。[^1]这么一说,好像前面的所有 bug 都变得合理了。
但是我并不这么认为。作为一个项目Alpha 版本存在错误可以得到 Fellows 的理解;但是作为一个产品,存在错误可不会得到用户理解。当然,我这么说并不是在对 Zen 吹毛求疵、严以待人Zen 是一个非常优秀且未来可期的产品,我希望表达的意思是:如果各位老友希望使用 Zen请注意和明确直至完全理解可能要承担的风险。
## HelloConduit
[Conduit](https://conduit.rs) 是一个用 Rust 写的 [Matrix](https://matrix.org) 服务器实现,具有超轻量、高性能等优点。我看了一圈,目前简中圈的相关资料似乎不是特别多。
### 部署
我们依然使用美好的 Docker。
找个你喜欢的目录,创建 `docker-compose.yml`
```yaml
# Conduit
version: '3'
services:
homeserver:
image: matrixconduit/matrix-conduit:latest
restart: unless-stopped
ports:
- 8448:6167 # 左边的端口可以改一个你喜欢的
volumes:
- ./db:/var/lib/matrix-conduit/
environment:
CONDUIT_SERVER_NAME: 你的实例域名
CONDUIT_DATABASE_PATH: /var/lib/matrix-conduit/
CONDUIT_DATABASE_BACKEND: rocksdb
CONDUIT_PORT: 6167
CONDUIT_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
CONDUIT_ALLOW_REGISTRATION: 'true'
CONDUIT_ALLOW_FEDERATION: 'true'
CONDUIT_ALLOW_CHECK_FOR_UPDATES: 'true'
CONDUIT_TRUSTED_SERVERS: '["matrix.org"]' # 我们信任的实例,会进行优先通信
# CONDUIT_MAX_CONCURRENT_REQUESTS: 100
CONDUIT_ADDRESS: 0.0.0.0
CONDUIT_CONFIG: '' # Ignore this
volumes:
db:
```
然后直接部署即可:
```bash
docker-compose up -d
```
部署成功后访问你部署的地址如果看到一串「Hello from Conduit!」,那么恭喜你部署成功。
### 注册
由于 Conduit 不带 Web 界面(原本的 `docker-compose.yml` 把这个部分注释了,我直接给删除了),所以我们需要找个 Matrix 的客户端进行注册,比方说 Element 之类的。
第一个注册的用户会成为管理员。注册成功后建议把配置文件的 `CONDUIT_ALLOW_REGISTRATION` 改成 `false`,防止有人恶意注册。
我目前的 Matrix 就采用自己的私有实例。但是吧,我的虚拟机在校园网内访问经常抽风,造成 Matrix 服务也不大稳定,因此我准备了一个备用账户。
我一直想用 Matrix Bot 代替飞书 Webhook但是我还不会。
## Hello豆包
~~你这写的到底是周报还是 Hello 宇宙文集?~~
很早就听说过字节家的豆包 AI但是没用过。这几天翻[木木老师](https://immmmm.com)的博客说说,发现木木老师对豆包的 AI 绘画赞不绝口,于是我打算尝尝鲜。
试了一段时间,总体感觉属于还可以的水平,文字问答和 Kimi AI 差不多。其他的功能,像音乐生成和智能搜索我还没试过。
不过有一说一,这个 AI 绘画是真的可以。我用祖传的 prompt 去炼了会金,炼出了一些看着蛮不错的照片,其中包括小氯现在的头像。
——准确来说,是我头像的原图。
简单来说呢,我对头像的制作非常满意(虽然说细节上还有一些瑕疵吧),但是我试着将其换成头像后,远看起来,人物的腿部非常显眼,事实上也的确存在一定面积的裸露(我目测是四分之三长度)。
这不算是一个很暴露的比例,但是已经足以让一些较为严格的审查亮出黄牌了。我用凉心云的审核系统检测了一下,果然被警告了。
作为一位遵纪守法的独立博主,我不能接受这个事实。于是我花了很大力气,终于为人物加上了合适的衣着,也就是各位老友现在看到的头像。虽然细节处理上并不出色,但是至少可以用了:这个版本是全年龄段适宜的,至少就我国法律而言,不会碰到任何意义上的红线。
反正总而言之,豆包 AI 的绘画确实很不错,大家可以试着玩一玩。
## 开学
~~终于讲点正事了~~
从 9 月 9 日开始,小氯就正式开学了。一周下来体验就一个字:累。小氯本学期的专业课非常抽象。尽管第一周的事情很少,但是小氯也已经感受到了令人咋舌的压力。
不过幸好,第一周完事就是美好的中秋假期,可以稍稍~~摆会烂~~喘口气。我很难想象,到了期中和期末会是怎样一番勃勃生机万物竞发的盛景。
## 无可热爱
> [!CAUTION]
> 警告:下面的若干段话相当的幼稚和矫情。各位老友可以先回自己的房间,我会把线上故事打开。这样如果不想听,直接关掉即可。我不希望周报变成另外一场无聊而冗长的会议。
当我写下这段话时,我正在开一段非常无聊且冗长的会。台下的每个人看起来都生无可恋,我怀疑台上的实际上也是。
我的心情不太好。刚刚收到了 [Physnya](https://physnya.top) 老友的邀请邮件希望能去新生舞会面基。插句话Physnya 老友应该是目前离小氯地理位置最近的一位了,平时可能在几百米以内(第二近的可能是[杜老师](https://dusays.com)?)。说实话我还是蛮心动的,除开可以和老友面基外,毕竟当初三字班的新生舞会我还没参加,虽然我腿脚不好且在运动方面毫无天赋,但借着四字班的学弟学妹们的活动感受一下氛围也不错。
然而我去不了。我只能在会议上摸摸鱼,抓紧讲话的间隙做一点工作,或者写写代码。
当然,经常在会议上摸鱼的朋友都知道,这样的效率不高,甚至极低。于是小氯的情绪变得非常不稳定~~想随机找一位幸运观众进行氧化~~。
趁着中场休息的功夫我跑去接了瓶水,然后在外面东倒西歪地走,假装自己可以不太清醒地耍耍酒疯(各位老友应该知道,小氯因为身体原因不能喝酒)。
越喝我的情绪越不稳定,到最后内心只剩一个想法:
> 我到底在这干什么?这不就是在浪费生命吗?
没错,完完全全就是浪费生命。把本来可以认认真真写代码,或者去和老友畅谈文事共叙旧谊丰富人生体验,或者只是在紫操走一走吹吹风听听歌的时间花在一场结束后不会对我有任何技能价值或情绪价值的会议上,顺便还会导致我今天睡得不好。
恕我直言,作为一个学过经济学原理的人,我面对这种效率和公平一点不沾边的行为会感到异常不满。
既然都已经不满了,索性让我再多吐槽几句吧。
我们的日子到底充斥着多少这样浪费时间的无谓之举?把最好的时光花在不得不做的乱七八糟的琐事或者自我麻痹的短视频上,到头来只留下了无穷无尽的空虚。这样日复一日年复一年,找不到任何可依托的锚点,没有任何喜欢或者追求的事物,到头来就像秦始皇陵地下的兵马俑,只剩下一副干瘪的躯壳,即使摆出笑的造型都不知道有什么可高兴的。
我不止一次发出过这样的质疑。一般我用来自我安慰的方式有两种,温和派就是那句曾经激励我的「热爱可抵岁月漫长」,激进派不太喜欢给人留面子,会直接劈头盖脸地斥责你:你的所有空虚、寂寞、伤感、迷茫,归根结底就两个字:闲的。
**好,那小氯今天倒是想问一句:我们应该热爱什么?就算我们不闲下来,每天忙忙碌碌过着「充实」的生活,那又是为了什么?**
千人千面的问题。但是只要我们追问几句,一切看似冠冕堂皇或者热血沸腾的答案都会被审视的大剑劈成苍白无力的自证的碎块。
这是一个意义被解构的时代,一切的崇高都可以被从神坛上拉下,被粗暴地揭去其金色的铠甲或长袍。泛娱乐化消解了严肃性,怀疑主义动摇了合理性,而功利主义打碎了理想性。意义一旦被解构,就几乎无法重建,如同破镜不能重圆。我们自然可以用理性去批判其中的不合理之处,但是就像《天下第一楼》中说的,「一个人干,八个人拆」,意义的崩塌可比建构快多了。而怀疑的种子一旦种下,必然会在一个不太远的时间引发一场思想的雪崩。
这个问题在高中几乎是不存在的——至少就小氯的人生经历来说。高中是一个极其纯粹的阶段,除了学习几乎不需要接触任何其他事情。这就造成我们的理想主义可以安心地躲在长城之后,免于任何铁骑的冲击。而一切疑问都可以被「考一个好大学」所掩盖,大学生活本身的神秘性也为这种推脱提供了情感上的有力支持。因此,小氯可以一天做上十几张卷而不去想为什么要去做卷,而一句「追逐人类心智的荣耀」就足以让人热血沸腾许久。
但是乐园消失了就无法重建,朴素集合论和形式主义系统再令人沉醉也逃不过 Russell 悖论和 Gödel 不完备性定理的恶魔。我们当然可以用下一个大众意义眼中的「人生阶段」作为自己的目标来继续激励自己,例如说保研或者国外升学或者 Offer但是我们永远逃不开这个意义的终极追问。科幻文学界可以「嘲笑宏大叙事消解终极追问」[^2]但是作为个体的我们却无法忽视这个自我幻境之中的阿喀琉斯之踵。至于将自己的目光放近,只是感受生活中的小确幸,抑或守护自己身边的熟悉一隅,这种生活方式「虽然清丽飘逸,但却独欠风骨」。而且我很怀疑,武陵人是否真的能回到桃花源。至于搞钱,似乎只有利欲熏心的资本家才能将其作为人生的终极意义,而且在当下的经济形势,估计这个目标也难以为继。
一旦人无可热爱,意义的消解就是生活的破碎。工作变成了苦兮兮的打工,娱乐变成了自我麻痹的无形酒精。人的断片从未消解,而是以另一种形式延续下来,并且正在侵蚀人心的道路上披荆斩棘一往无前。文明精神上的熵增似乎已经不可避免,最后也不知会来一场现实意义的赛博朋克 2077还是幸存者在辐射的废土上苟延残喘或者是数据主义的洪流如人曾经洗刷掉动物和神明一般洗刷掉人类将曾经在进步和吹嘘中飘飘然认为自己可以万世长存的文明如泥石流中的土块般冲散。这么看来全体人类搬进元宇宙倒可以算是一个相当好的 HE起码在一段时间内可以享受一个所谓「质料与原本完全不同因而问题也不再存在」的世界——不过我并不认为元宇宙里就不用上班很可能变成二次元人物之后还得打工。
说了这么多,感觉对于每一个个体而言,除了被博弈论嘲笑的微乎其微的团结的希望,似乎剩下的唯一选择就是不去思考终极问题,用上文所述的方法去欺骗自己一生。不是说这样不好,这样可以过得相当幸福,甚至可以成为一个伟大的人——通常意义上的,创造出丰富的物质和精神价值。
**然而我们必须思考**。
我曾经做过一个心理测试,里面有一道题:清醒地痛苦和糊涂地幸福,你选择哪个?
我当时选择的是前者,我记得。但是现在看来,这根本不是一个能选的问题,因为能够不思考的,估计只有被圈养的动物。
---
乱七八糟说了一大堆不知所云的话,抱歉污染到各位老友的时间线了。
按理说,小氯作为一个在大众意义上被认为是未来的精英群体或者国家栋梁的年轻人的群体的一员,不应该如此「悲观」,但是,很可能正因为看得更多,才会想得更多。当然,更大的可能是只是在没有看清世界全貌时的无病呻吟。我希望是后者。
[^1]: 简单科普一下Alpha 是软件开发的早期版本,相当于「内部测试版本」;而 Beta 可以看作「公测版本」。
[^2]: 出自《三体》的序言,不知记得是否准确。

View file

@ -0,0 +1,244 @@
---
slug: weekly-7
summary: 浮生散记第七期
series: 岁时录
tags:
- 周报
- 博客
- Swup
title: Ephemeralis-Weekly7唯有时光
date: 2024-09-28
description: 本文是作者周报的第七期,主要包括园子的装修工作,如 Swup 的修复、whisper 代码美化、Twikoo 表情链接的调整、解析线路切换等。此外,还探讨了不同语言中对“小氯”这一昵称的翻译,涉及英语、西班牙语、日语、法语、俄语和韩语/朝鲜语等。文章最后分享了对时间和生活感知的哲学思考,提倡通过记录日常小事来增强对时间流逝的感知,强调生活经历对个人记忆和身份的重要性。
categories: ["人间世"]
featuredImage: https://img.viento.cc/cover/weekly-7-cover.webp
draft: false
---
各位老友们好,我是 Chlorine。~~鸽了一期~~的周报再次回归。本期又是一篇蛮矫情且没营养的怪东西,如果吵到您的眼睛了,小氯提前跟您道个歉。红豆泥私密马赛。
本文为园子周报——Ephemeralis Weekly浮生散记的第七期日期范围为公历 2024 年 9 月 23 日至 用愉快。
## 园子装修
严格来说,园子的装修就从来没停过,就和~~某款开放世界游戏的~~每日任务一样。毕竟小氯是个喜欢好看装修的~~元素娘~~站长。
### Swup 修复
这个标题不太准确,因为小氯也不知道修复了没有,只是暂时能用了,在各种情景下的鲁棒性没有经过严格测试。
就如小氯[曾经说的]({{< relref "解决Swup导致的JavaScript加载失效问题.md" >}})Swup 本质是是对页面内容的部分替换,因此对于 JavaScript 这种东西的处理并不出色,需要借助比较复杂的 `swup.init` 或者 script plugin 来进行加载,而且还经常出一些令人~~像路易十六一样~~摸不着头脑的问题。
这次的问题依然是我们的老朋友Twikoo。我之前采取了一个非常令人困惑的策略就是在 `js.html``comment.html` 中放置两份 `twikoo.min.js` 并且都打上 `data-swup-reload-script` 属性。不知道为什么这个方法能工作,但是就是能用了。
但是大家用核外电子也能想到,这样显然会降低性能。于是拦不住的小氯又开始了折腾。
首先参考了 Swup 的[官方文档](https://swup.js.org),看到了在 Swup 对象构造时的初始化方法,遂将 Twikoo 初始化放到了其中:
```js
function initTwikoo() {
if (document.querySelector('#tcomment')) {
twikoo.init({ envId: "{{ .Site.Params.Twikoo.envId }}", el: "#tcomment" });
}
}
function init() {
initTwikoo();
}
if (document.readyState === "complete") {
init();
}
else {
document.addEventListener("DOMContentLoaded", () => init());
}
swup.hooks.on('page:view', () => init());
```
然后自然是必遭严惩Twikoo 居然消失掉了。经过调试发现是……Twikoo 对象没定义?
Twikoo 对象没有定义,说明远程的 Twikoo 脚本没有加载,至少是在 `init` 执行之前没有加载,这是很个邪门的事情,因为我们预先已经在 `js.html` 引入了 Twikoo 脚本。
后面的故事极其混乱,我不知道怎么和各位老友描述。简而言之,就是我尝试了各种可能的拼接方案,甚至包括在初始化 Twikoo 之前检查 `typeof twikoo === 'undefined'` 如果未定义就引入这种大聪明方法。
最后,心力交瘁之下,我想到了一位大神曾经说的:
> 99% 的 JavaScript 问题都可以用 `async``defer` 解决。
这俩货我听过,但是由于不会前端,我不太懂这到底是什么意思。问了下 AI得知二者都是异步加载的脚本。前者在加载后立即执行后者则等到 HTML 完全加载后才执行。
嘶,让我思考一下。`twikoo.min.js``twikoo.init` 应该都是会直接或者间接操纵 DOM 元素的,尤其是后者,需要依赖于 `#tcomment`。而 Swup 本身也会依赖于 DOM 元素中的属性,那么我加一个 defer 试试看?
于是把代码改成:
```html
{{/* js.html */}}
<script src="https://gcore.jsdelivr.net/gh/chlorine3545/customcdn@352853c/js/twikoo/1_6_39.min.js" defer crossorigin="anonymous"></script>
{{/* baseof.html */}}
{{ partialCached "head/js.html" . }}
<script data-swup-ignore-script defer>
const swup = new Swup({
plugins: [
new SwupPreloadPlugin(),
new SwupScriptsPlugin({ optin: true }),
new SwupScrollPlugin({ animateScroll: true })
]
});
function initTwikoo() {
if (document.querySelector('#tcomment')) {
twikoo.init({ envId: "{{ .Site.Params.Twikoo.envId }}", el: "#tcomment" });
}
}
function init() {
initTwikoo();
}
if (document.readyState === "complete") {
init();
}
else {
document.addEventListener("DOMContentLoaded", () => init());
}
swup.hooks.on('page:view', () => init());
</script>
```
奇迹出现了:加载正常了。
当然,这种方法也有缺点,一个显著的缺点就是 `comment.html``extend-comment.html` 失去了其原有的作用,变成了单纯提供 HTML 元素的静态 partial 文件,这样对用户自定义不是很友好,尤其是作为主题发布时。但是我管不了那么多了。
### whisper 代码美化
这已经是我第 N 次美化 whisper 的代码了。这次简单增加了一些缓存机制,防止不停地请求 API 给人家的服务器带来太大负担;引入了原本就很顺手的 Fancybox 作为图片点击放大的工具;增加了 caption然后又美化了各种边角细节。
代码我放在这里了,为了访问速度,国内的小伙伴请选用杜老师的 Opengist。
- `whisper.css`[GitHub Gists](https://gist.github.com/chlorine3545/40289925b9670f08c51dc6e63f7ca7e8) / [杜老师 Opengist](https://gist.dusays.com/chlorine/94932360c55449a391339a51ea18b01e)
- `whisper.html`[GitHub Gists](https://gist.github.com/chlorine3545/78f51e8e102b2a102d5166dbdeee5b26) / [杜老师 Opengist](https://gist.dusays.com/chlorine/17330e2e6f2049978c9a91fe0dd65e28)
- `time-fmt.min.js`[GitHub Gists](https://gist.github.com/chlorine3545/5a17e67e3881fdc02b4a39092a1b3313) / [杜老师 Opengist](https://gist.dusays.com/chlorine/ecdffff0af20474a8eabf81e15671112)
> [!WARNING]
> 本代码并不是开箱即用的!需要进行以下配置:
- 在 `hugo.toml` 或者其他配置文件中增加对应变量的配置项(如 `{{ .Site.Params.Whisper.instance }}`),或者如果你不使用 Hugo请直接替换为值并安全保存。
- (如果你不使用 Hugo将 Hugo 风格的 CSS / JavaScript例如 `{{ .Content | safeCSS }}`)导入改为你需要的格式。
- (如果你不使用 UnoCSS将 UnoCSS 类改为对应的普通 CSS 选择器。所幸这里面的 UnoCSS 不太多。
### Twikoo 表情链接
最近发现评论区的一些表情显示不出来了,右键新标签页打开,原来是图片挂掉了,有可能是因为 Magic Twikoo 的 AliyunOSS 出问题了。
目前临时把线路切到了 Gcore jsDelivr但是之前的链接并不会自动切换。Twikoo 的管理面板不支持修改评论,因此我需要用 MongoDB 的命令行才能修改,难绷。
以及,我有点想自己建一条线路,提供一下表情加速的功能,正好手里还有几个免费的 CDN。不知道大家怎么看
### 线路切换
我的博客一直用的是 [Fgaoxing](https://yt-blog.top) 维护的 Vercel 加速解析线路,综合表现还是比较出色的。不过最近接到了[杜老师](https://dusays.com)的反馈,网站无法访问了。这倒是也不意外,毕竟海外的半墙不墙的服务,无法访问实在是太常见了。
目前暂时把线路切到了 [Xingping](https://xingping.cn) 提供的加速解析,先这么用着。实在不行,我就要上 CDN 了。
## 不同语言的「小氯」
本来是打算单独水一篇文章的,但是真这样的话我实在是良心不安(~~承认吧你就是太懒了~~)。
事情的起因其实是我编辑我的 GitHub Profile i18n 的时候,更改了我的中文 profile。然后我在英语和西语方面遇到了一点麻烦。简单来说我的 profile 里面有一句:
> 你好,我是 Chlorine。你可以叫我小氯或者这个名字的任何友好的变体。
如果翻译成「Hello, I'm Chlorine ... You can call me Chlorine」那实在是有点某度要么是某歌英语翻译我北的简介的时候的风范了
> Peking University, referred to as Peking University
*注:现在这个问题已经修复*
那么我们需要仔细思考一下,「小氯」这个昵称的翻译。
### 追本溯源
我的 ID 其实是「Chlorine」这个词本意指的就是元素周期表的第 17 号元素,没有什么萌的含义。但是由于这个 ID 的来历是一张可爱的氯元素拟人头像,因此 Chlorine 被我翻译成了小氯,听起来就萌一点了。
因此我们需要解决的问题其实是:**如何在不同语言的语境下表达出一个和氯元素相关的、比较萌或者可爱的词汇,而不是如何翻译作为化学名词的氯**。
### 英语
英语的「小氯」最简单的翻译其实是不翻译,也就是 Xiaolv 或者是 Xiaolü。虽然直接用拼音显得非常狗但是这也不失为一个好方法毕竟中华语言博大精深能准确翻译成英语的才是少数。
### 带有日语风格后缀的英语
牢日算是萌文化的发源地,因此如果引入一些日语化的后缀,那么翻译就会有味道很多。
一个比较典型的翻译是使用中文中一个萌化的变体「小氯酱」。酱(ちゃん)常用于称呼可爱的女孩子,但是并不限于此,比如お兄ちゃん(欧尼酱,也就是「哥哥」,当然这个用法大部分是在动漫中)。所以就我的理解,一般情况下不必太过担心这个称呼带有明显的性别指代(毕竟小氯只是个原子 (≧∇≦)ノ。回到正题「酱」在英语中一般使用后缀「chan」因此翻译为「Chlorinechan」即可。
此外另一个常用的后缀是「nya」这个后缀常常用于模仿猫叫声可以理解为「喵」。于是拼接在一起可以得到「Chlorinya」也是不错的想法。
### 西班牙语
西语的情况也不算复杂。Chlorine 的西语是「Cloro」而在西语中后缀「ito」阳性和「ita」阴性是用于表达小、可爱含义的最常见后缀因此可以翻译为「Clorito」或者「Clorita」。
不过此处存在一个问题就是这两个词汇都是存在的。Clorito 的含义是「亚氯酸盐」,而 Clorita 则是「绿泥石」(一种页硅酸盐底下的矿物群)。要是这么玩,那可就一点也不可爱了。
因此我最终采取了另一个后缀,就是 in/ina。或者简单点就写成「Clori」这样更接近一个人名。
### 其他语言
由于我几乎完全不了解中文、英语和西语之外的任何语言,因此下面的(基于资料搜集的)观点可能和正确的或者被本族语者普遍接受的用法有所出入,敬请斧正。
#### 日语
日语的氯叫作「塩素」えんそ、enso。如前文所述牢日算是萌文化的发源地因此引入一个可爱的后缀是相当自然的想法。例如「塩素ちゃん」えんそちゃん、Enso-chan
#### 法语
法语的氯叫作「Chlore」那么我们可以简单粗暴地将「小氯」翻译为「Petit Chlore」。或者采用常见的表示小或者可爱的后缀「-inou」翻译为 Chlorinou。
#### 俄语
俄语的氯叫作「хлорkhlor。俄语中表示亲昵的后缀常见的有「-ик」和「-ушка」等因此可以翻译为ХлорикKhlarik或者ХлорушкаKhlorushka。当然我觉得 ХлорёнокKhloryonok也可以。
#### 韩语/朝鲜语
韩语和朝鲜语在这个问题上的表现基本上一样,因此我们下面不做区分,统一称为「半岛语」。
在半岛语中氯被称作「염소」yeomso。而比较亲昵的后缀的话可以考虑「야」-ya这个词常用于称呼朋友或者晚辈因此可以翻译为「염소야 」yeomso-ya。此外根据 Grok-2 的建议也可以翻译为「소염」so-yeom。我也不大清楚这么说可不可以。
#### 除此之外的语言
好吧,小氯承认小氯的语言能力就到这里了 qaq
## 周报?
不知道大家听完这一通碎碎念是否还记得本期的标题Ephemeralis-Weekly7
什么是周报?虽然这是个见仁见智的问题,但是有一点我觉得可以肯定:**你起码得讲讲在这一周发生的事情吧?**
上面讲的这些自然也是在这一周发生的事情,但是如果我把前面的这些内容放到 Ephemeralis-Weekly8或者是第九期、第十期或者是其他的随便哪一期里面我相信大家并不会感觉有什么违和感。甚至如果这个周报在十年以后还存在我把前面的内容放进去看起来也不会有什么大的问题。
换句话说:**这些内容几乎是没有时间属性的**,或者说,在大部分人时间感知的层面,其并不具有明显的时间属性。
当然,我并不是说这些内容完全和时间无关。除去任何事件都有的客观的时间属性外,如果我们把足够多、时间跨度足够长的事件排列在一起,就可以看出一些时间上的变化。远了不说,如果各位能搞到我中学时期写的文章,和现在小氯的博文摆到一起,就可以非常明显地看出表达方式、语言风格的区别,甚至可以看出一些人生经历的变化。甚至我们还可以兴味使然地分门别类地分析各个时期各个种类的文章的表达区别以及其背后的成因,拿着文学史中为大家们准备的那些方法杀鸡用牛刀地看一看这个园子的气候变化。
不过,这是统计学家和文学史家们的工作了,哪有人会为了一个蛮荒之地的小岛主人去如此大费周章呢。而且就算是这样,那你看到的应该也不能算是小氯了,只能算是 `E5B08FE6B0AF`。至少就目前为止,人的形象是无法通过分析的手段进行感知的,不然为什么即使是当代研究鲁迅先生的大师也写不出《回忆鲁迅先生》。
扯远了,我们回来。在高中时,我就喜欢说一句话:高中的生活让人失去了时间感。因为周一到周日,都是上课和自习,或者还有考试,特殊的月末假呢,也是每个月一次。如此的循环往复,每天或者每周期的工作大体都是一样的。有人会问,那每天干的活不是不一样吗?你说得对,但是至少就我而言,现在的我完全无法分辨出做湖南四校的第 X 次联考模拟卷的那天和做东北三省四校联考的那天到底有什么不一样。
网络的发达,解构了空间上的「附近」,而对生活感知主动或者被动的放弃,解构了时间上的「最近」。所以有一句老话「日子经不起混」。混日子时,你对时间的感知实际上是原地踏步的,今天和明天、后天都一样,因此在你意识到之前,许久就已经过去了。在 Rime 中,我们只需要打出 `dt` 就可以方便地打出一个时间戳,但是我们的时间却变成了用毛玻璃包裹的方盒子,里面的东西似乎影影绰绰地不一样,却再也让人没有了打开的兴趣。
那么我们还剩下什么?或者提一个更严峻的问题,我们的生活何以成为生活,又何以成为自己的生活?
答案其实不难想:就是经历,我们能够感知到并且记住的经历。相对论告诉我们,任何事件都是四维时空中的一个点,它和时间本就分不开;而没有任何事件的时空,本身也没有任何存在的必要了。[^1]
模糊的、一段时间的气氛化的感知,或者是脉冲式的、一个被我们记住的事件,共同构成了我们过去的回忆。
还是拿我的高中说吧,我虽然分不清高中的每一天,但是我能记得,我第一次考联考第一,是在高一上学期刚开学不久,大概是十月份;我第一次下决心「我要学化学」,是在高一的期中考试之后;在疫情期间,火锅吃得比较多,每天都起来做核酸检测,每天下课都会统一做锻炼,有一段时间的精神状态极差,会给不存在的人写信;第一次手术是在高二升高三的暑假;高三下学期的居家学习做了成堆成堆的卷……
所以,如果想多感知到、多记住一些东西,那么也只好让自己的生活更加鲜亮一些,以及用某种方式记录下,有哪些只发生在最近或者当下的事情,比如说,这周做了第一个 PA学会了一种船新的算法最近去了一个讲座听了某某大佬讲了什么内容本来自己也知道这个东西但是大佬却能讲出新高度马上要放假了打算出去看看第一次点了某家麻辣烫的外卖味道做得还不错但是包装有点差这周不太想写东西看了不少自己以前喜欢的电影……说到底其实都是或大或小的经历能帮助我们标识出这段时间与其他的时间到底有什么不同到底值得我们记住什么。
小氯以后写周报,也会试着改变一些,多加一些这样的内容。这样或许才更像是对自己所浪费的这一周生命的记录。
**毕竟,当世界走到尽头,我们朽坏的精神剩下的,唯有时光。**
[^1]: 广相的「事件」和我们探讨的「事件」并不完全一样,这里并不是严谨的物理学讨论。

View file

@ -0,0 +1,249 @@
---
slug: weekly-8
summary: 浮生散记第八期
series: 岁时录
tags:
- 周报
- 去中心化
- Artalk
- 日常
- RSS
title: Ephemeralis-Weekly8七日漫谈
date: 2024-10-06
description: 本文是作者周报的第八期,涵盖了从日常生活琐事到技术尝试,再到哲学思考的广泛内容。文章从图书馆体验、意外受伤、回家旅程等琐事开始,展现了作者的日常状态。作者还分享了对旧衣物的独特情感,体现出对时间和记忆的深层思考。在技术领域,作者尝试了 Artalk 评论系统,对其功能和用户体验进行了详细评估,并与现有的 Twikoo 进行了比较。此外,作者还体验了 Follow 这一新兴的RSS阅读工具分析了其对信息获取习惯的影响。社交方面作者收到了中文博客圈的邀请在喜悦之余也引发了对社交活动的复杂情绪同时从一段家庭闲聊开始表达了对家庭支持的感激之情。文章的最后作者从「是否能构建一个非中心化的 Pixiv」开始深入探讨了非中心化时代的社区基本准则探讨了自由、隐私和必要监管之间的平衡等话题展现了其对社区治理和运行模式的深刻思考。
categories: ["人间世"]
featuredImage: https://img.viento.cc/cover/weekly-8-cover.webp
draft: false
wikilinks: true
---
各位老友们好,我是 Chlorine。新的一期周报双手奉上。
一如小氯[[Ephemeralis-Weekly7唯有时光|之前所说的]],感觉写周报应该更多地写一写这一周「自己的感知和经历」,本期算是一个小小的初探吧。因此本期的内容较为琐碎和冗长,~~主打一个低质高量~~,我甚至都找不出一个合适的标题,只能(从形式上)仿造薄伽丘的《十日谈》(甚至 「七日漫谈」这个名字都可以当作周报名称了,太宽泛了)。当然,副标题并不一定要是四个字,只是前面碰巧都是而已。
本文为园子周报——Ephemeralis Weekly浮生散记的第八期日期范围为公历 2024 年 9 月 30 日至 10 月 6 日。祝食用愉快。
## 东馆初探
事情是这样的,在放假的前两天,我早上起来后去了三教自习。至于为什么去,和以往的理由不大一样,因为我寝室的水喝完了,我又不想再订一桶(马上国庆节放假了,订一桶喝不完,回来就不能喝了),于是准备去三教蹭免费饮水机(你可真是个小机灵鬼)。
然后学到大概九点半……抬头一看,嚯,教室里来了个老师,再一看课件,嚯,离散数学,图论。得,咱还是润吧。
然后……在这个时间点出去,会遇到什么大家应该都知道。
于是我打算暂时避一避,等到人少些再往回润,正好旁边就是东馆,好,就你了。小氯平时的活动范围小得可怜,图书馆只去过北馆。也算是新的体验了。
东馆和北馆不大一样,里面的设施相对北馆有一点陈旧,或者说是陈旧的感觉。以及,我居然发现,里面有一些座位,配备了显示器……显示器……显示器……
总体而言,我还是更喜欢北馆。可能是因为我更熟悉吧,就像是为什么最开始我觉得 C++ 怎么都不得劲,现在却感觉 C++ 的语法很舒服一样。
## 受伤
如各位所见,小氯有一个人物特质:每个夏天都会收获一种伤病。但是我实在是没想到,这个特质还可以在秋天发挥作用。
简单来说呢,就是……在放假的前一天,我骑着车子去上马原,结果前面的外卖小哥突然刹车了。我紧急刹车,然后我就……华丽地侧翻了。
很奇怪的是,我翻倒时心里没有任何波澜,最先冒出来的想法居然是……我记得外卖平台都有很严格的时间限制,我是不是耽误他们工作了?
外卖小哥明显也很懵,于是我告诉他:要不你先去送外卖吧,一会能过来扶我下就好。小哥连忙表示他的目的地就在前面,没关系的。于是我在地上坐了会,感觉恢复一点力气了,就在外卖小哥的帮助下站了起来。
我当时仔细感受了下,腿基本没事,右胳膊基本没事,但是左胳膊没有力气了。试着活动几下,还可以活动。因此我判断,我应该没什么大事,就让外卖小哥先走了,自己去上马原。
原本我是打算在马原休息时跟老师请个假,去校医院看看的,很不幸,可能因为这是国庆节前最后一节马原,因此老师没有设置休息。这让小氯的心情不太稳定。
下课之后赶紧去校医院挂急诊。经过一次照相、一次 CT 后,医生得出结论:骨头没事,有可能有韧带和肌肉损伤,于是开了些药就让我回去了。
然后小氯也没什么办法,只能是吃点药,在疼痛的地方喷一些云南白药,然后贴膏药。然后小氯就进入了单手打字的痛苦时光 TvT。
## 长路归乡
感谢 Kaiserreich 对本节的标题启发Doge
简单来说就是,我[光荣而伟大的孙哥](https://clf3.org)帮我抢到了回家的火车票,于是我们一起踏上了回家的旅途。
具体过程我觉得各位应该不会有太大兴趣,毕竟一个无系的垃圾佬折腾达人和半个贵系的划水小白 FOSS 主义者碰到一起,能谈什么大家应该大致是有数的。我们只讲点有趣的事吧。
- 我忘记带午饭了,达成了早午饭都没吃的成就。
- 半路我的水杯滚到座位下了,然而我们没找到,直到临下车。
- 关于运动手表的对话
- 小氯:您的运动主页的数据是从哪里获取的?
- 孙哥:从运动手表里(叫什么品牌小氯忘记了),可以直接从这个品牌那里获取到运动数据。
- 小氯:那这个手表开源吗?(`眼神清澈的小氯酱.avif`
- 孙哥:……鉴定为开源开魔怔了。
- 骗孙哥一起看了一部我电脑里面祖传的老电影,卓别林的一部经典作品。
然后大概是晚上五六点吧,到了我们市的车站,再坐一班车就回到我们县啦。话说在我们县的出站口,有一个学弟拉着我合影来着 hhh。
## 旧衣
小氯一向不喜欢买衣服。一方面来说我一向对这方面的事极其倦怠更别提反反复复试衣服或者从许多件衣服中挑选一件所谓「最好看的」会给我带来多大的心智负担。而且小氯无论是在二次元还是三次元长得都比较「衣服架子」——That is穿什么都至少不会显得难看。
所以说,当我中午在外婆家蹭完饭,昏昏欲睡却被父母拉去试衣服时,我内心是一百个不愿意的。但是他们表示,已经到秋天了,我在学校的衣服似乎有些缺,所以还是添几件衣服好。
但是说实话,我并不是很认同。在我眼里,一件衣服除非大小已经不合适或者发生了重大损坏,否则我至少要穿三年——这一方面是因为我平时比较节俭(习惯和认同,再加上的确没有大手大脚的条件),另一方面是因为我比较懒,不想总是换衣服。此外,我在某种程度上的确喜欢旧衣服。
倒不是因为说,旧衣服能体现我对审美的独特看法而不是被流行文化所裹挟(出自[这里](https://lillianwho.com/posts/week-summary-2023-38/))——我说了,我不挑衣服,只是说我喜欢和以前一样。
我们看过去,总归是带着一层暖化的光晕的。如狄更斯所言的:「我们总是在离开一个地方后开始原谅它。」现在我看我的高中时代,我时常会忘记过去对那些令人无语的规定的吐槽和卧床期间极度的痛苦,而只记起来朋友递来的口香糖,下晚自习的清冽的风,令人捧腹不止的课堂,和在无数次联考中大杀四方的光辉岁月。
所以,还是换一件旧衣服吧,在楼层的公共洗衣机倒进足够的馨香剂和檀木味的衣物消毒液,再在阳光下晾干,刮掉表面粘上的白色绒毛。一年过去了,但是我们仍能想起来去年的这个时候,我们走在哪条道路上,忙于白昼生于午夜时心里在想着什么。
## Say Hello To Artalk
本节的标题不是《HelloArtalk》因为我现在还没切过去。
[Artalk](https://artalk.js.org),鼎鼎大名的博客评论系统,也是在我眼里唯一能和 Twikoo 分庭抗礼的存在Waline 也不错,但是 LeanCloud 似乎并不是什么互联网善人)。我的许多老友,譬如 [klcdm](https://koxiuqiu.cn) 和[杜老师](https://dusays.com),都在使用 Artalk。
但是我还在坚持使用 Twikoo目前的理由大概是
- Twikoo 我从就建站开始用了,有惯性。
- Artalk 需要服务器部署,但是我的虚拟机的连接在校园网内实在是太过优秀,我不想每次自己看评论都看不到(~~然而你是不是忘了你还有一台套路云的服务器~~)。
- Twikoo 本身的功能以及 MongoDB、Netlify 的免费额度暂时够我用了(目前 MongoDB 的免费额度是 512 M大概是够我存数十万条评论的
但是在我希望修改一些数据,但是我只能通过 MongoDB Atlas 进行简单的修改,逼着我去现学了 MongoDB Python SDK 的使用方法后,以及在看到[晚夜老友](https://www.iczrx.cn/archives/119/)的文章后,我又一次开始考虑 Artalk。
Artalk 本身的部署非常容易写一个配置文件docker-compose 一跑反代一代就完事。Artalk 可选的配置项非常多,我折腾了很久,终于把飞书推送、邮件通知和注册都配好了。很可惜,我一直没有配好 Redis 缓存,不知道怎么回事。
下一步是在 Hugo 中整合 Artalk。按说这非常简单但是由于万恶的 Swup 的 JavaScript 加载问题我遇到了大量适配困难。一个很重要的问题是Artalk 的 `init` 函数是页面特异的,因此 `swup.hooks.on` 方法是不能用的(不然会加载上一个页面的评论)。所以只能用回老方法,就是 `data-swup-reload-script`。不过好在,可算是加载出来了。
此外Artalk 的亮暗模式是按照系统来的,但是我的博客不是。好在经过反复观察,我发现对于我的 Hugo 博客,其只由父容器 `Comment` 中的一个 `atk-dark-mode` 类控制。因此可以在初始化博客亮暗模式,点击切换时和 Artalk 容器填充时进行一个 class 的 add / remove。
——要是真这么简单就好了。
我本来的想法是在 `Artalk.init` 执行中加入一个 `onReady` 回调,在回调函数中封装一个控制 `atk-dark-mode` 类的 IIFE但是不知道为什么这个 IIFE 一直不执行,有可能是 `Artalk.init` 根本没有回调选项。观察者更别提了,用不了一点。目前我采用的是非常笨的办法,就是 `setTimeout`。坏处是会造成闪烁,但是我也没有更好的方案了。这就是 Swup丝滑优雅但繁琐就像是维多利亚时代贵族们华丽的晚礼服。
不过目前为止Artalk 应该已经是一个生产可用的状态了。不过我目前依然将其存在一个分支中,站点还是使用 Twikoo。如果有一天我下决心切换会以显性的方式通知所有曾到访园子的老友尽快进行账号激活。
## HelloFollow
[Follow](https://follow.is) 应该是最近博客圈非常热门的话题了。来自两位巨佬 [Innei](https://innei.in) 和 [DIYGod](https://diygod.cc) 的作品,号称「下一代信息浏览系统」,简单粗暴地理解的话,可以看作一个 ProMax 版本的 RSS 阅读器。但是 Follow 不止于此,其还创新性地加入了轻社交、原生 RssHub 支持等功能。
Follow 目前还处于 Alpha 阶段,需要邀请码才能使用。小氯虽然也十分心痒,但奈何没有合适的渠道,也不好意思直接和几位开发者讨要邀请码,因此只好施展战略定力。不料有一天晚上,小氯在闲来无事刷联邦时,发现所在实例 [Owu Social](https://scg.owu.one) 的另一位活跃用户 [@CDN18](https://scg.owu.one/@icarus) 表示可以送出一个邀请码。于是小氯立即与 CDN18 老友取得了联系,并最终获得了一个邀请码。此处向 CDN18 老友致以真诚的感谢。
现在距离我开始使用 Follow 也有几天了,先说说体验吧。首先是界面,虽然 Follow 是一个(对我来说算是 sore point 的Electron 应用,但是其界面的精致和原生、交互的丝滑和流畅还是让我有种我在使用一个 SwiftUI 标杆作品的错觉,即使是我为了性能把动效减少到最少也是如此。至于 RSS 阅读体验,那没的说,尤其是对媒体文件的处理。用 [Pseudoyu](https://www.pseudoyu.com/zh/2024/08/05/weekly_review_20240805/) 的话来说,「有一种看久了 pure html 突然飞跃到加了现代化 css 效果的感觉」。
但是我只是将《HelloFollow》作为这篇长长的周报周记的一个都算不上长的段落而不是像许多博友那样单独写一篇文章谈谈其对我的信息获取有什么颠覆性改变因为**就目前来看,确实没有**。
我目前的感觉是:**对 RSS 和信息聚合越依赖的人Follow 对其的价值就越大**。小氯目前只能算个 RSS 业余用户(~~这从我到现在都没攒够能生成一个邀请码的能量就可见一斑~~信息的获取注意不是信息的浏览渠道更加偏向于静态内容例如已经完结的教程成套的视频教程纸质书而非是随着时间增补和替换的动态内容少数的动态内容例如一些博主的更新、Bilibili 的动态等(我不看 Twitter 和 TG Channel谢谢我也并没有一定要放到一个聚合来源的刚需虽然说这样似乎的确更加高效至于将其作为一个纯净化阅读器或者是更新通知工具在我看来就像使用 Memos 作为说说一样——不是不行,甚至可以做得很好,问题是这本来就不是做这个的东西。而且,我目前获取的信息来源几乎都没有什么无法去除的顽固干扰物,即使是 Bilibili 令人眼花缭乱的弹幕,也可以直接关掉。
综上所述Follow 是一个非常强有力的工具,但是我现在只是将其重器轻用,轻用到我自己都怀疑是不是太轻了,以至于浪费了一枚宝贵的邀请码。或许日后我会发现 Follow 对我更多的价值,但是——那是日后了。
事实上在我看来Follow 和其背后的 RSSHub 就像是一种多信息源到用户之间的 adapter将各种信息源都变为 RSS XML 格式返回给用户,来提供一个聚合的阅读体验。其实也不一定要是 XML任何能够承载足够丰富信息、能够便捷地解析和交换的格式都可以只是历史原因让我们选择了 XML 而已。
## 加入「中文博客圈」
今早意外收到了一封邮件(~~快说谢谢飞书~~),来自于[印记](https://yinji.org)的站长——青山。
![|693](https://img.viento.cc/IMG-20241005140534.avif)
我对这个群也略有耳闻,其中有很多优秀的站长。能接到这份邀请,我有些受宠若惊。因为园子建立到现在起其实也不到一年,总的文章数(截至我敲这行字)也不过才 53 篇,即使是计算上那些在不断的迁移过程中有意无意地丢失的文章,应该也才七八十篇的样子。这可能也算是对园子的一种认可吧。
但是,就我第一反应的情感体验而言,我其实略微有一点犹豫。这当然和中文博客圈无关,而是应该归因于我的性格,总体而言我算是个 I 人,虽然在与人(无论是熟人还是陌生人)约饭或者进行别的什么社交活动时看起来都是落落大方侃侃而谈,在 Pre、小组讨论这样的场面下也常常是一个 ice-breaker似乎显得非常长于社交但实际上我的社交热情只能止于被动社交熟人社交以及 P2P 的社交。一旦面对群体性、主动性的社交,即使都是熟人,我也会感到有些不适。
我并不觉得这是什么需要改正的缺点,社会本就应该容得下性格开朗喜欢外向和性格内敛喜欢独处的人以及它们的一系列中间性状,而不是强迫所有人都顶着笑容灿烂而虚伪的橡皮面具,明明如坐针毡却还要笨拙矫造地热情得体。就像是我们常说的理想主义,这是所有最优秀的高等教育都一以贯之的思想血脉和精神基座,本就应当足够作为推动人上行而不是防止人下行的力量。如果这种精神在任何情况下都被无差别指责为「涉世未深」或者别的贬义词汇,那么应该反思的是发出指责的人——或者用一句火药味更浓的话,应该反思的不是我们,是你们。
扯远了,回来。最终我当然接受了邀请,毕竟这除了是一种认可,也是不可多得的学习和交流机会,就像是开发者大会或者经常会有的 Workshop 一样。以及上面的话只是我顺着自己思维的跳跃轨迹的一些想法,希望各位不要有什么误解。
## 原生家庭
在从奶奶家回家的路上,我和父母聊天。我娘开玩笑地说,现在只想找一个活不多、存在感低的单位去上班,躺平算了。
我不禁有些好笑:「为什么我感觉,好像我上大学之后,你的人生价值就已经实现了,这辈子就已经完满了一样。」
谁知我娘非常严肃地说,她确实是这么想的。现在出门,如果她自我介绍说她是 XXX几乎不会有人知道但是如果说是我的妈妈至少是在我家乡的小城的范围内都会受人青眼。
我问:「现在很多父母都不希望这样,说是感觉这样自己这辈子就只剩下父母一个身份了,全部的价值都在孩子身上,就没有自我了。」
二老意见异常一致:他们不那么认为。然后我娘就开始反反复复地强调她有多么为我骄傲,但是我不要有太大压力,只要做好自己、健康快乐就好了。
一直没插上话的我爹说,他倒并不是因为我的高考发挥得不错就如何如何,但是他感觉,自己所有的遗憾我都为他弥补了。他当年没有考上重点高中,我考上了;他当年高考发挥失常,而我考得非常好。
我们三个哈哈大笑。
笑完之后,我们继续开车回家。我突然想到一个词:原生家庭。原生家庭(大概是指一个人出生和成长的最初家庭环境)这个词在近几年非常流行,似乎很多现象和问题都可以归因于原生家庭(事实也至少有一部分是这样)。
小氯自认为,小氯的原生家庭非常非常幸福美满。家庭结构相对简单,家族内的关系和谐,没有什么坑人的亲戚;虽然说几代人之间有过一些不和,但是都慢慢走向了互相理解;父母虽然偶有争吵,但是都能好好过日子;父母都极其开明,同时对我的成长都颇为上心;家境虽然远远不算殷实,但是至少没有到缺衣少食的地步。小氯不知道小氯给家庭带来了什么,但是所谓的「原生家庭阴影」,在小氯身上几乎完全不见踪影。
感谢我的家庭,他们把我养得很好,给了我情感上坚实的依靠。我爱他们。
## 我是一个过渡
> [!WARNING]
> 在开始我们下面的论述之前,有必要叠个甲:**以下的所有讨论都无意涉及任何的政治性或者有争议的话题,也不是对任何已有政策或者是特定实体的评论。** 还请各位抱着开放、包容的态度参与讨论。另外如果茶和饼干见底了,请前往公共空间自取。
## 一个外行眼中的非中心化时代的基本准则
很长的标题,不是吗?
事情的起因是这样的:我在听 B 站的日推时,发现了一张非常好看的图片(我觉得上面的人物应该是初音未来?)。然后我试图搜索这张图的原图,然后我就来到了 Pixiv。众所周知在好看的插画方面Pixiv 应该是最丰富的。
然后我突然想到了一个问题:**Pixiv 有非中心化的版本吗?**
容我解释一下这个问题:是否存在一个类似 Pixiv 的插画分享社区,但其具有自由、去中心化(或者是联邦化)的特征,一如 Mastodon 对 Twitter[^1]
这个问题乍一看很无厘头,就像孙哥上面调侃我的那样「开源开魔怔了」。但是作为一个坚定的 FOSS 主义者以及 Non-Centralized Architecture 的喜爱者(但是,从技术上来说,我是绝对的外行),我在评估任何产品时都会思考其是否能有这样的替代品。
然后我就开始动手查阅资料。很遗憾,答案是还没有。但是确实存在一些类似的平台,比如基于 Mastodon 的 [Pawoo](https://pawoo.net)。
> Pawooパウーは The Social Coop Limited が運営するMastodonのインスタンスサーバーです。 「創作活動や自由なコミュニケーションを楽しめる場」として、どなたにも幅広く使っていただけます。
机翻后的版本:
> Pawoo 是由 The Social Coop Limited 运营的一个 Mastodon 实例(服务器)。每个人都可以将其作为「享受创意活动和自由交流的场所」。
但是从技术上来说,有 Mastodon 为代表的 ActivityPub、LBRY、Matrix 等优秀的非中心化社区珠玉在前,写一个这样的去中心化(或者联邦化)的平台在技术上并不是不可完成的。在我看来,可能需要认真考虑的就是两件事:海量图片的存储以及约稿的支付事宜。前者可以借助 AVIF 等高效格式和 IPFS 等去中心化存储系统,后者则可以从 Steemit 等已有的社区中获取灵感。毕竟,都用非中心化插画社区了,应该也不会排斥收取一些去中心化代币作为约稿的报酬吧。
我为我的这个想法小小地兴奋了一会儿,仿佛能看到一个崭新的、美好的社区在非中心化时代的黎明如日之升,以及将来我在这样一个社区兴味盎然地寻找自己喜爱的插画的场景。
然而我并没有兴奋多久,因为我想到了一个严肃的问题。由于小氯思维的极度跳脱,我无法条理清晰地梳理我到底是如何联想到这个问题的,只记得思维链不短。简单来说,我想到的问题就是 R-18 图片的问题。R-18 或许还能说是在某种程度上可以接受的,但是如果比这更加……嗯,不适宜公共展示的图片呢?在现有的机制下,这类图片并没有很大的机会出现,但是如果是在一个更加自由的非中心化社区呢?这是我们想要的结果吗?
我们来把问题聊得更深入一些:**一个理想的非中心化社区,应当具有怎样的基本准则?** 或者把问题提得更大些:**如果我们将其作为一个可行并可以讨论的背景,那么非中心化时代的基本准则是什么?**
### 自由、隐私中心
这两点几乎不需要论述,所以请允许我略过它们(~~承认吧你就是太懒不想写了~~)。
### 社区治理
这个词让我想了很久最终才勉强挑出了一个能够比较完全地概括非中心化社区的理想运作模式、同时还不会涉及一些不必要的联想的词汇虽然说这个词可能也不算是那么恰当——「治理」Governance这个词似乎本身就带有一些「自上而下」或者「中心决策」的意味。不过如果我们一定要问个究竟其词源应该是希腊语 κυβερνάω,意思是驾驶。也就是说,「治理」实际上是通过某些方式控制社区运行的过程,那还不如叫「运作」。
扯远了,回来。一个较为理想的非中心化社区,其运行和治理模式应该具有如下特点:
- 非中心化:不会存在一个人或者一小群人作为一些重大决策或者是大部分决策的核心而其他人不能或者很难对结果产生实质性影响。这是句废话,要不然这个社区为什么叫非中心。
- 透明决策:一切可能具有社区性的决策都需要将其过程公开,使得任何社区成员都能进行查阅和了解。
- 社群参与:每一个社区成员都应该有参与社区运作的权利,同时也应该承担社区运行的义务。
毫无疑问,最后一点最难以理解,也最模糊。在我的理解中,这包括了社区运行本身的群策群力,社区成员对社区本身以及社区其他成员的尊重等。还是拿上面的类 Pixiv 社区来举例子,对于插画社区不可避免的版权问题,这其实也可以作为这条原则的一部分,也就是对其他成员权利的尊重。虽然开源和宽松的分享协议当然是被提倡的,但是至少就目前我们的认识,谁也没有权力强迫插画师这么做。如果插画师并不希望自己的作品被太过随意地使用,我们也应该尊重。
### 最小化但必要的监管
这是我希望重点论述的部分。注意,以下我可能会把「监管」和「监管基于的规则」混为一谈,因为对于在可行性层面上非刚性的规则(也就是社会学意义上的规则)而言,没有监管就意味着规则在实践层面毫无意义。
「抗监管」一直是非中心化系统一个非常大的卖点。因为没有单一的或者少数几个的中心节点,再加之非中心化社区在许多条件下的匿名性,因此对其进行监管的难度相当大。同时,可能是一种基于技术的思想风潮(或者有可能是反过来,我们探讨的东西就是一种由思想风潮衍生出的技术),许多人都主张应该建立一个「无监管化」的社区。在某些情况下,这几乎成了一种「意识形态」,乃至是一种极端化的、门电路一般无可迂回的判断——只要你有监管,你的社区就是有问题的,甚至你就不配做 Web3请允许我不透露这条言论的来源
我们不去评价这样的言论的对错,我们希望探讨的是:**「无监管化」真的可能吗?**
从技术上,(在不出重大问题的前提下)确实可以做到无监管——或者至少是一个极大的近似,因此我们探讨的实际上是无监管化作为一个技术 - 社会复合体是否是合适的。
「合适」,这本就是一个模糊的词汇。就像是吃猪肉,在一个没有特定忌讳和宗教信仰的普通人眼中并不是什么事,但是在一个穆斯林眼中却是非常冒犯的行为。在探讨这类问题时,我们只能按照周总理的「求同存异」方针,尽可能地寻找一个最大公约数,也就是说,能不能保证不违反(社会学意义的)人类最基本的行为底线。
**很遗憾,就我目前的观点以及目前能够获得的实践证据,「无监管」尽管听起来非常「自由」,但是其做不到「合适」。** 不需要过多论证,一个基本的事实是:几乎所有人都做不到「君子慎独」,甚至许多人在有监管的前提下都敢于践踏人类的底线。那么在一个无监管的环境下,即使这个环境还不足以构成最有力的现实投射,也足以向我们展示人性可能的最黑暗的一面。「人们哭喊自由,说的其实是放纵。」不管是 Silk RoadAlphaBayWannaCry 还是难以计数的「涉及未成年人的不适宜内容」(我实在说不出口那个令人难以接受的词汇),都已经用一种我们并不愿意看到的方式向我们反复强调了一个堪称颠扑不破的真理:**在进行任何技术实践时,都应以最坏的恶意度测人心。**
如果这样的案例只是少数,或许还可以说「不应该因噎废食」;但是如果这样的案例已经达到了这个规模、数目和严重程度,那么对于项目有责任的主理人和社区成员就必须作一些反思和改变了。
我的观点可以概括为一句话:**最小化但必要的监管**,也即保留必要的社区准则和监管,同时保证个人的自由和隐私以及基本准则的稳定。这当然不是什么容易做到的事情,无论是技术上还是非技术层面,做到「适当」的难度几乎相当于掷飞镖时将飞镖投到靶的绝对几何中心。但是我们必须试着做,因为我们想要一个自由、开放、公正又有秩序的社区,而不是一个严酷的电幕地狱或者一座燃烧的混乱之城。
最后,有一句话,送给那些极端自由主义者们:
> In no system that could be rationally defended would the state just do nothing.
>
> ——F.A.Hayek
---
兜兜转转写了这么多,感觉有些疲惫。尽管我已经尽力避免一切可能引起争议的名词和话题了,但还是不知道我的话是否足够中性。
最后,还是祝愿各位老友,都能享受「天放而不失其常」的良好而合理的自由。
[^1]: 一如下文所体现的那样「去中心化」Decentralization其实一般指的是分布式和「联邦化」Federation实际上是两个甚至完全不同的概念虽然它们经常被不正确地混用。所以我们此处使用「非中心化时代」Era of Non-Centralization而不是更常见的「去中心化时代」Era of Decentralization

View file

@ -0,0 +1,273 @@
---
slug: weekly-9
summary: 浮生散记第九期
series: 岁时录
tags:
- 周报
- 博客
- 日常
title: Ephemeralis-Weekly9寒露清秋
date: 2024-10-13
description: 本文是作者周报的第九期。文章开篇讲述了作者回京的曲折经历,突显了生活中的不可预见性。接着,作者描述了秋季的凉意,表现了对季节变迁的细腻感受。在健康问题上,作者求助于中医,分享了痛苦的喝药经历。同时讲述了自己周末生病和写论文的经历,并提出了战损反而能提高自己学习效率的有趣观点。作者还分享了博客 300 天的感受,讲述了通过沟通解冻 X 账号的经历,同时反思了自己中文写作时的奇特表达,认为这是一种有趣的文化融合现象。随后作者回答了独立博客自省问卷 15 题,表现了对博客运营的总结思考。最后作者表示本期没有哲学思考,因为自己关于 Obsidian 和开源的随笔还在书写中。
categories: ["人间世"]
featuredImage: https://img.viento.cc/cover/weekly-9-cover.webp
draft: false
---
各位老友们好,我是 Chlorine。新的一期周报双手奉上。
本期和[上一期]({{< relref "Ephemeralis-Weekly8七日漫谈.md" >}})一样,都是以本周碎碎念为主,主打低质高量。~~我甚至在想这种碎碎念合集要不干脆拆成日记得了~~。
本期的标题没有任何特殊含义单纯是一个时令的标记。也希望各位老友不要误以为下面的文章有什么诗意。OωO
本文为园子周报——Ephemeralis Weekly浮生散记的第九期日期范围为西历 2024 年 10 月 7 日至 10 月 13 日。祝食用愉快。
## 回京之旅
小氯记得,在回家的路上和孙哥聊天时,有这么一段对话:
- 小氯:您打算几号回来啊?
- 孙哥5 号,我票已经买好了。你呢?
- 小氯:我还没定好呢。
- 孙哥:?你还没买返程票就敢回来?
- 小氯:是的捏。(`眼神清澈的小氯酱.avif`
- 孙哥:……你是真的勇。
我原本没把这件事放在心上,直到我发现我买不到回去的票了。候补了将近十张,但是毫无结果。无奈之下只好先买了一程近站票,希望能补票到终点站。
然后我从广播得知,由于列车运行压力实在是太大,暂时不能补票了。
喵的。
不死心的小氯去找了列车长。列车长倒是没有把小氯从车上扔下去玩星穹铁道,而是非常严肃地表示,如果能接受没有座位并且时时刻刻搬来搬去,可以留在车上,临近时大概率是可以补到票的。
最后小氯选择了留在车上。很幸运,最后补到票了(小氯当然不会违法乘车 awa。只不过过程极其曲折。~~然而丝毫没有影响小氯的心情,小氯甚至最后从地铁站骑自行车几公里回了学校~~。
## 秋凉
周二是寒露,二十四节气之第十七。《月令七十二候集解》有言:「九月节,露气寒冷,将凝结也。」
体感上来说,早上一觉醒来(在高强度坐了一天火车后没有早八实在是一件令人欢喜的事),感觉自己的长袖睡衣有些冷,可能应该换棉质睡衣了。换之前,最好是把原本的睡衣彻底洗一下。此处第 N 次吐槽公共洗衣机,总是有种奇怪的味道(~~也不知道哪群大脑结构对现有模型提出实例性挑战的碳基生物在公共洗衣机里面洗袜子~~),需要大量的衣物消毒液和衣物馨香剂。当然,如果太阳很好,衣服晒干后的味道是很好闻的。可惜中间厅相对来说采光不是那么好,即使是夏天的正午也很难对衣服进行持续的暴晒。
……小氯本就是喜欢日光的,尽管正午的日光似乎有些刺眼。所以,公寓的公共空间都被装上了明亮的落地窗。
由于实在是感觉有点冷,因此中午去吃了碗羊肉(总花费 9 CNY 左右,小氯酱的神奇消费能力),感觉暖和了些。
## 喝药
如各位老友所见,小氯的身体一向欠佳。在保持健康的生活习惯的同时,求助于传统医学的智慧也是很自然的想法。于是趁着国庆假期,父母带着小氯拜会了家乡一位颇有名望的中医。中医为小氯开了些便于携带的药,嘱咐小氯说:每日早晚各一次,每次一包。
不过这个一包,并不是大家可能以为的一袋,而是十几袋,简直就是一份中药学期末考试题。
至于味道……嗯,怎么说呢?
先略微偏个题。小氯虽然不太能吃辣或者吃甜(果茶一般都要少糖的,喜欢比较自然的味道),但是对于一些古怪的味道有很强的耐受力,比如苦(高中时经常嚼苦瓜败火)和酸(直接吃柠檬片)。而一些味道很怪的药,比如说汤药,也是用水化开后直接捏着鼻子送进去,然后喝一点果茶就没事了。
**……所以,各位老友应该能想到,让小氯都觉得难喝的药,其味道究竟有多么春风不度玉门关。**
而且,由于药的量累积起来并不少,且不容易在水中化开,而小氯的水杯容量不大,因此药的浓度极高,还会有大量的残留,需要反复继续加水后才能溶解干净。而这个过程每天需要反复两次,就……怎么说呢?小氯有一种被氧化~~到坏掉~~的感觉。
## 战损版小氯
如各位老友所见,小氯的身体状况算不得乐观(~~这句话已经说了多少次了?~~)。而且小氯还有一个神奇的人物特质,在一切关键的时刻,必然发生战损。即将交论文的这个周末也不例外。
事情得从上面喝药说起。那天是周五,小氯课最多的一天,回来时已经是晚上七点左右了(如果是后八周,就是晚上九点了捏)。路上的风非常大,而小氯没有帽子,吹得头很疼。这时小氯已经感觉有些了不妙,毕竟伤风感冒对小氯来说简直是食堂的麻辣香锅——家常便饭。偏偏这时候小氯还做了一个非常离谱的决定:**点一份冒菜当晚饭**。
冒菜本来就是比较辣的食物,而小氯对辣的耐受力非常低。虽然小氯选了微辣并且在备注里反复强调「少放辣」,但是忙碌的店家显然没有时间去仔细照顾小氯的感受,于是我看着送来的一碗红色陷入了深深的思考。
最终小氯还是吃了,毕竟小氯睡得晚(尽管在大学生中算是非常早的),需要体力坚持到睡觉。直接结果是摄入了大量的水。
然后那天晚上小氯的精神就不太清醒,偏偏那天晚上,我还看到了一些令人精神状态极其不稳定的东西。浑浑噩噩了一晚上,论文一笔未动。眼看快到十点了,该喝药了。本来喝着也没什么大逝,结果……就在喝最后一口的时候,可能是小氯不慎把一小角塑料落到了杯子里,反正是有什么东西卡到了嗓子眼,然后……小氯就直接吐了,吐得昏天黑地。
吐完之后小氯的难受程度到达了顶峰,有一种天日昭昭(比阳还阳)的感觉。小氯不得不停掉了准备听的英语听力(~~不要为你的懒惰找借口~~),麻溜滚去睡觉。由于担心感冒药和中药冲突(尽管后者已经被吐了一大部分了),小氯也没敢吃感冒药。
然后由于小氯没定闹钟,因此睡了个好觉。挣扎着起来洗漱好,喝了一遍药,再洗一洗衣服,就马上要去吃饭了。由于实在是太难受,小氯也没敢吃什么重口味的东西,一碗阳春面了事。不过实际上倒也不算什么特别大的病,应该就是重感冒级别的,浑身各处疼一些,头晕而已。
下午回来,某个占了公共空间好几天打游戏的虫豸终于走了,于是小氯火速带着一大壶热水前去宣誓主权,顺便开始痛苦地写论文。
晚饭时间去了所谓的「营养轻食区」一探究竟,结果很惊喜地发现好吃哒非常丰富,遂随手点了一碗鸡汤米粉(小时候当小氯生病时,小氯的外婆经常给小氯熬鸡汤)和一个「七彩燕麦包」。
回去继续写。结果您猜怎么着?嘿!还没到十点,论文写完了!
回想一下这一天,饮食健康,锻炼充分,喝了很多热水,学习效率也蛮高的。
难道战损版小氯才是最萌的吗?(笑哭)
## 300 天
博客一百天时,小氯专门[写了篇文章纪念](/blog-100-days);博客两百天时,小氯在[当周的周报里提了一句]({{< relref "Ephemeralis-Weekly2生日快乐.md" >}});到了博客三百天,小氯几乎连提都懒得提了。
~~那请问小氯酱现在在干什么呢?~~
之前忘记在哪听过一个奇怪的说法:很多节日和纪念日都是为了巧立名目去大吃一顿。那要是这么看,反反复复庆祝博客的各种纪念日,是不是也是为了在精神上让自己大吃一顿,告诉自己「天呐,居然已经这么久了,我真的好厉害啊」?
**不能说这种想法有错**,只是小氯现在并不时常采用这种心态而已。一方面说,小氯确实很懒,自己的生日都懒得过,更别说在博客的纪念日搞什么奇奇怪怪的活动;另一方面说,在小氯看来,就现在小氯坚持的这点时间,真算不上有多长——就在小氯敲下这行字的前不久,才刚给[张叔](https://laozhang.org)博客的十五周年发去贺电,而如果放大点看,这几百天可能只是小氯作为人类的生命的百分之一甚至更短,放在历史上更是微不足道——虽然说这几百天可能会在后世的史书上大书特书,但是除了 Web Archive 之外,又有谁还会记得,曾经有这么一只叫小氯的元素娘,在互联网的一个偏僻的角落,打理着一个小小的园子呢。
当然,我们现在做的一切,也并不是为了被历史铭记。历史的长河浩浩汤汤,其中最小的支流的最小的支流,就足够让园子中的植物朝露待日晞了。
所以……如果依然希望在精神上和身体上大吃一顿,小氯也不反对哦 OωO
## X 账号解冻
小氯有一个 X 账号,是不知多久以前兴味使然注册的。只不过小氯并不喜欢 X再加之 X 在国内由于一些问题难以正常使用,小氯就没管。
然后,忘记多久以前,小氯偶然想起这个账号,登录一看,发现被 suspend 了。这倒也正常,理由大家都懂。
然后,就在这周,当小氯再次看到做不了任何操作的 X 账号时,突然就感觉不太舒服。起码让我把这个账号注销了,就在这挂着算什么事。
去简单看了下 X 的帮助文档,发现可以发工单(我习惯这么叫)。于是我就发了个简单的工单,内容不太正式,大概是:
> I've had my account for some time but recently found it suspended. I just updated my profile some time ago and haven't been active in any other way, so this suspension seems like a mistake. I use a 【神秘工具】 due to my location, which might have triggered this. Could you please check on this for me? Thanks a lot!
发送过去,等着。
这几天我时常去看 Gmail 收件箱,一直没有消息,还有点想抱怨牢马员工的效率太低了。然而今天我登录 X 一看,已经可以正常编辑 profile 了,这应该就是解冻了。**所以说,沟通很多时候还是有用的。**
因为我平时分享日常都用 ActivityPub所有现在我的 X 账号基本上是空的,在那里放着。头像是一只 Q 版的小氯酱。
![|324](https://img.viento.cc/chlorinechan-q.webp "依然由豆包绘制")
还蛮喜欢这个图片的风格的,不过画得比较一般。或许需要找一位插画师约个稿?小氯的老友们中有很会画画的,但是风格和这个都不大一样。
## 小氯的中文风格
有时候看一些我曾经写过的文字,会感觉语言风格有些奇怪。就拿前面一句很简单的话来说:
> 在高强度坐了一天火车后没有早八实在是一件令人欢喜的事。
这话怎么听都不像是地道的中文表达,带有明显的翻译腔,至少非常不口语化。然而事实是小氯是地道的中文本族语者,没有任何表达能力障碍,更没有用英语写 blog 然后翻译成中文(~~真有那个水平就好了~~)。
仔细想了想,似乎这个现象在小氯这里相当普遍。无论是时不时探头的长难句(中文的长难句相对来说没那么多,除非刻意生造),还是大量的名词化表达,抑或是奇怪的语序和用词,都给人一种~~像路易十六一样~~摸不着头脑的感觉。这种感觉在写 GitHub issue 时尤其明显。
这实在是有些令人费解,尤其是在考虑小氯还好好地住在国内,周围的语言环境基本也都是中文的。英文材料看得也不多,好多英语电子书还是堆在 To-Be-Read 列表里面。如果要说小氯的英文很好……至少小氯不敢如此自居平时写英语邮件、issue 经常需要「帮帮我GPT 先生」,口语更是一塌糊涂,去和外国小哥交流大部分时候都会把人搞成物理意义上的黑人问号(但是要说不好的话,高考英语 145+CET-6 将近 680似乎也算不得太差
如果一定要找原因,可能就是更多的实践性写作让小氯的思维方式和表达习惯多多少少带上了一些英语的色彩。小氯不认为这是件坏事,不过有时候面对着自己写出来 / 说出来的句子,也会忍俊不禁。有趣的跨文化融合现象,不是吗?
## 独立博客自省问卷 15 题
最近[雅余大佬](https://yayu.net)发了个「独立博客自省问卷 15 题」,很多博友都在回答。那小氯也来答一下吧,~~虽然说这样多少有点跟风的味道~~。
这让人感觉有点像过去小氯刚有 QQ 时,空间经常有的问卷。只不过,现在是一群距离更远、更加陌生但是更加志同道合的人了。
### 你的博客更新频率是多少?
不一定,随缘。但是一般来说,一周不少于一次。种一株新的植物,讲一个新的故事,还要看时间吗?
### 你的博客上次更新是什么时候
这周,看[这里]({{< relref "咦,我的按钮呢?.md" >}})。
### 你的博客文章是原创的吗?
是的捏。小氯有时候会用到 AI 辅助(主要是聚合一些信息,以及快速了解一个不熟悉的概念),但是从不用 AI 写文章(来自一个创作者的观念和 Not By AI 运动的承诺)。至于转载,小氯不大懂这样做的意义所在。如果觉得一篇文章写得好,直接放一个推荐链接不行吗?
### 你觉得自己的文章对他人有帮助吗?
难说,或许有点用,理性价值,实用价值或者是情绪价值。
### 你上次换博客主题/程序是什么时候?
忘记了……我查查我的博客年表……是 2024 年 6 月 25 日,大概是三个半月前。
### 你上一次捣腾博客主题代码是什么时候?
~~您猜我的主题是怎么改出来的?~~
上次……应该还是在上次,大概这周以内?
### 你会对博客主题进行二次开发?
……怎么说呢?如果这是道简答题,我的答案是肯定的,但是这是道选择题……
直接说吧。小氯现在的博客主题是基于[恐咖兵糖](https://www.ftls.xyz)大佬开发的 Landscape 主题,而 Landscape 实际上是对 [Fuwari](https://fuwari.vercel.app) 的 Hugo 复刻。小氯很喜欢 Fuwari于是把 Landscape 叉了过来,并且按照自己的喜好加了一堆功能,包括但是不限于:
- Twikoo 评论
- 霞鹜文楷 Bright 字体和 Fira Code
- Algolia Docsearch
- 多级导航栏
- Fancybox 灯箱
- Obsidian 风格的图片链接和 caption 渲染
- KaTeX 数学渲染(未找到最佳方案)
- AI 摘要(大嘘)
- 糖果特效
- Shiki 高亮
- 代码一键复制
- 公告组件
- 站点运行时间计数器
- wowbook
- 友链
- 若干短代码GitHub 等的仓库卡片时间线组件事件线组件友链短代码说说短代码Alert……
- 404 页面
美化了:
- 文章详情页(主要是边距)
- 移动端文章卡片样式
- 移动端 nav 弹出(未找到最佳方案)
- 侧边栏(主要是一点点组件图标)
- 一些 Markdown 样式(比如引用块)
修复了 Swup 导致的一大堆问题,主要是各种 JavaScript 加载,比如说点击主题切换按钮不管用……
虽然说核心部分没有动什么大刀子,但是我觉得改到这个程度,大概已经可以算一个新主题了。我给它起了个名字,叫 Efímero浮光把 Landscape 的链接放到了关于页面。
### 你多久打开自己博客自我陶醉一次?
如果是打开博客……一天好几次。不过「自我陶醉」……好吧你说得对 qaq
### 你近期对自己博客域名什么感受?
还好,我的博客域名是我的英文名。有点长,不过还行。如果可以的话,有点想搞一个 `xiao.lv` 或者是 `xiao.cl`Cl 是氯的元素符号)。
此外我发现,`xl.me` 似乎是 available 的,而且价格非常正常。但是扔到购物车之后,再搜索就发现价格离谱了。不知道是不是 Spaceship 的 bug。
### 你每天都会看网站的流量统计吗?
什么是流量统计?(呆萌)
### 你通过博客的广告赚到钱了吗?
没有广告,可见未来内应该也不会有。
从理性的角度看,园子的运营成本(指显性成本,也就是会计成本)只有一个域名的价格(可能还要算上为了保备案的服务器费用,但是这不算是园子的成本,因为没有它园子也能运行),小氯再缺钱也没必要为了这点钱去污染园子的游览体验。就算就算是小氯想污染,就凭园子这点流量,也没有什么商家愿意在这里打广告,就像没人会在鲁滨逊的荒岛上拉横幅一样。
> 没那个能力知道吗?——范志毅
从感性的角度看,小氯也不希望园子沾染上这样的气息。世间没有桃源,但是在互联网的海洋里造一个近似的还是能做到的。
### 你去浏览别人的博客/网站主要为什么?
为了回访啊。
小氯偶尔也喜欢跳任意门(比如[十年之约的虫洞](https://foreverblog.cn/go.html)和[开往](https://travellings.cn/go.html)),去随机看一看互联网上其他的小岛。但是作为赛博社恐分子,小氯主要还是贯彻 P2P 社交。
### 看到别人分享了一篇文章,你打开第一反应是什么?
还是看文章内容吧,尽管美观的主题和流畅的加载会给小氯以非常舒适的情感体验。
### 你觉得博客哪方面更重要?
这题我很想回答「内容」。很遗憾,尽管小氯确实觉得内容非常重要,但是倒腾了这么久的主题,很难说小氯最看重内容是真心实意的。
### 近期通过写博客有哪些新收获?
让我想想……
题目中的四个选项,似乎除了「知识变现」之外都有——有认识新的老友(这个词组似乎听起来很别扭,但是如果您熟悉小氯的表达习惯,就会知道小氯口中的「老友」实际上也不需要认识很长时间 :D知识面也有了扩展写作水平也有了一定提升。
但是小氯觉得,这个问题没那么简单。如果要深挖,这实际上是一个很哲学的问题:
> 我们为什么要写博客?或者是博客的意义在哪?
这个问题可以写一本书。或许等到园子周年的时候,小氯会专门写篇文章讨论一下吧(`画大饼.gif`)。
## 哲学思考呢?
之前小氯写周报,多少都会在最后一个章节讲点哲学。但是本期没有,不是没进行,是没写完……
小氯最近在看 Obsidian 官方论坛上一个非常大的 thread[Open Sourcing of Obsidian](https://forum.obsidian.md/t/open-sourcing-of-obsidian/1515),是 Obsidian 还很年轻时,用户们对 Obsidian 为何不开源以及是否应该开源的讨论。
作为一个 FOSS 主义者Obsidian 不开源一向是小氯的一个 sore point。但是在看这个巨大的线程时小氯又有了一堆新的思考甚至还涉及一些 FOSS 本质的问题。所以小氯的这篇文章越写越长,现在已经和这篇周报差不多长了。以小氯的性子,很可能会去看完《大教堂与集市》之后才能继续写。~~不要为你的鸽找借口~~
行了小氯承认也是因为这周末生着病写报告写论文太疲劳了……这篇文章不会鸽太久的小氯保证。OωO

View file

@ -0,0 +1,257 @@
---
title: 岁时录(十七)
date: 2025-03-23
slug: weekly-17
featuredImage: https://img.viento.cc/cover/weekly-17-cover.webp
categories:
- 人间世
tags:
- 日常
- 文本
- TNO
- 隐私
series: 岁时录
summary: 太好了是拖更,我们没救了
description: 本文是作者周报的第十七期。作者因尝试新终端模拟器GhosTTY而逐渐放弃使用iTerm2对其有所称赞但也指出其兼容性问题。接着探讨了对“文本主导”博客设计的偏好强调极简主义应注重用户体验而非牺牲美观或功能。作者还分享了因游戏模组TNO接触到的波兰乐队Żywiołak并分析“异教”一词的历史演变。文章还提到作者成功申请到前往新加坡的访学项目详细分析了选择 SG 的现实考量如费用、地理位置和学术环境并吐槽了申请过程中的繁琐与不人性化设计。此外作者因需求注册Telegram认可其功能性但对其隐私性有所保留。在学业上作者讲述了《数字逻辑实验》中的失误反映准备不足的教训。文章还质疑苹果隐私政策计划转向开源替代品并列举了可能的替代方案。最后作者表达了对纯文本文件格式的热爱认为其简单性与开放性带来的兼容性和持久性无可比拟并通过对比专有格式的局限性强调纯文本在信息记录与管理中的独特价值。
wikilinks:
---
各位老友,晚上好。这里是 Chlorine。
没错,小氯又顺理成章地鸽了好几期周报(捂脸)。
您正在阅读园子的周报——《岁时录》的第十七篇,日期范围为 2025 年 3 月 3 日至 2025 年 3 月 23 日。这是园子的不完全定期刊物,会记录一些小氯和园子在这段时间的经历,以及或有或无的思考。这是从主世界的时间中引出的一条细小的支流,也是这个网络空间中的小岛的编年史。
祝食用愉快。
## GoodbyeiTerm2
iTerm2macOS 著名的终端模拟器。小氯之前曾经折腾过无数个终端,从原生的 Terminal 到 Hyper 到 ~~摄政王~~Tabby 到 Wave 到 Wind 到 Warp 到 Alacritty 再到……好了不报菜名了,最后选了 iTerm2。
iTerm2 整体的功能相当出色,作为一个终端来说,可以说是几乎尽善尽美了。虽然小氯也动过换成 Alacritty 来提前适应 Linux 的念头,但是最后还是贪恋 iTerm2 的舒适。Linux 的事到 Linux 再说嘛。
后来小氯发现了一个好玩的小东西:[GhosTTY](https://ghostty.org),或者可以叫 ghostty小幽灵。
GhosTTY 用的是一个新东西,叫 [Zig](https://ziglang.org/zh-CN/)。没错,就是 Bun 用的那个语言。小氯一向是喜欢新的东西的Rust 如此Zig 如此Nim 亦如此。而且 GhosTTY 的界面异乎寻常地好看,原因嘛,它是个 SwiftUI 应用——是的,你没听错,一个终端居然可以是 SwiftUI 的。
于是小氯把 GhosTTY 留了下来,开始偶尔用其完成一些轻度任务。
不过随着时间的推移,小氯发现自己用 GhosTTY 越来越多了,即使有兼容性问题,拿 Terminal 临时顶上也足够了Dock 中的 iTerm2 反而变成了一百年都不打开的那个。那既然如此,还留着它干什么呢。
GhosTTY 是开箱即用的,几乎不需要任何配置——如果想配置,请自己写配置文件,这家伙还没有设置面板。不过其目前存在一个比较大的问题:其终端类型 `xterm-ghostty` 在一些比较老旧的系统,如 Ubuntu 20 上是不支持的,需要手动通过 `SetENV` 回退。此外,这个问题会影响 `nano`,但不影响 Vim~~间接促成了小氯 Vim 水平的巨大进步~~。
## 文字的骨架
小氯一直很喜欢「文本主导」风格的博客。简约但是不简陋,在去掉了一切的冗余之后,极端的效率美和隐藏在每个细节背后的设计感。比如说小氯一天要提八百遍的 <https://antfu.me>
不知道诸位老友对于这种设计风格是什么感觉,小氯的话,很像是当初读到那首很喜欢的词的感觉:
> 春未老,风细柳斜斜。试上超然台上看,半壕春水一城花。烟雨暗千家。
如同双手抚摸上世间最上品的宣纸,即使上面什么都不写,也是千年不朽的艺术品。
但是小氯并不喜欢各种 CSS Free或者 CSS 极少,或者 CSS 非常……具有个性的网站比如那些遵循粗野主义Brutalism的网站亦或是名字让人三缄其口的[某个网站](https://motherfuckingwebsite.com/),亦或是 HN亦或是 Jekyll 的 [No Style Please](https://github.com/riggraz/no-style-please),亦或是著名的 <https://paulgraham.com>。这些网站不会让小氯感到愉悦,相反,是极端的焦虑,如同置身于没有外墙的钢筋森林中。这不叫简洁,这叫简陋,甚至可以说是一种视觉暴力。
在小氯看来,真正的「极简主义」「纯文本」博客,不应该以牺牲用户体验为代价,就像书的内容固然是最重要的,可你不能用像素字体印书然后把行距调成 0.5 倍——而是应该保持克制、冷静的设计感,把排版、布局这些东西调整到一个最能让人好好读东西的程度。极简主义不是减法,而是加法加到极限的返璞归真。
当然,类似 Hexo Butterfly 这样的主题,在小氯这里同样不讨喜。不是说它们不好,只是它们太华丽、太繁复了,把原本留给内容的精神力量都抢走了。而且,它们太脆弱了。无数的 JavaScript 或者 PHP 叠在一起,让人想到杜奥蒙堡,看似是坚不可摧的钢铁巨兽,实则在小小的攻击面前脆弱得不堪一击。
根据不可能三角,如果我们想达到简洁性和美观性的极致,那么我们就必须付出极大的开发成本,把所有的复杂性都藏在一个接口下。这也是 Hermeneutics 的设计目标——当然,现在离这个目标还差远了。
## Żywiołak
最近一直在云集邮 TNO 新版本后阿巴顿的各种(同人)结局,听到了新波(新莱齐亚救赎帝国)的统一曲。虽说新波也是个 Double-off-compass 的超级魔怔势力,不过这个统一曲还挺有趣的。
这首曲子叫作 *Sol Invictus*,直译是《不可征服的太阳》(~~想吃广东菜了~~)。这首歌不算阴间,反而有种莫名其妙的活力,~~其去城市化的风格也确实符合新波的路线~~,因此也顺理成章地被小氯扔进了歌单里面。
在扒拉元数据时,小氯闲来无事阅读了一下歌词。歌词很长,这里就不放了。小氯不认识这种语言,于是直接扔给 AI。得知这是波兰语描写的是冬至节、太阳崇拜之类的看起来很像是和斯拉夫异教有关。
于是小氯也顺理成章地去了解了一下背后的乐队——Żywiołak直译是「元素」或者「精灵」其意义应该是「元素之子」或者「自然之子」之类的。这是一支波兰的民间乐队~~合理~~),主打的是新民谣(或者叫民谣金属)风,其风格受到波兰民间文化和斯拉夫异教的强烈影响。小氯也去找了找这支乐队的其他作品,比如说 *Witaj księżycu*(大概可以翻译为《太阴颂》)之类的,听起来也都很有感觉。
不过,诸位老友,我们回过去读读上面的话。我们似乎顺理成章地在使用一个词:**异教**。
异教,字面意思就是「不同的宗教」。和谁不同呢?自然是和自己啦。比如说十字军和穆斯林在中东友好交流(物理)时,会互相称呼对方为异教徒。当然,也可以是和自己所属的社群不一样。
那么小氯上面的用法属于哪种呢?
……坏耶,好像都不是。
小氯是个无神论者,最多由于家乡的一些传统,可能有的时候会看点佛经。不相信任何(传统意义上的)宗教,自然也不会有异教这种说法;而小氯周围呢大体上都是无神论者,对于有宗教信仰的也自然是宗教自由,也就没有什么主流宗教之说。
那这个词是怎么来的呢?为什么我们能非常自然地说出「斯拉夫异教」这个词?
现实中没有答案的问题,我们就去历史上找一下吧。
斯拉夫教我们姑且使用这个词的历史相当古老其年龄估计不会比希腊神话和中华文明的巫文化小。起源不明大概就是古斯拉夫人的原始信仰彼此间的融合和演化。斯拉夫教属于典型的多神教其信仰的神灵大致包括雷神佩伦Perun和冥神沃洛斯Veles等。
大概从公元一世纪开始,在和拜占庭帝国等西方文明的接触中,基督教逐渐传入古斯拉夫。事情的转机发生在公元 9 - 10 世纪左右:九世纪中期,拜占庭帝国在牧首弗提乌斯的领导下,开始向北部和西北部边境外的斯拉夫人传播福音(口头)。例如来自塞萨洛尼卡的西里尔和美多迪兄弟:这对~~海尔~~兄弟精通多种语言,包括斯拉夫语,这使他们能够流利地与斯拉夫人交流。在前往莫拉维亚之前,他们创造了一套适合斯拉夫语的字母表(也就是格拉哥里字母 Glagolitic后来演变成了西里尔字母 Cyrillic并用马其顿斯拉夫方言翻译了《圣经》和礼拜手册这种方言后来成为了斯拉夫教会的礼仪语言。
继续说。大家知道斯拉夫地区其实分为东斯拉夫、西斯拉夫和南斯拉夫等多个地区。其中在东斯拉夫地区基辅罗斯大公国的基督教化是斯拉夫世界基督教化进程中的里程碑。这就不得不提到基辅罗斯大公弗拉基米尔一世Vladimir the Great了。
980 年,弗拉基米尔一世通过政变夺权。当时的基辅罗斯呢,还在信奉原始多神教,所以在国际社会显得格格不入(~~欧洲国家:我们要举办一个超酷的派对,猜猜谁没有收到邀请?~~。为了更好地融入欧洲社会和政治体系弗拉基米尔考虑皈依一神教。988 年,为通过迎娶安娜公主以结束与拜占庭帝国的冲突,弗拉基米尔一世受洗,立正教(东正教)为国教,并下令摧毁国内所有的斯拉夫教神像,标志着基辅罗斯正式基督教化。
好的,我们大体说明白了:斯拉夫教被称为「异教」,实际是历史上基督教中心主义的一种表现。不过这个词发展到现在,大多数时候其实也没有什么歧视的成分了,而更多地表达了一种「和基督教/主流宗教不同」的客观事实甚至是一种对于特色文化的尊重这有点类似于酷儿queer由贬义词演变为中性词和身份标签的过程。而且从某种意义上说「异教」这种表达方式也能更好地表达对传统的反叛很多时候我们总喜欢和大多数人不一样不是吗
*注释:对本段中几个词汇的解释*
- TNO《新秩序欧洲末日》*The New Order: Last Days of Europe* )的简写。这是著名战略游戏《钢铁雄心 IV》*Hearts of Iron IV*的一个模组mod也是其最著名的架空历史模组之一大体就是轴心国赢得了二战的胜利。TNO 以极其复杂的游戏机制、黑暗压抑的氛围和对极端意识形态(魔怔)的探索而闻名。
- 阿巴顿:掌管地狱无底坑的恶魔。这里指的是莫茨内,俄罗斯地区势力「该隐兄弟会」的首领。该隐兄弟会是整个 TNO 官方设定中最残暴的势力,没有之一。希姆莱和它一比都算是温和慈祥的。~~哦,如果把目光放远一点,我们有元素干涉区等一众嚎劫~~。
- 后 XXX指 XXX 统一某个地区(一般是俄罗斯地区)但又崩溃后的时期,例如后神俄(也称「子夜后」,这和神俄的特殊游戏机制有关)即神圣俄罗斯帝国(俄罗斯地区最魔怔的势力之一,虽然和该隐相比还是略逊一筹)解体后的时期。一般会诞生一些传奇类人生物。
- 新莱齐亚救赎帝国:(应该是社区同人)后阿巴顿时期的传奇魔怔势力之一,奉行安那其原始主义。
- Double-off-compassOff-compass 的加强版。Compass 指的是意识形态罗盘Off-compass 即极端到无法纳入意识形态罗盘内的意识形态。
## 交换结果
如之前所述……咦,是哪个之前呢?大概是某个时间段的[如今](/now)页面吧。
好的,如之前所述,在导师的建议下,小氯报名了一个交换项目——准确来说,应该叫「访学项目」,因为这和普遍意义上的 Exchange 不太一样。鉴于小氯目前的研究方向(~~你有什么研究方向啊~~)以及兴趣,小氯倾向于去一个具有丰富社会动态(这里直译了 Dynamic这只入机元素娘都快不会好好说中文了的国际金融枢纽特别是有 FinTech 的那种)。
就目前情况而言,综观全局,纵览古今,考虑各部分的平均水平……(停!不要再 YPM 了)这个项目的额度还是蛮不错的。小氯斟酌了很久,最后首选了新加坡。
之所以首选 SG 而不是更强的美校,主要原因是比较现实的:**没钱**。
SG以及大部分的 target都属于「访学」或者「交流」一类这意味着如果你希望去上一些对方的课是不需要付学费的同时还可以享受比较廉价的住处——当然这个廉价是相对 SG 其他同等条件的住房说的,和国内一年一千多的宿舍肯定没法比(毕竟是社会主义国家嘛,高等教育便宜一点很合理)。
而 US 的(稍微好一点的)学校都是「进修」项目,需要自己负担全部的费用。我们就拿硅谷地区某所著名公立大学(~~PRB你直接点我名字得了~~)来说吧,按照过往学长学姐的经验,你每个月就算是只保证基本生活,大概也需要准备,同时还有令人……认为值得商榷(入机中文 1 / 1的学分付费制据调查一个学分的费用大概相当于国内一般大学一个学期的学费。我不明白奉化口音你这学分是金子做的还是银子做的
这样算下来,一个学期大概得好几个六位数吧。虽然对于那些中产家庭来说这都不算钱,但是对于小氯来说……嗯。虽然娘亲好几次和小氯说「不要老是在乎钱,按照你自己的发展路径走」,但是为了一次访学把家底搬空这种事,小氯做不出来。至于那些比较好的私立高校嘛,那更是重量级,~~不然怎么会有还一辈子的学贷~~。而 SG 那边就经济多了,估计一下,如果省着点用,大概只需要硅谷地区某所著名公立大学的十分之一(也正因如此,美区的名额非常多,也可以起到托底作用)。
此外还有一些原因:时差比较小(这里指的是标准时间,不是实际体感),和家里联系比较方便;整体治安比较好(比较:指世界上治安最好的国家之一),种族问题也少很多,相比之下,《团结》在恩!情!无限的川大统领领导下的某西方神秘大国还是太乱了,~~谁知道哪天就会玩 TFR~~SG 是亚洲的金融中心,在金融科技方面有很多小氯感兴趣的探索,等等。总而言之,小氯就选了这样一个不是最强但不弱的目标院校。准备材料的时候也是按照 SG 的 flavor 定制的。
至于其他目的地嘛HK 没分到什么比较好的学校;带嘤倒还可以,可惜没名额;东京感觉还不如 SG而且我不会日语首尔也是如此~~我不吃忠橙,谢谢~~大洋洲地区没太多好逛的金融产业——以及小氯不太喜欢某只长了五个眼睛的怪兽。至于其他地点小氯根本没看。综合来看SG 还是称得上最优解的。
嗯哼,你说为什么最后还写了个某正白旗城市啊?那个是凑数的。
然后就是平平无奇的交材料和面试了。面试没有什么波澜,发挥算是正常吧。由于竞争不算是太激烈(尽管应该是所有 target 里面除了 US 之外最强的之一了),小氯也是比较有信心的。几天以后(抱歉小氯忘记具体是哪一天了)接到了电话,果然顺利通过了。
当然面试过了也不意味着万事大吉,还需要那边接收你,也就是说还需要一个 Application。这里小氯要严厉批评这个 Application 系统:那个申请界面古老得像是石器时代的文物,操作逻辑也极端反人类——我们就拿选课来说吧,它不能单独搜索课程,只能添加,也就是说你必须把一门课删掉才能看到课程相关信息;课程的 Rank 不能拖动,只能手动排……最最最逆天的是,不知道那边抽什么风,突然来了一个「必须至少选一半所在院系的课」的诡异规定。说实话,让交叉学科的同学这样选课简直就是丧尽天良。就比如说,计算机系的数值分析可能是数学系开的,而商学院或者金融学院的经济学课程一般都属于经济学系。合着咱出去拓展眼界,反而得自我收缩一下,交叉学科没有交了,光剩个叉了是吧(恼)。
于是小氯果断 compose 了一封邮件给了那边的负责部门。结果嘛,自然是没有结果。其他几位同学也没有收到回复,甚至单纯询问性的邮件也是如此。不得不说,牢新你是好样的。
反正最后是用了几天把申请 submit 了,~~薄纱 DDL~~。至于中间出的问题就不多说了,有害物品小氯自己一个人吃就好啦(嚼嚼嚼)。
当然,事情还没完。后续还要调整选课,以及办签证等。反正过段时间,小氯就要去 SG 旅游啦 (≧▽≦)
最后小氯有个问题:去了 SG是不是就可以不用每天电脑上开魔法猫猫了
## HelloTelegram
记得小氯以前在「关于」页面~~非常傲娇地~~宣称:
> 我永远不会公开我的微信、QQ 和 Telegram。
然而小氯现在表示,以前是以前,现在是现在(捂脸)。
小氯一向对 Telegram 兴致缺缺:论隐私性,你比不过 Signal论自由性你比不过 Matrix没有默认的 E2EE网络连通性堪忧注册还需要境外的手机号我要你何用呢。
不过 Telegram 也是有优点的。最大的优点自然是其丰富的 Bot 和 API足够让 Matrix 社区眼馋十年了。以及很好用的 TG Channel可以起到类似公众号的作用。当然还有一点作为一款即时通讯应用来说TG 的体验可以说是标杆级别的,无论是资源占用、界面还是交互。虽然小氯说其隐私性比不上 Signal 和 Matrix但是好歹也有 E2EE 的选项,比微信这种虫豸强多了。
事情的转机大概出现在前几天。在坚持使用了很久(~~事实上只发过几次消息~~)的 Matrix 之后,小氯残酷地意识到,这玩意的普及度实在是太低了,别说是在日常生活中用了,就算是博友圈,估计也没几个人用。想靠 Matrix 和 Residencia 0x001B 的老友们沟通还不如飞鸽传书靠谱。而且conduwuit 出现的离奇问题也让小氯对目前 Matrix 的生态产生了一定的怀疑:一个即时通讯应用,首先需要有基本的功能吧。
此外,由于要去 SG 了嘛(尽管现在还早),小氯就去简单调查了一下在 SG 的一些「必装软件」。在 IM 方面的话,最通行的肯定是 WhatsApp然后自然就是 Telegram。
于是小氯决定注册一个 TG。反正现在手里的电话卡捏了好几张也不再需要租临时号了。过程嘛没什么好说的。只是小氯的电话卡有时候收不到 TG 的短信,不知道为什么。
哦,以及 TG 有一个奇怪的问题,就是如果你不允许其访问全部的通讯录,下面的 Contacts 就会一直有一个警告标志,而且挪不掉,非常难受。不知道哪个大脑结构与当下生命科学最新进展所认可的智人一般大脑结构存在实质性差异的人设计的这个机制。
## 数实惊魂
小氯的课表有一门奇妙小课,叫作《数字逻辑实验》,简称数实。这门课只有一学分,但是却位列 CS 牢九门之一——当然,是和其主课(也就是威名赫赫的数电)一起的。由于小氯对硬件兴趣不大(除非去搞硬件密码学),所以上得并不走心。
或许是第一节的示波器玩得太过愉快,让小氯丧失了对于 CS 牢九门的应有尊重,于是在第二节课之前,小氯并没有做很多的预习,只是像以前那样写了一个 Memo然后贴了几张来自实验文档的参考图而已。更难绷的是我上节课没有把自己的实验箱带回去因此完全是纸上谈兵一般的预习。事后证明这是一个让小氯后悔得直龇牙的决定。
下面我们也不多废话,来看几个小氯的铸币操作吧。温馨提示,阅读下面的内容时请不要吃饭或者喝水。
### 情景一
- 小氯:助教学长,为什么我 5 V 的方波测出来只有 0.5 V 啊?
- 助教:估计你倍率没……不对啊,你这倍率是对的。不是,你没调游标啊,你这游标跑哪去了,测出来的也不是你的电压啊。
### 情景二
- 小氯:助教学长,为什么显示不出来波形啊?
- 助教:你估计没插电吧……不对啊,插了啊。等会,你芯片呢?你光拿个模块能测出来什么啊?
> 《测芯片的实验不安装芯片》
### 情景三
- 小氯:老师,我这个波形为什么这么抽象啊?
- 老师:我看看……你接线没问题吧?
- 小氯:我刚才查过了,应该是对的。
- 老师:我看看……确实没问题。(伸手拔掉电源)怎么还是这个?我给你换示波器供电试试。(换成示波器供电)还是这样,有接触不良吗?(按压每一根线)没有啊,你等会,我去给你拿个电源模块。
(老师带着电源模块回来了)
- 老师:再试试……怎么还不行?你芯片不是坏了吧,(拿起模块查看)不是,你把芯片插倒了啊!
- 小氯:啊?
- 老师:你先重安装一下,一会我再回来。
(小氯重新插了一次芯片)
- 小氯:(可怜兮兮)老师,为什么波形还是这样啊?
- 老师:不可能啊。(拿起模块)(恼)你 TM 插的还是倒的啊!缺口,缺口你知道是什么吗?
- 小氯:啊?
> 《在哪里跌倒,就在哪里继续跌倒》
所以到最后小氯差点没做完实验,最后一个线接得乱七八糟,波形也是龙飞凤舞荡气回肠。好在好心的助教和老师还是算我过了。
## Get Rid of Apple
最近小氯看了一些新闻(不太新,两年前吧),大概意思是即使你关掉了设置中的与 Apple 分享数据Apple 还是会悄咪咪地上传一些。Apple 对此的解释大概是——
> 果乙己一到店,所有科技公司便都看着他笑,有人叫道:「果乙己,你系统里又查出隐私漏洞了!」他不回答,对 Genius Bar 说,「升级 iOS 18要支 Apple Pencil。」便排出 Apple Pay 二维码。他们又故意嚷道:「你一定又偷偷上传用户数据了!」果乙己睁大 HomePod 般的圆眼睛说,「你怎么这样凭空污人清白……」「什么清白?我前天亲眼见你偷传 Siri 录音,被 FTC 罚了八千万。」果乙己便涨红了 logo额头的 Dynamic Island 剧烈抖动,争辩道,「系统诊断和非第三方分享不能算跟踪……差分隐私!……保护数据的事,能算跟踪么?」接着便是难懂的术语,什么「广告标识符已重置」,什么「端到端加密」之类,引得众人都哄笑起来,店里外充满了快活的空气。
好的,说人话。
> Apples advertising platform does not track you, meaning that it does not link user or device data collected from our apps with user or device data collected from third parties for targeted advertising or advertising measurement purposes, and does not share user or device data with data brokers.
嗯……如果小氯没理解错Apple 的意思是,如果只有自己一家公司收集数据,那就不叫跟踪了。
……嗯。
虽然说阳奉阴违属于 Big Tech 的传统艺能了吧,但是……牢果,你再怎么说,也是一家以「隐私」为卖点的公司啊。你这样……算了我还是不说你了。你好自为之吧。
而小氯呢?自然不会躺平等着被牢果灌注(大误)。我们当然可以直接换 Linux——如果将来要换 Linux 的话,小氯大概率会选 [Framework](https://frame.work/),或者是等到 MacBook 被榨干以后刷一个 Asahi那个时候的 Asahi 应该已经能比较好地支持这样旧的硬件了吧——如果它还活着)。
不过,小氯的 MacBook 刚刚买一年左右。指望小氯现在换一台电脑,那属实有点蔑视小氯的半个专业(金融)了。要么等到小氯把 MacBook 的剩余价值彻底榨干,要么就是有一个很合适的机会可以出二手。所以我们现在要做的,还是 Get Rid of Apple——尽可能摆脱 Apple 的服务,换用开源和自托管的替代品。
让小氯列个目录……
- Apple Mail完全可以换成 Thunderbird。
- iCloud Mail 域名邮箱:先这么用着吧,反正咱有 GPG。
- Unified Clipboard有一些跨平台同步剪贴板的项目还没试过。
- Unified Notification难说
- iPhone Mirror在牢软的 Windows 都能操作 Android小氯不信这件事没有解决方案。
- AirDropLocalsend 比 AirDrop 好用多了,但是由于万恶的校园网隔离,小氯没法日用。或许可以找一个路由器,或者是使用 Tailscale 的虚拟内网。
- iCloud问题不大咱有 ownCloud 和 Nextcloud。很可惜这两个家伙又大又重而且小氯不太知道托管在哪。
- iCloud PhotosEnteImmich 和 Photoprism 看着都不错,小氯最喜欢 Ente。不过问题还是不太知道托管在哪。
- iCloud Calendar & Reminder有依附于 ownCloud 和 Nextcloud 的服务,不过小氯更喜欢一个单纯的 CalDAV不过不知道这样能不能两个联动了不能就不能吧。
- Maps嗯……说实话在赛里斯生活很难有什么很好的开源地图软件。
这是个大工程,小氯会一点一点做。后面的事情,小氯后面再和诸位老友汇报吧。
## 文本长生
最近小氯在试着了解 `TODO.txt`,一种纯文本的待办事项列表。惊叹于其简洁性的同时,也开始思考一些和「纯文本」有关的事情。
「纯文本」这个词听起来可能会引人误解实际上在小氯的说法中纯文本和文本基本是同一概念——That is使用字符编码、可以表示为人类可读的字符序列的各种文件`.txt`(无格式纯文本),`.md`Markdown 标记语言)和各种代码等。或者说得简单点,只要你能拿文本编辑软件,比如说 Notepad、Textedit 正常打开的文件都是文本文件——当然这样有点倒果为因。
小氯对文本文件多少是有些迷恋的。想一想,只需要一个最简陋的文本编辑器,便能将文件的全部内容一览无余,几乎毫无阻力地建立起比特、神经元和意义节之间的桥梁。这种重力一般的掌控感和安定性,即使是胸腔中跳动的心脏都无法给予。而打开之后,所有的结构如同转录中的 DNA 解旋铺陈成一张盛大的画卷胸有丘壑却毫无心机毫无保留。如同《1984》中温斯顿的那个梦一般随意的一抛就是莎士比亚时代全部的优雅。不论是英社还是老大哥都在这一个动作中破碎黯淡成无关紧要的灰尘。
……写得好矫情啊(笑)。
而简单性和开放性的直接结果就是海纳百川的兼容性和千秋万代的延续性。同一个文本Notepad 可以打开CotEditor 可以打开Neovim 可以打开Emacs 可以打开EDIT 和 ed 也可以打开Windows 可以打开macOS 可以打开Linux 可以打开FreeBSD 可以打开移动设备可以打开DOS 和初代 Unix 也可以打开;三十年前的电脑可以打开,现在的电脑可以打开,三十年后——乃至更久也可以打开。我们可以大胆地预言,即使是未来量子计算机成为日用设备,文本文件依然可以与新的接口谈笑风生,甚至都不需要做什么存亡续绝的关键性工作。如同不腐不坏、无灾无妄的古卷,忠实地记录着每一段自己曾经过的历史,将时间的高墙颠覆为随意即可跨过的邻家门槛。相比之下呢?`.one``.wpd``.dpr` 早就成了只能存放在赛博博物馆的文物,比楔形文字还难看懂。无人能看懂和解析的格式,和死了也没什么区别。
即使不说宏大命题,简单性和开放性也可以给日常使用带来无穷的便利。文本文件的版本管理可谓是 Git 的绝活,搜索的速度没人比得上 ripgrep。sd 帮你做正则替换bat 让你匆匆一瞥就能心下了然。而各种编程语言可都是文本文件的后宫,如果会一点编程,你甚至可以完全定制自己的工作流,让系统的每个细节都如臂使指。这么看,拿专有格式、封闭生态去对抗文本,不啻于用一群人、一家公司的力量对抗几乎全部时代、全部范围的计算机科学。可能也只有巨头级别的公司,投入海量的资本,才能在某些方面胜天半子吧。
说实话,这么说完一段之后,小氯原本对文本的喜爱似乎更深了。颇有一种辩论赛本来对双方的观点都有认同,辩一场下来之后成了坚定的正方人 / 反方人的感觉。
无论如何,请允许这个无知的元素娘改编一下 [Yihong](https://github.com/yihong0618) 大佬的那句名言吧——
> People Die, but Long Live GitHub
>
> GitHub Falls, but Text Transcends
(当然,以上的前提是处理好编码问题。毕竟 DOS 娘并不认识 UTF-8各位 Unix-like 用户也不想看到搬到 Windows 之后自己的文件变成锟斤拷。此外,小氯也并不是说文本就是第一性和绝对的准则。比如说,如果你希望用文本放一首歌,那……小氯祝您好运。而且客观上说,有一些专有格式确实是比文本在某些方面的表现更佳。例如,对于复杂的办公文档(虽然不知道为什么办公文档会复杂),使用 MS Office 或者 OpenOffice 格式还是会比文本容易的。)

View file

@ -0,0 +1,265 @@
---
title: 岁时录(十九)
date: 2025-05-09
slug: weekly-19
featuredImage: https://img.viento.cc/cover/weekly-19-cover.webp
categories:
- 人间世
tags:
- GoToSocial
- IndieWeb
- 大模型
- 隐私保护
series: 岁时录
summary: 岁时录其十九
description: 本文是作者周报的第十九期分享了近期在技术实践与思考方面的一系列动态包括在反复尝试后最终为GoToSocial服务“Spectral”选择了新的域名`spect.im`并完成部署的曲折过程在MacBook Air上测试本地大语言模型Qwen3的体验与得失服务器意外宕机后建立数据备份机制的经历以及对于一种“自顶向下”、从具体兴趣项目出发构建技能树的理想化高等教育模式的深入思考并提出了一个通过在域名下设置标准文件来实现统一网络头像的IndieAvatar构想。最后作者分享了近期最为核心的困扰对过往残留数字足迹可能带来的隐私泄露风险感到焦虑并详细剖析了更换一个全新ID以求彻底“干净”的利弊。作者对是否值得这样做深感纠结并在文末真诚地向读者征询意见。
wikilinks: true
lastmod: 2025-05-09
---
各位老友,晚上好。这里是 Chlorine。在现实中亮着昏黄灯光的公共空间中再写一点小小的东西。
各位老友应该也能看出来,这一期周报小氯写得有一点心不在焉。具体原因的话,您可以看最后面。
## GoToSocial
小氯已经记不清这是小氯搭的第几个 GoToSocial 实例了,或许是第八个?
### Why GoToSocial?
小氯其实挺喜欢 \*Key 的。[^1]虽然说对于小氯来说功能有些冗余且过于二次元了,但是表情回复难道不 cool 吗?
然而虽说小氯觉得它很酷,但小氯的 VPS 并不这么认为。整个 Key 系的资源占用半斤八两,总体而言可能需要预留 1.5~2 G 的空间,也就是我们需要一台单独的,配置在 2 G 或者 2.5 G 的服务器去承载它,这听上去还是有点恐怖的。哦,`Iceshrimp.NET` 除外,它的资源占用主要在于 PostgreSQL本体极其轻量总的占用和 Pleroma 差不多,只不过界面没那么好看。
此外,整个 Mastodon 系和 Key 系都有一个让小氯几乎无法忍受的缺点:运维困难。小氯说过,自己喜欢 Set and Forget 的东西。
那这么看还是得选一点轻量级的选手。只不过吧Snac2 实在是太过朴实了(它甚至没有数据库),而 Ktistec 大概还只能算是个半成品。说来说去,还是 GoToSocial 看起来最靠谱。反正小氯已经给 GoToSocial 写了个还不错的主题,展示界面看起来也不至于太难看。
具体的部署流程小氯不多说了,官方文档说得很明白。只是不知道为什么,`compose.yaml` 的配置不能被读取,只好全写成环境变量了。
### 瞎折腾
按照小氯之前的说法自己希望把所有的社交服务聚合到同一个域名下。GoToSocial 也不例外,毕竟 `chlorine@eigen.im` 这个去中心化 ID 还是挺不错的。
`docker-compose.yml` 的环境变量中添加:
```yaml
env:
GTS_HOST: gts.yourdomain.tld
GTS_ACCOUNT_DOMAIN: yourdomain.tld
```
然后主域名做好 301 就可以了。
本来事情到这里就可以结束了。Fedi 的各位老友可以非常顺畅地使用 `@chlorine@eigen.im` 来~~灌注~~关注小氯,和 Owu 的联合也很顺利。
然而!小氯在使用 PL-FE 的时候发现了一个让人很难受的事情:用户域名的显示还是 `gts.eigen.im`。各种 Key 也是同样的情况。这其实很合理,因为大部分的请求都是发往 `gts.eigen.im/api/xxx` 的。但是,看着是一顶一的难受,尤其是 `gts` 这个二级前缀看着毫无美感。
不过,使用主域名是不可能的,那么咱们就改一个更美观的 `HOST` 吧。例如 `space.eigen.im`,特征空间嘛,合理。
重启服务……好像哪里不太对劲?我怎么没办法关注 Owu 上的用户了?
赶紧去翻官方文档,看到了这么一句:
> You cannot change your domain layout after you've federated with someone. Servers are going to get confused and you'll need to convince the admin of every instance that's federated with you before to mess with their database to resolve it. It also requires regenerating the database on your side to create a new instance account and pair of encryption keys.
其实从数据库里面也可以看到这一点,例如我们执行:
```sql
SELECT * FROM instances;
```
可以看到表的结构中有两个字段:`domain``uri`,里面写的都是 `HOST`。如果你后期再更改,是要对方手动调数据库的。小氯在已经有联合的情况下改了后端 API 的域名,那不出问题才怪。
真是 JFK 坐敞篷车——乐死了。
那就趁着事情还没闹大,赶紧把 HOST 切回来吧。
这下倒是正常了,可是为什么用户变成两个了?
这似乎也合理,毕竟 HOST 都不同了。
于是小氯把数据库下载了下来,开始复习 SQL。一顿 `DELETE` 之下,确实是把问题解决了——大体就是删以及删完之后查一下表的健康程度。然而最初的问题还是没有解决,在 Key 的世界里小氯还是要顶着这个很丑的 `gts` 后缀。
由于这是一个 what is done cannot be undone 的时代,因此 `eigen.im` 算是彻底和 `gts` 这个前缀绑定了。那么剩下的方法只有一种:转生。
然而这就不符合小氯「社交服务聚合化」的计划了,而且还需要多付一个域名的续费。
纠结了好久,最终不知道是什么促使小氯下定了决心,小氯在备份了旧的数据(备份是个好习惯)之后,毅然决然地买了一个新的域名——我重生了,这一世,我要拿回属于我的一切!
新的域名是 `spect.im`(没错,又是 `.im`这个后缀还挺不错的。spect 是 Spectral 的缩写,这也是小氯的 GoToSocial 新的名字。
Spectral 的字面意思是「谱」,意为矩阵或者线性算子特征值的集合,当然也可以理解为物理或者化学中的谱,例如光谱和色谱。此外这个词好像还有幽灵的、飘忽不定的的意思,作为一个 GoToSocial 的名字似乎还挺不错的。
~~`sayso.im`:孩子们,我还能说什么呢?~~
总而言之,就是这样。这次小氯干脆也不搞什么分域部署了,直接用这个好看的域名当后缀。`docker-compose` 一把梭,启动,初始化,开始配置,开始联合,完事。
我用呆毛发誓绝对不再删库重来了!~~遇到更好的实现了除外~~。
总而言之,小氯终于是搭建了一个比较稳定的 GoToSocial 实例了。这个实例目前还在测试阶段,但是应该是不会轻易关停了
Spectral 目前运行在 LA US 机房的一台 1C2G 的 VPS 上,线路经过了优化,国内速度应该会不错。上面除了它还有一个 Bluesky PDS但这个 PDS 大概率是要关了Bluesky 不太对我胃口。目前整台机器内存占用大概是一半PDS 停了之后还能省下一些。这个配置别说 GoToSocial跑一个 Akkoma 甚至是 Sharkey 都够了。
不过有一个问题:小氯当初是为了研究信息安全才拉来一个同学一起续费这台 VPS 的但是发现其优化线路在校园网环境下效果不明显那这个性价比可就不高了。所以等到这台服务器过期之后Spectral 大概率是要做一次迁移的。可能会搬到小氯的 RackNerd ~~电子垃圾~~上,最好的选择应该是搬到 Hetzner 的欧洲区服务器,有 GDPR 嘛——前提是我能注册成功。
## 本地化大模型
本地化大模型应该不算是一个新话题了,从开源的对话大模型出现(比如 LLaMA 和 ChatGLM就有大神尝试着在自己的电脑上部署大模型。这样做的优点很明显所有的权重、过程和交互都在本地可以完全离线使用隐私性和安全性比云端模型高了几个数量级而且几乎没有跑路风险。缺点则是除此以外你需要比较好的硬件配置CPU显卡和内存同时本地大模型的性能和智力通常都不如云端的模型废话你想用你的电脑去对抗一台砸了好几万甚至十几万的服务器吗
小氯也试过用 [Ollama](https://ollama.com) 部署一些本地模型,比如当时似乎试过 LLaMA 3.1 中文微调版和 Gemma 2。结果嘛……不得不说是不得不说了。
> 你说 9.11 比 9.7 大我能理解为你在说版本号,可你说鲁迅和周树人既是师生又是父子还是兄弟是否有些太过分了?
从此小氯放弃了在自己心爱的 MacBook Air 部署本地大模型,每天幻想着买一台 Intel I9 + RTX 4090 的家用服务器跑最好的开源大模型(~~DeepSeek-R1嗯~~)。众所周知,幻想本身也是能够狠狠满足自己的 (/ω\)
直到前几天在 Fedi 乱逛的时候看到了[寒寒](https://social.a2x.pub/@alikia)的帖子,发现……
> 这个 Qwen3 1.7B 似乎还挺拟人的?
Qwen通义千问也算是国产开源大模型的老朋友了而且应该算是里面做得比较好的最好的大概是 DeepSeek 大将军,然后就是千问和 ChatGLM 它们了)。虽然说小氯不太喜欢牢巴,但是显然也不能把对公司的态度代入具体的开源产品上。
对于 Qwen3 的话,小氯在一个 Demo 里试过最大参数的 Qwen3 235B A22B给人的感觉大概是「一股 DeepSeek 味」,不知道是不是训练的数据重合太多了。不过很多推理模型都是这个毛病,也不能说就是什么大的缺点。
这么胡思乱想着,才发现自己已经打开 Ollama 的搜索界面了。小氯自己推测,电脑的配置跑一个 8B 应该是绰绰有余的14B 可能有点慢,但应该也可以。那我们先从 8B 试一下吧。
```bash
ollama pull qwen3 # 默认就是 8B 的
```
8B 大概 5 G 多,也不算大。`pull` 完就可以 `run` 了。跑了几个问题发现最多只能说是差强人意,于是又 `pull` 了 14B 的。
14B 的模型有 9 G 多,从虚拟网卡的日志看是托管在 Cloudflare R2 上。不过注意:**此处最好不要用优选**。
### 拟人测试
这里放一个比较正常(指我问的问题)的结果吧,~~放心,没有猫娘~~。
Q用轻松幽默的口吻简要介绍凯恩斯和哈耶克的经济学论战。
A凯恩斯和哈耶克这对经济学界的"双胞胎兄弟",堪称经济学界的"相爱相杀"天花板。凯恩斯像一位总在派发优惠券的店长,认为经济低迷时政府该出手,用基建、发钱、降利率等"魔法"让市场重新热络;哈耶克则像一位坚持不打折的老板,坚信市场就像一锅正在沸腾的汤,政府乱插手只会让汤汁溢出来,反而让经济"咕嘟咕嘟"地崩盘。
这场论战本质是"政府该当导演还是观众"的终极辩论:凯恩斯说"市场需要导演手把手教",哈耶克说"市场是自洽的交响乐,别总插手打节拍"。两人观点就像外卖平台和传统餐馆的较量——一个是送餐机器人(政府干预),一个是等客上门的老板(自由市场),谁更懂消费者(经济)的真正需求?
最终这场"经济学武林大会"没有胜负,反而让后世经济学家们学会了"左手凯恩斯主义,右手哈耶克主义"的平衡术——毕竟在现实世界里,既要防止经济"过冷",也要警惕"过热"的泡沫,这大概就是经济学界的"中庸之道"吧!
总体速度还过得去,一秒几个到十几个中文字吧。不过首个 token 一如既往地很慢。
再使用同样的问题问一下 14B 版本,得到的回答是这样的(内容基本没有调,只改了下格式方便显示):
A好的让我们来一场经济学界的世纪大戏——凯恩斯 vs 哈耶克,两位经济学界的“老冤家”,用一场关于“该不该让政府插手经济”的论战,把经济学变成了“现实版权力的游戏”。
**凯恩斯**John Maynard Keynes这位英国“经济急救医生”信奉一句话“**当经济感冒时,政府该打针**。”他主张:经济危机就像发烧,政府要立刻出手——大搞基建、发钱、借钱,用“财政刺激”让经济回暖。他坚信“**短期痛苦,长期快乐**”,甚至说“**通货膨胀比失业更可怕**”(虽然后来他的理论被证明在某些情况下确实有效)。
**哈耶克**Friedrich Hayek这位奥地利“自由市场卫士”则怒吼“**别碰市场!它不是一锅汤,是精密的钟表!**”他坚信:政府干预就像让一群外行修钟表,结果只会越修越乱。他警告“**计划经济会导致信息失灵**”,甚至预言“**通往奴役之路**”(别误会,他不是说政府会直接抓人,而是说过度干预会让经济失去活力)。
**论战高潮**1930年代大萧条时凯恩斯的理论成了“经济急救包”而哈耶克则像“自由市场苦行僧”坚持“**让市场自己舔伤口**”。后来凯恩斯的理论在战后大放异彩比如美国的“罗斯福新政”但哈耶克的警告在2008年金融危机时被重新翻出来——“**政府救市,可能救的是泡沫**”。
**现实版结局**:如今的经济学界,像“左右手打架”——凯恩斯的“政府出手”和哈耶克的“自由市场”成了政策工具箱里的“双刃剑”。比如:**疫情期间,政府发钱(凯恩斯风)**,但**长期高通胀时,又得靠市场调节(哈耶克风)**。总之这场论战就像经济学界的“辩论赛”吵了100年现在还在继续——毕竟**谁说得对?可能得看经济“感冒”有多严重**。
**总结**
凯恩斯:**“救救经济,别让市场饿死。”**
哈耶克:**“别救,让市场自己活过来。”**
而我们:**“快点,别吵了,我钱包在哭。”** 😂
明显比 8B 更拟人一些,虽然有些措辞并不准确甚至有错误(别的不说……罗斯福新政是在战后吗?!)。速度的话,在终端单轮对话的时候二者意外地差不多,但是在 Cherry Studio 里面做多轮对话的时候 8B 明显更快。
至于具体是 Cherry Studio 的问题还是模型本身的问题,我倾向于是前者。虽然我还没做完整的实验,但 Cherry Studio 的速度比在终端里慢了不止一点,
### 硬件负担问题
好像问题不太大,后台生成的时候正常开浏览器上网、开 IINA 听歌和写博客都没问题(指没有明显的卡顿现象),只是电脑有点温暖——说实话,小氯用了这么久的 MacBook头一次看到自己的电脑这么明显地变温暖……
### TL; DR
~~论 TL; DR 为什么要放到最后面~~
- Qwen3 做得还算不错,对于简单的任务是够用的,但目前还是没法和云端大模型比。
- 硬件要求不太高M2 + 16 GB 的 UAM 应该差不多,但如果是 8 GB 的 UAM 估计就很难了。
## 宕机与备份
这事说起来很无厘头,就是小氯闲着没事想看看自己 `spect.im` 的主界面,然后发现加载错误了。
这一般是被墙了的标志,于是小氯换了个网络再看一眼……这怎么还是进不去?
这就很罕见了。再看看自己魔法猫咪,这台服务器显示 Timeout 了。断网重连,没有作用。
更奇怪了。SSH 上去看一下……Connection Closed
坏了这八成是服务器本身出问题了。去服务商官方的控制台看一下……好家伙522。
小氯当时就不淡定了:这该不会是跑路了吧?
先不管钱的事情,小氯的 GoToSocial 实例数据还在上面呢——我甚至没做备份。~~对自己的服务依赖稳定性过于有信心然后惨遭教♀育的小氯酱~~。不过仔细想想,就算跑路了,不也应该提前发个通告吗?那么只剩下了一种可能:机房出现了不可抗力故障。
这一点是暂时无法亲自确认的,于是小氯去 NodeSeek 逛了一下,发现不少网友反映自己的 VPS 断联了。再仔细看看,大概情况是机房不知道为什么断电了。如果是机房断电了,那应该还好,毕竟按照现代服务商和系统的鲁棒性,就算再不济,断电保护应该还是有的。只要不像某服务商火灾之后直接扔给用户一台全新的服务器就行(~~RackNerd阿嚏~~)。
那就等着吧。大概等到一两点钟的时候,上去看了一下,已经恢复了,数据还在。
不过经此一役,小氯也是不敢再 RAID -1 了。赶紧写了个脚本,把数据每几天打包备份到 R2 一份。由于不太了解 SQLite 怎么消除竞争与冒险问题(~~数电学多了~~),所以采用了最粗暴的方法:备份之前 docker-compose 停掉,备份后再打开。数据用 GPG 加好密,也不怕放到第三方去。
## 自顶向下的学习
我不太知道这种方式到底应该叫「自顶向下」还是「自底向上」,或许「从具体到抽象」是个比较好的叫法——但也没那么好,因为我们所需要的东西其实并不抽象。
具体些说吧。例如小氯有一天突发奇想,要做一个课题:《从某国际事件的网络舆情变化分析官方策动在现代互联网民心中的作用》。具体是什么国际事件我们姑且不提,不过研究方法大体一致。
小氯不太懂互联网传播学和政治学,不过我们也能拼凑一个大概的研究过程:先获取足够的舆论数据,清洗、整理、分析后得到一个直观的趋势,然后结合外部信息进行分析并总结出一般规律。
当然,这个步骤无异于如何把大象装进冰箱。那我们来看看,一个「外行」,要学习什么技术才能把这个自己感兴趣的话题做成一篇可以发表的「论文」。
获取数据这一步,直观来看应该没有现成的数据集可用,需要自己爬,那就需要爬虫技术。那么,我们就需要先知道什么是爬虫,以及学习相关的语言,比如说 Python然后动手写或者是直接复用和改进已有的爬虫。而获取到数据后我们还需要把这些数据整理为我们便于处理的格式例如纯文本粗略洗去其中「脏」的部分例如无意义的占位符然后整理为一个有序的、便于 AI 进行「阅读」的格式。下面就需要对舆情数据进行分析,例如将其倾向打一个标签之类的,这涉及到情感识别等领域的内容。然后我们还需要把结果整理为一个 human-friendly 的形式。此外,我们还需要搜集一些和我们研究的因素有关的事件,这可能是外交的或者官方媒体的或者是什么别的。下面的事情就是政治学和传播学大放异彩的时候了,这部分可以交给我们研究这些领域的朋友,如果我们的通识教育足够的话,甚至自己上也可以……
好的,那么现在我们已经获得了丰硕的研究成果。如果我们做得足够认真且运气足够好,甚至可以得出一些有开创性的结论,而不是仅仅做一点分析总结。下面就需要把这些文字转化为论文了。这当然需要基础性的学术写作训练,以及对于论文投稿流程的了解——这个过程比你想的要复杂,最好能有一位前辈,例如导师或者学长学姐来指引一二。此外,涉及到的其他工具,例如 WordLaTeXTypst 以及 Git 和 Zotero 一类我们就不多提了。
很好,现在你已经有了一个明确的、自己感兴趣的目标,以及小氯为你勾勒出的(虽然不太严谨的)完整的技能树。现在从一个离你最近的点开始,把这棵树一点点点满吧。感觉很多吗?当然是这样的,毕竟你是在做学术,是在做一件改变世界的事情。只需要记住三样东西:你最初对这个目标的热忱,规划好的技能树,以及在你踏上旅程之前学的那些被称为「基础课程」和「通识教育」的东西。这样,即使你最后发现自己已经没有必要做这个课题了,你也已经向着合格的学者或者工程师迈出了坚实的一步。
各位老友,这就是小氯眼中,高等教育最理想的形态。
并不是带着你,按照某条轨迹,走过一个领域小径分叉的花园,而是在留下几个基本的节点后,将一切交予你。如同突触中神经递质的传递,或是电路板衔接处亮起的火花。思想在有意无意的探索中扩展、延伸、卷曲、纠缠,不断扩大自己芝诺的圆。若是看到了哪一个走不动路的点,便停下,深挖,直到触摸到铁矿、化石或者岩浆。如是这般,建起一座巍峨的地下城市,如同森林中菌丝相连的精致与复杂,亦有不可见底的锚点,让阳光直到古登堡界面。
这种方式或许可以叫「自顶向下」或许可以叫「T 型人才培养」,或许可以叫「学研结合」,或许也可以叫别的名字。这种思想有过许多实践,也取得了一定的成果。只不过,由于资源、人的惰性等各种现实因素,其还难以在现代高等教育中很好地铺开罢了。不过小氯依然觉得,如果我们希望培养「乐于探索、思维先进的终身学习者」,这或许可以是个好的思路,尤其是对于跨学科的学生而言,他们更需要这样的探索和融合空间——学科交叉大概可以算是现代学界和业界研究的必然趋势了,而多一些领域的知识——即使并没有那么直接地「交叉」,也可以让我们在思考问题的时候多一些角度。毕竟,一个不会画画的保险箱破坏者不是擅长打鼓的物理学家,您说是吧,费曼先生?
## IndieAvatar
这是我突然有的一个想法,但我认为值得记录一下。
事情大概是这样的众所周知IndieWeb 运动的一个核心是Domain is identity你的域名就是你的网络身份。而得益于什么都能装的 `.well-known` 路径,我们可以把自己的各种乱七八糟的身份,从 Mastodon 到 Matrix 都放在这下面。那么头像为什么不可以呢?
例如我们可以在 `.well-known/avatar` 放一个这个东西:
```json
{
"url": "https://img.mys3.com/path/to/your/avatar.suffix",
"alt": "My best avatar forever!"
}
```
然后希望获取你的头像时,只需要查找你的域名下的这个文件,把里面的 URL 拎出来就行了。什么时候想换头像了,改一下 URL 字段就完事。这样在不同的社交平台上——例如FediverseBlueskyFedi-Forge乃至各个符合 IndieWeb 的网站的评论区,我们只要放置自己的域名,就可以有统一的视觉形象。
当然,如果真的要把这个主意变成一个标准的话,还是有很多工作要做的——我们需要制定一个完整的 JSON 文件规范,需要提供易于使用的 SDK 和 API最重要的是需要有人来用。这大概会是一个漫长的工作不过我可能暂时没精力去做它了。
## 我应该换个 ID 吗?
这个问题显得很无厘头,特别是我在不算很久以前,还认认真真地写过一篇讨论昵称和自我认同的[[小氯Chlorine抑或我|文章]]。
好吧,事情要从小氯的前几天的「大清洗」说起。在处理了一大批个人信息后,小氯大致是放心了几天,不过几乎就是字面意思的几天而已。由于小氯过去在隐私保护方面经验的缺少,之前留下的数字足迹不算少。虽然小氯已经清除了其中的大部分,但「信息不可逆定律」(或者我们可以换一个更通俗的说法:覆水难收)教育我们:只要信息传播出去了,就必然留下可追溯的痕迹。
平心而论,这样的遗留威胁在客观上不算太大。因为小氯只是个在互联网的冷僻角落种花种草的元素娘,而且也并不写敏感内容,所以说担心大型的社会工程学攻击(这里说是社工学攻击其实不太准确,大家理解这个意思即可)或者国家级检查意义不大。我也不算太过在意让一些可靠的老友们知道适量的我的身份信息。而剩下的读者中,一般的好奇者 / 社工学黑客大概百不存一,而这些人大概也几乎都不愿意闲着没事来针对小氯。而且,小氯已经做好了很多防护措施(~~防盒掩体~~)。退一万步说,就算真的被盒出来一些东西,也不会有什么实质性威胁——小氯说过,咱从不惹事,最多只是有点尴尬罢了。
但是一个显而易见的事实是:对于小氯目前所能考虑的最高的威胁等级来说,现在的防护还是有点不够。这给小氯带来了很大的心理压力。而如果要尽可能干净地解决这个问题,唯一的方法大概就是**换个 ID**。
如果换一个 ID 的话,那大概率就是真的「重新开始」了——不是像刚刚使用 Chlorine 这个昵称的时候,只是把站点简介改了一遍。小氯倒是并不惧怕重新开始——虽然这意味着抛弃掉现在的人设、形象、社交账户。甚至 SEO 也没问题——咱也不是没重新来过。最重要的是——我的文章,那些用「日光,热茶和位流」写下的数十万的文字,我也必须永远地将它们收好在自己的抽屉中,连提及它们都不可以。我唯一能保留的,也就只有记忆了。
此外,我也不能将自己的园子重定向到自己新的小岛,也不能大张旗鼓地告诉自己的老友们:我换马甲了,新的马甲是 XXX这样等于前功尽弃。我过往建立的所有线上社交联系都将断绝即使再有缘在互联网见到过去的老友们也只能小心翼翼地打个招呼而不能提及「还记得我们在园子里喝过的那壶果茶吗」。
**这样值得吗**
于是我就被这样一个问题困扰了一个星期,连周报都写得心不在焉的。
所以……我希望听听各位老友的意见。如果您有自己的见解,烦请您一定一定要告诉小氯——评论或者邮箱或者别的什么都可以。~~说实话,我感觉我像个幼稚的小孩子,在转着圈地要别人在自己的笔记本上签名~~。[^2]
[^1]: \*Key 或者 Key 系是我常用的简称,指的是 Misskey 及其衍生出的一系列 Fedi 实现,比如 Firefish、Iceshrimp 和 Sharkey。它们彼此间的互联程度很高但是和 Mastodon 系之间存在比较大的差异。
[^2]: 这是一种比较少见的风俗,大概作用类似于百家衣。小氯很小的时候曾经尝试过。

View file

@ -0,0 +1,223 @@
---
title: 岁时录(十五)
date: 2025-02-23
slug: weekly-15
featuredImage: https://img.viento.cc/cover/weekly-15-cover.webp
categories:
- 人间世
tags:
- Rime
- Memos
- OpenPGP
- 数据安全
series: 岁时录
summary: 第十五期……也是第一期 OωO
description: 本文是作者周报《岁时录》的第十五期。作者首先说明了周报的更名事宜随后详述了深夜乘廉价航班返校的经历。面对新学期高达40学分的学业压力作者通过策略性退课将学分调整至25分左右着重保留相对轻松的经济金融类课程。技术探索部分涉及输入法升级至白霜拼音方案、从全拼转向小鹤双拼的学习历程以及重启Memos碎片化记录系统的尝试。在密码学实践方面作者重构了GPG密钥体系采用主密钥与功能子密钥分离的架构并反思了过度工程化带来的时间损耗。针对苹果公司计划引入国内厂商合作的系统级AI功能作者表达了强烈隐私忧虑认为本地化加密与开源方案才是可信的技术承诺。全文贯穿对校园生活与技术偏好的双重记录既呈现了理工科学子的课业重负也展现了数字原住民在工具选择与隐私保护方面的执着态度。
wikilinks: true
---
各位老友,晚上好。这里是 Chlorine。随着小氯回到学校开启新一轮的~~坐牢~~学习,园子的周报恢复更新~
~~所以你放假和不更新周报之间有什么因果关系吗~~
首先呢,小氯要宣布一个消息。从第十五期开始,园子的周报,过去的「浮生散记」/「Ephemeralis Weekly」正式更名为《岁时录》。至于新名字的来历……大抵是没什么来历的只是一个代表时节更迭的词罢了。
当然,为表纪念,一至十四期依然保留原本的名字。
~~本来这个消息要在年终总结发出的,但是年终总结被小氯鸽了(悲)~~
---
您正在阅读园子的周报——《岁时录》的第十五篇,日期范围为 2025 年 2 月 14 日至 2025 年 2 月 23 日。这是园子的不完全定期刊物,会记录一些小氯和园子在这段时间的经历,以及或有或无的思考。这是从主世界的时间中引出的一条细小的支流,也是这个网络空间中的小岛的编年史。
祝食用愉快。
## 夜に浮かぶ
本节标题来自我很喜欢的一首歌。
事情呢,是这样的:我们的学期注册终止于 2 月 16 日17 日就要正式开始上课了,于是小氯打算在 13 ~ 15 号回学校,提前料理一些新学期的事情。在考查了半天之后,小氯发现从所在城市的机场出发到学校的机票异常廉价,价格甚至低于用时更长的高铁,于是欣然出手。
只不过这趟飞机有一个小缺陷——它是晚上出发的,到达时要半夜。嗯,也好,丰富一下人生体验。不过小氯不敢保证校门在这个时间段还开着,于是提前订了一家机场附近的民宿,打算睡一觉再回学校。
登机的过程呢,没什么太多好说的。小氯家乡的机场是个很小很小的地方,小到登机口的数量一只手就能数得过来,自然也不会遇到像深圳宝安那样的室内长途定向越野(误)。而且,小氯到得极早,提前了差不多一个小时。在等飞机时,小氯还遇到了一位在飞行员班的同学,很愉快地聊了一会儿。
所以……小氯正在七千二百米的空中,经济舱的阅读灯昏黄的光线下,一点点地敲出这些文字。
我的影子正以上百公里的时速掠过沉睡的华北平原,透过狭小的窗户,下方的灯火像是在乐高积木的大地上自我繁衍蔓延的发光菌群。
或许对于地面上的许多人而言,这是我一生离他们最近的一次。
后面的故事就乏善可陈了。这次飞机的飞行时间只有两到三小时,小氯还没敲几个字就降落了,甚至还比预想的提前了半个多小时。
然后呢……在只有大床的「精品大床房」里面睡一觉,然后打一辆顺风车,回到已经颇为熟悉的地方。
——这里本来有一段长长的其他内容的,让小氯反反复复改了好多次。
我甚至试图用 DeepSeek 帮我改一下,但我还是放弃了。一方面是不喜欢直接把 AI 写的东西放到园子里(我一般用 AI 快速了解或者聚合一些信息),另一方面,以 DeepSeek 的水准,写出来的东西大抵会非常优美且富有感情,这和小氯的零零碎碎点点滴滴又有点入机的风格很不符。
所以,那段大概可以升华整个部分的文字被小氯删掉了。这里是它的墓碑。
## 核善の课程
在上学期的《高等信息经济学与应用博弈论》(俗称选课)中,小氯为了保底,把所有能塞进去的课都塞了一遍。结果由于博弈策略设计得太过出色(大嘘),最后只掉了一门课。搞笑的是,这门候补的课——一门非常热门的课,在我没有做任何操作的情况下被自然递补上去了,而提前离开的同学们却没能拿到课程的名额。
> 《等等党大胜利》
然后再加上小氯为了调整策略加上的课,小氯的总学分在某个时刻达到了惊人的 40 分(
![wtf-your-courses|325](https://img.viento.cc/20250223-wtf-your-courses.avif "学姐の震惊")
根据我校培养方案的一贯抽象,这学期的课也都不是什么善茬,就一个数电就足够受的了(为什么小氯一个 End User 要学硬件啊喂),更何况还有网原概统大物人智导社分树蛙金科密码学公金心概中宏计量货银毛概习概(~~仙之人兮列如麻啊~~)以及小氯自己打的工。如果让小氯把这些所有的课都吃掉,那属实是……除非是某些变态就想看小氯酱坏掉(大误)。
所以小氯退掉了其中十多学分的课,剩下了二十五到二十七左右,同时提高了里面人文和经济方面专业课的比例。从小氯的经验来看,文科方面的课比 CS 和数学简单许多(~~DSA孩子们没错是这样的~~),即使是文科专业课难度的巅峰——公金(公司金融),和 CS 牢九门(牢数,牢系,牢操,牢网,牢组,牢软,牢电,牢物,牢算)等一众旧日支配者相比还是太慈眉善目了。
## 清理草稿
似乎大概也许好像……小氯[[孩子们我回来了2|说过]]假期要爆更来着?不过从结果上看,显然既没爆也没更,除了一篇水得离谱的开发日志和一篇莫名其妙的碎碎念之外什么都没更出来,就连年终总结兼园子一周年庆典都被鸽掉了(悲)。
不过说小氯什么都没干也不对,既然一个假期几乎什么都没学,那么证明小氯一定在摆烂方面大有成就(顶锅盖遁走)。现在的草稿箱里面已经躺了若干基本成型的稿子了,这一周水的几篇就是其中的一部分。
不过,写作这个东西时效性很强:如果你没有及时抓住灵感并且将其扩充到一个不会自然消散的长度,那么恭喜你,你大概率是要与它永别了。小氯在打开 Obsidian 想写点东西的时候,也经常看着自己的灵感速记本上面的东西直龇牙,完全想不到自己当时是怎么想到这些奇怪的文字组合的。
不过……客观上来说,这一周小氯确实更得不少对吧(乐)。或许这就是经常听人说的,只有在你忙碌时,闲暇才成为闲暇。
## HelloRime Frost
其实这部分已经鸽了若干年了,是原本的第十五期周报的草稿的内容,一点也不周报(~~新闻的时效性——初中语文~~)。
小氯大概一年前切换到 Rime 输入法具体来说是鼠须管Squirrel。当时用的预设方案是雾凇拼音rime-ice
{{< github repo="iDvel/rime-ice" >}}
雾凇拼音无疑是非常出色且全面的配置方案,社区也对其给予了高度认可——雾凇拼音在 GitHub 上的 star 数已经超过一万,远远超出了 Rime 本体和中州韵、小狼毫、鼠须管三大输入法。
最近我发现了雾凇的一个变体白霜rime-frost。其实也可以翻译为 rime-rime毕竟 rime 本来就是霜的意思(笑)。
{{< github repo="gaboolic/rime-frost" >}}
在概述界面,作者 gaboolic 高调地宣称:
> 白霜词库是目前rime方案下最好的开源词库立志于打造不输于商业输入法的输入体验。
很有精神Doge
实际体验一下之后感觉确实还不错,比雾凇拼音多了很多不常见但是对小氯有用的词汇,对于输入长词也比较友好。以及一些小功能,例如斜杠命令。
白霜拼音和雾凇拼音的兼容性相当高,而且由于小氯本身也没做什么太多的自定义,迁移起来也不麻烦。大致就是以下步骤:
- 备份原本的配置文件夹
- 导入 rime-frost 的源代码
- 导入自定义词典、各种 `.custom.yaml``custom_phrase.txt`
- 挂载自定义词典
- 将 `rime_ice.userdb` 重命名为 `rime_frost.userdb`
- 重新部署
作者也是相当具有雄心壮志TODO 里面有一大堆非常吸引人的计划,甚至包括「训练一个智能语言模型」。如果能做到本地化,同时做好足够的加密措施,那就是神器级别的功能了。小小地期待一下。
此外,小氯还顺便换了一个更新的玩具。具体内容……请看下一节。
## 小鹤双拼
没错,真香定律还在发力(悲)。
小氯一直是个全拼党,键盘噼里啪啦敲得飞起,虽说之前对小鹤双拼也算略有耳闻,但是一直没有尝试。直到小氯下定决心把讯飞输入法撵出了 iPhone全面启用 Hamster 后那个古老的问题一直在困扰我——Rime 全拼在手机端的体验极差,强制 26 键和无纠错在 iPhone 15 Pro 小小的屏幕上简直就是噩梦。这种情况下,双拼的表现明显优于全拼,毕竟每次打字都只需要击打两次键盘。
此外,小氯的娘亲非常擅长五笔输入。每当小氯去问娘亲「用了这么久的五笔,会不会想着换成全拼」时,她总是摇头,表示五笔很好。「刚开始的时候需要背词根,但是后来就快了。」那么,小鹤音形的键位会比五笔的词根还难吗?我不这么认为。一个很简单的事实:五笔的词根有一百三十个上下,还有取大优先、兼顾直观、能连不拆等一堆复杂的规则,而不管是小鹤音形还是自然码还是别的什么方案,也就只有二十个左右的映射(当然,简单总是有代价的——双拼的上限肯定比全拼高,但还是比不上五笔)。
于是,在一个平平无奇的要赶早八的早上,睡眼惺忪的小氯打开了 Hamster把首选输入方案切换为了小鹤双拼。
这自然不是什么容易的事。由于小氯并不喜欢在 MacBook 的键盘上贴什么键盘膜,因此能依靠的只有那个著名的「秋闱软月云舒翅」口诀和自己的记忆力。小氯的方法也很简单,就是一力降十会——把 MacBook 和 iOS 的默认输入法都改成双拼,逼着自己反复练习。感觉小氯学很多东西都用的是这种策略啊。
不过小鹤还算是好上手,小氯刚刚开始用双拼几个小时,打字卡顿的情况已经不太多了;大概二十天以后,打字速度就接近了原本的水平;现在差不多两个半月,再也不打算回全拼了。
## 重启 Memos
Memos 大家都很熟悉了,一个让人又爱又恨的家伙。爱是因为这个软件确实解决了许多老友随时记录闪念的痛点,恨是因为 Memos 的开发者实在是太抽象了,几乎把 Memos 当作了自己练手的项目API 的 BREAKING CHANGE 说来就来,每次升级都有一大堆的 Bug对社区的许多建设性意见也置之不理。所以就出现了一种奇异的情况Memos 依然在卖力地更新,但是大量的用户都选择锁定在一个较旧且稳定的版本(~~牢软:在想我的事?~~)。[浪子老友](https://blog.memos.ee/archives/227.html?scroll=comment-255)推荐的是 `0.18.1``0.14.4`[杜老师](https://dusays.com)推荐的是 `0.21.0`[木木大佬](https://immmmm.com)则锁在 `0.18.2`
小氯对这种开发模式并不赞同,又由于虚拟机在校内离谱的连接状况,小氯时常会连不上自己的 Memos。再加之记录需求不多干脆把实例停了。反正数据就在虚拟机里面搁着也丢不了。
不过呢,最近看到了 [Nelson 老友的有趣文章](https://blog.bosswnx.xyz/2025/joy-moments-0),小氯感觉这种记录生活中小确幸的方法似乎对于活下来颇有裨益。而 Memos 确实适合做这个。于是小氯把 Memos 重开了,用的是 `0.18.2`,可能偶尔会换到 `0.18.1`反正这两个版本也没有破坏性更新。不过校园网嘛你懂的。MacBook 上小氯可以修改 host 文件直接用 Tailscale 的虚拟内网去连接,而 iPhone 只好凑合用了(悲)。
或许比较合适的方法是自己在校内建一个小主机,或者是买一台比较注重隐私的服务商的 VPS。一般来说 GDPR 辖区的情况能稍好一点,比如德国的 Hetzner 或者冰岛的 1984 Hosting。在 VPS 上做技术隐私比较费劲,除非全盘加密。
### Alternative
#### Flomo
很好很稳定的产品……闭源的SaaS 的,谢谢。
#### Fediverse
Fedi 本质是一个社交平台,虽然可以通过私有嘟文来保证不可见性,但是其毕竟不是做这个的。而且,把自己私密的想法放到一个「公开性质」的平台,会让我感觉很不安全(小氯真是个奇怪的人啊)。
#### Moments
[清扬老友的推荐](https://blog.liushen.fun/posts/8338183a/)。看着酷似 VX Moments。不过这个东西更接近单机社交而不是碎片化笔记那还不如 Fedi 呢。
#### Blinko
源码[在这里](https://github.com/blinko-space/blinko)。
很新的一个小东西,用得应该是 Next。相当好看功能极多甚至多到有点花哨了。不过没有手机 App虽然说可以 PWA但是原生的毕竟更好以及小氯有 PostgreSQL 恐惧症 (/ω\)
不过经过小氯的测试Blinko网站加 PostgreSQL的资源占用也算不得特别高和 Bluesky 的 PDS 差不多,一般的服务器应该完全可以承受。
#### my-flomo-server
源码[在这里](https://github.com/jerryshell/my-flomo-server)。没有看到预览效果,不过推测和 Flomo 接近。
……话说大家到底为什么这么喜欢 PostgreSQL 啊?!
## GPG Key 的调整
准确来说,这东西应该叫 OpenPGP Key或者是 OpenPGP Key Set。因为 OpenPGP 是一个协议,而 GPG 是其的一种(最流行的)实现。
小氯之前不太懂 GPG创建了一大堆密钥。由于最近的《现代密码学》课程以及对 CypherPunk 的兴趣,小氯开始琢磨着把密钥归拢归拢,这也符合最佳实践。
归拢密钥不难,小氯很快把原本的 SC - E 密钥拆成了 C-S-A-E 结构。[^1]不过在处理 Git 密钥时,小氯遇到了点问题。
具体来说,小氯原本是使用一个单独的主密钥给 Git 提交签名的,但是这样疑似有点不太好,因为 GPG 的最佳实践其实是一个绝对隐私的主密钥 + 若干个日用子密钥。小氯的理解是:一个 OpenPGP Key Set就是一个身份。如果你希望你做某件事的身份和原本是泾渭分明的那么就加一个新的 Set。那么小氯现在的各个用途代表的身份需要分开吗显然不需要。
从职责分离的角度看最好的方案应该是在主密钥下单独创建一个新的签名子密钥。这样不是不行但是分不清哪个是哪个还好说GPG Agent 经常弄不清用哪个子密钥签名,手动指定也没用,这样交叉污染还不如只用一个子密钥呢。
小氯一直是个很内耗的人,这件事几乎内耗了我一天的大好时光。然后,在即将睡觉的时候,小氯实在是忍不了了。
再加一个密钥,其实收到的安全收益也就那么多,而且还要管理不同的密钥、配置不同的程序,累也累似了。而且,小氯并没有在什么高密级的单位,例如区块链金融机构、高级别的密码学研究中心或者是政府机关工作,也并不是记者或者活动家这类高风险的、需要匿名的职业。那么现在的结构,其实已经足够用了。如果后续能把主密钥移动到 YubiKey 之类的安全硬件,甚至已经足够用很久了。
所以就这样吧:
```txt
主密钥 C
签名子密钥文件邮件git提交等各种签名 S
加密子密钥(邮件,文件等) E
身份验证子密钥ssh 等) A
```
问题解决。睡觉。起来,开开心心地去上课。
所以,诸位老友不要学小氯。有什么事,痛快做个决定,才能不耽误睡觉 (/ω\)
……哦,说到 GPG小氯最近还做了点小事把 GPG Suite 扬了。
老早就看这家伙不顺眼了,加了一大堆启动项,源码只给一个压缩包,更新那么慢,还带一个不紫柚的 GPG Mail。当然 GPG Suite 这么做没有任何问题,无可非议,但是这很不对小氯的胃口。
扬了之后也没什么大问题,就是右键快速操作和图形化界面不能用了而已。小氯在琢磨着写几个 Shortcuts 替代掉那些快速操作。
## Apple Intelligence?
这是之前牢果宣布的一个计划,简单来说就是给设备接入系统级 AI。在小氯看来系统级 AI 这个主意本身没问题。因为在小氯眼中AI 和电力、计算机一样都是一种革命性的基础设施。电力驱动的机械宣告了人类体能的落伍计算机则接替了复杂的计算工作AI 做的,只不过是把一些原本需要人类情感和创造力的活动接管了而已。虽说听上去比前两者严重亿点,但是倒也不必当作洪水猛兽,毕竟你不能说人们不爱走路了所以要禁止汽车。如果我们能做到在保护用户隐私的同时,把 AI 功能成功整合到系统的某些操作中,倒也不失为一个有用的助力。
……不过做起来可没那么容易。
如果小氯没记错,在全球范围内接入的一般是 ChatGPT。不过众所周知为了符合某些规定牢果在国内的合作商都是比较具有本土色彩的。这次也不例外就是牢度的文心大模型也有说法是准备去找牢巴阿里巴巴合作的。
牢度……嗯。
在小氯看来,一个系统级 AI纯本地化是其能被认为「安全」的必要不充分条件。当然我并不是说联网就必然会有危险但是将这柄达摩克利斯之剑交给光纤对面的公司本身就是对个人隐私最高级别的威胁更何况是一家让小氯信任他们尊重用户隐私还不如信任指洛水为誓的公司。即使是从应该是中美的法律上承诺「绝不查看」那也不行。小氯[[理想乡构筑手记2HelloCéfiro|说过]],我从不信任道德承诺,我只信任技术承诺。荒坂可以操纵整个政府,但是他们破不开后量子加密算法。
……反正牢果如果真的和牢度合作做 Apple Intelligence还没有确切的证据能让我相信这个东西可以完全 Opt out 的话,那估计也是时候锁系统版本,或者换 [Asahi Linux](https://asahilinux.org) ,或者去买 Framework Laptop 了。当然会有许多相对于隐私性更加在乎便利性的客户(而且这应该是大多数),但是这显然不包括小氯,这只拿着 LuLu 过滤联网程序、为了用开源的 Rime 代替讯飞宁可从头学双拼、为了保护自己写的算不上私密的笔记愿意啃一千多页密码学 PPT 的元素娘。
**Hands off my data, you shameless techs!**
[^1]: 这里的字母是指密钥的四个功能认证Certification、签名Signing、加密Encryption和验证Authentication。SC - E 就是主密钥兼有签名和认证功能,同时有一个仅加密的子密钥;而 C-S-A-E 就是全分离架构,即主密钥只负责 CS、A、E 全部由相应的子密钥负责。

View file

@ -0,0 +1,299 @@
---
title: 岁时录(十八)
date: 2025-04-29
slug: weekly-18
featuredImage: https://img.viento.cc/cover/weekly-18-cover.webp
categories:
- 人间世
tags:
- Matrix
- 数电
- ChatGPT
- 阅读
series: 岁时录
summary: 岁时录其十八
description: 本文是作者周报《岁时录》的第十八期,讲述了作者近期的生活与思考,包括技术实践、学习经历和个人兴趣。作者分享了新域名 `eigen.im` 的启用及其背后的自我表达理念,并介绍了 Matrix 服务的分域部署经验。在学习方面,作者记录了数电实验和 FPGA 烧录过程中遇到的实际问题与解决方法,展现了理论与实践结合的体会。此外,作者还尝试开发自托管匿名提问箱,探讨了匿名与坦诚的关系。生活片段如品尝酒酿、反思阅读习惯(偏好外文原版而较少读中文书),以及用 AI 辅助写游戏 Mod 和制作可爱的表情包,体现了作者对技术工具的积极应用和自我认同的探索。
wikilinks: true
lastmod: 2025-04-29
---
诸位老友,下午好。这里是 Chlorine。
趁着五一出发之前,再凑一期岁时录吧。讲讲这一周(几周)有趣的事情,顺便清一清废稿(悲)。
由于这个月主要在忙期中和园子的重构工作(见[[DGP重新出发|此处]]),所以内容也没有写太多……算了我承认这篇文章很水(大悲)。
## HelloEigen
这里原本应该有很多东西的,但由于还没实践完,被小氯砍掉了。简单来说,就是小氯又希望搭建一个属于自己的社交系统了,尽管目前似乎有一点工具性分享倦怠(由于没有称手的工具,不太想贸然发帖子)。
### 又又又又又一个域名
这次是 `eigen.im`
`.im` 是……等会儿,我去看看。`.im` 是英国王室属地马恩岛Island of Man的 ccTLD由于可解读性比较高也常常被作为泛用顶级域。大致的含义有以下几个
- Instant Message即时通讯比如 [FluffyChat](https://fluffychat.im)。
- Input Method输入法比如小氯好喜欢好喜欢的 [Rime](http://rime.im)。
- I'm自我介绍所以可以当做个人博客比如[陈仓颉](https://imzm.im)老友。
`.im` 是个很便宜的域名后缀Spaceship 一年不到 50 CNY。不过不知道是不是因为太冷门了所以名声似乎还算可以。
而前缀 Eigen 是德语,意思是「自我」。这不仅昭示了这是一个「服务于个人」的项目,而且也宣称了「保持自我」的追求。这可能也是社交服务的最终目的:建立人与人之间的联系,并在这种联系中寻找自我的真实。
……嗯,好吧,其实当初买的时候并不是这么考虑的。单纯只是想买个用来搭 Matrix 的域名众所周知Matrix 这个词在数学里有「矩阵」的意思而矩阵最重要的性质之一就是特征值Eigenspace和特征向量Eigenvector或者翻译为「本征」。就这么简单。
之前小氯手中还有一个 `sayso.im`。Say So直译大概就是「这样说」或者借用佛经的话叫作「如是说」。
> 一切有为法,如梦幻泡影。如露亦如电,应作如是观。
这个域名小氯也是蛮喜欢的,不过秉持着奥卡姆剃刀原则(如无必要,勿增实体),这个域名也没有过大的必要存在了。
哦,此外,一个小小的 Bonus小氯有一首很喜欢的歌也叫《Say So》别名「种田の小曲」。[^1]
### 分域部署
为了省域名兼好看。小氯打算做一个小小的聚合:把所有的相关服务的标识符都聚合到同一个域名下,比方说在 Fediverse 下是 `@chlorine@eigen.im`,在 Matrix 是 `@chlorine:eigen.im`,在 Nostr 是 `chlorine@eigen.im`,在 Bluesky……哦Bluesky 有 Handle不用这个。这就不得不涉及分域了。
「分域」就是把用户标识符域名和实例域名分开。我们举个例子:我们要部署一个 Matrix Server。我们希望用户的标识符是类似 `@user:example.com`,但是 `example.com` 我们希望另做他用,转而把实例运行在 `matrix.example.com`。这时候我们就需要做一点小小的 tweak在他人查找 `example.com` 上的用户时导引到 `matrix.example.com`
这里我们简单说说 Matrix 的分域方法,以 [Conduwuit](https://github.com/girlbossceo/conduwuit) 服务器为例。Conduwuit 是著名的 Conduit 的分支,加入了不少的新特性和 Bug Fix2025-04-28 注Conduwuit 寄了,有一个后继者 Tuwunel但是还没有完善的自部署和迁移文档
在 Conduwuit 的环境变量中,将 `CONDUWUIT_SERVER_NAME` 设置为 `example.com`。然后使用反代服务器,如 Nginx 或者 Caddy 将 `matrix.example.com` 反代到 Conduwuit 的地址,一般是 `127.0.0.1:8448`
然后在 `example.com` 的域名下运行一个反向代理(看你希望拿这个网页做什么了,对于小氯来说一个静态文件代理即可),在网站根目录下创建 `.well-known/matrix` 文件夹,写入两个文件:
```json
// client
{
"m.homeserver": {
"base_url": "https://matrix.example.com/"
}
}
```
```json
// server
{
"m.server": "matrix.example.com:443"
}
```
甚至你用 Cloudflare Workers 或者别的什么 Serverless 平台都可以,毕竟这只是两个静态文件。
把 DNS 解析配好,大功告成。可以用[这个网站](https://federationtester.matrix.org/)检查一下配置是否成功。
目前小氯在这个域名跑了 Matrix 和 Bluesky PDS后续可能会加 XMPP 和 Fediverse 之类的。不过 ActivityPub Git Forge 小氯不打算在这里跑,估计会用 `foss.moe`
## 海鲜炒面
看了这么久饿了吗老友们OωO
……
不会有人真的以为这一节要讲吃的吧,不会吧不会吧……
好吧,这其实是指数实的实验接线。情况是这样的:本周的数实主题是让你搭建两个版本(补码和原码)的全减器,以及其他的小电子元件。哦,补码是指……
好啦好啦,不讲术语了。总而言之,各位只需要知道,我们要搭一个电子元件就好了。
要搭两位全减器,比较舒服的方法是先搭一个全加器。两位全加器的结构其实不麻烦,因为我们只需要全加器而不需要快加器,所以只需要把两个一位全加器串起来就可以。而一位全加器的逻辑表达式我们几乎可以背下来了:
$$
F = A \oplus B \oplus C_{\text{in}} \text{, } C_{\text{out}} = AB + BC_{\text{in}} + AC_{\text{in}}
$$
其中 $\oplus$ 代表异或。
而两位补码全减器只需要把 B 的各位、输入和输出的进位(准确来说此时是借位了)反相,原码全减器就加一个补码转原码的部分即可。
听着简单对吗?那我们看看实际接线的效果吧。
> [!WARNING]
> 前方高能,强迫症和洁癖人士请尽快撤离!这不是演习!
这是原码全减器(准确来说,这不是小氯的版本,是小氯帮同学搭的。小氯的版本更惊悚):
![|537](https://img.viento.cc/20250328-2bit-suber.avif)
现在知道为什么这节的标题叫「海鲜炒面」了吧,你就说像不像吧(乐)。
当然,吸取了[[岁时录(十七)|上一期]]的教训,小氯可是不敢怠慢。课前反反复复拼了好几次才敢过去。
![](https://img.viento.cc/20250328-2bit-full-adder-circuit.avif "小氯画的全加器示意图")
最终当然是顺利地过了,不过中间也是遇到了点乐子:测试出来 2 - 3 显示了 3应该显示 1。找不到问题遂推倒重来。最后发现是有一个异或模块电源引脚接错了。嗯小氯酱是笨蛋。
## 烧位码传奇
本来一周只有一节数实的,奈何小氯鸽的天数太多了,就凑到一起了(捂脸)。
---
作为一名全面发展的带学生,上了这门全面发展的数电/数实,烧板子自然也是不可不品尝的一环。
我们烧板子用的是 Vivado这玩意是不支持 macOS 的,需要通过极其丑陋的方式,包括虚拟机和 Rosetta 等方式去运行,还需要安装几十个 G 的庞然大物。众所周知,小氯有严重的环境洁癖,让小氯在自己心爱的 MacBook 上面搞这么一出,在小氯看来不啻于在故宫里开夜总会。
很可惜,小氯的 Windows 备用机已经留给老爹了。于是小氯~~一面将备用机从老爹手里巧取豪夺了回来~~,一面着手去借一台电脑临时顶用。所幸关键时刻还是我光荣而伟大的孙哥为我提供了支持。
不过小氯首先发现,自己的实验箱里面没有烧录线(或者叫下载器)。于是小氯去找自己的同学借了个下载器。
中午吃完饭,把电脑薅回来之后就开始下载……事实证明,这是一个「把大象装进冰箱」的过程。
图片忘记截了。我用语言叙述一下:校内提供的备份包,下载速度达到了惊人的 1000 B/s距离下载结束还有 193 天。好家伙,带嘤的 HS2 跟它一比都算是迅捷高效的。
最难绷的是,虽然插着电,但是孙哥的电脑下着下着居然……关机了。于是小氯又去找自己的另一位同学借了个同型号充电器。拼好课了属于是。
无可奈何之下,小氯打算去找同学帮忙。反正代码小氯已经写好了,只需要烧到板子里就行。
幸运的是,还真有一位同学愿意帮忙,于是小氯背起两台电脑和实验箱就往教学楼跑。
然后到了之后,小氯想到……为什么不把同学下载好的安装包复制一份拿过来呢?这样总归会比一点点下载强多了。
同学倒是还留着安装包,也有 U 盘,不过不知道为什么,一直显示文件过大。小氯拿出自己全部的社交勇气在走廊里面堵了十几个同学都没借到新的 U 盘。
好好好,那我买一个还不行嘛。小氯去了附近的便利店,斥巨资 40 CNY 买了一块 64 GB 的 U 盘。
结果插上一看……还是显示空间不足?
邪了门了。求助一下 ChatGPT 大神……哦,原来是 U 盘格式的问题,改成 ExFAT 格式就行了。
然后就等着呗。等了半小时(小氯闲着没事在看大物),终于是拷贝过来了。于是小氯告别了同学,准备回去安装。
不过这个安装处处透露着诡异的气息……为什么 7-Zip 说压缩包存在无法修复的错误?
换 Better Zip 试一下。解压了十几分钟之后……好家伙,解压错误。
此时小氯的表情就像是坐完敞篷车的 JFK——乐不起来了。
所谓不在沉默中学坏,就在沉默中变态。无计可施的我直接放弃了配置环境,明天找同学的电脑烧吧。事后证明这是个正确的选择,因为这节课的任务确实很简单,不需要什么练习;而且 FPGA 大部分是断电即失的,很难提前烧好带过去。
第二天糊弄完课,小氯收到了邮来的备用机,赶紧重新下载配环境。这次倒是比较顺利,下了两个小时就下完了(这说明这应该是电脑的问题,而不是校园网或者我的问题),然后安装、试烧录一气呵成。以后就不用担心这些乱七八糟的事情了。
下一节课小氯甚至有时间去嘲笑赶 DDL 的同学们:
![fpga-progamming-is-fun|502](https://img.viento.cc/20250428-fpga-progamming-is-fun.avif "雌小鬼小氯(确信")
## 匿名提问箱?
这是小氯的开发清单上平平无奇的一项。
之前曾经跟风开过一个箱子,如果我记得没错的话,头像还是小氯开始用「小氯」这个昵称开始时的那个,签名很让人费解。不过听玩提问箱比较久的老友说,之前很多提问箱都寄掉了(应该也包括小氯说的这个),很多珍贵的数据都没了。
这事好办,不就是数据不在自己手里嘛,那咱们自托管不就行了。
现在市面上的自托管提问箱不多,但是有。不过,小氯都不太满意。一个主要的原因是没找到兼容 SQLite 的另一方面提问箱无非是一个前端加一个数据库那么Serverless 不是也可以吗?
似乎确实可以。以 Cloudflare Full Stack 为例Workers 做边缘计算Pages 展示前端D1 数据库R2 对象存储KV 缓存Turnstile 验证。Wasm 加的意义似乎不是很大,也有点麻烦,但也可以试试。
所以说,匿名提问箱这种东西到底有什么用呢?或者我们换一个更加 precise 的问题吧,为什么提问箱要是匿名的?
解释起来似乎也不算难:因为这样可以用一种「一视同仁」的方式回答所有的问题。之前写文章的时候小氯[[小氯Chlorine抑或我|提到过]],自我是语境特异化的。这么看的话,自我的区分甚至可以达到单个人这样的亚语境层次。只是可能没那么质变而已。
不过,这本质上是一种「单向匿名」,因为除非每个问题都是私聊性质的,不然最终的回答都还要是公开的,~~所以在公开提问箱里面痛骂自己的导师并不是什么好的选择~~。所以小氯对这种方式到底能否做到「坦诚相待」持相当的怀疑态度,因为这可能只是把「对不同的人的不同的部分真实」,换成了「对所有人统一的部分真实」。
## 酒酿
事情大概是这样的。周四那天(忘记是哪个周四了),小氯考完了寄凉惊悸穴,打算去院里的留学分享会听个热闹。可能是这几天风比较大,小氯感觉脑子有点不清醒。小感冒而已,无伤大雅。
一个小小的惊喜是,主办方给来听的同学准备了一份茶百道。由于来得比较晚,小氯急匆匆地抓了一杯就去找座位开始听了。
安顿下来之后,看一看上面的标签……竹香酒酿?
如果小氯没记错,酒酿应该是米酒发酵的一种半成品,由于淀粉被大量分解为单糖和寡糖,因此很甜。小氯的身体不大好,因此极少接触酒类。不过既然都拿到手了,也没有不喝的道理。
总体来说味道还挺不错的,浓郁的米甜味带着淡淡的酒气。不过喝着喝着,小氯感觉有点发热,脑袋也有点昏昏沉沉的,想睡觉——尽管小氯那天睡得并不少。没有什么飘飘欲仙,也没能让我看到什么光怪陆离或者颠倒淋漓的盛景。只是想睡觉而已。
后来再想买一杯尝一尝,发现已经买不到了。有一点可惜。
## 我还在读中文书吗?
这里说的书,只包括「我自己想读」的书。用来复习考试的指定参考书除外。
这个问题的来源很无厘头。大概就是在无垠的 Indieverse这个词是小氯自己创造的指所有独立性网站——尤其是个人运营的那部分大体可以理解为不一定要实现 Indieweb 标准的 Indieweb闲逛的时候看到了一篇吐槽某本书翻译的文章。小氯大概看了一下文中的例子不得不说确实是挺难绷的。看来我们的中文译者还是要努力啊。
译者……等会,我多久没读过翻译为中文的书了?甚至我多久没读过中文书了?
我仔细想了想自己最近在读的书。《1984》英语原版《麻省理工学院概率论讲义》——哦这个名字是我起的就是指 MIT 那门著名的概率论 OCW 的讲义,当然是英语版;《资本论》第一卷,英语版——小氯看不懂德语,《国家与革命》和《资本积累论》同理。甚至可以把目光投入到自大学开始以来,结论依然成立。唯三的中文书,有两本是小氯喜欢的教材——陈希孺院士的《概率论与数理统计》和菲赫金戈尔茨的《微积分学教程》,另一本是《枪炮,病菌与钢铁》——读到一半我就不想看了。那看看自己的计划书单呢?好像也没几本中文书,无论是本土的中文著作,还是翻译的外语书籍。其中不多的几本,也都是相对靠前的了,比如说《史记》(是的,你没听错,这只元素娘想读《史记》),近一些的像鲁迅先生的几本书——之前看先生的杂文比较多,反而没能好好读读其余的作品。以及陈忠实先生的《白鹿原》。
这好像不是什么 normal 的事情,尤其考虑到小氯依然生活在中国,日常生活完全中文语境主导,同时对于自己的国籍、语言和文化抱有很大认同的情况下。
不喜欢读翻译版本似乎还比较容易辩解。毕竟「原汁原味」的原文不但锻炼语言能力表意方面也更加契合作者的原意——翻译毕竟都是有损转码。举个例子《1984》中「新话」的许多词汇其实是没办法很好地翻译为中文的如 thinkpol 翻译为「思想警察」有失词汇脱水缩合的压缩感,「想警」则过于晦涩,不易理解(当然,中文翻译为外语也一样,甚至可能更费力)。此外,即使不考虑翻译问题,为了适应各地的语言文化、风俗习惯、法律法规等,不同的翻译版本也不可避免地会做一些增删减补,比如说今年(去年?)诺经奖得主的某本知名著作。如果不想其中一些内容被和谐掉,还是读原版好一些。
至于不喜欢读(比较现代的)本土书籍……这事说起来可得小心些,被扣上「崇洋媚外」的大帽子可就不好了。说实话,就小氯的印象来说,似乎中国的现代文学——尤其是 21 世纪以来的文学,找不到一本能被称为经典的著作,一本都没有——当然,小氯本身读这些书不多,认知范围也比较局限,此外可能存在一个「时间错位」的问题,像莫言、余华等前辈的某些(小氯比较喜欢的)书,在我的观念里并不是 21 世纪的书。唯一很熟悉的《三体》,小氯看得也蛮多的,但是还够不上文学经典的槛(「科幻经典」倒没什么问题)。如果让小氯说一本「中国文学经典」,那小氯第一时间想到的几乎都是两百年往上的东西,第二时间呢,大概是 20 世纪的一些(在小氯看来)写得很好的书了。
不过无论如何,小氯以后也不打算过多地涉及什么中文书了。当然,《论语》之类的古典著作和《毛选》之类的近现代经典除外——「崇洋媚外,厚古薄今」,小氯大抵如此。
## 用 AI 写 Mod
> [!WARNING]
> 由于下面的某些内容涉及一些可能令人感到不适的意识形态,所以我不会提供具体的文字和图像资料。
作为交叉学科缝合怪 + 赛博原始魔怔人(原始指总是落后于时代风潮,魔怔指抓到一个话题就不断玩弄),小氯对于架空历史非常热衷。而作为著名~~战犯模拟器~~历史战略游戏,《钢铁雄心 IV》的各种 Mod 在小氯的日常阅读材料中占有很大的比例,尤其是 TNO、KR / KX 和 RF 这样公认优秀的架空历史 Mod而小氯也试过自己写一些 Mod 的设定,类似于平时小氯喜欢做的写 AltHis Wiki 的感觉,但是由于有国策、参数面板之类的游戏元素,写起来似乎也更加规正和有趣味。不过,据我真的在写 Mod 的~~战犯~~玩家朋友说P 社Paradox Interactive的 Mod 标准极其抽象。于是小氯止步于了理论构想Markdown 不比 YAML 和 JSON 舒服嘛。
当然,这种申鹤震怒的工作,用天朝的 AI 显然是不行的,因此需要从资本主义世界批判性使用一些 AI。于是小氯随手选择了限制没那么多的 ChatGPT。倒是没像 [Zeee](https://www.velasx.com/am/6381) 那样用 GPT-4.5(没付钱),平常的 GPT-4o 足够了。
然后我发现ChatGPT 在这方面的能力比我想象中的还要强。例如说它写的世界新闻,虽然说不太符合 HOI4 的新闻格式(好吧好吧这是我的 prompt 的问题啦),但是内容相当丰富,比如说各个国家的反应之类的。
而且,由于 OpenAI 的奇妙设计,我甚至可以在说完一个国家的基础设定之后,让它帮我画一面国旗,总体效果相当惊艳。比如说,如果我试图做一个美国的 Business Plot 线,它画出来的国旗一眼就能看出来美式牢保和棕线(法家思想)的风格;而如果要做一个「工农兵联合公社」,旗子大概就是……嗯,可以参考 TNO 图哈切夫斯基的旗子,可谓武德爆炸。
所以我们在使用 AI 做 Mod 的时候AI 到底是在做什么呢?
## Meme Set
嗯,小氯也是好起来了,都有表情包了(骄傲)。
事情是这样的:某个中午,小氯正在报仇雪恨般地摸鱼,闲着没事薅 GPT 和 Gemini 的算力优化头像(自设)。结果自然还是没有结果。咱就是说……我都不指望优化什么细腻的动作了,能不能把那个灰色的 MacBook Pro一定是 Pro而且估计是 Intel 时期的Air 不会那么笨重的)换成小氯在用的星光色 MacBook Air 啊?或者星光色难画,咱们换一个银色的也行啊……
郁闷之下小氯开始去互联网上随机游走实践 PageRank 算法,结果跳到了阮一峰老师的[这期周报](https://www.ruanyifeng.com/blog/2025/03/weekly-issue-343.html),里面有提到用 GPT-4o 画表情包。对于 GPT-4o 的绘图能力,小氯还是给予高度认可的。那么既然如此,不妨试着玩一下。
把我的头像扔进去Prompt 就写:
> 这是一个可爱的氯元素拟人形象。请把这个角色画成 Q 版,并用 12 个动作和文字做成表情包。
稍等一会就可以看到结果。结果……嗯?似乎还挺拟人的。
多画几张玩玩。下面展示一下比较好的一张吧,虽然说不是 12 个。基本上是原图,只是用 `pillow` 库扩充了下背景(后面会讲)。
![chlorinechan-meme1-original|352](https://img.viento.cc/20250428-chlorinechan-meme1-original.avif)
不得不说……好像……还挺可爱的?
~~所以为什么第一个表情给我画了个武魂真身~~
那下面想办法把图片切成单独的表情包吧。由于 ChatGPT 并没有画严格的九宫格,所以我们需要一张张手动裁剪。幸福的烦恼。
在 [iLoveIMG](https://www.iloveimg.com/) 上比画了两下,感觉横 330 \* 纵 360 的大小比较合适。不过由于原本的表情包贴着边缘太近了,所以我们需要简单地来一下扩充画布。至于工具,当然是程序员的 Photoshop——Pillow。
```python
from PIL import Image
# 打开原图
img = Image.open("input.jpg")
top = 50
bottom = 100
left = 50
right = 50
new_width = img.width + left + right
new_height = img.height + top + bottom
color = (255, 255, 247)
new_img = Image.new(img.mode, (new_width, new_height), color)
new_img.paste(img, (left, top))
new_img.save("output.jpg")
```
完事之后一张张切就行了。或者你写个脚本切也没问题。
切完之后我们就获得了一堆小图片。用 `cavif` 转一下格式就算完事了。由于人物的衣服和背景色比较相近,去背景很麻烦,干脆留着了。
现在这组表情已经加入园子的表情列表(不过因为 JSDMirror 的缓存,可能会有一定的延迟),欢迎使用 OuO
~~干得不错 CloseAI多整点这样的好东西。~~
[^1]: 种田大致指在战略游戏,例如《钢铁雄心 IV》和《维多利亚 III》中着力发展经济、改善财政等的行为。在「种田」期间玩家一般较少或不发动战争。

View file

@ -0,0 +1,506 @@
---
title: 岁时录(十六)
date: 2025-02-27
slug: weekly-16
featuredImage: https://img.viento.cc/cover/weekly-16-cover.webp
categories:
- 沉思录
- 人间世
tags:
- 博客
- 日常
- 域名
- 去中心化
- Marxism
series: 岁时录
summary: 岁时录其十六
description: 本文是作者周报的第十六期记录了作者近期在技术、教学和开源方面的经历与思考。作者首先分享了担任助教的体验并反思了教学方法。随后为了提升博客在禁用JavaScript时的体验作者对博客进行了多项技术改造如利用Checkbox Hack和Hugo内置功能优化特定模块。此外作者还购买了新域名`foss.moe`并借此探讨了开源文化与萌文化的交融。文章重点讨论了自由前端替代前端的部署与使用作者介绍了多个自建的自由前端项目并分享了相关配置技巧和对特定项目如PixivFE的优化。更进一步作者深入剖析了自由前端背后的深层含义指出了其存在的矛盾性——既是对抗互联网巨头监控的工具又是中心化现实的体现。文章批判了中心化平台的垄断分析了去中心化平台如Fediverse面临的困境强调了“生态”的重要性以及技术社区与大众之间的认知差距。最后作者呼吁技术社区联合起来建立更强大的基础设施积极与大众沟通并做出必要的妥协以推动非中心化互联网的实现。
wikilinks: true
---
各位老友,晚上好。这里是 Chlorine。
您正在阅读园子的周报——《岁时录》的第十六篇,日期范围为 2025 年 2 月 24 日至 2025 年 3 月 2 日。这是园子的不完全定期刊物,会记录一些小氯和园子在这段时间的经历,以及或有或无的思考。这是从主世界的时间中引出的一条细小的支流,也是这个网络空间中的小岛的编年史。
祝食用愉快。
## 上小课
这周小氯做了件有趣的事:上小课。
别误会,不是上小课,是上小课。
没错,小氯也是当上牢助教了(骄傲)。
搞笑的是,由于小氯上学期刚刚上完这门课就报名当助教了,因此我的学生们很多都是我的同届甚至同班的同学,还有不少的学长学姐,所以处理和学生的关系的时候,也是要稍微费一点脑子的。所幸我们的总原则很好实践:既然站在助教这个位置上,那么代表的就是教学团队。课下我们怎么亲切都可以,但是一旦涉及任何教学相关的任务,唯一的原则就是公事公办。
回来。其实讲小课的时候小氯也是有点紧张的,因为的确是第一次做这种事,而且准备得也不算充分。而且,同学们也大都不怎么喜欢发言,所以按照常规思路询问「同学们如何如何」时经常冷场。后续还得想想怎么改进好一些。毕竟虽然说按照小氯的打算,同学们应该是课堂的主体,由他们来决定讨论的话题、材料、节奏、评估和最终成果(~~省省吧你就是不想每次都自己备课~~),但是小氯还是要负不少的责任的。毕竟在其位者谋其政,既然选择了这个位置,你就不能想着混一学期。
> 看来大家似乎还没有比较希望讨论的问题啊。没关系的,大家可以随着学习的过程慢慢想。而且剧透一下,就算是诸位现在不去想,这学期的某节小课,可是一定要仔仔细细想一次的哦。放心,亲爱的同学们,你们逃不过去的。——小氯
PS写完这部分后小氯突发奇想地把这段话喂给了 DeepSeek。让我们听听现国脚 DeepSeek 对此的评价。一向并不直性子的 DeepSeek 大将军发言道:
> 这种语言风格精准捕捉了 Z 世代在权威角色中的身份焦虑,用自我解构消解制度性压力,通过话语狂欢重塑教育现场的人际关系。网络化表达与教育场域规训形成微妙对冲,构建出新媒体时代特有的青年教师叙事范式。
分析得很好,下次不要分析了。
## Minimize Our JS
事情是这样的:小氯最近沉迷于 uBlock Origin致力于把每个网站的权限收到最紧由此不惜把许多老友华丽的博客杀得七零八落。
根据己所不欲勿施于人的原则,小氯似乎也应该保证园子在使用 uBlock Origin 的条件下有良好的体验。而众所周知uBlock Origin 最严格的策略,大概就是禁止任何脚本加载了(当然,你也可以禁止任何资源加载,享受纯正的 Web 0.0 体验)。
那么园子能做到 Zero JS 吗?
理论上当然可以,有 [ATP](https://atpx.com) 老友的博客珠玉在前,我们可以肯定,即使不使用任何 JS也可以做出一个优雅的 Hugo 主题。
那么让我们来狠狠欺负~~小氯吧~~小氯的博客主题吧~
### 总原则
总原则:不能不用 JS 的地方,就需要用 JS~~废话~~)。
或者是说,任何需要实时性的地方,我们都需要 JS因为单凭 HTML 和 CSS 是不可能实现真正意义的动态效果的。例如时间计算,这群呆呆的静态文件哪能知道当前的时间是多少啊。而并没有真正的实时性的地方,我们就可以使用一些 trick 来替代掉 JS。
### 我用了哪些 JS
知己知彼,百战不殆。让我们先看一下,园子目前用了哪些 JS。
在 VSCode 中使用 `<script` 作为搜索项,发现了如下脚本:
- AI 摘要时,点击按钮展开 / 收起摘要
- 加载动画
- 桌面端阅读进度条 / 移动端进度球
- 主题切换
- 代码一键复制
- 图片灯箱
- 公告
- 运行时间
- Twikoo外部
- Algolia Docsearch外部
- KaTeX外部
很好,我们一个一个来。
### AI 摘要
园子原本 AI 摘要的逻辑大概是通过控制内容区域的 `height` 和 `opacity` 实现动画,同时在窗口改变时响应式重计算高度。其实我们要的效果,就是一个点击展开或者收起而已。这可以看作是一个二值变元,或者你叫它布尔值也行。
Binary……是吧
首先科普一下小氯刚刚学到的小技巧Checkbox Hack。简单说就是在 HTML 里面藏一个不可见的 `checkbox`,通过其被选中与否来控制样式的变化。反正你是二值的,我也是二值的,那么正好组个队。
所以我们加一个不可见的 checkbox
```html
<input type="checkbox" id="ai-summary__checkbox" class="ai-summary__checkbox absolute opacity-0">
```
初始时的内容默认隐藏:
```css
.ai-summary__content {
display: grid;
grid-template-rows: 0fr;
opacity: 0;
}
```
然后我们通过 CSS 类监听其状态变化:
```css
#ai-summary__checkbox:checked~label {
.ai-summary__content {
grid-template-rows: 1fr;
opacity: 1;
}
.ai-summary__icon {
transform: rotate(180deg);
}
}
```
大功告成。~~甚至比原本的 JS 版本效果还好~~
### KaTeX
小氯老早就看这个客户端 KaTeX 不顺眼了。既然咱们的代码高亮可以用 Shiki 做服务端接管,那 KaTeX 为什么不行呢?
于是小氯开始尝试各种 rehype / remark LaTeX 的手段,结果不能说是硕果累累吧,只能说是一无所获。还试过直接使用 KaTeX CLI 加上 JavaScript结果自然是又重又不好用。
然后,小氯在绝望地进行搜索时,偶然看到了[这篇文章](https://tomdvies.com/posts/buildingwebsite/)。这位作者主张的就是 NoJS然后小氯就在 KaTeX 一节看到了这个东西:
```html
{{ if eq .Type "block" }}
{{ $opts := dict "displayMode" true }}
{{ transform.ToMath .Inner $opts }}
{{ else if eq .Type "inline"}}
{{ transform.ToMath .Inner }}
{{ end }}
```
嗯哼?
难道伟大的 Hugo 已经支持原生的 KaTeX 编译了吗?去看看[文档](https://gohugo.io/render-hooks/passthrough/),果然如此。
好的,我是小丑。
那好吧:
```html
{{- $opts := dict
"output" "htmlAndMathml"
"displayMode" (eq .Type "block")
"throwOnError" false
"errorColor" "#cc0000"
"trust" true
-}}
{{- with try (transform.ToMath .Inner $opts) -}}
{{- with .Err -}}
{{ errorf "KaTeX 渲染错误: %s (位置: %s)" . $.Position }}
{{- else -}}
{{- .Value -}}
{{- $.Page.Store.Set "hasMath" true -}}
{{- end -}}
{{- end -}}
```
这样编译出的数学公式配合上 KaTeX 的 CSS显示效果非常出色。
### 运行时间
秒级的运行时间是不可能离开 JS 实现的,但是天级确实可以。没错,每天一次自动构建。
不过这个更改还在测试阶段,毕竟这属于是有损替换了。
### 不准备替代掉的
小氯要做的是 Minimize JS而不是 Eliminate JS。如果一个功能使用无 JS 实现会严重损害用户体验的话,小氯宁可不做更改。
#### 阅读进度
几乎没有离开 JS 实现的可能。
#### Click And Copy
小氯去查了一下,所有的方案都需要和剪贴板 API 交互,所以都得使用 JS。退而求其次的方法大概是使用 `input` 标签和 `user-select: all`,使得用户能够使用 Ctrl / Cmd + C 复制,但是这样体验不是很好。
#### 主题切换
小氯是没见过能不使用 JS 询问用户偏好的主题的。大概可行的方法是完全去掉主题切换,只通过 `prefers-color-scheme` 决定主题。以及,小氯在 You Don't Need JS 找到了一个 Checkbox Hack 的实现,不过由于小氯的变量有点多,实现起来并不容易。
#### 加载动画
小氯的加载动画灵感来自 Innei 老师的动画,应该是整个主题里面 JS 最复杂的部分了。如果去掉的话,可能需要把原本的动效做成 GIF或者干脆去掉这个功能。
#### 灯箱
图片的灯箱一般依赖于灯箱库,如 Fancybox。不过小氯不喜欢第三方依赖因此自己写了个小小的灯箱还是挺丝滑的。
如果要实现无 JS 灯箱,大概需要使用模态框和 `:click` 以及 `:target` 伪类吧。不过键盘导航肯定是别想了。
#### Algolia Docsearch
Algolia Docsearch 当然不可能无 JS 运行。不过我们还可以有一个替代方法,直接依赖搜索引擎的 `site:` 功能,效果很多时候还不错,只是交互性差一些而已。
#### Twikoo 评论
严格来说,任何一般意义上的「评论系统」,都不可能不使用 JavaScript——这是一个需要即时反馈的交互。Staticman 可能算是一个例外,其似乎是通过 `form` 元素提交 HTTP POST 请求,然后触发网站重构建实现的。可以是可以,不过疑似有点太极端了。
小氯能想到的最好的方法,就是 Fediverse或 Bluesky——把文章同时发在 Fedi 上,并在网站里面整合一个可以跳转到相关帖子的按钮。缺点就是依赖外部服务,只是把自己的网站变成不需要 JS实际上对于真正的无 JS 用户还是不友好。并且需要一个 Fedi 账户。
### 冷知识
园子没有使用任何 cookie (/ω\)
## 又一个新域名
~~小氯酱的第不知道多少个域名~~
这次是突发奇想的,只是感觉这个域名好有趣,而且没有被占用,也没有溢价(这确实很离奇),所以就买下了。
![foss-moe-domain|709](https://img.viento.cc/20250227-foss-moe-domain.avif)
是的,`foss.moe`
要说直接灵感,大抵是来自 `tuna.moe`。这是清华大学学生网络与开源软件协会TUNA的官方域名一个提供各种镜像站和 DNS 的神秘组织。
小氯不太清楚 TUNA 为什么选用了这个域名。可能是 TUNA is MOE 的意思吧。
那么 `foss.moe` 似乎就是 FOSS is MOE。
一个项目可能很萌吗?难说。按理说张牙舞爪的代码没什么「萌」可言,但是项目本身的设计却可以带有可爱的色彩。例如著名的 Clash Nyapasu抱歉这里不能放链接。或者是这个项目本身的用途可以有「萌」的色彩例如 nazurin
{{< github repo="y-young/nazurin" >}}
当然,在两不沾的情况下,我们也可以通过各种变换和解读来创造可爱感,例如,把编程语言、代码工具和平台娘化。或者再脱离一层,在项目本身和萌压根不沾边的情况下,通过人的行动「强行」加入这样的元素,例如边写代码边看番。虽然说这种行为大抵除了给自己创造美好回忆~~以及降低代码质量~~之外一般没什么其他影响,但是我们试想一下,如果某位二次元开发大佬,看着某部番写了一个碾压 Ubuntu 的 Linux Distro那鉴于开发社区出色的八卦能力难说这个发行版会不会带上这部番乃至更广义的萌文化的印记。
这大概可以看作萌文化和开源文化在某些层面的融合吧。尽管理论上说任何文化都可以和开源开发这一光荣而充满挑战的人类智慧活动融合在一起,但是依小氯的经验(当然只是经验),萌文化似乎显得尤其容易。
为什么呢?
我们可以拿另一种常常和开源文化结合在一起的东西类比一下:咖啡。这种味道奇特的提神饮料几乎伴随了开源的整个历史,从 Java 到 coffee-2-code-converter 再到 Buy Me A Coffee。理由也不难给出程序员们在熬夜写代码时大抵是需要一些东西帮助自己提神的。于是AssemblyBC再到 C++、Java、JavaScript、Python 和 Go、Rust几乎所有的语言都在字里行间沾上了些这样的熨帖而微苦的气息。
对于许多人来说,萌文化似乎就是他们精神上的咖啡。
……很明显,技术和 ACGN 两种爱好完全不矛盾,二者甚至经常共存,「技术宅」这个独特的群体就是最好的例子。其原因比较耐人寻味,大概是时代背景的作用、传播领域的相似性、主题本身的契合性和心理需求的分层满足等,小氯目前说不大清楚。
虽说小氯一方面没有技术,另一方面连泛二次元都只能说勉强算,但是这并不耽误小氯对着好看的插画发出「好可爱」的惊叹并将其拿来当作 VSCodium 的背景板。如果将来能开开心心地写着自己喜欢的代码,看着自己喜欢的作品,这种生活似乎还蛮幸福的。
从某种意义上说,这是一种(好几层的)对于理想世界的向往,尽管这是个小世界。
未来,也难说,会不会有 cosplay 成各种二次元人物的程序员聚在一起打 Hackathon开 FOSDEM甚至用自己手中的代码将这不公正的互联网权力体系敲开一个无法填补的大洞让新世纪的阳光照进网络的每个角落在互联网的历史上留下一场「Moe Revolution」。
……回到域名本身吧。
那这个域名到底可以用来做什么呢?
说实话,小氯也没太弄清。我在买这个域名的时候,考虑的也并不是用它做什么,而是单纯地觉得,看起来还蛮不错的。如同在老城区的旧货店中,从有些拮据的,但是依然保持着某种风度的慈眉善目的老先生手中,买下的一件小小的玻璃镇纸一般。
目前的打算大概是等到 Forgejo 联邦功能实装以后,拿来托管一个自己的公开 Forgejo 实例,把自己的一些个人项目迁移到上面。感觉还蛮适合的,尽管其更适合的用途似乎是收集或者托管一堆很萌的 FOSS。
## 若干自由前端
自由前端,有时候也叫「替代前端」,[^1]大致意思是第三方开发者创建的非官方界面,用来访问现有网站或服务的内容。动机大体包括原本的前端过于难用,或者是收集过多的用户数据,云云。
关于目前已知的自由前端可以去 [Libredirect](https://libredirect.github.io/) 看一看,这里小氯列一下几个自己在部署的吧。
| 名称 | 地址 | 后端 | 语言 | 需要账号 Cookie | Zero JS |
| ----------------- | --------------------------------------------------------- | -------------- | ---------- | ----------- | ------- |
| Redlib | [GitHub](https://github.com/redlib-org/redlib) | Reddit | Rust | 否 | 是 |
| GotHub | [Codeberg](https://codeberg.org/gothub/gothub) | GitHub | Go | 否 | 是 |
| Neuters | [GitHub](https://github.com/HookedBehemoth/neuters) | Reuters | Rust | 否 | 是 |
| Wikiless | 已删库 | Wikipedia | JavaScript | 否 | 不明 |
| PixivFE | [Codeberg](https://codeberg.org/PixivFE/PixivFE) | Pixiv | Go | 理论上是 | 几乎 |
| AnonymousOverflow | [GitHub](https://github.com/httpjamesm/AnonymousOverflow) | Stack Overflow | Go | 否 | 是 |
即使是其中最占内存的 Wikiless也不过不到 70 MB 的内存占用。而且由于这些项目在技术上大致就是个 proxy因此需要的系统权限极少。即使是拿着 `user: nobody``read_only: true``security_opt: no-new-privileges:true` 或者 `cap_drop: ALL` ~~来玩捆绑 play~~ 也可以照常运行,真正的小而美。
由于这些项目大部分时候只需要 `docker compose up -d` 一把梭,小氯就不挨个讲怎么部署了。
### 小氯没有自行部署的项目
| 名称 | 地址 | 后端 | 语言 | 需要账号 Cookie | Zero JS |
| --------------- | -------------------------------------------------- | --------------- | ------- | ----------- | ------- |
| Invidious | [GitHub](https://github.com/iv-org/invidious) | YouTube | Crystal | 理论上否 | 是 |
| Piped | [GitHub](https://github.com/TeamPiped/Piped) | YouTube | Vue | 理论上否 | 否 |
| Nitter | [GitHub](https://github.com/zedeus/nitter) | Twitter / X | Nim | 是 | 是 |
| Wayback Classic | [GitHub](https://github.com/ticky/wayback-classic) | Wayback Machine | Ruby | 否 | 是 |
Invidious 这个家伙很有名,常常被和 Nitter 一起拿出来作为自由前端的代表。不过如官方所说这是个「heavy, bandwidth intensive and technically a proxy」的服务。一个个人实例大概需要 20 GB 空间和 512 MB 的内存,虽说小氯也不是拿不出来,但是对于一个看 YouTube 不多的用户来说,性价比不高。
Piped 呢,用的是 Vue不过似乎没办法部署在静态托管平台上因此跳过。
Nitter 不用多介绍了,神级项目。不过随着 X 的 API 收得越来越紧Nitter 活得也愈发艰难了。现在我们需要一个真实账号的 cookie之前好像可以创建大量的临时账号来解决问题小氯没有也不想注册而且看 X 极少,跳过。
Wayback Classic……这玩意真的能且有必要自托管吗
### 浏览器扩展推荐
这里主要用于把平时浏览的网址自动重定向到我们的自由前端。小氯找到了两个可用的扩展:
- [Libredirect](https://libredirect.github.io/):专门做隐私化重定向,可选项很多,支持自动选择实例。
- [Redirector](https://einaregilsson.com/redirector/):最强大,可定制性最高,可以创建各种类型的重定向,不过需要一点折腾。
小氯用的是后一个。写各种规则简直太舒服了,还可以把 jsDelivr 转到国内镜像。
### Wikiless 的部署
Wikiless 原本托管在紫柚的 Codeberg 上,但是后来改为私有库了(据说 Codeberg 是在维基官方的要求下这样做的,理由是违反了共享许可证,具体情况小氯不清楚)。小氯这里用的是这个维护中的库:
{{< github repo="Metastem/wikiless" >}}
小氯大概审查了一下代码,没有发现什么问题,应该是可以用的(免责声明:只是大概审查了一下!)。
小氯在想,能不能剥离掉 Redis 的部分,加一个外部图片代理,把项目变成可以在 Cloudflare 部署的呢?
等小氯试试看吧。
小氯温馨提示Wikiless 的默认语言只有 zh没有 zh-CN。你可以在后面加 `?variant=zh-CN` 参数来获取简中网页。
Redirector 可以创建两个规则:
```txt
# 中文维基 Wildcard
https://zh.wikipedia.org/*/*
-> https://yourdomain.tld/wiki/$2?variant=zh-CN
# 其他语言 正则
^https?://(?!zh\.)([a-z0-9-]+)\.wikipedia\.org/(.*)$
-> https://yourdomain.tld/$2?lang=$1
```
### Wikiless 和 Wikimore
~~这俩项目听名字就八字不合~~
[Wikimore](https://git.private.coffee/PrivateCoffee/wikimore) 来自著名的 PrivateCoffee也是一个 Wikipedia 的替代前端,维护得很勤快。界面上和 Wikipedia、Wikiless 差别比较大,不过也挺好看的。
缺点大概是对 Docker 的支持不太行Dockerfile 是社区维护的,小氯部署的时候甚至根本跑不起来,提了个 issue 官方才修好),而且资源占用很高,上面小氯部署的所有项目加在一起也没它高。很符合我对 Python 的刻板印象(~~SearXNG、Domain Admin孩子们这并不好笑~~)。果然,人心的成见是一座大山,而泰山不让土壤,故能成其大。
### LiteXiv 与 PixivFE
其实在尝试 PixivFE 之前,小氯还试了另外一个项目,就是 LiteXiv。
{{< codeberg repo="Peaksol/LiteXiv" >}}
这个项目用的是世界上最好的语言突然激动PHP。整体而言属于功能简单但是够用同时界面比较中规中矩的类型。相比 PixivFE 的优点……似乎没什么很大的优点,主要就是明确告诉你大部分的功能可以无 cookie 运行,哦,以及支持简中。
而资源占用嘛,也不高,不过相比于 PixivFE 还是高了亿些的(大概是 PixivFE 的四倍)。很符合我对 PHP 的刻板印象。果然,人心的成见是一座大山,而泰山不让土壤,故能成其大(~~梅开二度~~)。
而 LiteXiv 也非常坦率地描述 PixivFE
> A modern-looking frontend that provides many more features than LiteXiv.
不过,宝你有没有想到,愿意使用和自托管替代前端的朋友们主要考虑的也不是 modern-looking 呢?
### PixivFE 的无 cookie 运行
上面说了LiteXiv 相对 PixivFE 的最大优点之一就是明确告诉你大部分的功能可以无 cookie 运行,所以当时小氯还是很纠结了一番的。
……所以,你为什么不行?!
等会,真不行吗?
无论是 Pixiv 不需要登录就能看插画的政策(还算是有点良心),还是 LiteXiv 珠玉在前,似乎都说明,除了 Discovery 等需要登录的功能之外,这个 cookie 并不是必要的。
我试试看。
小氯研究了一下,你不填 cookie或者填一个空的值是不行的容器会直接报错但乱填一个值是没问题的不需要登录的功能完全可以用。只是首页会报 400看起来有点难受而已。大体规律就是需要登录的功能需要登录不需要登录的功能就不需要登录~~废话连篇~~)。好在我平时对 Pixiv 的使用基本限于看到一个 artwork 编号然后点进去看一眼画,这样对我也足够了。
### PixivFE 的 Deno 图片代理
PixivFE 的一个关键部件是图片代理。不同于 LiteXiv 只能使用内建代理PixivFE 允许用户自行配置图片代理,还给出了一个通过带善人 Cloudflare 的 Cloudflare Workers 的方法。这不可谓不妙啊,毕竟带善人那么多 IP 呢。
虽然说 Cloudflare 确实有规定:
> 不得使用服务提供虚拟专用网络或其他类似的代理服务。
不过这说的应该主要是研究信息安全,像这样代理一点图片应该是无所谓的。
……等会,单文件的 Cloudflare Workers
你现在是单文件的 JavaScript……对吧
{{< github repo="chlorine3545/pximg-proxy-deno" >}}
只要是单文件的 Cloudflare Workers小氯都要做一个 Deno 的版本(骄傲)。
至于技术细节并不难,就是写一个 `handleRequest` 函数,转写下主机名,加一个 Referer 和 UA然后用 `Deno.serve` 启动就好了。其实这个模板可以套到各种需要请求静态资源的地方,比如 Wikimedia、jsDelivr等等。只要有一个边缘计算平台我们就可以为所欲为骄傲
而 Deno 的速度肯定也没得说,可能是冷门服务的原因,至少比 Cloudflare Workers 快。缺点大概就是免费用量比 Cloudflare 少多了,好在也够用。
### 一点小小的开源贡献
接着上面 PixivFE 的事情说。
在做完 Deno 版本的图片代理之后,小氯的心思开始活络起来:既然做了这个东西,为什么不想个办法让更多有需求的人都用上呢?
于是小氯向官方提了一个 [issue](https://codeberg.org/PixivFE/PixivFE/issues/146) ,得到了还算是积极的回复。
> > What are your thoughts on adding a Deno deployment option?
>
> You'll have to check out the limitations of Deno Playground. Cloudflare Workers allows a proxy server to process up to [100000 requests per day](https://developers.cloudflare.com/workers/platform/limits/#worker-limits) without any other limitations, which is good enough for an image proxy server. (This is why we don't recommend Vercel to host proxy servers since we killed one before)
>
> > Where/how should I submit a PR to contribute this code?
>
> This belongs to the ["Hosting an image proxy server"](https://pixivfe-docs.pages.dev/hosting/image-proxy-server/) documentation page. You can fork the repository, add your section in [this file](https://codeberg.org/PixivFE/PixivFE/src/branch/v2/doc/hosting/image-proxy-server.md), then [create a PR](https://codeberg.org/PixivFE/PixivFE/pulls) from your fork. Or, if you want, I can do that for you :)
如上文所说Deno 的限制确实比 Cloudflare Workers 紧很多。但是多一个选择,总归不是坏事,只要把限制明明白白地写好就可以了。
于是小氯花了一点时间写了相关的文档然后手忙脚乱地合并了主分支的更改没办法PixivFE 的迭代实在是太快了),最后提了一个 PR。然后就被顺利合并了。所以大家现在看到的文档的[这部分](https://pixivfe-docs.pages.dev/hosting/image-proxy-server/#deno),就是小氯的手笔(铸币大头)(骄傲)。
然后第二天小氯又发现PixivFE 的文档似乎没有做 i18n注意不是 PixivFE 没有做 i18n
看看自己将近 700 分的六级和 7.5 的雅思,小氯忍不住了。
当然,由于对 Material for MkDocs 的国际化不太了解(事后证明,这简直是个噩梦,尤其是导航栏的国际化),小氯选择了先做一个 `README.md` 的中文翻译,这还是比较容易的。
然后也被接受了。所以如果您的 Codeberg 的首选语言是中文,您默认看到的 readme 也是小氯的手笔(铸币大头)(骄傲)。
(话说 Codeberg 的这个功能真的蛮不错的。GitHub 就不行——当然这估计是因为 GitHub 只有英文界面。)
然后小氯问起了对整个文档国际化的问题,不过主理人表示,希望等项目稳定一些之后再考虑这个问题。这也是很合理的,毕竟说实话,小氯在发现自己提完 `README.zh-CN.md` 的 PR 时,`README.md` 已经改了许多地方时,也是挺头疼的。
对于小氯酱这条杂鱼来说,目前对于开源社区最现实的贡献方式大概就是做各种翻译了。可惜由于小氯讲话越来越像入机了,因此已经不能直接把文档口译成地道的中文了 qaq
### 关于自由前端的碎碎念
> [!WARNING]
> 下面的部分极端杂乱和情感化,且可能不具备严谨的逻辑结构。这只能代表此时写文章的小氯的当下的混乱思绪的一部分。
自由前端其实是个很矛盾的东西。一方面,它们确实是蛮自由的,可以帮助我们在浏览大量内容的同时尽可能地逃过无处不在的 BIG EXECUTIVE 的监控;另一方面,**它们的存在,就是对自由的讽刺**。我们总爱给自由前端贴「隐私友好」「零追踪」的赎罪券,却忘了这些标签本身就是对互联网原罪的变相承认。就像中世纪教会贩卖赎罪券时宣称「购买即得救」,我们也在贩卖「自建即自由」的幻觉。说明白点,这意味着一个很冰冷的事实:互联网依然是巨头们的天下,所有的用户——甚至不用加几乎,根本无法离开它们的领域而存在。这像极了 [FxZhihu](https://github.com/frostming/fxzhihu) 项目因为破乎收紧 API 而宣告失效时,小氯除了在 Bluesky 上气急败坏地来一句「Shame on you Zhihu」之外什么也做不了就连像 Linus 那样痛痛快快地向自己所愤恨者来一个国际友好手势都受制于自己的家教而无法张口。
是呀,小氯,你这个家伙,你什么也保护不了。你修不好项目的 API你不能让知乎放开对未登录用户的限制你甚至连报复都做不到。你不会想着用自己那几台破 VPS 去把整个知乎的网络干趴下吧?你只能在忍耐的同时发几句牢骚,毕竟,知乎不在乎你这个刺头用户,但是你却离不开知乎上许许多多的好文章。
「内容就在那里,但是它们属于我们。你爱看不看。」
但是这,似乎也并不是小氯技术力低下的锅。想我政府效率部总负责人、保国公、一字并肩王~~马保国~~接管 Twitter对各种开源项目大杀四方不过就是分了那么一点点的力道从 Nitter 到 Twitter Monitor 到 RSSHub 的各大开源项目都被打至跪地。开源社区的各方大佬们殚精竭虑,也只找到了大量注册临时账号来绕过限制这一种不是方法的方法——哦,现在好像也不能用了。
最好玩的是Twitter Monitor 的开发大佬表示不愿意再浪费时间的帖子,发在 Twitter 上Gothub 的前任 `1337git`,源代码托管在 GitHub 上;每天对着 VX 的开发团队祖安输出的群友们,活跃在 VX 上。
太有趣了,真是太有趣了。既要对着中心化巨头的 API 接口点头哈腰,又要在它们的审查铁幕下偷偷绣红旗;一边用着 GitHub Copilot 的免费版本给自己的信用卡还账,一边在社区里抱怨着它拿着用户代码训练模型。既要又要,真好玩啊。
唯物史观早就说过,生产关系不革命,光在浏览器里搞 proxy 算哪门子进步?当中心化平台垄断着数据石油和算力核电站,我们这些「自由前端」不过一群赛博堂吉诃德,骑着树莓派对着 AWS 风车挥剑。可悲的是,连自诩的革命武器,都要依赖巨头施舍的 API 接口活着。哪天对方改个响应头,整个生态就得通宵改代码。
这当然并非我们所愿,但这是我们的悲剧。
这时候,熟谙此道的诸位估计也要大声疾呼了:**非中心化平台何在**小氯没经历过那个时代但是据史料记载FediverseBlueskyMatrixNostr出来的时候都是光芒万丈的被寄予厚望的甚至是被吹捧和神化的大有「太好了是新的非中心化社交平台我们有救了」的味道。似乎过不了多久联邦化和去中心化平台就可以占领整个 SNS 甚至互联网的高地。
至于现实情况嘛大家也清楚。被绮丽的幻想蒙蔽双眼的人们当然没能在圣诞节前回家。Mastodon 实例间的信息同步延迟足够让一只树懒写完毕设;某个联邦节点因「包含敏感内容」被拔线时,整个网络的「去中心化」立刻暴露为分布式单点故障的皇帝新衣。普及性嘛:您随便在身边找一个不那么懂计算机的人问一句,能知道 Fediverse 是啥的人估计不会比能默写薛定谔方程的人多;至于某个被老开源正天平旗的开发者们所不屑的 ActivityPub 兼容平台一个多月的时间发展了一亿用户(大概是余下的整个 Fediverse 的三到四倍)……嗯,小氯不评价。小氯只是个可爱的元素娘,不懂那些弯弯绕绕。
更好玩的还在后面:整个联邦的服务器,一半在谷歌云,另一半在 Hetzner哦对了好像还有挺多用着 Cloudflare 的 CDN。这哪是「用魔法打败魔法」分明是「用魔法给魔法交保护费」。当年巴黎公社至少敢烧掉梯也尔的别墅今天的我们却连自建 DNS 都要偷偷用大厂的 Anycast 网络当跳板。倒不是说我们不能沾一点「不纯洁的算力」,但就这个现状,已经足够让葛天氏之民心梗十次了。
**所以,为什么呢**
最显而易见的,自然是资源。牢软、牢谷随手就能烧掉几十亿美元,而我们连租 VPS 的每月 5 USD 都得含泪舍弃掉几顿外带食品。怎么比?没那个能力知道吗(范大将军音)?这都不是蚍蜉撼树了,是草履虫大战克苏鲁。
但是小氯觉得,最大的问题其实并不在这里。朝鲜战争时,中国的经济和军事实力可连美国的零头都赶不上。
……小氯在写《[[HelloForgejo]]》的时候,清扬老友曾经评论说:
> 但是我认为 github 重在社区,而不是他本身的功能
这话说得太对了。论功能Forgejo 根本不比 GitHub 差多少。GitHub 能够把目前的 Gitea 和 Forgejo 按在地上锤,可不完全是因为牢软的钱包厚度,而是其 issue 模板、Actions 流水线、Pages 托管、Projects 看板、代码搜索构成的协作生态和庞大的开发者群体以及用户构成的社区规模,早已形成技术领域的「拜占庭式行会体系」。
**是了,生态**。
你有心从 VX 迁移到 Matrix却发现你的亲朋好友和同事老板连 Matrix 是什么都不知道;你希望把项目搬到 Forgejo却发现在 GitHub 用了几年的工作流早就成了九层之台起于累土。每个划时代平台的崛起,本质上都是对资源集中度与用户协作成本的暴力优化。既没有资源,又没有生态,你怎么和人家争啊。
而且,生态不仅是技术用户的事,在非技术群体中,这一差距更是判若云泥。当我们在 Matrix 频道讨论「如何用 Rust 重写核心模块」时99.9 % 的用户正在微信群里用「拍一拍」功能互相调情。这种割裂不完全是技术鸿沟,而更像是**认知代差**的具象化——就像维多利亚时代的博物学家试图向非洲部落讲解进化论。我们幻想中的「全世界用户,联合起来」,在现实中往往演变为技术神父 / 政委与小白用户的永恒割裂。就像试图用《资本论》指导 Tik Tok 网红做直播带货——理论完美,实操荒诞。毕竟,对于我们亲爱的广大用户们,那些在 Reddit 追番、用 Pixiv 存图、靠 Stack Overflow 续命的「数据无产阶级」们,真的在乎 Nitter 实例是否遵循 AGPLv3 吗?当某个自由前端因 API 变更突然暴毙时,他们只会默默切回官方 app顺手给 Play Store 打五星。这不是背叛,而是**生存理性对理想主义的血腥处决**。
至于非中心化替代品,你想依靠「自由、隐私权、去中心化」这些能让技术宅们颅内高潮的卖点去吸引对技术不感兴趣的普通用户?你 Mastodon 算什么东西,你敢说你的平台比 Meta比 X比这些世界顶级的互联网巨头做得好而那些高喊着「用户主权」的 Nostr 协议拥趸,可曾计算过对一个普通用户而言自行保管私钥的代价?当普通人在咖啡馆弄丢存着私钥的 Yubikey 时,他们失去的不仅是社交图谱,更是数字人格的死亡证明。这种「自由」的代价,堪比要求中世纪农民自行铸造货币。
**别做梦了,同志们**。
那怎么办?干等着奇迹降临,全球互联网生态一夜之间离奇消失,留我们一张白纸上书写新时代的创世纪篇?要是您有这种想法的话,这边建议您去查一个叫 Juan Posadas 的人(姑且算人),他的思想或许您会喜欢的。
> 哲学家们只想着如何解释世界,问题在于改变世界。
**我们需要联合**。在技术封建主义的铁蹄下,零散的技术宅游击队永远打不赢平台正规军。一台两台 VPS 可以被任何一家企业轻松封杀,那么十万台、一百万台呢?如果我们能通过这种联合建立前端的 CDN 联盟,让自建实例能一键接入抗 DDoS 的分布式盾墙呢?到时候,还有谁敢冒失地对联邦出手?枪杆子里面出政权,你没有足够的实力,谁会施舍你一个眼神?
或许有人会认为,联合本身就违背了去中心化的初心。的确,进行联合存在另一个中心化乃至极权化的风险,但是这就是我们要平衡的地方。小氯说过,开源运动就像是国际共运。那么,如果敌后的抗日根据地没有团结在党的领导之下,东亚地区恐怕就要玩 TNO 了;如果南斯拉夫的游击队没有在南斯拉夫抵抗运动的旗帜下协调行动,贝尔格莱德到现在估计还挂着第三帝国的万字旗。即使是反对先锋队国的卢森堡主义,也并没有否定先锋党的必要性,只是强调不能放弃工人民主的原则。而无政府主义的理想虽然美好,但是还是 Forgejo 那篇所说的,这种方法的实用性极低。无政府公社联邦的社会治理模型,还没能在任何一个稍具规模的社会——咱们都别说现代社会了,就是原始社会也行——成功实践。马克思主义是实证的科学,如果一个理论毫无实践可行性,就算是再精妙的推理、再美好的前景,我们都要忍痛抛弃。剩下的一种理论,尽管这条路荆棘遍地,但是这也是唯一可行的道路。
而且,我们再悲观一点,再现实一点:现在的去中心化生态本身,不就正在孕育新型的中心化吗?某些实例管理员手握封禁大权的样子,活脱脱是数字版《动物庄园》的雪球和拿破仑;某个实例因「政治立场不合」将整个域名拉黑时,所谓的联邦协议瞬间退化为数字巴尔干化的帮凶。就算没办法做到相对好的平衡,像「君主布尔什维克主义」那样用强权要求自由也比看着联邦走向崩坏(有点夸张)强。
当然,从技术实践上,一定程度的中心化也是必要的。就拿 SNS 来说吧。社交媒体本身就具有中心化属性,除非我们能做到近乎实时的实例间互联互通,否则只有一个人的社区广场不叫广场,那叫树洞。我们或许喜欢这种若即若离的社交状态(小氯也是),但是你让一个普通用户来回答,谁会喜欢喊一声之后一个点赞的人都没有呢。
最重要的是,人民群众是历史的主体。如果我们的目的是颠覆整个互联网的权力体系,就不能把这场「非中心化革命」(我们姑且这么叫)仅仅局限于技术用户中。这确实很难,小氯也常常会觉得和大众打交道是个很麻烦甚至很烦心的事。既然我们——诸位(还是别把自己狂妄地纳入这个范畴吧)有这个能力和志向,那么群众工作,就是绕不过去的一环。无论是把 API 文档翻译成短视频脚本,还是教外卖小哥用 curl 检查平台抽成算法。
为了做到这一点,我们有时候——尽管小氯很不愿意说这话——必须要做妥协,无论是用我们精心的设计去吸引用户叛逃,还是在自由前端嵌入可爱的「电子多巴胺注射器」。是的,这样危险,屠龙少年如何才能不成为恶龙;这样卑微,像在摩天大楼的钢架缝隙里播种苔藓;而且经常会很屈辱,像给 Linux 内核套上 Windows 11 的皮肤。但历史早就证明:任何革命想要成功,都必须先学会穿着「敌人」的制服跳舞。当某天非技术用户觉得「哇,这个动漫人物界面的 GitHub 比原版还好用诶」时,我们才算摸到了新世界的门环。
我们也要团结一切可以团结的力量,无论是还愿意在盈利之外考虑一些社会福祉的企业,还是冷眼旁观着这场战斗或者闹剧的基础服务提供者。毕竟,以普遍理性而论,你总不能这样:
![fully-open-source-infra|400](https://img.viento.cc/20250302-fully-open-source-infra.avif)
……而 FediverseBlueskyMatrixNostr它们不是圣杯但它们确实是先锋。如同巴黎公社、斯巴达克运动和苏维埃联盟是国际共运的先锋一般。它们不完美它们有许许多多的问题。但是它们勇敢地迈出了那一步为我们这些后人留下了宝贵的经验更重要的是它们就像是海明威笔下的那副鱼骨——证明我们曾与鲸鱼搏斗虽败犹荣。
> 为什么不试试 Fediverse / Bluesky 呢?
所以,小氯依然会在每一个希望找到一个能闲着没事发发短博客的平台的老友的评论区留下这么一句话,歪着头,满脸的清澈和愚蠢,像极了 Pixiv 的画师们画的 Goofy ahh big head铸币大头的神情。
第一,他们确实很可能需要;第二,我们总要反抗。如果我们放弃了,那就真的什么都完了。
[^1]: 严格来说,这两者不完全一样,替代前端的范围更广。不过由于大量的替代前端都是 FOSS并且专注于用户自由和隐私因此两个词有时候会混用。以下我们统一使用「自由前端」。