delphij's shared chaos
297 subscribers
187 photos
16 videos
2 files
489 links
Download Telegram
今天来讲个草台班子的故事你们也开心开心。

月初,有人为了支持C++19的时区功能在 FreeBSD 上增加了往 /usr/share/zoneinfo 里安装精简版时区数据库 tzdata.zi 的功能。同时大哥做了个自选动作,安装了一个表示时区数据版本的 version 文件。

然后ruby的rubygem-tzinfo花了。

原因是rubygem-tzinfo预期 /usr/share/zoneinfo 里面全都是TZ格式的编译好的数据,这类数据的文件开头有一个44字节的文件头,于是该包直接断言了可以读出至少44字节,而version文件只有6字节。

把version删掉发现居然就没事了,定睛一看rubygem-tzinfo遍历文件的时候把文件名里带 . 的都直接跳过了,此前我寻思,这tzdata.zi是个文本文件怎么也不可能通过接下来的断言呀。

然后Mac上这个version文件叫 +VERSION,它,以及各种Linux上有各种五花八门的自选安装的非TZ格式的文件,在rubygem包里是用排除名单的方法让系统自动绕过这些文件的。

如此复杂的一套机制竟然一直都能work。话说这个遍历的过程不能直接把异常接了跳过那些看起来不是TZ文件的文件吗?

凌晨一点,困扰于不知道为啥家里redmine突然就不能动了的家住圣何塞的李先生在看了以上rubygem-tzinfo上面一系列眼花缭乱的workaround摞workaround,一个bug是bug,一堆bug能work的现状,顿时两眼一黑,遂写了封信给增加version的大哥写信:C++库看起来并妹有真的用到这个文件,要不咱把这文件直接,🔪砍了,或者改成Mac上的名字?

今天早上,该文件被砍掉了,看起来FreeBSD 14.3 RC1之前就能完全修好了。

感恩维持这个世界运转的各路草台班子。
8 CFR 214.3中提到:

Failure of a school to receive SEVP notices due to inaccurate DSO e-mail addresses in SEVIS or blockages of the school's e-mail system caused by spam filters is not grounds for appeal of a denial or withdrawal.

写这个CFR的有高人啊,这么宅的角度都给堵上了。 #论为什么需要一个自己能控制的邮件系统
差点就顺手把某大唱片公司的YouTube频道给当作盗版商给举报了,还好在操作前先咨询了一下专业人士😢
今天这门票值了。
OS:工作有害健康。
热泪盈眶了,北京大妈都比贵司cloud有觉悟啊
花了20分钟尝试解决一个路由问题,最后发现是对RFC 3927的理解不深导致的,十五年前的设计中采用的RFC 1918编址其实才是比较正经的解法,盲目跟风采用RFC 3927地址的问题在于这些地址是链路本地(link-local)的,by definition这些地址就不应该路由所以直接在路由代码里就drop掉了,听包听了个寂寞的李先生丢开了tcpdump开始了grep,然后惊喜地发现这段代码是这么写的:

#define IN_LINKLOCAL(i) (((in_addr_t)(i) & 0xffff0000) == 0xa9fe0000)

嗯,a9fe,这个就有点巧妙了。您也别管grep找不找得到,您就说这写法是不是能把事儿给办了吧。

所以接下来的解决方案有:a)维持大致上两个站点采用星形拓扑,但将两站间共享服务放回RFC 1918内网上,b)改采网状拓扑,在几台机器之间直接拉一组N对N的网状VPN链接
然后再把OSPF跑起来

个人倾向于a,主要原因是本来这边的网络也是星形结构,最终这些端到端的VPN链接并不真的改善可靠性。转了一圈又回到了原点(只是这次搬家的副作用是内网变成/32而不是/23了
,考虑到这个做法其实更方便跨机房搬家我打算以后就这么干了
Please open Telegram to view this post
VIEW IN TELEGRAM
体检报告出来了,真是不年轻了。
Please open Telegram to view this post
VIEW IN TELEGRAM
当年的手机壳(感谢大鱼老师不远万里带来美国)被相册翻出来了。在谷歌图片搜索中找到了一张清晰度比当年照片更好的设计图。
Audio