文章 链接到标题

技术 链接到标题

/tmp | Python Generators Are Underutilized

[[python]] 合理的使用生成器,可以大大减少内存占用,也需要注意生成器的一些可能坑:不能重复生成;调试可能会麻烦;可能会带来一定的心智负担。

对应 [[ruff]] 的规则是: unpacked-list-comprehension (UP027) - Ruff


Introducing the next generation of Claude \ Anthropic

[[Claude]] 发布 Claude 3 ,包含 3 个模型,按照功能升序排列是:Haiku , Sonnet, Opus。Benchmark 显示 Opus 全面领先 GPT-4 。 相较于 Claude 2 ,Claude 3 有更快的速度、更好的图像处理能力、更少的请求拒绝、更好的准确率、更长的上下文。

想要尝试下的时候,发现但是我的 Claude 账号被封了。。。


如何阅读火焰图 | 卡瓦邦噶!

[[火焰图]]主要看父子关系和宽度。深度不是问题,颜色没什么意义,不同方块的顺序没什么意义。


How to Lose Control of your Shell - by Thorsten Ball

启动 SHELL (zsh) 并运行 env 后,程序无法处理 Ctrl-C,把 env 换成 ls 也无法处理 Ctrl-C,把 env 换为 built-in command echo lol 后,可以正常处理 Ctrl-C,为什么?

[[ChatGPT]] 的线索:

The spawned shell inherits the terminal (TTY) control, and since it’s an interactive shell (-i flag), it sets itself as the foreground process group leader for the terminal. This changes how signals, especially SIGINT generated by Ctrl-C, are handled.

疑问:shell spawn 后,在不运行 built-in cmd 时生成自己是 process group leader ,然后退出,然后不恢复之前的 process group leader ?

作者使用 tcgetprg 来打印与 fd 关联的 foreground process group ID,观察到在运行 SHELL 前后,process group ID 确实发生了变化。 [[ChatGPT]] 提示可以使用 [[setsid]] 来将其置为一个新的进程组。调用 [[setsid]] 后:该进程成为新的 session 中的 leader;该进程成为新的 process group 中的 leader;该进程没有控制终端,如果进程在调用 setsid 之前有控制终端,那么该关联会被破坏。

阶段性总结:程程的 shell 通过设置 foreground process group ID 来控制终端,意味着 Ctrl-C 产生的信号发送到 SHELL 进程,但是如果 SHELL 运行非 built-in cmd 作为最后一个命令,它不会自动清理,并且其进程 ID 扔与终端关联,导致所有的 Ctrl-C 无效。

为什么 ZSH 在运行非内置命令时不重置 foreground process group leader ?

作者观察到 ZSH 使用 -c 运行命令的最后一个命令时非 built-in cmd (比如 ls/env)时,ZSH execve 进入最后一个进程,它不会创建子进程运行 ls,而是会将自身替换为 ls 命令,ZSH 进程消失。 但是当运行 zsh -c '/usr/bin/env'; echo lol 时,先执行非 built-in cmd,然后是 built-in cmd,那么 ZSH 不会消失,采用 fork & exec 执行 env ,然后执行 echo lol ,执行完成后清理 foreground process group leader。

How to Lose Control of your Shell | Lobsters 论坛上有人提了一个简单的解决办法: zsh +m ,用来禁用 POSIX job control。

思考:如果是我来调查这个问题,我会怎么做?


生活 链接到标题

App Store、Spotify 以及繁荣的欧洲数字音乐市场 - Apple (中国大陆)

“发现苹果对应用程序开发者施加了限制,阻止他们向 iOS 用户告知应用程序之外可用的替代且更便宜的音乐订阅服务”。

单纯的从 [[Apple]] 这篇文章,感觉到 [[Apple]] 急了,感觉罚款金额不重要,“带头作用” 比较让苹果恐惧?


The end of Airplane.dev | Benjamin Yolken

Airplane 和 Airtable 拥有共同的主要投资者 Thrive Capital,后者领投了 Airplane 的 B 轮融资和 Airtable 的 D 轮融资

每当看到这种想不通的问题,往钱上想总是没错的。


Could Apple leave Europe?

[[Apple]] 可能退出欧洲么? DHH 觉得不会。

在目睹苹果过去几年的行动之前,我会说不可能。蒂姆·库克并不是那种会做出如此大动作的首席执行官。他太保守、太胆怯、太注重底线。但这种思维模式最近受到了严峻的考验。一位首席执行官在诸如 Spotify 案中的败诉之类的公开信上签字,实际上可能有能力做一些大事。


书影 链接到标题

《酒鬼都市少女们》,能有一起喝酒的朋友很重要,喝酒不重要,朋友很重要。

《别对我动心》,国产恋爱剧,周也的作品之前看过《少年的你》 和《孤注一掷》,感觉还是《少年的你》中的反派少女比较出彩。

《93国际列车大劫案:莫斯科行动》,有些无聊,传统影视作品中,大家不是搞了黑道生意之后都追求洗白么,怎么还会在一条路上走到黑的。引用豆瓣评论:“我真的受够了女人是工具,伤害就是强奸的戏码,受够了孩子是软肋的剧情。” ,类似的还有前阵子张艺谋的《第二十条》。

《多谈谈问题》,长篇采访合集,目前读了第一篇,很好看,推荐。

碎碎念 链接到标题

  • Linkedin Blog 的 RSS 破罐子破摔了?彻底不维护了?印象中这是从 Uber 之后的第二个大公司不维护 RSS 了。
  • 大家对做开源的公司有一些错误的期望:工程师文化、工作强度、职业生涯。

  • 鸟山明去世了,这真是我小学期间,为数不多的记忆。