周末瞎想系列1
从原来的博客转过来的,原文链接http://r00e.blog.163.com/blog/static/21745311220132233321333/
事情发生后,单个来看,意思不大。如果把一些事情联系起来看,就会比较有意思了。
过程是这样的:
前阵子看到了一个帖子,比较三体、黑客帝国和异次元骇客这三个故事的。
里面说,是三体里面那种降维打击厉害,还是黑客帝国里面的重启厉害,还是异次元骇客里面的拔插头厉害?
最后一个我没看过,于是乎搜了一下,找到一个来看。
下面有剧透,没有看过异次元骇客并且不想被剧透的同学,可以不看了 =。=
异次元骇客 的情节,说的是我们的世界里有一伙人,在计算机里面完全模拟了一个1937年的洛杉矶,在那里他们依照自己身边的朋友和其他人物为原型,设计了很多人物,然后那些人在1937年的洛杉矶幸福的生活着 =。=
我们这个世界的人,可以通过一个设备连接进去,去体验一把自己设计的世界。比如你以自己为原型设计了一个人物在里面,那个人物在虚拟世界中有着自己的生活,当你通过设备连接进去体验生活的时候,他会晕厥,你的精神就上了他的身。。。姑且这么描述吧。当你体验完,回到现实世界的时候,他会醒过来,但是你所经历的事情他一点都不知道。
在虚拟世界里,那些人就以为自己得了某种暂时失忆的病,也不会太当回事……
总之就是,那个世界里面的人,会对自己世界的一些异动做一些看似比较合理的解释。然后大家各自过各自之前的生活,木有影响。
当你在现实世界拔掉插头,那个虚拟世界的一切,就消失了。
很好玩是吧?
那么说点悲情的,最后主人公发现,他所在的这个所谓现实世界,其实是另一个世界里模拟出来的……自己也是一堆二进制数字而已。
当然了,主角光环无比强大,后来他竟然到了那个模拟自己所在世界的现实世界,并且有了一个有钱还漂亮的老婆,当你以为所有这一切都有了一个happy ending的时候,砰矶,这个现实世界也被拔了插头 =。=
你如何能证明自己所在的世界不是虚拟出来的啊????
然后我想起了另一件事:
更前一阵子,因为要测一个功能,是隔n天之后,服务器端会给符合某些条件的用户发提醒邮件,测试的时候我不可能等那么多天,于是乎,我改了服务器的时间,邮件成功发出……
如果,在那台服务器上有一个模拟出来的世界,他们的时间,是不是就会凭空的跳跃了好几天?
不知道……
如果他们发现了他们的日期消失了好几天,会怎么想?会去探究,自己的世界发生了什么吗?
不知道……
他们世界的相关组织或者专家,会不会给出一个解释,为什么日期跳跃了?
不知道……
再然后,我想起了更早的一件事:
跟同事弄一个API测试的东西,写里面的测试用例,有一个用例,是跟日期相关的,我们填一个很早的年份,想让所有的已存用户都会如此,好像是0年,忘记了。。。但是出了一个问题,于是我们就去看代码了,发现,代码里竟然限制了年份的范围,是1753年到9999年,我们就很奇怪,为毛从1753年开始呢?
9999年还能理解,1753年,这么具体的年份,怎么来的?
这个事情当时我发微薄了还,也找到了原因,是个有意思的事。
之所以把日期限定在1753年之后,缘由是
微软和Sybase两大公司决定不允许在各自数据库的日期型数据早于1753年,如果想使用早于1753年的日期,就不能用日期型格式,得想别的法子。
那么,问题又来了,为毛这俩公司不允许各自的数据库日子早于1753年啊?
答案是,因为英国议会在1752年作出决定,抹掉 11天----1752年9月3日至13日。也就是说1752年时不完整的一年……为了图省事,数据库里的日期就从1753年开始吧……
好的,问题又来了 =。= 为毛英国议会在1752年做了这么一个决定啊?你丫想改就改啊?
原因是,在比他们更早的200年前,1582年,罗马教皇格里高利十三世对当时使用的儒略历法做了一次修正,抹掉了1582年10月5日到1582年10月14日这10天的时间……这个被修正后的新历法,被称作格里高利历法,并且在罗马天主教势力范围内迅速被接受。
可是英国佬不认帐,说你凭毛改啊!荒谬!那几天人的生日怎么过啊?这个月的工资怎么算啊?利息怎么算啊?爷就是不改!!于是英国人一直没改,一直到了1752年,英国议会才做出决定,抹了11天。
那么,好吧,问题又来了。。。 为什么教皇要抹去1582年的10天?为什么英国人死抗了200来年不接受,最后又从了呢?
别急,问题有点多,不过,都是有答案的……
在格里高利历法使用之前,人们使用的那个历法,叫做儒略历法。
你是不是想说,等一下,为啥要有历法啊?
(此处内容部分来自《数学之美》,凭印象写的,有错请指正 ,PS:好书!推荐…)
这个嘛,得从天文学说起,天文学起源于古埃及,是吧?至少,我看的资料是这样的。尼罗河每年都会发一次大水,每次洪水退后,古埃及人就要在那片被水泡过的地上耕作,因为那片土地肥沃,收成好。那么,就需要对洪水到来和退去的日期做一个尽量准确的预测,好指导自己,什么时候做什么事。
所以,人们有了对历法这个东西的需求。
然后,十分NB的古埃及人就根据天狼星和太阳在一起的位置来判断一年中的时间和节气,就产生了历法这么个东西……只不过古埃及人这个历法的周期很长,四年多吧。
再然后,美索不达米亚兴起了,同样NB的古巴比伦人对天文学有了更进一步的研究,此处略过……
再再然后,到了古罗马时代,有个叫做托勒密的人,嗯,没错,就是那个提出地心说的托勒密,这个大哥虽然在我天朝总是被批(比如说地心说是蒙骗普罗大众的!不科学的!)
但是这不影响他的NB,球坐标他提出的,经纬线他定义的,弧度制他发明的。NB么?仰慕么?好吧,回到天文学,托勒密定义了一个很复杂的数学模型,用来计算行星运行的规律,这个数学模型的复杂程度,即便放到今天,我们在计算机的帮助下,也很难解出那样的方程,但是当时这大哥人肉计算 =。= 神一样有木有!
儒略历的来头呢,就是根据他的计算,制定了儒略历…每年有365天,每4年增加一个闰年,多一天,用来指导农业活动的进行。在长达1500年里头,人们都使用这个历法来决定农时,可是过了这么长的时间,误差累计下来,多出了10天……虽然10天没什么大不了的,但是对于农时来说,10天差不多就误了一个节气了,节气之间的间隔差不多是15天吧,不信可以看看我们的24节气 : )
那么,就需要修正了,对吧?
于是呢,前面提到的格里高利十三世,站了出来,说,hi,擦掉10天吧,而且将每个世纪的最后一个闰年改为平年,每400年插回一个闰年。
如何?熟悉吗?我们在学校学的闰年是如何计算的?可以被4整除且不能被100整除,或者能被400整除。
也就是四年一闰,百年不闰,四百年再闰。
这个就是我们现在使用的格里高利历法了,这个历法几乎没有误差,沿用至今……
(好的,数学之美的引用结束。)
英国人当时觉得这个事情匪夷所思啊!于是不用,但是200年后,他们觉得儒略历的误差不能忍了,被迫从了格里高利历法…只是因为200年过去,又有了一些误差,于是他们重新计算了一下下,抹掉了11天,做了新的调整。
再然后,微软和Sybase的数据库产品,日期类型不能早于1753年……
好的,问题回答完毕。
你看,我们这个世界,所用历法真的就少了10天左右,而且我们这个世界的人也对这个现象作了合理的解释和说明,一切看上去都那么的有理有据……
但是
想想异次元骇客那部电影,你相信那些解释吗? : )
你确定我们这个世界不是模拟出来的吗?
你确定我们不是一堆二进制数字吗?
想想火影忍者,你认为带土和斑最后有没有成功利用月亮释放最大的瞳术?
你确定我们不是在带土和斑塑造的梦境中吗?
再或者,看少年派的时候,你们肯定听到Pi说的,毗湿奴神自己漂流在无尽的宇宙之海上,我们这个世界只是毗湿奴神的一个梦境。
你觉得呢?
: )