晚上好,我是蓝色蒜头。
2023 年 12 月 13 号,短播客第 45 期
今天是中华人民共和国南京大屠杀死难者国家公祭日
我们在每年的这个时间共同铭记历史的伤痛
悼念过去已经发生的
以及现在在世界的一些地方在进行时之中的苦难
历史是最好的教科书
会以各种形式记录历史
也是人类和地球上其他生物的显著区别
因为最早的生产劳动和部落协作
捕猎、采集的管理和分配的需要
使得人们开始记录物品的数量
记录做了什么事情
这种记录就是最早的历史
或者说,从某个时间开始
历史就是由这些不同形式的记录
逐步累积汇聚而来
因此也可以说
历史记录早于文字
尝试用绳结或者刻下的符号
记录当下的事实
这一刻开始
从概念层面上打通了
时间和物质
从而有了文明意义上的过去和未来
其他的生物
当然会有着对于之前和之后的感知
但是这种依赖于纯粹的生物本能的感知
既不可能上溯到久远的
连自我都还不存在的过去
也不可能预想到缥缈的
自我早已逝去的未来
而唯有人
会向上仰望星空
憧憬终有一日后人的触及
会向下探索与挖掘地面
了解文明的源头
以及文明尚不存在之前的世界的运行
把当下的复杂
每个领域的复杂向下剥离
都会触及每一种历史
而把历史继续向下剥离
到最终,一定会落在
时间、空间、物质、能量、信息之上
科幻作品《三体》里
有一句经常被人引用的话
「给岁月以文明,而不是给文明以岁月」
这句话在原文里的意思
应当是探索人类文明存续的意义
无法创造辉煌,变得死寂和压抑的岁月
可能不一定有延续的必要
而如果我们脱离原文
单纯给这句话擅自换一种解读
其实也可以说
虽然时间的运行
并不依赖于文明的存在
但是文明本身的存续
可以给时间带来丰富的定义、解读和想象
人们对历史的记录手段
随着文明的发展
随着历史变化的本身
也在发生变化
从绳子的结,石头的刻痕
到竹简、羊皮、布帛
经历纸、经历印刷
经历很多
到今天成为写入 SSD 存储芯片的比特位
在很多人的观念
以及所有的初等教育里
会把历史作为偏文科的概念
以区分于理工
而也许到了某个生活的阶段
会发现历史,包括历史记录的本身
历史讲述的本身
反而是承载了时间空间能量物质信息
这些最基础的事物随着文明延续的一切汇聚
而有了某种大一统的美感
时间本身也许是极其单纯质朴的事物
根据当下的物理学概念体系的定义
光的性质不变,则时间的性质不变
从相对论的思考引出的这些定义与数学模型
恰好又和中文里形容昼夜变化
从而定义时间流逝的「光阴」一词
形成了某种巧合的对应
这样的简单质朴的事物
哪怕到了信息时代,这些不断叠加的定义
依然在延续和变化
我在播客的第 41 期里
提到过 1970 年 unix 系统最初设计的时间记录定义
时光荏苒,50 多年之后
在我们当下的多数计算机设备里
包括所有民用的电子游戏主机、手机
以及车载智能系统里
这些都以 1970 年作为最初的定义
在延续,但是也发生了变化
其实
在我从事了很久的计算机领域工作之后
最让我着迷的事情,其实正是计算机系统里的
时间记录和表达
这种对于时间的着迷
又在这几年对于电子游戏速通领域的参与中
附加了一层特殊的含义
如果我们把时间的记录等同于历法
现在的国际通行的格里高利历
其中的年与日的概念
皆有历史的起源
公元的元年如何被定义
为什么 2 月时而有 28 天时而有 29 天
为么么 7 8 连续两个月都是 31 天
这些定义,我们都会在基础教育里了解
以及在生活中掌握
但是向下剥离之后的历史重量
我们会在之后 不知何时的时间中感受
这些不是时间的本质
连续运行的时间
本无所谓是 29 还是 31
但这些却是前面说过的
文明给岁月所附加的概念
指向文明的本质
正因为有了这些因素
在计算机系统里,实现时间的记录和表达时
就做不到数学意义上的简洁
而需要尊重叠加下来的历史
举一个最简单的例子吧
公元元年,就是公元 1 年
那么公元 1 年的前一年是什么呢
并不是公元 0 年
而是公元前 1 年,AC 1 年
符号可以写作 -1 年
而在数学上,1 和 -1 的差
其实是 2
所以到了计算机系统里
处理到这个地方的时候
就不能简单的只是在数字上减一
公元纪年与时间戳的毫秒值的换算
就需要在这里做出特殊的处理
如果这只是一种概念定义导致的新的延续
那么也会有一些看似不易理解的设计
究其原因,最终指向历史的伤痛
可以按 F12 键打开
像 chrome 这样的浏览器的控制台
在里面用 javascript 做一些简单的测试
会在时区换算上
发现奇怪的事情
这个测试正是今天这期播客的插 图
你会看到 1941 年的香港标准时间是东八区
和现在的北京时间一致
而 1942 年到 1945 年间
时区的定义变成了东九区
又在 1946 年恢复到东八区
究其原因其实并不难了解
这三年正是历史上香港地区的日占时期
历史承载了文明
同样记录了侵略与罪恶
摧残和掠夺
无论是公元元年的纪年
还是月份的 29 与 31
以及这个小小的时区变化概念
历史并非总是写在史书里
写在课本里
其实无处不在
会沉淀到生活的每一个角落
我们想到历史,总是想到被埋藏
被尘封的那些意象
但是历史却一样写在了
直到今天,最前沿的信息技术
互联网数据、AI 所使用的
时间代码库里
而当计算机的现代时间记录体系
在 1970 年被设计以来
它又何尝不是在持续衍生出新的历史
新的问题呢
工程师们经历了 1999 到 2000 年的
年分记录简写歧义导致的 Y2K 问题
也就是千年虫问题
经历了 GPS 10 位二进制计数周期设计欠妥
导致的 1024 周的 19 年滚动周期问题
经历了此后的国际时间标准
进一步严谨化的闰秒修正问题
也经历了从老旧的表格软件
一直延续到现在的 excel
和一些数据库中的 1900 闰年错误定义
导致的日期序列处理问题
而天文太阳时的定义
和后来的国际时区标准定义的偏差
导致的像 python 语言里
北京上海时间会和东八区的八小时相差几分钟
这样的问题,也一直在困扰着不少刚入行的开发者
甚至,一些历史的问题
却会发生在未来
1970 年的 unix 计时体系
最初采取的 32 位二进制计时
其记录极限只能到 2038 年的 1 月 19 号
这也被称之为 Y2K38 问题
现在到那一天还剩下 15 年
这是历史问题
还是未来问题
好像怎么说都可以
但总之我们还能够一起经历
解决这个问题并不难
比较晚出现的系统
会改为使用 64 位二进制数来记录
这样,极限就延续到了遥远的 290 亿年之后
文明能否在那时继续见证当下
就一切随缘
我一直觉得
越深入了解计算机和信息技术
就越觉得,计算机不是什么割裂过去的
那种纯粹新鲜的事物
他不是只有潮的一面,fashion 的一面
不是那 种只有充斥了赛博朋克符号化想象的一面
而是确实的
而且比过去的很多记录途径
都要更加精准深入的在反应历史
不仅停留在书本,而是嵌入了文明本身
而像我在之前的许多期播客里说的那样
电子游戏,无论从游戏的脉络来看
还是从计算机技术的脉络来看
都会指向这些厚重的历史与时间长河
今天很多人,没有在任何角度
去尝试了解这些事物的源头
也许仅仅是接触了一些浅显的消费领域说法
一些来源于商业议题设置的预设方向
一些丛林法则的当下胜者为王的零和博弈思路
就开始妄谈那些假称为艺术的
冒充艺术的,无源之水的四字伪概念
开什么玩笑呢
今天就聊到这里
祝你在冬夜里有舒适的休息,迎接明天的进步,晚安,再见!

