文章 链接到标题

技术 链接到标题

Using less memory to look up IP addresses in Mess With DNS

一个 [[Golang]] 程序的内存使用优化过程记录,先是尝试了一些其他的方案,比如 SQLite,trie,都放弃了。最后一点点通过 runtime 来分析内存使用,通过修改部分数据结构来优化内存,在优化的过程中,搜索到了 Tailscale 发表的关于 net.IP 问题的博客,最终节省了 70MB 的内存。


Omnivore is joining ElevenLabs - Omnivore Blog

[[omnivore]] 被 [[ElevenLabs]] 收购了,[[ElevenLabs]] 是一个 AI 音频平台。[[omnivore]] 所谓的 self-hosted 之前是一句笑话,之后应该也是。


An update from Drew | Dropbox Blog

[[Dropbox]] 决定裁员约 20%(528 人)。Dropbox 本身是盈利的,4.5 亿美元利润/2.5B 美元收入的净利润。

想到之前在 Twitter 上看到的 Dropbox 办公室政治已经非常严重,裁员也不意外。


c++ - Cycles in family tree software - Stack Overflow

问题作者在开发家族图谱软件,收到了一个用户问题,软件报错是:“X 不能即是 Y 的父亲又是 Y 的祖父”。信息量好大,但是评论也很有道理,在宠物行业,为了追求纯种,这样的现象貌似很常见。

回答者指出了 GEDCOM 存在的问题,GEDCOM 的很多限制在现实生活中很有可能出现,建议只保留逻辑上的限制(一个人不能是自己的父母,关系链需要两个人,等等)。


SSH Remoting is Here!

[[Zed]] 的 SSH Remoting 功能进入到了 Beta 版本,快速试用了一下, Golang 项目的代码跳转速度明显比之前的 Alpha 快很多,感觉到了可以真正尝试的阶段了。


GitHub - henrygd/beszel: Lightweight server monitoring hub with historical data, docker stats, and alerts.

轻量级的监控方案,基于 [[PocketBase]] 构建,想着作为 PocketBase 学习素材看看,结果发现是通过 SSH 协议通信的,在 agent 启动一个 ssh server,然后 hub 作为 client 通过 ssh 链接 agent 来获取实时的监控数据。为啥是 SSH 呢?每个 agent 都需要占用一个端口,对于没有公网 IP 的场景怎么办?后续的扩展性如何处理,感觉是个玩具项目。


Go单元测试 Mock 方案总结

[[Golang]] 单元测试相关的 Mock 方案,其中提到了 GitHub - bouk/monkey: Monkey patching in Go 以及 xgo/README_zh_cn.md at master · xhd2015/xgo · GitHub

之前看到有人推荐过字节的这个 mockey: https://github.com/bytedance/mockey ,与上面的 houk/monkey 是一样的,都需要禁用内联和编译优化。


豆瓣标记导出到 Notion 并同步 | Blah Blah Booooom

自动将豆瓣标记同步到其他平台,如 Notion Database 或者 Neodb。


Okta AD/LDAP Delegated Authentication - Username Above 52 Characters Security Advisory

[[Okta]] AD/LDAP 存在安全问题,如果用户名长度大于等于 52 时,用户 有可能 只需要提供用户名就能登录。

[[Okta]] 有一些黑历史,[[CloudFlare]] 也不使用 [[Okta]] 作为 identity vendor 了,选择自己搞。


Authentication for beginners, part 1: You don’t store the passwords

As of this writing, popular and safe choices of signature algorithms are Argon2, Bcrypt, Scrypt and PBKDF2 with cryptographically randomly-generated salts and right parameters.

[[Joe Chen]] 的 newsletter,作者是 [[Sourcegraph]] 负责身份验证/鉴权验证/IAM 等系统的开发。这篇文章是早于上面的 [[Okta]] 事故公开时间的,但是一起阅读很应景。


How I write code using Cursor: A review

这篇文章的作者提到 Cursor 对于工作流的影响:

  • I am much less likely to reach for a new library or a framework.
  • I also worry less about adhering to DRY (Don’t Repeat Yourself) in my own code.
  • My willingness to use a language or framework I am less familiar with is much higher.
  • I find myself iterating quickly on small components before integrating them into the larger codebase.

