混沌周刊 #22 | 2022

大家好,欢迎来到第22期《混沌周刊》。《混沌周刊》是一个试图从开发者角度为你带来这个世界上发生着什么,发生过什么,以及未来可能会发生什么的栏目,每周更新。您可以通过首页的RSSTwitterTelegram频道和电子邮件等方式订阅。如果您觉得本周刊对自己有所帮助,请不吝推荐给其他人,多谢。

🕙 戴表了也无时间

第22期周刊刚好也生在2022年。通常来说,新年的到来也意味着一些东西需要被修复了。这里就有个例子:微软的Exchange服务器用一个32位有符号整数表示时间,但和UNIX时间戳不同的是,它的格式是分别用两位十进制表示年、月、日、时、分,比如2019年10月21日12时32分就对应整数1910211232,看起来很精巧直观。但问题在于,32位有符号整数的最大值是2147483647,小于2022年的第一个时间2201010000,然后就出问题了

这使我们联想到千年虫日本年号危机2038年问题,还有常被人误用的 YYYY 时间字符串。毫无疑问,虽然未来的16年里32位设备会被进一步淘汰,2038年1月19日那天一定也会有设备遇到奇怪的问题的。

不过问题是,为什么微软不用无符号整数?这样至少还可以延续到2042年。

🌍 来自互联网

一个让你计算什么时候可以提前退休的计算器,虽然可能不那么符合国内情况。

一个让你可以以任意方向输入文字的网页

苹果成为历史上第一个市值踏入30000亿美元的公司

2022年了,有人还在用HTTP Basic Authentication,而且听起来还不像是个坏主意。不过要注意,由于浏览器会自动缓存认证信息,不是那么好退出了。

计算机系统中「时间」的存在似乎是理所当然。但当整个系统结构变得复杂时,时间的不同步可能会带来哪些问题呢?这篇中文文章介绍了分布式系统中的时间处理,以及对时等操作可能对程序的运行带来哪些影响。

rss-bridge,给不支持RSS的网站生成RSS源。

在互联网诞生初期,<a>这个HTML标签就已存在。到今天它已具有包括无障碍在内的特殊意义,请不要用自以为聪明的方式来代替它书写链接

Yoyo-leaf,一个用C++写的在命令行模糊查找文件的工具,类似FuzzyF.

自15.2始,Safari开始部分支持访问本地文件系统的API.

Google Project Zero小组公开了此前一个iMessage漏洞的细节,利用了ImageIO库,可执行任意代码,而且甚至不需要用户打开信息。内部的设计非常精巧,值得一读。

有安全人士展示了一张在Apple设备和非Apple设备显示不同内容的PNG图片。如果你使用的是Mac,也可以尝试对比Safari和其他浏览器的显示效果,在Apple软件会显示Hello Apple,而其他软件会显示Hello World:

Apple non-Apple PNG diff

WebAssembly Studio,一个让你彻底在线调试WebAssembly的网站,很方便。另一个供你在浏览器里把玩的网站是Tailwind Playground,方便你立刻体验Tailwind.

Ruby 3.1发布,引入了全新的YJIT编译器,新的debugger,新的错误提示,新的irb交互式补全,以及包括 {x:, y:} (代表 {x: x, y: y} )在内的大小新语法。

众所周知,为了让同一份可执行文件兼容不同架构,苹果利用Mach-O二进制格式的特点,支持把面向不同格式(ARM/Intel)的二进制代码编译到同一个文件中。在00年代从PowerPC到Intel的迁移,以及20年代自Intel向ARM的迁移中,苹果都运用了这个方法。而此前有用户发现,理论上PowerPC、Intel、ARM的二进制代码可以共存在同一个可执行文件中

YouTube在2021年底做出了一个重大决定:隐藏视频的「不喜欢」数量。好在有人做了插件,能在浏览器里把点踩的数字再显示回来。


本期栏目就到这里,下期再见。向各位读者说一声迟到的新年快乐!


发表评论

您的电子邮箱地址不会被公开。