TG Telegram Group Link
Channel: gledos 的微型博客
Back to Bottom
闰年问题

电脑系统中的时间计算,是非常复杂的问题。比如 2000 年的千年虫,以及未来 2038 年的 Unix 时间戳问题。

好在千年虫以及 Unix 是可预测的,只要软件更新相关兼容功能,就不会发生宕机、错误等问题。然而 闰年问题 是不可预测的,因为只有时间来到 2月29日 或者闰年的最后一天,程序才可能出现故障。

1996年12月31日 00:00,新西兰铝冶炼厂 的 660 台电脑全部宕机,原因是程序无法处理一年的第 366 天,所以闰年的最后一天不会工作……由于没有程序来调节问题,最终导致了 100 万美元的损失。

2000年12月31日,挪威铁路公司的列车无法运行。问题与铝冶炼厂相同,好在工程师临时将时钟调回一个月,这才启动了列车。

2008年12月31日,微软的 Zune 30(MP3)完全卡住,一整天都无法使用。而 Zune 30 刚发售两年。

2010年3月1日,索尼的 PS3 厚机错误的以为这天是 2月29日,然后导致网络连接错误。

每次闰年(甚至不是闰年),总会有程序发生各种错误。即使在 2020 以及 2024 年,情况也没有好转。就在昨天,新西兰许多加油站的自助支付终端都出现了问题。所以这算是每 4 年一次的程序故障日吧。

#Wikipedia
解禁后的 Wi-Fi 手机

2009年6月11日,摩托罗拉 A3100(联通定制 3G 版)开始在北京手机店铺出售。这是解禁后的首款支持 Wi-Fi 功能的手机。

不过手机程序明显设计的有问题,如果在使用 Wi-Fi 时,需要使用 WAPI,那么需要在设置里切换,手机会重启到 WAPI 模式。然后手机里没有直接提到支持 Wi-Fi,而是以 WLAN 或「无线 LAN」的说法替代。

2006年7月 月底,诺基亚 5530 XpressMusic 开始登录广州的市场。这是解禁后,诺基亚的首款支持 Wi-Fi 功能的手机。

5530 XM 的软件就优化好了,连接 Wi-Fi、WAPI 不需要重启手机。但是手机里仍然不提 Wi-Fi 一词,甚至说明书里还出现了翻译错误:

英文说明书的「Wi-Fi protected access (WPA)」,被翻译成了「WLAN 保护访问(WPA)」,虽然缩写同样是 WPA……

能看出诺基亚是铁了心不提 Wi-Fi 一词,造成这种局面,也许又是某种潜规则吧。好在未来这项限制消失了。

ggame | #WLAN
手机版 QQ 奇怪的限制

2008年10月,腾讯公司在苹果官方在线商店 iTunes Apps Store,推出了 QQ For iPhone。这是腾讯首次允许移动终端,使用 Wi-Fi 网络运行 QQ 的版本。此前腾讯推出的移动终端均需通过运营商网络才能使用。

2008年11月11日,Windows Mobile 版本的手机 QQ 2008 (S60 V3) 发布, Windows Mobile 此时才支持在 Wi-Fi 下使用手机 QQ。不过 QQ 空间、音乐、新闻等功能均无法在 Wi-Fi 下使用,会提示「您目前的网络连接方式不支持此功能」,仍然有一些限制。

QQ 2008 禁止在 Wi-Fi 下使用,这应该是客户端限制。因为有用户表示,QQ 2005 就能在 Wi-Fi 下正常使用。

这种限制,被一些人认为与运营商有关,不过细节不明,算是某种未解之谜吧。

ggame | #WLAN
蓝牙的隐私性

蓝牙在设计时,已经考虑了一些隐私问题。所以拥有「可见性」设置,可以防止有人追踪,比如商店里的 蓝牙追踪器,可以根据蓝牙的 MAC 地址识别新老顾客。