虽然大家都说 [[Cursor]] 交互很好,但感觉想要用好还是需要花些时间学习下的。


GitHub - MikeWang000000/n4: 双 NAT4 网络打洞 PoC

N4 是针对双方均为 “端口递增型 NAT” 的一种打洞测试工具。作为学习了解简易实现。

解释说明:

  1. 客户端向服务端发送 Hello 包;
  2. 服务端收到两个客户端的 Hello 包后,同时向两方发送 Ready 包;
  3. 客户端收到 Ready 包,使用 UDP 向服务器发送 Exchange 包,表示交换两客户端 UDP 公网信息;
  4. 服务端收到一客户端的 Exchange 包,向另一客户端发送 Peerinfo 包,携带前者 UDP 公网信息;
  5. 客户端收到 Peerinfo 包,根据对方地址 IP:PORT, 预测对方将来的地址会有 IP:PORT + peer_port_offset。 客户端从自身端口 src_port_start ~ src_port_start + src_port_count 范围, 使用 UDP 逐一向 IP:PORT + peer_port_offset 固定地址发送 Punch 包。

如果客户端收到 Punch 包,代表打通。否则,增加源端口值,再次尝试。


Understanding Round Robin DNS - by Zsolt Ero

对 Round Robin DNS 的行为进行验证,分别验证 Cloudflare DNS-only 和 Proxied。发现对于 Cloudflare DNS-only 模式(通用 DNS 配置),无论是所有服务器都在线还是离线,各个 Client 虽然行为不同,但是总能按照预期工作;在 Cloudflare proxied 模式下,服务器存在离线场景,Client 无法获取其他在线服务器的响应,即 Cloudflare 没有检测到服务器离线。

在 HackerNews 上引发了讨论,Cloudflare CEO & CTO 进行了回复,确认行为是异常的,目前已经进行了修复。


生活 链接到标题

50 Years Ago, Sugar Industry Quietly Paid Scientists To Point Blame At Fat : The Two-Way : NPR

《50 年前,制糖业悄悄付钱给科学家,让他们将责任归咎于脂肪》,工业界/资本对于普通人生活的影响,方方面面。如何正确的识别信息的真实性,太困难了。


Writes and Write-Nots

If you’re thinking without writing, you only think you’re thinking.

Paul Graham 认为几十年后会有很多人不会写作。要想写好,必须清晰的思考,但是清晰的思考是很难的。


Character Amnesia in China

我现在也经常提笔忘字,甚至有时候长时间的看一个字,会去怀疑这个字的写法是否正确。 周围有几个同事日常靠书写来找寻内心的平静,也许他们不面临这个问题。

日语韩语不面临这个问题么?


书影 链接到标题

《外面是夏天》,金爱烂。我太喜欢金爱烂了,之前看过的《你的夏天还好吗》就很喜欢,韩国的文化背景和我们相同,写的是现在的故事,每个故事都看的我心痛,但是又在感慨为什么能写的这么好。她对生活观察的非常细致,擅于解读人物的内心,能够用简洁的语言描写出来,我在读的时候,仿佛书中的故事和人是存在在我的生活中。这本书的译者序完全说出了我读书时候的感受:

我认为,每个金爱烂的读者都可以非常轻松地接受到一个讯号:她的故事与“个体”密切相关,每篇故事中一个或两个人物,他们作为个体的处境,他们内心深处的惶恐,他们身处茫茫人世间必须表面做出来的镇定——每一个个体都没有经过符号化的处理,并未刻意被赋予某种“典型环境”之下的含义。

我认为,每个金爱烂的读者都可以非常轻松地接受到一个讯号:她的故事与“个体”密切相关,每篇故事中一个或两个人物,他们作为个体的处境,他们内心深处的惶恐,他们身处茫茫人世间必须表面做出来的镇定——每一个个体都没有经过符号化的处理,并未刻意被赋予某种“典型环境”之下的含义。

但金爱烂的可贵之处在于,所谓的“社会话题性”在她的作品里并不是目的,而是场景中的一个因素;换句话说,高压的生活环境与氛围对人的碾压虽然残酷,但这只是“人生”这趟残酷之旅的一部分。除却环境高压带给人的负面影响,一个卑微的人必须经历的,还有突如其来的生离,没有预料的死别,以及种种让人猝不及防之下看清自己的欲望或脆弱的瞬间。

