diff options
| author | eltrac <hi@eltr.ac> | 2026-04-27 00:21:40 +0800 |
|---|---|---|
| committer | eltrac <hi@eltr.ac> | 2026-04-27 00:21:40 +0800 |
| commit | fe142f7cbca5f40039e089fa114452fc819d2d24 (patch) | |
| tree | e88bd63238d904fa79192e9e470afaa97865ee67 /content/weekly | |
| parent | f246897a28572c76a82bc52cbc5b875bd2b4b5bf (diff) | |
[weekly] update draft
Diffstat (limited to 'content/weekly')
| -rw-r--r-- | content/weekly/78.md | 67 |
1 files changed, 58 insertions, 9 deletions
diff --git a/content/weekly/78.md b/content/weekly/78.md index 08c3bf07..db329907 100644 --- a/content/weekly/78.md +++ b/content/weekly/78.md @@ -1,6 +1,6 @@ +++ title = "稻草人周刊 Vol.78" -subtitle = "" +subtitle = "像照顾狗一样照顾自己" tags = [] date = 2026-04-26 15:42:57 draft = true @@ -17,7 +17,9 @@ Blah, blah. {{< music album=true cover="https://img.eltr.ac/geedeapro/weekly/78/this-music-may-contain-hope.jpg" title="THIS MUSIC MAY CONTAIN HOPE." artist="Raye" lucida="https://lucida.to/?url=https%3A%2F%2Fmusic.amazon.com%2Falbums%2FB0GJ4LCJY8%3FmusicTerritory%3DUS" apple="https://music.apple.com/us/album/this-music-may-contain-hope/1871085677" spotify="https://open.spotify.com/album/3ZN01xzenGMhWHdC5kfAe9" neodb="https://neodb.social/album/7cfztnNQgdjuJ0yYQ06bIi" >}} -一张听起来有剧院感的专辑,Raye 的嗓音很好听,哪怕是「报幕」也很有质感。专辑是一场完整且连续的剧目,Raye 甚至会在歌曲的开头告诉你这首歌叫什么名字,总之形式上还挺新颖的。专辑里也包含了不少私人情感,我尤其喜欢《I Hate The Way I Look Today.》,不阳光、不积极,但也不丧、不绝望,恰到好处地阴郁和自嘲,听这首歌的时候我想起了告五人的《啊我忘了带伞》。 +一张听起来有剧院感的专辑,尤其是最后一首《Fin.》,非常像音乐剧的原声带,*另外你怎么还把致辞放在专辑里面啊哈哈哈*。 + +Raye 的嗓音很好听,哪怕是「报幕」也很有质感。专辑是一场完整且连续的剧目,Raye 甚至会在歌曲的开头告诉你这首歌叫什么名字,总之形式上还挺新颖的。专辑里也包含了不少私人情感,我尤其喜欢《I Hate The Way I Look Today.》,不阳光、不积极,但也不丧、不绝望,恰到好处地阴郁和自嘲,听这首歌的时候我想起了告五人的《啊我忘了带伞》。 --- @@ -38,10 +40,16 @@ Blah, blah. 不过我想人和狗最大的区别在于,人(至少是我这样的人)很难保持高能量和对一切充满热情的状态。至少我常常在保持两天的规律作息之后突然力竭,接下来的两天又陷入了不知道自己在做什么的状态,我想这是我下周需要实验和搞明白的课题。 -### 我们一天也没有聊点诗意的东西 +### 万维网是个吉他音响(字面意思) > [!note] 📜 -> [我们一天也没有聊点诗意的东西](https://goldenriver.site/posts/we-spoke-no-poetry/) +> [The Web is a Guitar Amp Now (Literally)](https://www.silverorange.com/blog/the-web-is-guitar-amp) + +不是比喻,就是事实,你可以把吉他插进电脑的接口,然后在一个网页上捕捉音频,再用耳机或者别的音响设备收听。这得益于 [Web Audio API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API) 允许网站访问音频输入,以及 [WebAssembly](https://webassembly.org/) 使得浏览器上可以运行低层次代码(毕竟 JavaScript 的性能实在不敢恭维),以获得和原生应用比肩的速度,当然还有背后的开源软件 [NEURAL AMP MODELER](https://www.neuralampmodeler.com/)。 + +总而言之,作者感叹 Web 比以前变得更加强大的,甚至可以代替不少原生应用(尽管严格来说,直接造成这些改变的应该是前端技术的进步而不是整个 Web)。不过我总感觉很多人还是把前端和 UI 当成一回事,听了这些老登言论的小登也对前端开发抱有偏见,甚至都没有去探索前端的真面目,~~一头栽进了 Spring Boot 这个怪兽里~~,至少我身边的人是这样。唉。 + +不过,在前端技术变得越来越强大的同时,也需要警惕,有意识地去控制 JavaScript 脚本的运行,像对待安装在自己电脑上的软件一样严格地对待网页应用。[^1] ### 容器化是必要的吗? @@ -60,6 +68,19 @@ Blah, blah. 所以我权衡取舍的结果就是:我的软件全部以服务的形式跑在宿主机上,不需要容器化。 +### 我们一天也没有聊点诗意的东西 + +> [!note] 📜 +> [我们一天也没有聊点诗意的东西](https://goldenriver.site/posts/we-spoke-no-poetry/) + +读完之后有很多感受,但一个字也写不出来。大概是因为我最近也在被迫思考很多现实的事情,却不想放弃自我和理想,可我某天猛然发现,我好像已经不知道自己的梦想是什么了。在二十岁的年纪失去目标,应该还挺普遍的,但的确很可怕。 + +我记得一两年前,我的目标是游戏开发者,很巧,我那个时候的室友也有同样的想法。如今看来,这像是老天在给我提供人脉,可我躲掉了,也不能怪我,我不喜欢他的性格,重新分宿舍的时候我刻意填了不要和他待在一个寝室。再过了一会儿,我直接搬离了寝室。回忆起来,开始走读的那段时间,就是我彻底放下游戏设计和游戏开发的时间。之前的我想要去留学,因为国内没有我想要的游戏设计专业,被我父亲以「中国就是最好的」否定了,在那之后,我陷入了漫长且痛苦的迷茫期。我完全不知道自己该干什么。[^3] + +是的,我最熟悉的是前端技术,我也完全可以做全栈开发,但…… 他们更像是务实的选择,不是诗意的理想,换句话说:*没有使命感*。到现在我也似乎再也想不明白我到底想做什么了,而我又处在这样一个阶段,所有人都要求我把一切精力都上交给残酷的现实,而这些人,说实话,他们也不知道该怎么办。 + +兴许我不该从事业中找寻诗意(这句话写出来我才发觉它有多么可笑),而是应该尽力在有限的属于自我的时间里去找寻快乐,去好好生活。具体应该怎么做呢?我不知道,或许我应该先把自己的生活梳理清楚吧。 + --- ## 星群 @@ -68,13 +89,19 @@ Blah, blah. 使用 Guile Scheme 编写的原子 CSS 框架,类似 TailwindCSS 和 UnoCSS。最大的优势是它完全不依赖 NPM 和 JavaScript 生态。在我看来这对 Hugo 等不使用 JavaScript 或 TypeScript 编写的静态网站生成器来说尤其有用,当然也适用于其他各种语言。正好我一直在找不依赖 NPM 的原子 CSS 引擎,因为我想从博客的构建流程中移除 PNPM,之前我在 UnoCSS 的 Issues 里找到过相关的讨论,主要维护者表示「不使用 JavaScript 的 UnoCSS 没有意义」。当时我还想把他们的 CLI 单独打包成二进制文件,可惜技术能力有限。如今看来 Olive CSS 是近乎完美的替代品。 -不过目前 Olive CSS 还没有实现 Tree-shaking,也就是不能自动移除没有用到的 CSS 类。我提了个 [Issue](https://codeberg.org/jjba23/olive-css/issues/1),作者表示它的确想要加上这个功能,不过近期还不会加上。我在考虑学 Scheme 去帮忙开发,但我的速度大概不会比 [Joe](https://codeberg.org/jjba23) 自己动手来得快。 +Olive CSS 没有实现 Tree-shaking,也就是不能自动移除没有用到的 CSS 类。我提了个 [Issue](https://codeberg.org/jjba23/olive-css/issues/1),作者表示它的确想要加上这个功能,但近期还不会加上。我在考虑学 Scheme 去帮忙开发,但我的速度大概不会比 [Joe](https://codeberg.org/jjba23) 自己动手来得快。 + +--- + +然后我提 Issue 的第二天有只[狐狸](https://codeberg.org/southfox)就飞快地提了 [Pull Request](https://codeberg.org/jjba23/olive-css/pulls/2)。*可怕,实在可怕。* + +我还没来得及研究怎么使用这个库,毕竟我不熟悉 Scheme,这应该是我下周会做的事情。我准备用 Olive CSS 替代 UnoCSS,这样就可以移除网站的 PNPM 依赖了。最近 NPM [又被投毒了](https://www.appinn.com/bitwarden-cli-npm-supply-chain-attack-2026/),这次是 Bitwarden CLI(命令行工具就别用 JS/TS 写了吧!),真害怕下一次就轮到我用的库了…… PNPM 似乎有规避供应链攻击的手段,但我还没仔细研究,如果不是做复杂和大型的前端开发,还是想尽量离 Node.js 生态远一点。 访问:[jjba23/olive-css](https://codeberg.org/jjba23/olive-css) ### url.town -[omg.lol](https://home.omg.lol/) 社区维护的万维网目录(Web Directory),我之前在《[带着鸭鸭和狗狗逃离咕噜咕噜](/article/search-engines/)》里介绍过这种目录。在现代搜索引擎还没有诞生的时候,人们手动维护目录,安装类别归类各种网页,这就是当时的人们在万维网上发现新东西的方式。url.town 也是这种模式,十分复古,在上面能找到社区成员手动挑选和添加的链接,是发现高质量新鲜内容的好地方(不过里面的很多链接你可能已经很熟悉了)。 +[omg.lol](https://home.omg.lol/) 社区维护的万维网目录(Web Directory),我之前在《[带着鸭鸭和狗狗逃离咕噜咕噜](/article/search-engines/)》里介绍过这种目录。在现代搜索引擎还没有诞生的时候,人们手动维护目录,按类别归类网页链接,这就是当时的人们在万维网上发现新东西的方式。url.town 也是这种模式,十分复古,在上面能找到社区成员手动挑选和添加的链接,是发现高质量新鲜内容的好地方(不过里面的很多链接你可能已经很熟悉了)。 访问:[url.town](https://url.town/) @@ -97,11 +124,11 @@ User-agent: * Disallow: /naughty-bots ``` -这样所有听话的爬虫(比如搜索引擎爬虫)都会乖乖地不去动 `/naughty-bots` 路径下的内容,而那些贪婪的、什么都想要的爬虫就会掉进陷阱里。当然,爬虫程序忽略 `/naughty-bots` 路径很简单,所以 Miasma 允许自己配置路径,如果你的文章都在 `/article` 路径下,那么使用 `/post` 路径就不容易被差觉。 +这样所有听话的爬虫(比如搜索引擎爬虫)都会乖乖地不去动 `/naughty-bots` 路径下的内容,而那些贪婪的、什么都想要的爬虫就会掉进陷阱里。当然,爬虫程序忽略 `/naughty-bots` 路径很简单,所以 Miasma 允许自己配置路径。 -我的 [Forgejo 实例]也使用了反爬虫策略,由于不需要 SEO 所以就无差别禁止了,也没有做投毒。Codeberg 使用的应该也是类似的方法,我参考的是 [Yann Esposito 的文章](https://her.esy.fun/posts/0031-how-i-protect-my-forgejo-instance-from-ai-web-crawlers/index.html),简单来说,除了 `User-agent` 是 `git` 和部分特殊路径的请求,都默认返回一个只有 `<script>` 的网页,这个脚本往用户的 Cookies 里写入一个字段,然后刷新页面;拦截器不拦截带有这个 Cookie 的请求,所以刷新后直接放行。由于爬虫不执行 JavaScript 代码也没有 Cookie,就会被这种简单的手段拦截。 +我的 [Forgejo 实例](https://src.eltr.ac/)也使用了反爬虫策略,由于不需要 SEO 所以就无差别禁止了,也没有做投毒。Codeberg 使用的应该也是类似的方法。我参考的是 [Yann Esposito 的文章](https://her.esy.fun/posts/0031-how-i-protect-my-forgejo-instance-from-ai-web-crawlers/index.html),简单来说,除了 `User-agent` 是 `git` 和部分特殊路径的请求,都默认返回一个只有 `<script>` 的网页,这个脚本往用户的 Cookies 里写入一个字段,然后刷新页面;拦截器不拦截带有这个 Cookie 的请求,所以刷新后直接放行。由于爬虫不执行 JavaScript 代码也没有 Cookie,就会被拦截。 -这种做法的缺点是,它也错误地拦截了那些禁用 JavaScript 或 Cookie 的用户,所以只能在拦截器页面留下一段说明,友善地请用户打开 JavaScript。不过 Miasma 不会直接拦截整个请求,而是在普通的页面里留下陷阱,大概是更好的做法。 +这种做法的缺点是,它也拦截了那些禁用 JavaScript 或 Cookie 的用户,所以只能在拦截器页面留下一段说明,友善地请用户打开 JavaScript。不过 Miasma 不会直接拦截整个请求,而是在普通的页面里留下陷阱,大概是更好的做法。 访问:[Miasma](https://github.com/austin-weeks/miasma) @@ -111,3 +138,25 @@ Disallow: /naughty-bots - 个人主页新增了 [/speaks](https://www.eltr.ac/speaks/) 页面,列出了我会说、正在学和想学的人类语言。 - `/glossary` 现已登录 [slashpages.net](https://slashpages.net/),你可以查看我的 [/glossary](/glossary) 页面。我最近发现 RMS 也有 [glossary](https://stallman.org/glossary.html),他给…… *特朗普取了很多外号*。 +- 因为大量依赖自托管服务,为了防止失联,做了很多措施。首先是邮件服务完全依赖靠谱的提供商(位于瑞士的 [Migadu](https://migadu.com/),这个国家有着全世界最严格的隐私法律)。这周我还在 xmpp.earth 这个公开实例上注册了 XMPP 账号(`eltrac@xmpp.earth`)备用,自建的 Matrix 服务器意外下线时使用,也和一些不用 Matrix 的 XMPP 用户联络。 + + 我的联邦宇宙账号也在自建的 Akkoma 实例上,所以我也找了个看起来不错的公共实例注册备用账号,顺便用来发英文内容,和英文使用者社交(毕竟我的主账号大多数时候都只发中文内容)。这个账号是 [@eltrac@tech.lgbt](https://tech.lgbt/@eltrac)。 + + 另一个措施是(前文提到过)把一部分服务迁移到了另一个 VPS 上,使用不同的服务提供商,这样如果一台服务器爆了,另一台多半也在线。 +- 新 VPS 装了 Arch Linux 和 [Guix](https://guix.gnu.org/)。Arch 我还算熟悉,但 Guix(虽然很像 Homebrew)还是太新了。我在配置频道的时候硬跑了好几次 `guix pull`,因为 VPS 的 CPU 性能太差导致每次拉取都要跑十多分钟…… 再者我还没有学会 Scheme,所以…… 下周再说吧。 +- 最近的主线和支线: + - 读书,读一些技术相关的书,也重新开始读哲学。目前正在读《Functional Design》和汉娜·阿伦特的《人的境况》(*你怎么知道我有仲树老师亲笔签名的版本?*) + - 做学校的项目,也算提前为毕业设计做准备。由于不想手写所以高强度使用 Coding Agents(DeepSeek API 好便宜,我爱你……)。有意识地优化架构和提供清晰的系统设计思路的话,即便用很一般的模型效果也不会差(就是 Debug 的时候会难受很多,还得自己亲自下场)。唯一的乐趣是在这个项目里嵌入了一个轻量级 Lisp 方言当作脚本语言(Lisp 真的很方便嵌入其他语言欸),最大的败笔是为了讨老师欢心,要往里面加上不少 LLM 功能。[^2] + - 消遣时写 Lisp 代码,有写 Clojure 推进某个 Side Project,也在用 Fennel 配置 Neovim,最近还打算学 Scheme。我严重怀疑学校项目不想手写的很大一部分原因是我连 Go 代码都不想写了,*哼哼,什么时候可以用 Lisp 做前端开发?* + - 开了个《饥荒联机版》单人档,每天晚上固定上线,某天在一天之内打了三个 Boss,下线的时候还在为打另一个做准备…… 总之非常解压,是维持 san 值稳定的好方法。 + + 我发现火女薇洛真的是最适合我的角色,没有队友就把小熊放下来一起暴揍怪物,还不需要像韦伯和沃特那样培养一大堆军队才能上场。小熊还能吸引仇恨,对付影怪,不需要了就收起来放包里,没血了就用缝纫包缝好。这种又方便又可靠的伙伴只能在游戏里找到了吧!获得技能树之后能喷月火也很方便,清群怪堪比温蒂,拉远一点还能用来无伤打克劳斯。 + + 说起来,我有点想自建一个 PeerTube 实例录点游戏实况,不知道会不会有人看。 +- 唔,也算是暂时把我的生活梳理清楚了吧。 + +[^1]: 参见:《[什么毁了 JavaScript?](/article/js-problem/)》 + +[^2]: *等等,这好像是本周刊的禁忌话题…… 正文里没有出现就好……* + +[^3]: 相关文章:《[写在 2026 的开头](/posts/almanac/2025-wrapped/#创业未半而)》 |
