1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
# 想法在丙午阳中迭代
2026-02-28
这个月我忙于一些现实中的事情,结果连月刊和自己一个月里都做了什么,全都忘了个干净……
我希望这会是你能看到的,最后一个条目如此之少的月刊。
## 心理与关系
### 如何减少尴尬
我想,许多人或许在社交中都有尴尬的时候吧。因为社交尴尬而恐惧社交的人,又有多少呢?作者对此提供了有三个部分的治疗方案,我就简单总结一下了:
一、有些人在社交上显得笨拙,而这救不了——你就是这样的人。但也没什么好怕的,你只要承认这一点就可以了。
有些人出现了问题后,会倾向于掩盖过错,但这很多时候又会把氛围搞砸。如果一开始就承认自己是个不太会社交的人,反而会起正面效果:觉得自己漏掉了什么,或者不礼貌了,那就承认;觉得自己做错了什么,那就道歉。
作者认为这和有些人有饮食忌讳是一样的。我赞同这一点。作为一个社交能力很差的人,我逐渐发现去掩盖一些过错,可能会引起更多的误会。这个时候可以将自己想象成一个笨拙但诚实的人——如果我现实中遇到这样的人,我不会觉得他很奇怪,我只会去想办法帮助他。我想,这世上会这么做的人也有很多。
这一点会让我想起过去 Cate Hall 写的 一篇文章,我也在月刊里写过。想到什么说什么,有时候并不是那么糟糕的事情。
二、承认自己自我意识过剩,然后想办法将注意力转向除了自己以外的东西。
好吧,我也是个自我意识过剩的人,所以我时不时有着被害妄想。太过于在意和关注自己,却不把眼光看向他人,这样的社交自然也不会进行下去了。有趣的灵魂只要认真观察就能被发现,或许你也可以借此找到有意思的人。
当然,也有不有趣、认识了也只会让自己难受的「垃圾人」。这种人该滚多远就滚多远吧!他们也不配认识你的灵魂。
三、面对社交恐惧,然后遗忘社交恐惧。
人类需要社交、渴望社交,但这种强留的需求也引起了我们对社交的恐惧。单是想想我们可能会从人际关系处得到的负面反馈,就会让我们恐惧去主动社交。
作者认为,人们的心灵是可以被愈合的,因此可以采取「消除恐惧的最好方法,就是面对恐惧」这一方案。是的,你将不得不将自己暴露在人群中、主动去社交。社交中的正面反馈,会助长我们的自信心。
不过有时候,我们能否意识到正面反馈的存在也是个问题:每次社交结束后就反思自己付出的,以及自己得到的。一定要记住,「负面反馈多」并不一定是真的,可能只是我们将其放得太大,以至于看不到其他闪光点。
知道了这些后,你会变成一个社交大师么?不,你不会,除非你付出了行动,并从中慢慢学习到了什么。
当然,尝试后依旧认为自己在社交时会觉得尴尬也是没关系的,就让它那样吧。但我们已经知道了,世界上有许多人也会和我们一样感到尴尬,那我们想办法照顾他们、让他们不会那么尴尬就好了——或许这么做,对你来说会更简单些?
=> https://www.experimental-history.com/p/how-to-be-less-awkward 原文
### 我们是否彻底厌倦了社交媒体?
作者 Daniel Brendel 说出了我一直在思考的问题:Fediverse 真的可以让大家连接在一起吗?
其实我也不记得是从哪里听来的。是,Fediverse 软件多数都没有算法,也没有广告,大家想要关注谁就关注谁,不用再担心企业平台为了流量而硬塞来的引战讯息。但我认为,Fediverse 解决的本质问题,只有「数字主权」,而不是「让大家连接在一起」。
这就不得不再拿出来 Ploum 的 这篇文章。重新说一下 Ploum 的观点:Fediverse 是社交网络,是娱乐平台,是媒体消费协议。Mastodon 和 Pixelfed 充其量只是没有算法、冗余功能、大公司控制的 Twitter 和 Instagram——它们不是可靠的通讯工具,也不适用于彼此间的连接。
过去我说过,Mastodon 作为微博客平台,输入模式契合着人类大脑想事情的机制。不过信息接收者在 Mastodon 这样有着时间线的平台,大脑会在极短时间内进行剧烈的上下文切换——这是反深度思考的,迎合的也是即时多巴胺反馈。
其实说到这个,也需要确认一下「微博客」和「博客」的区别。我认为核心标准在于文本的「上下文独立性」和「信息结构的完整度」。
「微」的文字,通常是高度依赖即时语境的。比方说突然想出来的灵感、需要立即记下来的记录、针对某件突发事件的情绪反馈,它们都是未经深度加工的文本。一旦这段文字从时间线上抽离,放到数年后的一个空白页面中,它就会因为默认读者与作者共享当前的物理时间、社交网络热点或者说特定的讨论氛围,而因为本身缺乏背景信息的铺垫,变得难以理解。
博客文章具备着上下文独立性,因为作者通常会在撰写时就预设读者什么都不知道,也是我推荐大家写博客文章时采取的视角,所以必须在文中构建完整的逻辑链条,提供必要的背景介绍,并进行结构化的论述。这样的文字内容,丢到几百年后的哪里,或许连外星人也能读明白吧。
必须客观承认的是,Fediverse 并不完全等同于 Mastodon。在这个联邦网络中,同样存在 WriteFreely 或是集成了 ActivityPub 的 WordPress 等长文本博客平台,它们完全可以承载具备上下文独立性的文章。但这并未改变整个 Fediverse 被时间线主导的底层消费逻辑。
由于 Mastodon 这类微博客平台在 Fediverse 中占据了绝对的用户主导地位,它们的时间线 UI 和 ActivityPub 的广播机制,共同构建了一个没有边界的广场。这意味着,即便你在 Fediverse 中发布了一篇深度的博客文章,当它被分发给其他实例的受众时,在绝大多数读者的屏幕上,它依然是一条混杂在各种即时情绪、新闻、日常吐槽中的碎片化动态。
在这样剧烈切换上下文的阅读环境中,深度思考变得极其困难。即便排除了商业算法的干扰,信息的呈现方式依然是信息流。人们在参与这种网络时,潜意识依然是在进行广播和自我展演,而不是在进行沉浸式的交流。这也是为什么 Ploum 认为 Mastodon 和 Twitter 没有什么区别,因为底层的产品逻辑和信息消费方式并未发生实质性的改变。
不过,信息结构的完整度,真的就是建立有效交流的绝对前提吗?其实也不全是。如果我和现实生活中的朋友聊天,哪怕我只发一句没头没尾的抱怨,对方也能瞬间明白我的意思,因为我们之间早就共享着各种生活经历和情感上下文,此时使用即时通讯软件进行碎片化的高频互动,是再正常不过的事情。
但问题在于,Fediverse 是一个由陌生人组成的公共网络。在没有任何现实关系背书的情况下,如果不提供完整的上下文,只是把未经加工的瞬间情绪抛到广场上,对方根本都不知道你在说什么,所谓的「连接」自然也就无从谈起。这也是为什么我现在使用 Mastodon 进行日常记录时,依然会添加必要的上下文,它有时候只不过是字数少一些的博客罢了。
顺着这个逻辑往下想,Brendel 提出的更深层的问题,即「人们总体上对社交感到厌倦了」,或许并不仅仅是平台机制的问题。更深层的问题在于,建立并维护人际关系,本身就是一件极度消耗精力的事情。
我仔细审视了自己想要通过 Fediverse 获得什么,结果发现,我其实并没有那么强烈地、想要在互联网上与陌生人产生深度连接的渴望。我没有交网友的习惯,我的人际关系和有效交流,几乎全部倾注在了现实生活中的人们身上。要求互联网上的陌生人与我产生深刻的共鸣,或者强求自己去维系庞大的线上关系网,既不现实,也会让人疲倦不堪。
所以,结论并不是要去彻底抛弃哪个工具,而是接受并合理分配自己的社交精力。我依然会继续使用 Mastodon 进行带有上下文的日常记录,不去强求什么互动,在那个没有算法的广场上保持一种「泛泛之交」的松弛感,其实是最好的状态。我也会继续撰写博客文章,把深度的思考沉淀下来。至于那些真正需要情感连接和即时反馈的交流,我会将它们留给电子邮件,或者是和现实朋友们所在的即时通讯软件里——当然,给陌生人们的选择也有我的 Matrix 账户 @cytrogen:tchncs.de。不过要记住,我所在的地区的时间戳是 UTC-5。
=> https://www.danielbrendel.com/blog/24-are-we-tired-of-social-media-once-and-for-all 原文
=> https://ploum.net/2025-12-15-communication-entertainment.html 这篇文章
=> https://blog.cytrogen.icu/posts/c089.html#%E6%88%91%E4%BB%AC%E6%98%AF%E5%A6%82%E4%BD%95%E4%B8%BA%E4%BA%86%E5%A8%B1%E4%B9%90%E8%80%8C%E5%BC%84%E4%B8%A2%E4%BA%86%E4%BA%A4%E6%B5%81%E7%9A%84 过去我说过
## 科学与自然
### A4 纸的故事
这是一篇很「数学」的文章。
有没有想过 A4 纸为啥叫 A4 纸么?
这个月我因为中文课教授的一句「现在的大学生都不带纸了么」,起了莫名的对抗欲,挑选了心目中最好的本子类型——活页本!不过能装 A4 纸的活页本会很大,我的小书包估计装不下。我估摸着退两级下来,能装 A6 纸的活页本估计就足够了吧。不过我不知道 A6 纸多大呢,上网看到了这个 工具,拿 A4 和 A6 比较了一下。
结果发现,A6 几乎就是 A4 的四分之一。
差这么多?
总之我买了装 A5 纸的活页本,大小刚刚好,很不错。
扯远了。
文章里提及了 A 系列纸张尺寸背后优雅的数学原理。首先有个数学问题需要考虑:如何让一张纸在平行于短边对折一半后,得到的新纸张与原纸张拥有完全相同的长宽比?
结果得出了 $\sqrt{2}$ 这个数字,也是所有 A 系列纸张的固定长宽比。
有了比例还不够,还需要一个基准尺寸。ISO 216 标准将 A0 纸的面积精确定义为 1 平方米,也就是长 1189 毫米、宽 841 毫米。这时候将 A0 纸不断对折,面积依次减半来得到 A1、A2、A3,以及我们最常用的 A4。所以 A4 纸相当于对折了 4 次的 A0 纸。
作者在文章里还提到了他是如何用一张 A4 纸测量显示器的尺寸——搞数学的人的世界我不懂!
=> https://susam.net/a4-paper-stories.html 原文
=> https://papersizes.io/compare 工具
### 真食物必胜
这是美国政府的网站。
美国是世界上「最伟大」的国家,也是最有病的——精神上,也有生理上的意义。美国民众有多么爱预制食物,我想都能想象出来。虽然无比便利,以及便宜,但代价是并不健康。
这个网站就是为了让美国民众们知道,吃真正的食物有多么重要。
我在美国上小学的时候,老师就没少向我们科普一餐得吃什么:蛋白质、奶制品、蔬菜、水果、谷物,也就是食物金字塔里提倡的。
虽然话是这么说的,但在学校里吃到的午饭,也不一定遵守这个规则。
说说网站本身。设计还可以,但不知道为什么访问起来卡卡的。它是由 National Design Studio 设计的,而该机构是由特朗普想出来的,因为他想要让政府服务的设计变得实用且美观。
美观我认为可以,但是实用嘛……根据 该文章 所说,许多来自 National Design Studio 的网站都违反了网页无障碍标准,视障人士很难阅读这些网站。
文章也认为 National Design Studio 在开发网站时,依赖于 AI 生成内容。
Eat Real Food 网站底部也有个询问 AI 的板块,让我有点摸不着头脑。我试了下,发现会被导航到 Grok。嗯,好吧……?
=> https://realfood.gov/ 原文
=> https://ndstudio.gov/ National Design Studio
=> https://www.notus.org/trump-white-house/silicon-valley-government-websites-national-design-studio 该文章
### 首次拍摄到褐鼠捕食蝙蝠的画面
德国北部的研究团队首次记录到褐鼠(Rattus norvegicus)在半空中捕杀飞行中的蝙蝠。意外的点是,通常被视为食腐动物或行动迟缓猎物捕食者的褐鼠,竟展现出了极其罕见的敏捷性与主动捕猎能力。这种现象在动物行为学上,展示了 行为可塑性,即环境促使常见的城市啮齿动物学习并掌握了高度专业化的捕猎技巧。
不过呢,褐鼠在欧洲广泛存在且属于入侵物种,它们的这种捕猎能力给本就面临栖息地缩减和疾病威胁的欧洲蝙蝠种群施加了严重的额外压力。因此对于此类大型蝙蝠栖息地,针对性地介入并管理鼠类种群已成为一种必要的预防手段。
=> https://scienceclock.com/rats-caught-on-camera-hunting-flying-bats-for-the-first-time/ 原文
### 为什么有些衣服在清洗时会缩水
纺织品科学家 Nisa Salim 博士解释了为什么衣服会缩水一事背后的微观物理与化学原理。
常见的植物性纤维(如棉和亚麻)在自然状态下呈不规则的卷曲状。在现代纺织制造过程中,这些纤维素分子链被机械拉伸、排列整齐,并通过氢键固定以形成平滑的纱线。
然而这些纤维具有天然的「记忆性」。在洗涤时,具有亲水性的纤维素会吸水膨胀,而热水的热能以及洗衣机翻滚的机械力会破坏固定纱线的氢键。这导致纤维失去原有的张力,重新放松并回缩到其天然的卷曲状态,从而在宏观层面表现为衣物缩水。
此外,针织结构较松散的面料比紧密编织的面料具有更多的形变空间,因此更容易发生缩水。
动物性纤维的缩水机制则与植物纤维完全不同。以羊毛为例,其表面覆盖着由角蛋白构成的微小重叠鳞片。在洗涤的搅动过程中,这些鳞片会受潮张开并与相邻的纤维相互交错缠结,产生被称为「毡化」的现象,致使衣物变得更加密实且体积缩小。
相比之下,由石油基聚合物制成的合成纤维(如涤纶或尼龙)不易缩水。它们内部含有高度有序的结晶区域,这些区域充当了坚固的微观骨架,能够有效防止纤维在洗涤过程中起皱或变形。
为了尽量减少衣物缩水,日常洗涤中应优先使用冷水、低转速以及轻柔洗涤模式,以最大程度地降低机械力与热能对纤维内部结构的破坏。
如果衣物已经发生缩水,可以通过特定的表面化学原理进行部分补救。具体操作是:
1. 将缩水的衣物轻轻浸泡在温水中;
2. 按每升水一汤匙的比例加入护发素或婴儿洗发水。这类洗护产品中含有的阳离子表面活性剂能够暂时润滑纺织纤维,使其恢复一定的柔韧性;
3. 浸泡后,在保持面料湿润的状态下轻轻将其拉伸回原始轮廓,并采用平铺或施加轻微张力的方式晾干。
虽然这一过程无法完全逆转严重的结构性缩水,但能够有效恢复面料的部分物理尺寸。
=> https://www.swinburne.edu.au/news/2025/08/why-some-clothes-shrink-in-the-wash-and-how-to-unshrink-them/ 原文
## 技术与创造
### Richard Stallman 的个人网站
Richard Stallman 是一位自由软件活动家,也是 GCC、GNU、GNU Emacs —— AKA 我现在在用的软件 —— 之父。
何为「自由软件」呢?
> 自由软件(英语:free software)是允许用户自由地使用、复制、研究、修改和分发的软件。
不过这里的「自由」专指用户的控制权与使用自由(Libre),而非价格上的免费(Gratis)。
自由软件并不等同于开源软件。首先,自由软件基金会严格定义了运行程序、研究并修改程序源代码、重新分发副本以及向公众发布改进版本的绝对权利。在自由软件的语境下,任何剥夺用户这些权利的专有软件都被视为不道德的。
为了在法律层面上捍卫这种绝对的自由,该运动催生了以 GNU 通用公共许可证(GPL)为代表的 Copyleft(著佐权)协议。这类协议具有强烈的传染性,强制要求任何基于自由软件修改或衍生的作品,也必须以同等的自由条款向下游发布,从而在机制上防止公共代码被私有化封装。
而开源软件这一概念由 Eric S. Raymond 等人创立的开源倡议组织推动。这一概念的提出,直接动机是为了摆脱自由软件运动中强烈的意识形态色彩和道德约束,从而让传统的商业公司更容易接受开放源代码的模式。
开源软件将焦点从道德层面的「用户权利」转移到了实用层面的「卓越工程方法论」上。开源阵营主张,向公众开放源代码是一种极其高效的开发模式,通过广泛的同行评审和分布式协作,能够产生质量更高、安全性更好且迭代更快的软件产品。这种实用主义的导向促使开源社区更倾向于拥抱商业力量,并广泛推崇如 MIT、Apache 等宽松型许可协议。这类协议允许企业或个人修改代码后将其闭源并作为商业专有软件分发,在最大化代码被工业界采用率的同时,放弃了对下游衍生品必须保持开放的强制约束。
所以,一个开源软件并不意味着它一定是自由软件。
除了想要分享自由软件的理念外,Stallman 的个人网站上有这些我认为有趣的点:
一、网站设计十分简约,以至于一些人可能会说很简陋的程度。个人不太喜欢阅读这类网站上的文字,总觉得很难受、哪里都是字……
二、What's bad about: 专栏,也是我想要分享的重头戏。Stallman 列举了数个公司(包括需要付费才能使用的厕所),并数出它们的罪孽。
比方说 Wendy's,罪状在这里:https:/talkpoverty.org20160808dear-wendys-im-boycotting-im-not-one-worried
简单来说,Wendy's 拒绝加入「公平食品计划」(Fair Food Program)。该计划要求企业为番茄采购支付极少量的额外费用以改善底层农工的待遇,并严格限制企业只能向遵守劳工权利准则的农场进货。在主要快餐竞争对手及大型零售商均已加入该计划的背景下,Wendy's 是唯一一家拒绝签署的大型企业。
此外,Wendy's 选择停止向佛罗里达州参与该计划的合规农场采购番茄,转而向墨西哥的供应商进货,而这些新的供应商曾被相关报道指控存在严重的劳工剥削及童工问题。
又比方说,LinkedIn 的罪恶在于:
1. 强制用户运行非自由的 JavaScript 代码才能访问网站,同时采取极端手段,试图将抓取其公开网页数据的行为定罪并寻求将抓取者投入监狱;
2. 存在大量冒充知名企业高管或网络安全负责人的虚假账号,这类账号可能会误导用户并传播恶意的安全建议,而平台自身也被指控向用户发送大量垃圾邮件;
3. 在注册流程中设置阻碍,使得用户几乎必须交出个人的电子邮件通讯录才能完成注册;
4. 声称拥有用户个人资料的所有权,对用户可以展示的信息施加符合平台利益的限制,并强制用户接受存在风险的赔偿条款;
5. 当付费用户因平台削减功能而决定注销时,系统拒绝立即删除其账号;
6. 存在配合特定国家机器进行政治审查的行为,主动过滤和审查当地用户的个人资料。
许多平台都是因为类似的情况而被 Stallman 举为例子,我就不一一赘述了,最后只说一下「付费厕所」为什么不好:
> 请不要付费使用收费厕所。
>
> 收费厕所很恶劣,应该是非法的。如果我们接受这种做法,我们这些不穷的人能付得起钱;但穷人付不起。在人们需要厕所时拒绝让他们使用是恶劣且有损尊严的。
>
> 我的结论是,为了消除收费厕所,我们至少能做的是避免给它们钱。我宁愿费尽周折去找其他厕所,也不愿付钱给它们。
>
> 请加入我,坚决抵制收费厕所。
来自于 https:/stallman.orgpay-toilets.html。
=> https://stallman.org/ 原文
### 读点好的吧
我这个翻译很俏皮,沿用了网络用句「吃点好的」。
这是一个分享互联网上的写作内容的网站。和许多平台不同,它不注重于推送给用户最近的文章,而是只专注于那些「永恒的文章」。你可以在这里找到上个世纪的文章,也可以找到数年前的文章——重点是它们的内容经得起时间沉淀。
这是一个有意思的项目!我一直在寻找一个不是 Hacker News 的信息索引平台,来增加自己的信息来源。
不过缺点也很明显,这些是我的看法:
1. 没有 RSS 订阅功能。这个网站看上去更像是给 Matter 这个 App 打的广告?但是我不想要下载一个 App 呀;
2. 收集的链接是以什么标准来收集的呢?又是以什么顺序排序的呢?这些都没有被解释。
=> https://readsomethingwonderful.com 原文
### 用最少的音节念数字
欢迎来到语言学大讲堂!在这里,你可以借此学习到不同语言念数字的底层逻辑……不,其实都是奇奇怪怪的数字公式。
我想到这个是因为法国法语念数字时会混入二十进制这样的东西,例如 99 念 Quatre-vingt-dix-neuf ,逻辑是 $4 \times 20 + 10 + 9$ 。
多数人类语言念数字的本质都是在念一个以 10 为底的多项式。假设数字为 N ,我们在语言里把它表达为:
$$
N = an \times 10^n + a(n-1) \times 10^(n-1) + \cdots + a1 \times 10^1 + a0 \times 10^0
$$
例如中文里的 $3 \times 100 + 3 \times 10 + 3$,英文里的 $3 \times 100 + 30 + 3$ 。
一些语言里倒是还会用到减法逻辑,相关少见,比如说拉丁语中 19 是 undeviginti 即 $20 - 1$ 。
不过呢这个项目是完全以英文为基底创作的,和我讲的他国语言没有关系,只是我自己在强行赋予关联性。
=> https://thegraycuber.github.io/fast_numbers 原文
### 小型网络很美
什么是「小型网络」?解释可以有很多,例如独立的个人网站、复古的网络、对科技巨头反击的网站、订阅者数很少的 YouTube 频道……
现在的电子设备,硬件方面都要比过去的高上许多倍,比方说内存,现在 16GB 内存的电脑到处都是,但在过去可能 1GB 的内存就已经足够奢侈。那么为什么要这么专注于「小」?作者认为重要的理由是:
* 运行速度更快
* 内容更少,更容易修复
* 功耗更少,对环境保护很有效
* 简约的美学
不过小型网络的美,并不只是规模小,还在于「努力想要变小的理念」。正因为关心网络的用户,所以站主们想尽办法去让页面下载速度更快、更易于阅读,且为了用户的隐私考虑,不使用各种各样的追踪器。
文章中提到了一些小型网络的俱乐部,如 1MB Club。我查了一下自己的博客网站,发现光是字体文件就远超 30 多个 MB 了。好吧,谁叫我导入了六个字体文件呢。
在作者提到的喜欢的小型网络里,他提到了 Sourcehut。这是一个我最近在学习使用的代码托管平台。除了它相当独特的协作方式,即使用邮件列表而非 Pull Requests——有人知道这其实并不是代码协作的唯一方式么?——它的页面很简单小巧,甚至不需要 JavaScript 就能让所有功能正常运行。
=> https://benhoyt.com/writings/the-small-web-is-beautiful/ 原文
=> https://1mb.club/ 1MB Club
### 为什么大多数网站实际上不需要 Cookie 同意横幅
上一些网站时我发现,Cookie 横幅到处都是!种种原因,让我只能一个个拒绝掉。
文章作者认为,大多数小企业网站根本不需要 Cookie 同意横幅。
首先 Cookie 分为必要性 Cookie 以及追踪性 Cookie。前者就用户的角度去考虑的话,是没什么大问题的,因为它们的作用就是保持登录状态、维护会话等。后者则会建立用户的画像,用于投广告或者为第三方收集数据。
不过小企业之所以是小企业,是因为它们根本不需要追踪用户,也多数不需要与第三方共享用户的数据。那这种情况下,网站便不需要 Cookie 横幅。
做项目的时候,项目管理就问我能不能写个 Cookie 横幅,或者用户点击后会弹出来的折扣、newsletter 订阅讯息。我说我不要,这东西有个毛必要嘛。
因为看多了 Cookie 横幅,就会认为网站必须要有 Cookie 横幅——这种想法是不行的!请立即中止它!就算你的网站里有用到 Cookie,也不一定需要添加 Cookie 横幅,因为 GDPR 和类似的隐私法里都表示,运行绝对必要的 Cookie、仅用于自身分析的第一方 Cookie,以及用户关闭了浏览器就会失效的会话 Cookie 不需要获得用户的同意。
但是呢,使用 Google Analytics 这种营销工具就需要获得同意了。
美国没有联邦层面的 Cookie 同意法——唉,美国——不过有一些州有影响 Cookie 使用的隐私法。大多数美国企业可以通过专注于清晰的信息披露和尊重退出请求,从而完全避免使用 Cookie 同意横幅。
=> https://block81.com/blog/why-most-websites-dont-actually-need-cookie-consent-banners 原文
### 写给恐慌者的 Git rebase 指南
文章本身写得就较简洁了,再总结也没有太大意义。如果你害怕使用 git rebase 命令的话,可以看看。
=> https://www.brethorsting.com/blog/2026/01/git-rebase-for-the-terrified/ 原文
### Org Mode 语法是用于文本的最合理标记语言之一
作者认为 Org Mode 语法是他最喜欢的语法,借此,他想要解释一下为什么。虽然说到 Org Mode 就一定会想到 Emacs,不过作者特意表示,这和 Emacs 无关,他就是喜欢 Org Mode 的语法。
首先,Org Mode 语法直观,很好学,并且还提供了标记。
其次,Org Mode 语法是标准化的。这里需要说一下更常见的 Markdown:过去 我讲过 Markdown 的问题,其中一个便是无统一标准。但 Org Mode 就没有这个问题。
作者在文章中使用了许多例子来解释为什么 Org Mode 语法更好,感兴趣的话可以看看。
最后要说的是,GitHub 或者 GitLab 的 README 其实并不需要用 Markdown,用 Org Mode 照样可以渲染出来。
以及,虽然说了不需要 Emacs 也可以写 Org Mode,但还是希望大家尝试一下这个文本编辑器——!
=> https://karl-voit.at/2017/09/23/orgmode-as-markup-only/ 原文
### Claude Code 究竟向云端发送了什么?
作者搭建了个代理,想要知道 Claude Code 会向云端发送什么内容,结果是:
* 完整的上下文历史。因为 Claude Code 采用的是无状态架构,所以每一次请求都必须带上 从会话开始到当前的所有对话记录,这也包括它用工具读取到的本地代码文件。
* Claude Code 客户端会在会话开始时,自动收集本地环境快照并注入到提示词中发送,这包括:
* 系统信息,例如操作系统版本、平台
* 路径信息
* Git 仓库状态,例如当前分支、主分支名称、git status 的结果、以及最近的 commit 历史和提交信息
* 自定义指令文件,也就是 CLAUDE.md。
* 在用户说任何话之前,客户端会预先塞入 Claude Code 自己的行为规范手册:
* 所有它可以调用的工具的详细定义
* 安全与合规策略
* 语气与风格指导,这儿有个好笑的点,那就是 Claude Code 被特意要求不许说 You're absolutely right
* 任务执行逻辑,例如强制要求频繁使用 Todo 列表规划任务、严禁过度设计等
=> https://rastrigin.systems/blog/claude-code-part-1-requests/ 原文
### 当用户注意到你的软件时,你就已经输了
文章的核心逻辑建立在一个极度务实的前提之上:计算机和软件仅仅是达成目的的工具,它们本身绝非目的。
理想状态下,操作系统和底层工具应当像空气一样,用户透过它们直接沉浸于自己的任务中,而感受不到工具本身的存在。
如果你在工作时突然被迫停下来处理系统弹出的各个对话框,亦或者说按下按键呼出的却不是你认为它会呼出的功能,这就意味着工具打断了你的工作流。此时,你被迫「注意」到了这个软件。
这种现象被作者称为 NOTICE ME 式衰退。它通常源于商业压力,或是项目内部的营销人员、高层管理者试图为自己的履历增添亮点,而非出于用户的真实痛点。当软件为了刷存在感而不断添加花哨但缺乏实际用途的功能时,它就变成了一个干扰源。
Firefox 和 Chrome 是作者提出了两个例子。起初,它们凭借「打开即是互联网」的极致透明性赢得了市场。然而随着组织架构的膨胀,它们也开始强行添加无关功能的老路——为什么 Firefox 近些年老是想成为 AI 浏览器。
说到生成式 AI 按钮,我发现它几乎是无处不在,讨厌死了!
=> https://pivot-to-ai.com/2026/01/10/if-users-notice-your-software-youre-already-a-loser/ 原文
### 不要陷入反 AI 的炒作中
除了文章本身,我也会说说它多达 79 条的评论里,大家的观点。所以长文短说直接进入正文。
首先是作者 antirez(Redis 的创始人 Salvatore Sanfilippo)的观点:
一、编程已经发生了不可逆转的改变,因为 AI 能够几乎独立完成大型子任务或中型任务,尤其是对于系统编程这类相对孤立、易于用文本描述的领域,所以手动写代码已经不再是理智的选择,除非是为了娱乐。
二、程序员的核心价值观转变为「知道要做什么」。写代码本身不再是瓶颈,更重要的是能够在大脑中构建问题的模型,并清晰地将目标传达给 AI。
三、AI 吸收了过去开源的代码并反哺给全人类,这是作者认为的「知识与代码民主化」的延续。AI 将极大地提升小型团队的竞争力,其意义堪比 90 年代的开源运动。
四、尽管目前开源模型(特别是中国的模型)仍在缩小与顶尖闭源模型的差距,但作者仍然非常担忧算力和模型的过度集中化。同时,他担心大批程序员乃至其他行业从业者会因此失业。
五、在宏观层面,作者呼吁通过政治途径(如投票给支持通用基本收入\slash{}失业保障的政府)来解决 AI 带来的社会震荡。在微观层面,他强烈建议程序员不要抗拒,而是必须去拥抱和测试这些工具,将 AI 作为自身能力的放大器,重新找回「构建」软件的乐趣。
说完作者的观点,现在我会跟随评论区的意见,再说说我的看法。
首先是技术层面上的。如果依赖 AI 生成底层代码,会让程序员失去通过挫折而建立起的问题的深刻直觉,例如内存安全。未来将充满只会设计高层架构、却无法修复底层错误的开发者。
再就是 AI 生成代码时,技术债要比真人程序员积累得更快。一旦在未来,最初的提示词丢失,而 AI 的逻辑暴露出缺陷时,没有亲自写过这些代码的人将极其难以维护。
且 AI 目前只擅长生成单一语言的短小代码。对于由数百人编写、跨越数十个微服务的复杂系统,AI 写的东西还有没有那么好,就是个问题了。
和写作一样,写代码也是思考的过程。将代码生成完全交给 AI,等同于放弃思考——这么说也是因为,AI,或者说生成式大语言模型的本质是基于人类已有知识共识的概率预测。如果全行业都依赖 AI,软件开发将陷入平庸的「足够好」状态,因为真正的突破往往源于人类偏离常理的尝试。
说到「已有知识共识」,必须想一想科技巨头们是如何无视版权协议,将其压缩后反卖给开发者的了。这个月 Anthropic 控诉部分模型盗窃、蒸馏模型——天啊,它们怎么敢偷走 Anthropic 从其他地方偷来的东西!
作者提出的「民主化」在我看来有些可笑。前沿 AI 要花费的资源并不少,我认为这是大家有目共睹的:环境破坏也好,算力需要花费的美元也好,宁愿不道德地窃取大量数据也好,这一切都是有代价的。而 AI 能回应的,也只有资本对廉价劳动力的渴望。
关于失业问题,评论区有着两个互相矛盾的观点:
1. 大量工作岗位会消失,穷人仅存的劳动力价值也会被剥夺;
2. AI 会消灭那些人们本来就讨厌的「垃圾工作」和「工资奴隶」。并且软件开发成本的暴跌会释放出过去因成本而被搁置的巨大软件需求,从长远来看,这会创造更多的新行业和工作岗位。
我认为工作岗位,就目前来看一定是越多越好。就算是「垃圾工作」,对于穷人而言也是救命稻草。至于到底有没有新行业和工作岗位因软件需求而诞生,我想恐怕是没有的,如果非要把 AI 垃圾代码清洁工也算在里面的话,还有就是围绕着 AI 转的各种 AI 公司——其实我也做过,结果一言难尽。只能说简单的软件需求会因为一般人也能使用 AI 而做好,而复杂的软件需求依然会交给原本就在做软件开发的人。整体来说,工作依然在变少。
我需要批评一下 技术乌托邦主义,即认为只要科学和技术进步,就能带来乌托邦的效果。这是理想的,但太理想了,因为它往往只关注了作为结尾的「技术进步」,而非过程中为了让技术进步而牺牲掉的东西。就现在来说,这个代价就是为了维护 AI 数据中心而付出的各个自然资源。况且,技术乌托邦主义并没有证据支持。拿过去的原始社会和现在的生活对比,人吃人的情况依然存在着,而我认为在大多数人的劳动力价值都被剥夺的未来,这个问题只会更严重。
也有人认为,AI 只是编程历史上不断追求「抽象」的延续,即从机器码到 FORTRAN、C、Java、Python、自然语言提示词这样的路线。
不过我仍然认为,想要学习软件开发的人,请从最基础的开始学习。是的,从机器码开始学习吧——好吧,也不需要,但也至少从 C 开始学习,会对未来的学习很有帮助的。只有从底层建立起思维模型,你才有能力去评判 AI 生成的代码是否符合标准不是么?否则就只是在和一般人一样,Vibe Code 难以维护的垃圾代码。
=> https://antirez.com/news/158 原文
### 软盘:最适合孩子的电视遥控器
作者认为现代电视的遥控器过于复杂,不适合给自己 3 岁的孩子使用。为了让孩子可以触摸和感受到「更换媒体内容」,他决定完成一个硬核 DIY 项目:将一个真实的软盘驱动器改造成控制 Chromecast 播放电视节目的便携式物理遥控器。
如果你好奇他是怎么做到的话,那就阅读原文吧!我想要聊的是一个评论:
> 为了推迟和避免与儿子的负面和正面互动,你费了这么大劲儿。当你面对面交流时,你可以教他耐心、顺从和鼓励等品质;你可以经常向他展示你喜欢他的陪伴,他是一个令人喜爱、值得你花费时间和精力的人。科技不应该取代育儿,朋友。
在我看来,这是很奇怪的评论:难道任何通过技术手段进行的育儿辅助,都等同于逃避父母责任吗?难道博主做了这样的东西,他平日就一定没有和孩子交流吗?这在逻辑上,和认为养宠物的人一定是不管父母的白眼狼是一样的。
更值得注意的是他使用的词汇——patience and obedience(耐心与服从)。这可以侧面推断出一个高度传统甚至偏向威权控制的育儿观,即认为父母必须时刻在场,且核心目的是让孩子听话。
评论者完全误解了作者的初衷,将一个为了赋予孩子有限自主权而精心设计的物理交互装置,看作了用来打发孩子的电子保姆——尽管作者已经在文章里说到,孩子在初次使用时就从中获取了乐趣,毕竟是还在靠触觉认识世界的 3 岁孩子。
=> https://blog.smartere.dk/2026/01/floppy-disks-the-best-tv-remote-for-kids/ 原文
### Kagi
Spike 推荐给了我一个搜索引擎。最初我以为 Kagi Search 只是一个无广告的搜索引擎,但在使用了一周后我发现,它的功能远不只是这些。
Spike 也写了一篇博文来介绍 Kagi Search:《也许你想试试 Kagi?》。
首先要说明的是,Kagi Search 是付费的,并不是免费的搜索引擎服务!但是它提供的功能,我想或许会让你觉得物超所值。
过去我暗示过,互联网由广告技术驱动,就连 AI 技术也靠此盈利。免费的搜索引擎服务能盈利,靠的便是无尽的广告——要知道最初让谷歌公司赚钱的业务,也是广告业务。
据 采访 所说,Kagi 的创始人 Vladimir Prelovac 发现,学校里都会提供给孩子们 Chromebook 以学习(除了 Chromebook,美国学校另一个会提供的是 ThinkPad)。谷歌的服务使用起来确实很方便,个人感觉比微软的要好使用些,尤其是谷歌课堂这些产品。不过,Prelovac 不喜欢孩子们从小接触到的技术——由广告支持的技术。这些技术会在孩子们还小时就影响到他们,塑造他们的思想和世界观。
许多付费订阅的服务,如 YouTube Premium,都是免除广告的。既然这样,为什么不能有一个付费订阅的搜索引擎,还没有广告呢?于是 Kagi Search 诞生了。
在我看来,Kagi Search 现在的成功很大得利于现在人们渐渐看重数字安全和隐私。用这个角度去想,未来或许会出现愈来愈多类似的产品,来替代现在邪恶的「免费」服务。
说回 Kagi Search,现在已知的搜索结果排名算法有两个:一、用户自行决定;二、Kagi Search 自己会降级那些广告和追踪器过多的网站,并推广没有或者很少有广告和追踪器的网站。
其中,用户自行决定网站排名是很不错的设计。假设你不喜欢某某网站,你可以选择减少它的结果,或者直接封锁它;反之,你可以增多喜欢的网站的结果,或者直接将其置顶。如果看到了 AI 生成的垃圾结果,你也可以标记它,让 Kagi Search 知道哪些网站通过 AI 生成的内容来产生流量;同理,看到非 AI 内容被其他用户标记为 AI 垃圾结果,你也可以报告它为非 AI 内容。
需要解释的是,Kagi 并不完全反对 AI 内容,详情见 Kagi 的 AI 集成理念。
讲完 Kagi 的理念,来说一些我觉得很棒的功能。
一、优化搜索。
Lens 功能可以让用户在搜索时定制搜索,例如只在论坛或者 Fedi 论坛内、官方编程语言网站内搜索。详情见 Lenses。
同样能够优化搜索结果的功能,是 Kagi Search 的搜索运算符。详情见 Search Operators。觉得学习起来麻烦的话,也可以使用高级搜索,相当于搜索运算符的 GUI。
二、Kagi Small Web。
眼尖的朋友们或许发现了,我一会儿说 Kagi,一会儿说 Kagi Search 的。这是因为,Kagi 在本文内指的是该公司,而 Kagi Search 是其名下的搜索引擎服务名称。如果我只是想说搜索引擎的话,可以直接使用 Kagi。不过我想讲的是 Kagi 的产品,不单单是搜索引擎一个。
Kagi Small Web 就是 Kagi 的另一个产品。
在 Kagi Small Web 的 这篇博文 中, small web 一词指的是非商业化的个人网络。这些个人网络的一大问题便是聚合、不容易找到。Kagi Small Web 会从博客列表内收集发布的新内容,然后呈现给用户,例如通过刚才提到的 Kagi Lens。
该产品有一个自己的网站,使用起来有点像「开往」这种项目。它还有一个自己的 RSS 信息源,不过我不建议直接使用。最好是使用它的网站,找到自己喜欢的个人网络,自行添加进自己的 RSS 订阅源。毕竟 Kagi Small Web 收集的博客网站,依然是该团队按照自己的想法挑选的,并不一定适用于所有人。
个人网络一直因为 SEO 问题而不容易被用户查到。现在使用结合了 Kagi Small Web 的 Kagi Search,我们能够看到更多来自无数个个体所写的博文,而不是 SEO 排名高的营销垃圾。
不只是博客网站,Kagi Small Web 也会收集 YouTube 视频。按照它所说的,收集到的 YouTube 频道都是订阅者小于 40 万的。我对视频相关的小网络没有太多思考,所以也不评价了。
三、AI 相关。
这并不是我会用的功能,但觉得或许有人需要,所以讲一下吧。
其实 Kagi 在 2018 年就开始发布关于 AI 的产品,倒不如说它其实就是搞 AI 开始的。先前说过,Kagi 有着自己的 AI 理念,其中提到「AI 应被用来增强搜索体验,而不是创造它」。
这些是 Kagi 的 AI 产品:
* Kagi Assistant:和不同的大语言模型对话,和 Perplexity 很相似的样子?说到 Perplexity,虽然在 十月份的月刊 内提及了它,但其实很快我就没有继续再使用了,现在会员貌似已经失效。这蛮奇怪的倒是,因为它最初给的是年费会员,结果 2025 年一结束就没了。
* Kagi Summarizer:对页面进行总结。类似的功能还有 Kagi Search 里的 Quick Answer;
* Kagi Translate:基于生成式大语言模型的翻译服务。如果是像 DeepL 那样,并不是使用生成式大语言模型的技术就好了。
四、其他。
关于 Kagi Search 的其他使用技巧,可以阅读这些博文:
* 《Kagi 使用技巧》
虽然也有一些文章想要分享出来,来让大家看看其他人对 Kagi 的看法。最终思来想去,还是让好奇的你们自行搜索吧。
颇为有意思的是,Kagi 有个 Kagi Hub,感觉像是 WeWork 这样的共享办公室,不过 Kagi 会员们进去免费。除了会议室等共享办公室都有的配置外,Kagi Hub 还有厨房。但是它在欧洲的一个国家,我是没法造访啦。
写完这个条目的一周后,Jay 分享了 Kagi 网站上的一个页面给我:https:/kagi.comspecials。
简单来说,这是 Kagi 分享的一些公司的产品,且都是与 Kagi 价值观相同的公司,致力于打造一个更健康、更道德的网络环境。如果是 Kagi 用户的话,订阅他们的服务还会有优惠。
有趣的是,Kagi 表示这没有任何金钱交易。与这些公司合作,是因为 Kagi 相信他们的事业,认同他们的价值观,并相信各自的社群会自然而然地欣赏彼此所提供的产品。
看到这些文字,真是要感动哭了。
不过我也发现,Kagi Blog 貌似是用 Bear Blog 做的?
=> https://taxodium.ink/maybe-you-want-to-try-kagi.html 《也许你想试试 Kagi?》
=> https://cytrogen.icu/posts/31df#%E7%A7%91%E6%8A%80%E5%85%AC%E5%8F%B8%E6%AD%A3%E5%9C%A8%E8%A3%81%E5%91%98%E4%BB%A5%E8%B5%84%E5%8A%A9-ai 就连 AI 技术也靠此盈利
=> https://dkb.io/post/DEPR_kagi-interview 采访
=> https://help.kagi.com/kagi/why-kagi/ai-philosophy.html Kagi 的 AI 集成理念
=> https://help.kagi.com/kagi/features/lenses.html Lenses
=> https://help.kagi.com/kagi/features/search-operators.html#search-operators-1 Search Operators
=> https://blog.kagi.com/small-web 这篇博文
=> https://cytrogen.icu/posts/ea48#perplexity-%E4%BC%9A%E5%91%98%E4%BD%93%E9%AA%8C 十月份的月刊
=> https://anotherdayu.com/2024/5834/ 《Kagi 使用技巧》
=> https://ghost.feddit.social/ Jay
### 有趣项目
* Cloudflare 以为我在哪儿?: 通过 Cloudflare 的 IP geolocation 功能,就可以通过地图看到 Cloudflare 认为的我们在什么位置。我尝试了一下,发现它以为我住在一个很是繁华的地段——对不起我没有那么富足。
=> https://wheredoescloudflarethinkiam.com/ Cloudflare 以为我在哪儿?
## 折腾博客
### 自托管
是的,现在这个博客网站是自托管的了!
过去该网站部署在 Netlify 上。这个月我因为一些事情,购买了 IONOS 的 VPS(三年的使用权)。虽然之前也有写 数字主权和 VPS 的文章 啦……但是没有办法,无论是考虑钱包还是访问性,身处美国的 VPS 在这个时候都要更适合我。
除了博客外,我还托管了其他服务,详情见 这里。
因为是静态博客,要托管的内容也不过是静态文件而已,要占用的空间很小很小。我使用 Caddy 来作为博客的 Web 服务器,自动申请和续期 Let's Encrypt 证书很是方便。
过去,我构建博客文件时采取的是本机构建、Hexo 的部署器将构建好的文件(在 public 目录内)上传到 GitHub 仓库,Netlify 最后部署这些新构建的文件。
有了 VPS 后,我在 VPS 上添加了一个 hook:当 git push 推到 VPS 上的 bare repo 时,Git 会在接收完数据后自动执行脚本,构建和部署博客文件。这样做的好处是,不用担心不同设备的环境导致最终构建出来的博客文件不一致。
### 重定向
在可能有人在意的角落里,当你访问该博客时,会发现从 cytrogen.icu 重定向了 blog.cytrogen.icu。这是因为我考虑写个人主页,弄一些花里胡哨的东西。目前还在编写中……不过依然希望所有订阅该博客的人,即时将 RSS 订阅改成 blog.cytrogen.icu 的。一旦个人主页上线,重定向可就没了。
### Webmention 和 Syndication
现在 Fediverse 上的回应,会通过 Bridgy 发送到 Webmention,再展示到博客文章内了。
如果你找到一篇文章,并且往下拉,便能找到 Webmention 区多出了两个内容:
1. 「在 Mastodon 上回应本文」按钮:实际上,使用其他 Fediverse 应用也能回应,并不局限于 Mastodon。目前点击它会直接被导航到我的 Mastodon 帖子,不过最好还是导航到读者使用的实例,之后再考虑怎么实现吧。
2. Webmention 的使用说明。点击该段文字结尾的「详情见营造记」的话,可以看到整个功能所用到的技术和背后的流程。
我就重点说说围绕着 Bridgy 的技术实现吧。Bridgy 要求 Mastodon 帖子包含博客文章的 URL,也要求博客文章里有个带 u-syndication 类的链接指向 Mastodon 帖子。这样的做法被称为 Syndicate。在 IndieWeb 社区,有个原则叫作 POSSE(Publish on your Own Site, Syndicate Elsewhere,在自己的网站上发布、在其他地方联合发布)。因此 Syndicate 这个词汇的意思是「将个人网站上的内容以副本的形式发布或分享链接到第三方」,即「联合发布」。
此时的问题就成了鸡生蛋、蛋生鸡:如何才能在部署时,将 Mastodon 帖子链接给博客文章、将博客文章链接给 Mastodon 帖子呢?
如果是手动操作的话,那自然没有问题了:发布文章、在 Mastodon 上手动复制标题和链接并发一条帖子、拿到 Mastodon 帖子的链接并嵌入到文章内。但我想要搞明白如何将其自动化。
我现在写博客的流程是先在 Emacs 上进行 Capture 行为,写一个条目,接着触发自定义的命令,将条目转换成独立的 Org Mode 文件。转换期间,程序会自动添加我需要的 front matter,这里也包含了 syndicate: true 这样的标识,意味着这篇文章会被联合发布。
接着整理好 Org Mode 文件后,再次触发一条自定义的命令,将 Org Mode 文件转换成 Markdown 文件,然后放在 Hexo 项目的 \slash{}source\slash{}_post\slash{} 目录下。联合发布的脚本在此处便有了用处,使用时,它会扫描 Hexo 项目内所有带 syndicate: true 的文章,取其构建时自动生成的 abbrlink、拼接成完整的博文链接,然后发布到 Mastodon。接着它会把返回的帖子链接,写回 syndication: 帖子链接 front matter。在主题模板中,莫要忘了将该 front matter 渲染成 <a class="u-syndication" href="链接">文字</a>,然后重新触发构建和部署,否则 Bridgy 扫描不到。
Bridgy 会每半小时抓取一次 Mastodon 帖子。不过我的问题并不在这里,而在于我的 Webmention 是静态构建并展示的。因为我不再依赖于 GitHub 和 Netlify 来部署博客,而是在 VPS 上写了个 post-receive 钩子,一旦检测到博客被 git push 到 bare repo,便自动构建和部署到 Caddy 托管的目录内。既然唯一触发构建和部署的方式是通过 git push,那我难道要每半个小时就 git push 一次吗?我会累死的。
我的解决方案是在 VPS 上写一个 cron 定时任务,每半小时从 webmention.io 拉取互动数据。因为 VPS 的内存实在是太少,不可能每半小时就构建一次(我也需要解决 Mermaid 插件会同时启动数个 Chromium 的问题),最好的办法是直接更新已部署的 HTML 文件。
Well, talk is cheap, show me the code... 需要再等一段时间。过去一直在重构博客的样式,但是没有对 Hexo 项目进行重构,以至于硬编码的密钥满天飞。到时候会同样放在 git.cytrogen.icu 上。
类似的「折腾」也可以见 《极客死亡计划书 IV》。阅读完看文章的结尾,你可以看到我的一个回应:提出开发一个 Sourcehut 的 Giscus。我设想的是利用 Sourcehut 的电子邮件列表,让想要参与讨论的读者发送电子邮件,网站则自行处理拉取和渲染该邮件列表。虽然我也提到了这种做法的缺陷,也就是清洗很麻烦,不过如果你点击我那个回应的右上角的小箭头,还可以看到 Chlorine 提出了另一个我没有考虑过的缺点:发公开电子邮件的阻力。
写电子邮件的心智负担会更大,因为电子邮件更像是写正式的信件,有着自己独特的格式要求。我写电子邮件也会注意这些,更不用说平日我都是给教授写电子邮件。然后我会认为,中文互联网独特的一点,便在于「电子邮件完全被抛弃了」。大众有的电子邮箱,恐怕都是注册 QQ 账户送的,平日根本不会使用到电子邮件。几年前我看到有个 Bilibili 的 UP 主想要观众们通过电子邮件投递稿件,却没有想到他的观众全都是根本不会使用,或者说根本没有听说过电子邮件的人,也闹出了一些笑话。
笑归笑,这种事情还真怨不得人家。大家都不使用电子邮件,甚至有部分人认为使用电子邮件是落后的象征。最终导致在中文互联网,除了极客们,恐怕只有在学术相关的事情上人们才会使用电子邮件。
我个人后来思考了很久,难道基于电子邮件的评论系统真的是那么不可取的一件事吗?我认为并不是。撰写电子邮件所带来的 认知摩擦力,能够过滤低质量互动。不得不承认的是,现代互联网的评论区充斥着由多巴胺驱动的冲动型回复和无意义的短句,特地打开邮件客户端、构思主题、组织语言的过程中,会天然阻断这种碎片化的情绪宣泄。至于没有畏惧之心的自动化垃圾邮件攻击,这就不属于社会学范畴的问题了,应当让评论系统的服务器端清洗它们。
目前所有的评论系统,重点可以分为两点:评论本身,以及信息放在哪里。了解数字主权的都明白,将信息数据放在自己手里是最好的,因此和 GitHub 相关的评论系统我认为都不是特别好的选择。比方说 Giscus,虽然方便,也能通过要求读者必须有 GitHub 账户来防止垃圾信息攻击,但是数据是存储在 GitHub Discussion 上的,而 GitHub 并不是一个多么纯良的平台。
而我先前捣鼓的「联合分发」重点在于「连接」。虽然是 IndieWeb 的概念,但 POSSE 并不认为将链接分发到非独立网络是多么糟糕的事情,反正内容都在个人网站上,和人们交流才是最重要的。不过需要警惕的是如果分发到 Twitter 这类毫无隐私可言的社交媒体平台,会让读者们不知不觉地牺牲掉隐私,那还是强迫读者们只能在 Fediverse 上回应我吧——还请加入 Fediverse!
虽然话是这么说,我也没少在别人的 Giscus 上留言,而不是发送电子邮件……
再就是分发到社交媒体平台上,所得到的评论质量。这篇月刊前头已经说过,Mastodon 是微博客平台,重点在于「微」,回应也会随着变得「微」和碎片化起来;电子邮件可以承载更长、更详细的内容,作为辩论确实是再好不过。不过,我并不认为电子邮件因此要比 Fediverse「好」:Fediverse 与电子邮件并不是彼此的替代品,而是能够互补的两个概念。
但我也不希望电子邮件仅是作为「长篇大论」的载体,它有着自己独特的魅力。并且在 Eltrac 的那篇文章下,你还能看到另一个读者表示自己正在远离微博客平台,如果有基于电子邮件的评论系统那真是再好不过了。好吧,这又是另一个话题了:如何设置读者回应的门槛?设置门槛真的可以过滤掉质量不高的回应么?Maybe?不过现在不论是 GitHub 还是 Fediverse,其实都很好注册,更不用说它们都需要的电子邮箱了。
最不应该有的评论系统,是无法验证真身的评论系统。之前在博客圈内便发生过一个事情:无法验证真身的评论系统导致了一条具有攻击性的回应的出现。那件事情正因为「无法验证真身」而不了了之,至于之后围绕着可能由冒充者发送的评论内容展开的讨论,在我看来都没有必要进行下去,因为你无法得知这个评论到底是谁发送的。因此,让读者们自证身份是必要的。
这里的「真身」并不是要求读者实名制,更不是要获取物理世界中的真实身份。我想表达的是「发言者对其数字身份的控制权」。
再有一个是获取 IP 地址、设备信息等的评论系统——你根本不需要这些内容,读者们也不一定想要展示这些信息!读者们可以自证其数字的身份,但是不应当强迫展示除了身份之外的内容。当然,悄悄存储这些信息也是不好的。
=> https://www.geedea.pro/posts/site-report-4/ 《极客死亡计划书 IV》
### 更多的 Slash Pages
上个月 我提到自己添加了 Slash Pages。这个月,我又添加了一些。同样的,你可以在 领地地图 里看到它们。
虽然 Slash Pages 有很多可以选择的,但我认为最好还是添加一些不常更新的内容进去。我会每过一段时间就更换自己的钢笔吗?不会。所以我要写进 /uses 里。我会每过一段时间就说自己听了什么歌吗?会。那就写进月刊里吧。
使用「领地」以及自称「领主」什么的,现在看来还是有点小羞耻啊!
需要说的是,我将二级菜单里的 GitHub 和作品集的链接取下,改为直接放上领地地图的链接。前者现在在 /uses 里,后者则被我从博客网站内完全移除了。
这个作品集呢,其实只是我个人的 portfolio。里面会带一些我现实生活中的信息,想来想去,还是留给那些只认识现实生活的我的朋友们吧。有意思的是,我在尝试使用 Kagi Search 时,测试了一下搜索自己会发生什么。结果在一个介绍 .icu 的文章里,看到作者引用了我这个作品集的设计——虽然这个设计根本就不是我的,只是我使用的一个 Astro 免费模板。
## 音乐
### r-906
> 看起来,如果你将 r-906 的名称写成 R-906 或者 r906 的话,他本人就会精神崩坏并且消失呢。
r-906 是一位 Vocaloid 曲制作人(以下简称 P 主),曲风相当独特,我也在很久之前便关注了他。
这个月想要拿他出来说,是因为发生了一件很是荒诞的事件:上个月,一个自称是 r-906 本人的账号在 BiliBili 上出现,因其拙劣的模仿,引发粉丝们热议。这种事情本来就不少见,荒诞的点在于,r-906 在推特上打假,表示 BiliBili 上的那个账户是假的,却被冒充者倒打一耙、说自己的推特账号被盗取、自己的 IP 在江苏是因为使用了 VPN。
为了解决这件事,r-906 在另一个 P 主的帮助下,开通了 BiliBili 账号,并发布了 2026 版本的《まにまに》,这才将冒充者打跑。
说回他制作的歌曲。我非常喜欢他的《パノプティコン》(以下简称《圆形监狱》)和《三日月(みかずき) ステップ》。曾经有一段时间会去健身房,每次听到歌单里出现他的歌曲,都会让我很惊喜。
说到「圆形监狱」,这是个可以让一个警卫监视所有囚犯的监狱模型。原理是让建筑变成圆形,警卫在最中心,通过百叶窗查看外围的犯人。虽然无法一次性看到所有人,但囚犯们也不知道什么时候自己才会被监视,因此只能假设自己时刻都被监视,从而强迫自己遵守规矩。
> ずっと 見ています
> アナタを見ています
> アナタのすべてが きっと 終わるまで
歌曲开头,从 Sunday 的 S 讲到 Saturday 的 S 后,「我」说「我一直在看着你」。
「你」是一个不被期待、束手无策、毫无用处的人。
「我」什么都知道,因为「我」要比任何人都要靠近「你」。
> ずっと 見ています
> ワタシを見ています
> ワタシが
因为「你」就是「我」。
「圆形监狱」这一概念最为可怕的地方并不在于它物理层面上的设计,而在于被监视的囚犯在内心里为自己构建的牢狱:自我不仅是狱卒,也是囚徒,日复一日不停地监视自己下去。就算深处也想要呐喊「才不是这样吧!」,但极度的自我贬低也只能让自己继续痛苦下去。
## 日记片段
日记片段发布在 Mastodon 上。
=> https://m.otter.homes/@Cytrogen 在 Mastodon 阅读日记片段