不过 Google 出于商业目的,默认会让手机偷偷扫描周围的蓝牙设备并上传,即使蓝牙已关闭。对此 Google 表示这是为了确定手机的 精确位置。但也可能是 Google 希望蓝牙尽可能可见,所以现在 Android 系统没有「可见性」设置。(Windows 系统里有「可见性」设置)

所以只要打开蓝牙,那么手机就会不断广播自己的 MAC 地址。理论上 Google 等有能力的团体,都能记录各种蓝牙设备的运动轨迹。(虽然电信公司应该是最清楚的)

---

IEEE 出于防止 MAC 地址重复的想法,所以决定自己来分配 MAC 地址。但结果就是可以根据 MAC 地址的前半部份,查到设备厂商,可能有些隐私问题。

比如有款设备的 MAC 地址是 2C:1F:23:9B:**:**,就可以把前半部份 2C1F23,拿到 IEEE 公布的 分配页面 里查找。能查到着是 Apple, Inc. 的设备。

所以如果要给 MAC 地址打码,不希望别人知道自己使用的设备细节,最好将 MAC 地址全部抹掉。

附言:低功耗蓝牙(BLE)实现了有限的「MAC 地址随机化」,但效果可能也比较有限。

#隐私
禁止 Wi-Fi 手机的原因

禁止 Wi-Fi 手机的原因未知,但是可以将各种可能性,以及支持、反对此观点的证据都列举出来:

1. 影响 WAPI 的利益。(信息产业部、中国宽带无线IP标准工作组等)

+ 【支持】使用 WAPI 需要支付费用。

2. 影响各大运营商的 3G 利益。

+ 【支持】3G 与 Wi-Fi 的启用时间,是相同的。
+ 【反对】Wi-Fi 的覆盖范围有限,不足以影响 3G 网络。

3. VoIP 等技术影响各大运营商的利益。

+ 【支持】手机 QQ 直到 2013年12月 才拥有语音通话功能。
+ 【支持】微信的「语音通话」被整合到「视频通话」功能中,而海外版两个功能是分开的,所以有人猜测微信是为了满足运营商的要求,而将「语音通话」隐藏到「视频通话」中。

4. 影响监管的利益。

+ 【支持】店家的免费 Wi-Fi 可能会被处罚。 因为没有使用符合法律要求的,价值 2 万人民币安装费的特殊设备。
+ 【反对】公共 Wi-Fi 诞生起已经拥有登录验证功能,叫做 captive portal(强制门户),这实际上是一种中间人攻击。如果未通过验证,那么就无法使用网络。所以 Wi-Fi 监管应该不是问题。

ggame | #WLAN
交互式的网页

网页能用 JavaScript 技术,实现各种有趣的交互式玩法,比如 Bartosz Ciechanowski 的博文都有可互动的演示。

但是针对文字的交互,比较少见。W3C 的《中文排版需求》可以随意切换中、英文,或者一起显示,算是有做到文字交互。原理应该是根据段落的语言,使用 JavaScript 来隐藏不需要的部分。

这样的技术很适合用在一些教学页面上,比如指南在开头就出现一些选项:「我已了解内容 A」。那么读者在勾选后,关于 A 的内容就不需要详细讲解了。

