我将在这里汇总一些对读者反馈的回复。
…
有人问是否可以查看旧的代码课程。我去年重新上线的那个是我做了一个可怕的小 TCP 侦听器,编译它,在后台启动它,然后使用 netcat 连接到它。这很尴尬,但如果你真的想看的话,它就在那里。
还有一个由六部分组成的“protofeed”演示,展示了如何在我构建的基于 protobuf 的方案中获取提要。剧透:它已经不存在了,因为没有人使用它,所以按照那个东西的说明进行操作并不是很有用。
具有讽刺意味的是,如果该获取程序指向生产站点,就会遇到各种问题。它不执行条件请求,它不知道 Cache-Control 标头,它不会识别 429 正在请求限制,等等。我想这对于展示如何从网络获取某些内容并解析它的概念证明来说是可以的,但“实际的”提要读者也会弄错所有这些东西。
…
另一位读者询问Linux“hrtimer”闰秒故障是否已修复。我必须假设这是基于这样一个事实:三年后,当我们遇到我的“跳跃涂抹”故事中的问题时,大多数人都没有遇到同样的问题。我担心的是用户空间的问题。
这是我分享为什么我要如此努力的机会。简而言之,这是因为对世界各地的每个人在时间处理方面做正确的事情缺乏信心。如果每个人都使用单调时钟来测量持续时间,并且可以接受墙上时间时不时地倒退,那么就没有理由将其涂抹掉。我自己的个人系统从来没有弄脏过闰秒。他们只是安然度过并继续前进。
我无法假设公司此类实施的正确性。更糟糕的是,即使我故意注入向后的时间步长操作并证明它会使某些代码崩溃,也不能保证它会产生任何结果。我发现自己在那家公司的某个地方,公司的某些部分对他们给自己、有时给其他人造成的问题完全没有反应,并且开始厌倦了“坏警察”的把戏。这就是我出现并说“你的狗屎坏了”的地方,他们不会与我们(整个团队)合作来解决这个问题。
我只是有这样的感觉,如果我们重复 2015 年 6 月的最后 UTC 秒,我们最终会破坏一些东西。令人惊奇的是,那年晚些时候,这件事真的发生了。
有人错误配置了有问题的 NTP 设备,以“不”应用从 GPS 到 UTC 的校正因子。这最终迫使一台设备通过 NTP 发送未调整的 GPS 时间,大约一半的生产时间,当时的差异约为 17 秒。 (这发生了变化,事实上,它不再是 17。)
不管怎样,我在听说这个消息后开始研究这个问题,发现大约一半的机队运行速度快了 17 秒。试图“抹掉”17 秒以使事情恢复正常是完全不合理的 – 这需要数周时间。我决定修复设置,然后让每台损坏的机器各自将其时钟向后拖 17 秒,直到到达应有的位置。
这打破了东西。事物结构深处的某种分片机制正在使用挂起时间来确定某件事或其他事情,当它跳回来时,它会触发一个断言并终止程序。这对网络服务器(或任何其他使用该库的服务器)造成了极大的影响。
因此,基本上,每台因糟糕的时间而中毒并运行该库的机器都会崩溃一次,并且实际上对此无能为力。此时大约是凌晨 2 点,我选择让它发生。
唯一的好处是,调整会根据 ntpd 轮询率以不同的时间间隔进行,因此不像数十万台计算机同时崩溃其工作负载。一个会从这里弹出,然后在那里弹出一个,依此类推……在一两个小时内……直到一切完成。
因此,一些服务并没有真正停止运行,但它们确实经历了一段糟糕的时光,受影响的系统上出现了一堆失败/丢弃的请求。
该车被称为“回到未来”SEV。至少有一个团队制作了一些显示的屏幕截图,其中显示 17 秒偏移了该小组讨论生产问题的横幅。
类似的事情就是我把它抹掉的原因。当您无法确定实现的正确性,并且修复它们的尝试很可能会被忽略、拒绝或主动攻击时,您必须“将整个情况视为损害”并绕过它。你消除了墙上时间的不连续性,以拯救他们自己。
…
一位读者要求我了解“人工智能”和法学硕士以及所有这些。
与本月早些时候的“烦恼”帖子一样,我首先要说的是,我也不会在这里把这些强加给你。所有这些东西都是直接从我的键盘上输入的,事后还添加了一些 ispell。即使这样的实用性也有限,因为我出于各种原因使用了一堆技术术语和非真正的单词。
我认为所有的炒作和浪费都产生了大量无用的废话,吸引了最糟糕的吸血鬼、秃鹰和底层饲养者,他们希望利用这些东西来谋取自己的利益。
我们最不需要的就是一种更好的方法来生成看似合理的马粪,让那些容易上当受骗的人在不知情的情况下食用,但我们现在就这样,情况只会变得更糟。
我认为其中很多都属于“我们应得的互联网”。
所以不,我不使用任何此类内容,我告诉人们不要对我引用任何废话,或者向我发送假装是某事答案的屏幕截图,并且他们需要找到真正的来源为他们的数据。这并没有让我成为最受欢迎的人。
但是,嘿,我已经说过,我显然与大多数人的所作所为脱节。我的带有 Nano 的黑底绿终端正在编写一堆纯文本,并带有一些用于标注其他帖子的触发器,这应该已经证明了这一点。几乎没有人再这样做了。这让我成为怪人,而不是他们。我知道这一点。我对此没问题。