




















上班的生活,貌似没有那么糟糕?兴许是因为作为刚入职的实习生,我的工作强度并不高吧。总之,本周我在忙入职和租房的事情,事件之间的空隙也有些喘息和四处游走的时间,生活还不错。
不过我的文化体力还没能恢复,本周打开了加缪的《第一个人》,没怎么读得进去。也写了一两篇文,但都成了废稿,其中一篇的题目叫作《The Only Truth Is Binary》,其实也就名字很酷而已。希望下周能恢复平衡。

Daft Punk
我听说这张专辑的方式很奇妙:我得知我最喜欢的 Taylor Swift 专辑《Red》曾与格莱美年度专辑失之交臂,当时 Taylor 听到主持人故意拖长了 Ra- 这个音节,短暂地激动了几秒钟,实际上当年的得主是 Daft Punk 的《Random Access Memories》。
最近在 Taxodium 的博客再次看到了这张专辑,于是找来听了听,还不错,不过可能更适合还没有被「电音梗」荼毒的人群聆听。要是听一半冒出来的想法是「手机电量满了」,这边建议卸载短视频软件。
喜欢《Giorgio by Moroder》《Touch》和《Get Lucky》。
📻
来自树记者的报道,我很高兴终于在《独树不成林》里听到有关年龄验证的隐私和审查问题了,之前的相关单集都只讨论了「禁止青少年使用社交媒体」这件事情本身有没有用、是否必要、有无隐患等等。这期播客更深入地分析了社交媒体禁令支持者和反对者各自的立场和观点。支持者关心青少年的心理健康(尽管我仍不相信社交媒体使用和儿童心理健康有强相关性,我仍然相信比起禁止儿童使用社交媒体,更应在家庭和社会层面为儿童提供更具吸引力的课外活动),而反对者担忧实施年龄验证的互联网会逐步演变为「一切都需要出示证件才能访问的互联网」,担心政府会借机扩大审查范围。
针对反对者的担忧,乔纳森·海特(《焦虑的一代》的作者,正是这本书在两年内引发了如此巨大的政治反应)表示他要的不是「基于内容的审查」,而是「基于设计的审查」,他反对的是纵容大科技公司对儿童肆无忌惮地使用具有成瘾性的技术。大脑尚未完全发育的儿童面对庞大的技术团队、行为分析和成瘾性设计,并不能进行平等的自由选择。乔纳森·海特反对的是儿童创建账号,也就是禁止儿童与平台建立契约,禁止企业追踪和分析儿童的一举一动。他表示先要有这样的法律制度,科技才会为了满足法律需求而开发技术手段——事实确实如此,我在 第 88 期周刊 分享了谷歌为年龄验证开发的零知识证明库,就是不知道立法者是否真的会花心思了解和采用这种技术。
这样一来,我对乔纳森·海特的观点就有了更多的理解了。不过我很好奇,他是否清楚追踪和分析用户行为并不需要创建账号,浏览器指纹技术可以通过用户的 IP 地址、屏幕尺寸、是否使用夜间模式、浏览器 User-Agent 信息等生成独特的用户指纹进行追踪,网站甚至能通过更阴险的手段跨设备追踪。试着不登录账户使用 YouTube 一段时间,你会发现谷歌能记住你的偏好和行为,除非使用抗指纹的浏览器和插件。不登录的用户,依然能被算法操纵。他的逻辑依旧很难站住脚。
Mother-fucking website
的精神后继之一,暴躁作者劝说开发者,Go 是无聊且可靠的开发语言,不仅不需要框架也能开发,语言本身还不容易让人写出复杂的抽象和难以理解和维护的代码。Go 的编译器自带各种工具链,gofmt 只有一种代码风格,不需要配置 Prettify 也不会因为每个人的代码格式不同而污染 git diff;go test 就可以运行所有测试了,加上对应的 Flag 还能运行覆盖率测试和 Benchmark;go mod 和整个依赖管理系统都安全得感人,go.sum 还提供密码学保护。Go 项目不会有 node_modules 这样的黑洞目录,更不会时不时就出现 NPM 那样的供应链攻击。
我特别喜欢这句话:
Your security team will weep with gratitude.
你的安全团队会留下感动的泪水。
最重要的是,Go 程序可以直接编译成二进制文件。要部署服务,只需要指定操作系统和处理器架构,然后用 SSH 复制到服务器上执行,最多再写一个很短的 systemd 单元文件。
Your Go binary doesn’t care. It compiled and it runs, and it’ll still run in five years on hardware that doesn’t exist yet. Your framework? Deprecated by Christmas, and the maintainer will write a Medium post about burnout.
你的 Go 二进制文件才不在乎。它编译之后就能运行,五年后还能运行在现在还不存在的硬件上。你的框架?圣诞节的时候就被弃用了,维护者会写一篇 Medium 文章说他力竭了。
你不需要去尝试这周刚出的新 JavaScript 框架,也不需要把现有的代码重写成 Rust(说真的,为什么这么多人都在用 Rust 重写,甚至燃烧美元让 LLM 重写出安全性未知的软件?),Go 足够无聊也足够好。我尤其喜欢 gofmt,Clojure 也有类似的 cljfmt 但不如 Go 标准化,人人都用一样的格式化工具真的会让 Git 历史干净很多。
在我看来,Go 作为一门无聊的语言,非常适合工程应用,有望完全替代 Java(说真的,Java 本就不是为 Web 开发而生的,Spring 框架在运行时用反射获取路由的操作真的有点幽默,跟内存不要钱、性能不重要似的)。对于那些需要长久维护的系统,用 Go 不会出问题。Go 的入门门槛也非常低,只要有编程基础,读完文档就能在当天下午立马开始写 Go 代码。当然,不无聊的语言也不是不能用,Clojure 作为非常有趣的语言也在部分领域有实际的工程应用(但作为 Lisp 的一员,普及度可想而知)。如果是写个人项目或玩具软件,用什么技术都不错,开心就好。
📜
看标题以为是用 Go 语言代替 JavaScript 做交互式网页,结果是在浏览器内嵌入异步的 Go 语言解释器,不过也算是有趣的实践。
在浏览器中运行 Go 代码的常见做法是把 Go 程序编译成 WebAssembly,Go 的编译器原生支持这个操作,只需要在环境变量中指定 GOOS=js GOARCH=wasm。作者在试错之后发现这种做法并不符合他的需求,它要求这段程序异步运行在隔离的 V81 环境中,而 GOOS=js 假设程序运行在普通的浏览器环境中,有兼容性问题。正确的做法是指定 GOOS=wasip1,将 Go 程序编译成
WASI
(WebAssembly System Interface),这个开放标准规范化了 WebAssembly 的系统 API,运行在 V8 环境中不会有上述问题。
[1]
V8 是 JavaScript 和 WebAssembly 的引擎,由谷歌开发,用 C++ 实现了 ECMAScript(目前通用的 JavaScript 标准)和 WebAssembly。 ↩︎
之后就很简单了,读取用户输入后用 Yaegi (用 Go 编写的 Go 语言解释器)执行字符串中的 Go 语言代码并返回结果,把这段程序编译成 WASI,嵌入到浏览器中,就能够在网页中运行用户输入的 Go 语言代码了。
文章内容对当下的我没什么用处,但的确是很有意思的实践。WebAssembly 真是神奇的东西,这下几乎所有的现代编程语言都有了共通的编译产物,WASI 统一了 API 之后也方便用不同语言的程序进行交互,总之很有趣。
📄
Minecraft 的快照版本更新也能冲向 Hacker News 榜二吗?这游戏在黑客圈子里还是真是受欢迎啊。简单了解了一下,迁移到 SDL3 大概是给 Minecraft 带来了一些性能提升,也顺带修复了一些 Bug。当然也引入了新的 Bug,比如现在在 Wayland 上打开全屏模式会导致游戏崩溃,不过毕竟是快照版本,正式版发布的时候肯定会修复的。
不过真要解决性能瓶颈的话,能不能把 Java 换掉? 要不你们也用 Agent 把 Minecraft 用 Rust 重写一遍?(你要不听听你在说什么?)
《瑞克与莫蒂》第九季第八集,Rick 早上起来合上的那本书是海德格尔的《存在与时间》。书本封面给了两次特写,但弹幕没有人发现,你站人均文化素养可见一斑。 上次在影视作品里发现认识的书本,是《同乐者》里 Carol 和 Zosia 一起享受生活的那段,Carol 拿的书是《
黑暗的左手
》。
然后…… 时间女神 Jessica 就回来上课啦?所以之前一直没出现是故意的还是偶然?
飞到济南啦,落地之后的感受是:好平…… 为什么道路旁边一座山也没有?第二印象是:我的麻辣香锅为什么没有辣味?!
入职前去公司楼下和附近的商场逛了逛,恍惚之间觉得自己并没有离家很远,大概全国的商场都大差不差吧,只不过在 MUJI 闲逛的时候,店员不会像重庆的店员那样一直跟我说欢迎光临,商场里面也听不见熟悉的重庆方言。不过戴上耳机就好了,我以前不是一直戴耳机吗?
酒店其实挺差的,也就值八九十块一天的价格吧。洗衣房里堆了各种杂物,在房间里面能听到走廊上的各种声音,晚上空调响个不停,还好我无论在哪里睡觉都会戴耳塞和眼罩,这么说我的环境适应力还挺强的。
早上起来收到一封垃圾邮件,大概是面向网站主的,爬了我网站上所有的邮箱地址一起发送,搞笑的是联邦宇宙用户名和 XMPP 用户名也被当作邮箱地址发送了,显示在收件人里。另外这个服务商真有点没边界感,发送邮件里直接把登录密码和用户名给我了,在我不知情的情况下用我的信息创建了账户吗?
本来还想挂一下他们,但看到他们的产品连 UI 都丑得令人发指,就算了,想必会自己垮掉的。
事实证明租房和各种生活攻略都不能看小红书,除非是做旅行攻略之类的,幸存者偏差过于严重了。小红书上所有人都在说济南全是黑中介,但我今天临时找的中介倒是非常专业和认真负责,一直在帮我筛选,和房东商量租期和租金。大概不要在稀奇古怪的角落找中介就不会有问题。
另外,这是第二次看房子看一半,发现中介和我是同专业的…… 学计算机的学长学姐们为什么这么多去当房产中介了?
看房子腿快走断了……
上班第一天,进门时非常局促,一个人也不认识,找了最近的一个同事问运维坐哪儿,因为要找他安排设备和工位。后来发现他也是实习生。运维当时应该是在忙,就给我指了下位置,我以为他只是让我临时坐一下,所以就焦虑地原地刷起手机来了……
十多分钟后他把相关文档发给我,等了一会儿才过来,当他把电脑打开的时候我才发现用户名已经是我的名字了。草,所以我等于是刚来上班就坐工位上刷了十几分钟手机吗?
其实刚进门的时候还转身进了厕所缓缓…… 真的,不要让 ASD 一个人应对这种场合啊!
电脑竟然是 RoG,有 64 GB 内存,机箱甚至还带 RGB 灯带,显示器目测是 27 寸吧。除了键盘卡卡的,准备换自己的机械键盘之外,配置有些过于高端了。这真的是给实习生用的吗?老板大气……
团建,依旧不认识人(是的,入职第二天就赶上团建了,而且还是周五团建),于是闷头干饭。路上被同事误认成其他同事的家属,以为是谁带了个弟弟过来。
至少认识了一些人,最后躺在酒店房间里和前辈打牌,学会了斗地主。真是收获满满啊。
交房后花两百多块钱在美团上找了家政,预订了六个小时的深度清洁,回来验收的时候发现各个角落还有明显的灰尘,貌似也就收拾了厨房、擦了玻璃和地板。其实只过了三个小时阿姨就打电话说做完了,走的时候还念叨着已经超时了,由于当时出门在外干别的事情,再加上阿姨口音太重实在听不清楚,人走了之后我才反应过来。
所以实际上是沟通问题,阿姨以为只用做三个小时。这也从侧面反映了这家公司的办事流程不够专业。我消费的时候,服务描述明明写得明明白白,阿姨那边的信息却是不对等的,真是令人不省心。事情太多我实在没心思跟商家拉扯。果然最后还是要自己收尾吗?
后来发现京东和盒马也有保洁服务,不知道会不会靠谱一些…… 不过我也就交房的时候叫保洁,平常我是很喜欢自己做清洁的。
住惯了带密码锁的房子,交房后拿到钥匙就开始焦虑起来。不想花钱换密码锁(主要是不想社交,换锁的话要和房东商量),又担心自己丢三落四弄丢钥匙,于是连夜下单了 AirTag…… 我知道,性价比很低的选择,但确实好用。
拿到手的第一天就用上了,钥匙揣兜里,收拾床铺的时候滑倒了被子下面。能播放音效找起来确实很方便。
分享刚才看到的双关笑话,试图缓和气氛:

如果硬要翻译,我觉得可以译作:“磕到了。”2
[2]
解释笑话挺没劲儿的,但如果你没看懂,这是解释:ship 这个词坐动词的时候除了有「运输(货物)」,还可以表示「磕(CP)」。译文中的「磕」除了「磕(CP)」,还表示船头碰到了一起。 ↩︎
这下气氛可算是冷下来了。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。