甚至还可以打破树状的文本结构,比如密密麻麻的编年史,可能同一个主题的内容跨度很大。但是只要隐藏其他部分,就能复用一部分内容,按需求呈现主题信息。比如之前 ggame 的 WAPI 条目,就很杂乱无章,现在倒是添加了主题按钮,算是能够简单查阅信息了。(演示视频
斜行电梯

在许多科幻游戏中,大型开放式的斜行电梯是常见的元素。比如《半衰期》《潜龙谍影》中,都有类似的斜行电梯。

现实中的 斜行电梯 也被称为 地面缆车,不过地面缆车不一定是斜行电梯,因为二者都使用缆索牵引,但是地面缆车还能在平地行驶。

然而现实中的斜行电梯,都是封闭的箱体,以防止乘客掉落。只有过去,专门给马车使用的升降机,才有较大的开放式平台。

Lewis Packwood 在讨论游戏中巨型斜行电梯的 起源文章 中,认为《阿基拉》漫画出现过巨型斜行电梯,而《半衰期》也确实模仿了《阿基拉》的电梯。

可惜这种充满力量与神秘感的设施,无论是在游戏中,还是现实中,都越来越少见了。

图片 1:《半衰期》与《阿基拉》里的斜行电梯
图片 2:《潜龙谍影》里的斜行电梯
图片 3:意大利库内奥的斜行电梯
图片 4:美国新泽西州埃塞克斯县的西奥兰治(镇区)的斜行电梯/升降机?
Wardialing:模拟信号时代的端口扫描

端口扫描 是网络攻击前的常见策略,目的是寻找可利用漏洞。(不过端口扫描不等于网络攻击)而模拟信号时代,也有类似的操作。

Wardialing 是 1980 年代活跃的一种技术,原理是机器自动穷举拨号,尝试了解电话后的设备。比如 电话应答机 会在无人接听时,播放「你好,我是 gledos,我现在不在家。可以给我留言,我会尽快联系你。」这样电话所有者的名字就暴露了。

又或者电话线路连接到了设置为自动应答的传真机,拨号者就能听到传真机握手信号声音。不过 Wardialing 最主要的目的,还是寻找拨号上网不设防的 modem(猫,调制解调器),这样就能轻松黑掉一些电脑。不过攻击细节,维基上没有写……

后来随着 modem 的安全策略加强,以及拨号上网被取代,所以 Wardialing 也就消失了。不过 Wi-Fi 时期,也出现了类似的情况。有人开着汽车,用设备扫描附近的 Wi-Fi 设备,这被叫做 Wardriving

#Wikipedia
硬件的名称与性能

某个商品主要是换了个名称,而内容是相同的,往往就会称呼为马甲。比如 AMD 显卡 RX 590 GME(Golden Mouse Edition,金鼠版),本质上是 RX 580 的官方超频版。亦或者红米 K20 的海外版叫做小米 9T。

这些都算是相同内容,只是换了不同的马甲。而马甲往往都是因为商业原因而改名的,前者 RX 590 GME 是尝试沾 RX 590 的光,因为 RX 590 的架构更先进。后者可能是为了摆脱中端的标签,因为这是红米首次发布旗舰机,所以海外版挂了小米的品牌。

除了马甲,也存在相反的情况:明明是不同的东西,却使用了同一个名称。比如 高通骁龙 801 其实有六个型号,他们的 CPU、GPU、内存频率,都可能有差距。

亦或者同名称的 CPU,在 Linus Tech Tips 的测试下,也发现手中的 11 块 7800X3D,之间最多有 8 % 的性能差距。

这种差异往往被称作「体质」,工厂里就会测试产品性能,性能损失过大的就会作为废品。但是合格线是否足够透明、合理,就比较难说了。毕竟这不是饮料,少 2 % 也没有多大损失。

灵感来自「小怂猫人」的视频《手机型号,为什么都是“假”的?

#杂谈
话题作品与审查的形式主义

1998年3月10日,《泰坦尼克号》在得到国家主席江泽民赞赏,以及数日后横扫奥斯卡 11 个奖项。于是电影加紧中文配音以及拷贝洗印流程,最终在 4月1日 开始全面公映。

但当时的电影公司只引进一套原版素材,此素材能制作的拷贝非常有限,仅有 300 个。结果就是许多二、三线城市影院使用了走私拷贝,而走私的电影胶片并未进行审查,结果就在许多幕布上,完整播放了露点镜头。

可以看出,《泰坦尼克号》的火爆,其非法渠道甚至破坏审查。而这在今天也有类似的情况,比如现在各种盗版流媒体网站、网盘或者 Bittorrent,上面流行的内容,基本不会是经过审查的版本。

任何成为话题的作品,都可能让审查落空,比如《赛博朋克:边缘行者》《进击的巨人》《爱、死亡& 机器人》《黑镜》等等。因为观看他们成为了一种潮流,所以更完整的审查,就是限流或者禁止相关话题。

数年前,哔哩哔哩视频里只要出现《进击的巨人》,那么就会被限流,甚至无法过审,这符合审查利益的措施。但现在许多无法在境内观看的作品,大多都有解说、拉片或者杂谈(除了少量过于敏感的),这种审查力度反而轻了。也许就是某种形式主义吧。

#杂谈
隐性养育成本:死亡

论文 从全国第五次人口普查资料建立生命表推算,大约有 3.91 % 的人在 18 岁之前死亡,与在一套纸牌中抽到鬼牌的机率相似。大概有相同比例的家庭,仅能得到一些回忆,以及失去亲人的痛苦。

联合国对孤儿的定义较宽泛,单亲家庭也算是孤儿,监护人双亡算是双孤儿。毕竟单个监护人的负担很重,而美国有 2.7 % 的儿童失去了至少一位监护人。

一旦发生这种事,对监护人或孩子都是沉重的打击。所以为了防止「家庭破产」,或者降低影响,需要针对单亲家庭,以及收养孤儿的寄养家庭补助。这算是某种社会化的保险制度。

如果有地方 养育成本世界第一,针对「家庭破产」的保险也相当不完善。那么监护人选择养育孩子,就是某种罗曼·罗兰提到的「世界上只有一种英雄主义:看到世界的本来面目,并热爱它」,亦或者路易十五在流言中的说法「我死之后,洪水滔天」。

#杂谈
系统的任期与退役

20 年前的程序,也许仍运行在一些古董硬件、虚拟机上。因为更换新方案的成本比维护现有方案高,而程序运行状态良好。然而时间越久,更换新系统的代价也就越高。

比如 2004 年,Comair 航空公司的机组调度系统出现故障,导致整个航空公司瘫痪,取消或延误了大量架次航班。造成这个问题的原因,很大程度上,就是没有合理的软件退役制度。

事实上在在 1998 年就已经将机组调度系统标记为了退役,可是之后这个问题被忽略了。因为千年虫问题的优先级更高,并且 911 也影响了航空公司收入,然后就不断被搁置,直到系统瘫痪。

这类没有后续更新的硬件、软件环境的系统,被称作 遗留系统。比如还运行在 Windows XP 的自动取款机,老飞机使用软盘更新数据等等。

所以为了整个系统在未来仍然稳定运行,一开始就应该使用更具可维护性的硬件、软件,并且需要时常检查系统状态,确保系统能够合理退役,并被新组建的系统取代,而不是无限延续系统的任期,直到系统维护难度过高,导致长时间瘫痪。

#杂谈
数字黑暗时代

数字黑暗时代 是国际图书馆协会和机构联合会提出的概念,意为文件被记录在过时的格式、软件或硬件上,后人在研究时,不一定能完全理解当时的面貌。

此词语来自欧洲黑暗时代,当时欧洲的历史记录很匮乏。以至于有 理论 认为公元 614 ~ 911 年是被捏造的。

数字时代暂时还没有出现如此离谱的理论,但也已经有许多资料遇到了问题。比如 NASA 的 Viking 探测器磁带,并没有在第一时间处理。结果当初的程序员不在 NASA 后,工作人员花费数月的逆向工作,才取得磁带的资料。

现在比较麻烦的数据,可能是 Internet Archive 未保存的网页,数据使用了 Flash 等过时的专有技术,亦或者现在已经发霉的软盘。这只能靠许多志愿者努力,比如从旧载体里提取文件,然后做好归档,并上传到 Internet Archive 等地。防止数字黑暗时代真的降临。

#杂谈
竞技游戏 5v5 的细节

许多竞技游戏都流行 5v5,最知名的有《反恐精英》和 DotA。他们似乎非常有默契,都选择了两支五人小队对抗的模式。下面是对于玩家人数一些研究:

有两位 DotA 玩家,mysticrudninMandex 表示:Warcraft III 具有 12 名玩家的上限,而 DotA 地图的 AI 可能会占用玩家的位置,所以 DotA 使用 5v5 是合理的模式。

这算是未证实的,合理消息吧。但却是错误的,因为 AI 不会占用玩家位置,否则大多数含有 AI 的地图,最大玩家数都小于 12 个玩家了。

最简单的验证,就是查查有没有人制作 6v6 版本的 DotA。结果确实有人开发了 6v6 的版本,GoD-Tony 从 v6.38b 开始,一直更新到 v6.78c,在 6v6 版本改版上坚持了 5 年。

6v6 改版的原理,那就是锦标赛的观察员/导播会占用位置,因为目的是娱乐游玩,所以 GoD-Tony 修改的 6v6 版本,在满员的情况下无法添加观察员。

附言:6v6 版本在当时似乎造成了一些 潜在分裂,不过很小就是了。

附言 2:CS 竞赛的 5v5 原因完全没有头绪,因为 CS 并没有硬性人数限制,最多 16v16 的混战服务器也很常见。有人 说以前欧洲流行在玩 6v6,而北美是 7v7。(所以欧美战队比赛是 6v7?)但是没有证据。

#游戏 #考据
《圣兽之王》

最近比较沉迷《圣兽之王》,甚至玩着它熬了夜。主要原因可能是游戏玩起来很流畅,没有大问题的情况下,不需要读取存档来挽回错误。

比如大地图原野上进入的关卡,可以随意退出。不需要在进入前保存,然后依靠读档来取消。配合上游戏几乎所见即所得的选项(或者提示),玩家应该可以轻易的,不手动读档并全收集通关游戏。对于存档管理苦手来说,这种设计相当友好。

即使是隐性的角色入队条件,也容易完成,只要注意游戏中的对话就好。比如梅丽桑德 对主角很感兴趣那么就需要在这个关卡让主角战斗,这样才能入队。

不过还没有玩到后面,也许之后的入队就没那么容易了。现在玩到了主线 15 级任务,地图探索率 41.1 %,属于先把容易的支线做完,才做主线的玩家。

#游戏
通用、特化与通用特化硬件

过去电脑图形显示对 CPU 的负担太大。于是有人给电脑装上了 协处理器,本质上是另一个 CPU。但效果有限,所以特化度更高的 GPU 也就诞生了。

GPU 因为 CUDA 核心/流处理器数量很多,并且内存访问速度很快,所以图形效率相比 CPU 具有优势。既然 GPU 能解决图形问题,理论上其他合适的问题,也能解决。

于是 20 世纪 90 年代就有人用 GPU 来破解 RC4 加密算法,以及用来创建人工神经网络。虽然实用性暂时还不高,但之后 GPU 的算力发展很快,快过摩尔定律。于是更多人注意到了 GPU 的优势,其中 Mark Harris 提出了 GPGPU 的概念,即通用 GPU。后来英伟达的 CUDA,正式让 GPGPU 得到厂商支持。

为 AI 打造的芯片:AI 加速器(NPU、TPU)也是特化硬件,但也有一点点的可能,发生类似 GPGPU 的情况。比如未来有人注意到了 AI 加速器对特定问题优势,于是当作特定问题的加速器使用。甚至重演游戏玩家买不到 GPU;人工神经网络从业者买不到 AI 加速器的情况。

#杂谈
对 V2EX 敏感词的研究

V2EX 具有敏感词系统,但是跟大厂的敏感词系统有明显差异,那就是部分敏感词,只要试图发送,就可能导致帐号被降权,或者 ban IP 一段时间。

封面图是从受害者反馈里,找到的敏感词以及限制或惩罚。关键词可能有遗漏,因为部分情况,需要多个关键词才会触发限制或惩罚。

帐号被降权后,发布的新帖会置底,原理是隐性的扣除发帖时间,使其被排在瀑布流之后。并且降权帐号回复 @ 他人时不会提醒。相当于成为隐形人,即使是在各种 Shadow banning 中,也是最影响用户体验的。

然后是遭遇 Deactivate,用户会被强制登出,密码会被修改成随机内容。用户需要重置密码才能登录网站,而这并没有明显提示。

ggame
HTML Embed Code:
2024/04/28 19:31:39
Back to Top