diff options
| author | eltrac <hi@eltr.ac> | 2026-03-02 00:19:12 +0800 |
|---|---|---|
| committer | eltrac <hi@eltr.ac> | 2026-03-02 00:19:12 +0800 |
| commit | 29a9603893937c9be0d5551b53fbd243ae2f7609 (patch) | |
| tree | 3ab1ed8c2f5e2615eeb089042744a63972e0b1d5 | |
| parent | e383b51f9af9512fc2187df436218c0988faf46b (diff) | |
docs: new weekly
| -rw-r--r-- | content/glossary.md | 1 | ||||
| -rw-r--r-- | content/posts/weekly/70.md | 73 |
2 files changed, 63 insertions, 11 deletions
diff --git a/content/glossary.md b/content/glossary.md index 942101db..16f21bce 100644 --- a/content/glossary.md +++ b/content/glossary.md @@ -38,6 +38,7 @@ toc = true | 本地优先 | 数据储存在用户的计算机上,不联网也能正常访问 | local-first | | 自容(性) | 不需要依赖外部资源就可以直接使用 | self-contained | | 自带电池 | 类似于「开箱即用」,表示某软件产品的所有功能只需要其本身就有的部件就能完全使用,不需要安装其他软件 | battries-included | +| 自由软件 | 可以自由运行、研究、更改,以及分发未更改或更改后副本的软件;类似「开源软件」,但不同,详见[此处](/posts/weekly/70/#floss-和-foss) | Free/Libre Software | ### 人文社科相关 diff --git a/content/posts/weekly/70.md b/content/posts/weekly/70.md index 9236ae51..8c3e1b7a 100644 --- a/content/posts/weekly/70.md +++ b/content/posts/weekly/70.md @@ -1,16 +1,29 @@ +++ title = '稻草人周刊 Vol.70' -subtitle = '' -slug = '' -tags = [] +subtitle = '被赋予的自由不是自由' +tags = ['软件','技术','自由','健康','生活'] categories = '稻草人周刊' -date = 2026-03-01 10:28:16 -draft = true +date = 2026-03-02 00:18:59 +draft = false toc = true +++ {{< music cover="https://r2.eltr.ac/geedeapro/posts/weekly/70/Dark_Side_of_the_Moon.png" title="The Dark Side of the Moon" artist="Pink Floyd" apple="https://music.apple.com/cn/album/the-dark-side-of-the-moon-50th-anniversary-remastered/1665303755?l=en-GB" spotify="https://open.spotify.com/album/4LH4d3cOWNNsVw41Gqt2kv" >}} +这是一张上世纪七十年代发行的摇滚专辑,是 Pink Floyd 乐队发行的第八张录音室专辑,名为《月之暗面》。我最喜欢的一首是 Brain Damage(脑损),不过,我建议你一定要从头到尾把专辑听一遍。专辑不长,只有十首歌,一共四十多分钟。这首 Brain Damage 和下一首 Eclipse(日食)连接非常顺滑,让不仔细听的人觉得是同一首歌,整张专辑都用这样的衔接串联了起来,最后以心跳声结束。 + +> And if the dam breaks open many years too soon <br /> +> 如果大坝早了许多年破裂 +> +> And if there is no room upon the hill <br /> +> 如果山丘上已经没有位置 +> +> And if your head explodes with dark forebodings, too <br /> +> 如果你的头脑也因不详的预感爆开 +> +> I'll see you on the dark side of the moon <br /> +> 我和你会在月之暗面相见 + <!--more--> ## 连接 @@ -28,7 +41,7 @@ toc = true 既然有两派之分,自然也有中立派。中立派使用「自由和开源软件」这个词,即 FOSS(Free and Open-Source Software)。这个词没能解释「Free」的真正含义,所以有人会使用法语或西语单词「Libre」来准确表达「自由」的意思,继而有了 FLOSS(Free/Libre Open-Source Software)这个词。Richard Stallman 在文中表示,自由软件运动的参与者不会使用 FOSS 或 FLOSS,因为这个词把 Free Software 切分开了,把注意力给了 Open-Source;应该使用 Free Software 或者 Libre Software 这个词。 -至于我的态度,抛开别的不谈,如果只用言简意赅的程度来评判,我不得不说,「自由软件」是更好的词。此外,FOSS 和 FLOSS 作为缩略词,理解门槛会更高一些,而且中文里还是尽可能少夹杂英文比较好。 +至于我的态度,抛开别的不谈,如果只用言简意赅的程度来评判,我不得不说,「自由软件」是更好的词。此外,FOSS 和 FLOSS 作为缩略词,理解门槛会更高一些,而且中文里还是尽可能少夹杂英文比较好[^2]。 ### 被赋予的自由不是自由 @@ -54,12 +67,12 @@ toc = true 所以,教训就是:不要买看起来很奇怪的 TLD。 -### 跟傻逼相处会变老得更快 +### 跟*蠢货*相处会变老得更快 > [!note] 📃 > [Negative social ties as emerging risk factors for accelerated aging, inflammation, and multimorbidity](https://www.pnas.org/doi/10.1073/pnas.2515331123) -我只读了摘要,所以会有疏漏。 +这是一篇科学研究,我只读了摘要部分,所以会有疏漏。 简单来说,负面的社会联系(negative social ties)会加速衰老和增加疾病发病率,其中衰老是通过基于 DNA 甲基的衰老生物钟测量的(DNA methylation-based biological aging clocks)。文中把这种负面的社会联系称作 Hassler(纠缠者),并发现研究中 30% 个体都报告他们的社交网络中,至少有一位 Hassler。Hassler 一般占据社交圈的外围,属于弱连接。女性、烟民、不健康者和有着恶劣的童年经历的人,更容易遇到 Hassler,这形成了规律:在社交层面易受攻击(vulnerable)、在健康层面易受病扰的人更容易遇到 Hassler。所以,我猜,如果要尽可能少遇到这类人,应该要变得足够自信和强大才行。 @@ -75,6 +88,8 @@ toc = true 不过我找了半天,也没有找到提交网站的地方,内容兴许都是创始人亲自挑选和收录的吧。 + + 访问:[Internet Phone Book](https://internetphonebook.net/) ### SplatHash @@ -83,20 +98,48 @@ toc = true 这个算法也有缺点,是我的个人观点:生成出来的模糊图片太丑了。 + + 访问:[junevm/splathash](https://github.com/junevm/splathash) ### Stop Tahoe Update -Stop Tahoe Update(停止 Tahoe 更新)是由社区维护的项目,帮助不想更新到 macOS Tahoe 的用户留在 Sequoia 等稳定版本上。目前这各项目提供了 Device Management 的配置文件,通过这个配置文件,用户能够推迟 macOS 更新最长 90 天,具体效果是: +Stop Tahoe Update(停止 Tahoe 更新)是由社区维护的项目,帮助不想更新到 macOS Tahoe 的用户留在 Sequoia 等稳定版本上。目前这个项目提供了 Device Management 的配置文件,通过这个配置文件,用户能够推迟 macOS 更新最长 90 天,具体效果是: 1. 阻止「今晚安装」和「立即安装」的提示。 -2. 组止系统设置中「有新版本」的数字提示。 +2. 阻止系统设置中「有新版本」的数字提示。 3. 检测并选择性阻止 macOS 系统应用的安装。 我的 Mac Mini 安装了 Tahoe,但我的主力机 MacBook 还是 Sequoia,我也不打算更新。我时常会收到系统更新提示的骚扰,这个项目帮助很大。顺带一提,我觉得这句话我永远也说不够:*macOS Tahoe 毁了 Safari!* 访问:[travisvn/stop-tahoe-update](https://github.com/travisvn/stop-tahoe-update) +## 当下 + +### 平淡无奇的日常 + +本周是待在老家的最后一周,周末就回家了。回去之前除了每天给弟弟补习英语,偶尔出门闲逛,坐在及其不舒服的桌椅上看剧和玩网,以及读读书和写写代码之后,就没干别的了。 + +唯一的例外是周二出门和高中同学玩剧本杀,两三年没见面,感觉大家都没怎么变。不过,倒是有不少人惊讶我瘦了好多,还挺爽的。剧本是不用带脑子玩的类型,很俗套的家庭纠葛,结婚、争彩礼嫁妆、离婚、分财产和抚养权…… 不过倒是有很多吵架和演戏的情节,非常戏剧化,玩得还算开心。 + +*我真的是个内向者吗?* + +在老家的几周,每天都想出门闲逛,但又找不到地方去。回家之后,倒是每天都想在家待着,要逼自己多出门走走,取个快递、倒倒垃圾之类的。在家多快乐,走出书房就可以去吧台给自己冲杯咖啡,冰箱里没有被喜好囤积的老人塞满不知道是什么的冻货,每个地方都是干净整洁的。 + +### 就决定是你了,口呆花! + +[Weepinbell](https://codeberg.org/eltrac/weepinbell) 稳步开发中(指周日的时候突然想起来自己打算用 Clojure 写个 Webmention 接收端,这才 `cd` 进项目目录)。周中把 [Webmention 规范](https://www.w3.org/TR/webmention/)里有关接收端的部分仔细读了一遍,发现这真的是一项非常简单的技术规范,门槛并不高,只是知名度太少,导致普通用户没有开箱即用的选择。 + +简单到什么程度呢?大概就是发送端只需要向接收端发送一个 POST 请求(只包含 `source` 和 `target` 两项数据,表单格式,不用 JSON),而接收端也只需要处理这一个 POST 请求,检查一下 URL 是否合法、有没有自己引用自己的情况、爬一下 `source` 看看是不是真的引用了 `target`。除了规范要求 Webmention 验证应该异步进行之外,就没有太多其他的技术规范了,收到 Webmention 之后要怎么存储、怎么展示、作何处理,都是接收端自己决定。 + +用 Clojure 编写 Web 应用的体验也很好,可以直接偷 Java 生态的库来用(比如,我验证 URL 的时候就用到了 `apache.commons.validator`,提取域名的时候用到了 `java.net`)。由于需要异步编程,还研究了一下 `clojure.core.async` 库,发现 Cloure 竟然支持和 Go 语言类似的并发模型,有 `go` 和 `chan`,没想到偷完 Java 生态,还能偷 Go 的异步编程最佳实践来用,而且能复用编写 Java 和 Go 两门语言的程序的经验,真的很舒服了。 + +处理 Webmention 很显然需要一个消息队列:把所有待处理的 Webmention 都放在一个 `channel` 里(在 Go 语言里是`c := make(chan type)`,在 Clojure 里是 `(def c (chan))`),然后启动一个或多个 `goroutine` 从 `channel` 里取出 Webmention 对象,爬取 `source` 验证是否包含引用,确认无误之后存入数据库,这些都可以轻松地异步执行。不过 Clojure 里应该是没有 `goroutine` 这个东西了,不知道底层是不是 Java 那臃肿的 `Thread`。无论如何,能够直接写 `(go ...)` 进行并发就已经很好了。 + +至于存储,我还在思考选用什么数据库。尽管在部署应用时常用 SQLite,但开发时我只用过 MySQL 和 MariaDB。我想,这正好是尝试新技术的机会,而且 Webmention 相互没有关联,数据结构并不复杂,兴许用 NoSQL(非关系型数据库)很合适,正好可以试试 MongoDB。另外的选择是用 SQLite 存储 JSON 数据,或者直接把所有 Webmention 都放在一个 JSON 文件里。这些都是下周要去做的事情了。 + +最后解释一下为什么项目名字叫 Weepinbell 吧。因为不想起名字,又受 [Repokemon](https://cheeaun.github.io/repokemon/) 启发,决定选一个宝可梦的名字。一开始想取 Web(网络/蜘蛛网)的意思,选个配色和 Clojure 的蓝绿色调相似的宝可梦,所以看上了滴蛛(Dewpider)。不过本人很讨厌蜘蛛,而且 mention 这个词也完全没体现出来。最后翻来翻去,选择了口呆花(Weepinbell)的名字。因为前两个字母 `We` 和 Webmention 的前两个字母相同,而后面的 `bell` 一词意为「铃铛」,可以表示「通知」,而 Webmention 本身的用途就是通知,通知作者他的内容被另一个站点上的内容引用了。 + ## 切片 - “哈!你用浏览器编辑文本。” —— NeoVim 的主要贡献者 TJ DeVries 在 [2024 年 VimConf](https://www.youtube.com/watch?v=5u604lTkGAY) 劝告 (Neo)Vim 用户们不要用这种话说服别人使用 (Neo)Vim。 @@ -106,7 +149,7 @@ Stop Tahoe Update(停止 Tahoe 更新)是由社区维护的项目,帮助ä¸ ~~可是,VS Code(以及 Cursor 等 VS Code 分支)就是浏览器啊!~~ *逃离现场。* -- 看到日本网站丑丑的设计反而觉得有点喜欢,大概是因为喜欢多样性,扁平、单色、冷静、克制的设计看太多了,不免有些乏味。([相关链接](https://sabrinas.space/))最近在 IndieWeb 上闲逛的时候,也看到了一些不太主流的设计,也是个性的体现吧。 +- 看到日本网站丑丑的设计反而觉得有点喜欢,大概是因为喜欢多样性,扁平、单色、冷静、克制的设计看太多了,不免有些乏味。([相关链接](https://sabrinas.space/))最近在 IndieWeb 上闲逛的时候,也看到了一些不太主流的设计,我想这是个性的体现,比在主题商店找到的好看模板更吸引人。 - 想把旧电脑的硬盘拆下来做成移动硬盘,硬盘盒已经买好了,结果我拆电脑的时候被父亲撞见。 他:电脑留给我用,硬盘我给你买一个。 @@ -116,7 +159,15 @@ Stop Tahoe Update(停止 Tahoe 更新)是由社区维护的项目,帮助ä¸ 他:没事,要好多钱你给我说嘛。 于是我现在有了一个 2TB 大小的移动 SSD,目前用来备份 iCloud、S3 储存桶和服务器,兴许还会存点音乐和剧什么的吧。感觉可以做一个末日[^1]生存包,存一些音乐和《老友记》全集,应该能维持很长一段时间的 san 值健康。 +- 又买了管道疏通剂,尝试疏通浴室的地漏。用完一整瓶疏通剂之后才发现,水排得慢并不是因为管道堵塞,而是滤网的设计缺陷。说是设计缺陷毫不夸张,因为那个金属滤网上有一个类似盖子的结构,会在安装上之后挡住排水口,只留下非常小的缝隙;而盖子旁边是环形的凹槽,那里会积水,大概是和管道形成了类似连通器的结构,凹槽水满了之后会从盖子的缝隙流到管道里。 + + 这貌似是给水量不大但有排水需求的场所使用的滤网,能够有效拦截固体避免堵塞,但根本没办法在淋浴时有效排水,房东装这房子的时候是怎么想的? + 室友:能不能把滤网翻过来用? + + 如果忽略掉那个朝上的盖子,洗澡时小心不要踩在上面的话,排水就很顺畅了…… 忍了半年的积水问题,竟然是这个原因吗…… [^1]: 指断网。 + +[^2]: [用词](/glossary/#:~:text=battries%2Dincluded-,%E8%87%AA%E7%94%B1%E8%BD%AF%E4%BB%B6,-%E5%8F%AF%E4%BB%A5%E8%87%AA%E7%94%B1%E8%BF%90%E8%A1%8C)页面已更新。 |