《外面是夏天》这本书主要讲的是失去,译者说“每篇小说都弥漫着淡淡的丧失感”​,我现在已经到了身边可能会发生“失去”的年纪了,可是我不知道该如何面对失去。有些失去是淡淡的,渐进式的到来,你有所感知,有些失去是突然的,就像一辆卡车向你撞击。作为一个现代社会的成年人,被撞了之后,好像只能装作无事发生,继续扮演自己的角色,继续过着之前的生活,其实我们知道,有些事情不会去触碰了,我们潜意识里会避开它。当你以为你已经可以从容的面对的时候,也许很久之后的某一天,它会突然再次倒车撵过你。“和熟悉的事物告别,这是大人也不擅长的事。”。

琐碎而无聊的日子一天天积累下来成为四季,四季积累下来就是人生。

尽管只是名义上属于我,其实并不是我的房子。漂泊二十多年,终于有了在某个地方扎下细根的感觉。一棵刚刚钻出种子的根穿透黑暗破土而出,弥漫四周的微热和叹息如数传入我的体内。下班后洗完澡躺在床上,奇异的自豪和不安同时向我袭来,感觉好像历经千难万险到了某个地方。尽管不是中心,却也没有被赶到外面,安心感犹如叹息般油然而生,又有些疲惫感,疲惫感中夹杂着今后可能遇到的疲惫和懂得什么是疲惫的疲惫。即便这样,我还是极力不往坏处想。我努力让自己相信,我选择的不安是全世界所有家长都要承受的不安中相对较好的不安。这在某种程度上是事实。至少我还拥有选择的自由。

我和你分手不是因为你没有钱,没有成为公务员,也不是因为你拿回了保证金。只是我心里的某种东西消失了,好像没什么办法挽回。

大人是不会轻易分手的。发现彼此之间有无法重合的间隔,也不一定就意味着分别……不过有的人最终还是要分手,并不一定是谁做错了,每个人都尽了全力,还是会发生这样的事情。因为彼此的存在方式和重力的缘故,不是不见,而是无法相见。

“理解”是需要姿态的,就像躺着就要摘掉帽子,感到疲劳的时候最先扔掉的就是它。

碎碎念 链接到标题

  • 安卓上的 GKD 很久之前试用过,当时还存在误触发的情况,现在的版本使用体验已经好很多了。
  • 饿了么的优惠越来越少了,最近改用美团
  • Linus 教我学俚语,Troll 是指在网上故意发布攻击性或挑衅性消息的人
  • Follow 无法自己控制抓取频率,比如我日常早上会看一些咨询类,我知道对方会在早上更新,但是 Follow 现在貌似无法自动根据 RSS 更新频率来调整抓取频率。而且看上去后续会根据用户助力 Power 来提高频率。
  • 聊胜于无,比完全没有稍微好一些。 这个成语是褒义词还是贬义词?
  • 每次遇到问题 debug 的时候,看到那些恨不得什么日志都不打的服务就头疼。
  • vscode 的新功能大部分都是 AI 相关的,有些无趣,有有些无奈。现在对于 Copilot 的使用太初级了,vscode 关于 Copilot 的帮助文档那么多,一定有很多有用的东西,应该花时间好好看一下。
  • 今天是万圣节,但是感觉已经过去了很久一样,没有万圣节。
  • Google doc 支持把文档下载为 Markdown,我在想文档中的图片怎么搞,原来是直接 Base64 存在Markdown 文本本身了。
  • 汉堡王现在好难吃,不能再吃了
  • 在问 AI 问题的时候,不要将自己理解(猜测)的答案告诉 AI,应该让 AI 去回答问题,然后与自己的答案做比较。
  • 统计学里面的门道太多了,全是手法没有感情。因为统计学上的数字吵起来,没必要。
  • 在谈论文化传播影响力的时候,与金钱收益相关么?一些人听到有人说 kpop 的文化影响力,就拿原神比较,直接算金钱收益的话,比不上原神,但是原神有文化影响力么,什么文化?Rose 的 apt 这首歌让世界上大部分人知道韩国的一个酒桌游戏,国内会有这样一首歌么?不会有。
  • B站呆若木一说,之前歌手收歌,都是一整首的收歌,然后去制作发型。现在是分段收歌,主歌和副歌的作者完全不认识???