林灰缺钱的原因很简单:
——想做的事情太多。
而且林灰想做的事情基本都极其烧钱。
诸如硬件一类的科技产品有多烧钱就不消多说了。
软件方面的很多项目也都是吞金巨兽。
一个看似平平无奇的AI模型,具体调/教的过程往往需要无数的真金白银。
至于更复杂的人脸识别技术、Fuchisia OS之类的问世所需要的更是金山银海。
没钱根本玩不转。
或许有人不理解林灰的“野心”。
其实林灰也知道,重生未必就非得波澜壮阔。
也可以渔樵江渚、闲云野鹤。
但林灰觉得他做不到如此这般。
至少最近半年之内林灰很难做到。
太多的事情需要林灰亲历亲为。
虽然没人逼着林灰走什么路线。
但在家庭背景、教育经历、人生际遇这些东西的潜移默化之下实际上一个人该走什么路线已然是定数。
这里面尤其值得一提的就是林灰的家庭背景。
林灰的家庭背景虽然算不上多么多么优渥。
但也算是根正苗红。
林灰曾祖那辈就开始从军为了国家和民族的命运战斗了。
林灰祖父也上过战场。
远的不说,林灰父亲那代人里林灰的大伯也经受过南疆烽火的洗礼。
林灰的父亲虽然没上过战场,但也参过军。
退役之后转业的。
在地方又呆了一年多下海经商了。
尽管如此,林灰父亲最眷恋的还是军旅生涯。
在这样的家庭氛围下熏陶成长。
林灰有些东西可以说是刻在DNA里面的。
(说起来林灰重生最开心的事情之一就是太爷爷还健在了。
虽然此时林灰曾祖父已然94岁,但依旧身体硬朗。
也就是说此时林灰家里依旧是四世同堂。
林灰作为他那代人里年龄最小的,一向最得曾祖父的疼爱。
林灰觉得即便他很忙,也应该去多陪陪老人家。
子欲养而亲不待,是最大的不幸)
除了家庭因素、教育经历以及人生际遇之外的原因之外。
跟林灰的个人想法也有很大的关系。
林灰觉得一个人的命运只有跟国家的命运民族的命运紧密地结合在一起。
才能走得更高更远。
有着远大的理想,林灰自然不会被眼前的小小困难所掣肘。
虽然林灰缺钱了,不过问题不大。
搞钱很容易!
这个时代对于林灰来说遍地是钱。
软件能换钱,算法能换钱、商业模式能换钱……
不过暂时林灰没心情鼓捣这些东西。
暂时还是找些轻轻松松的搞钱方式比较好。
说到轻轻松松地搞钱,林灰最先想起了他前几天看到的新闻:
——苹果公司全面开放了漏洞赏金计划。
根据该计划,可以通过提交漏洞来换取报酬。
当安全人员向“漏洞赏金计划”提交漏洞之后。
苹果方面称会对这些漏洞基于开发链的复杂性和严重性进行衡量。
每个安全漏洞至高可获得100万美元的赏金。
而如果能够在Beta版(测试版)软件中发现漏洞的话。
赏金最高一次能够获得150万美元。
林灰前段时间之所以没有马上提交漏洞,主要是抱着观望的态度。
万一提交了漏洞,苹果不认账就比较悲催了。
这事前世苹果也不是没干过。
不止苹果这么干过,谷歌微软之类的企业都这么干过。
不过林灰从一些公开的新闻获悉。
已经有几个安全团队通过这个安全网站提交了安全漏洞并且换得近百万美元了。
当然并不能据此说苹果守规则。
林灰觉得这主要是因为这个漏洞赏金计划刚刚推出不久。
苹果方面还不至于这么快就自己打自己脸。
如果是这个原因,那么最近一段时间。
林灰似乎没必要担心太多,他只需要如法炮制提交些漏洞就可以了。
说到苹果iOS的漏洞,林灰最先想到的是“时间回归漏洞”。
所谓的时间回归漏洞指的是有一段时间苹果手机调整时间会变砖。
调整时间手机会变砖?
听起来可能有点滑稽,不过这漏洞真实存在。
在iOS 64位设备的早期版本上。
只要将苹果手机时间设定到 1970年1月1日,然后重启,苹果手机就变砖头。
之所以存在这样一个漏洞跟iOS 系统的最底层——Unix 系统有很大的关系。
Unix操作系统,是一个强大的多用户、多任务操作系统。
该系统支持多种处理器架构。
按照操作系统的分类,属于分时操作系统。
该系统最早由肯·汤普逊、丹尼斯·里奇和道格拉斯·麦克罗伊于1969年在AT&T的贝尔实验室开发。
Unix系统有很多衍生产物。
iOS 基于的 Darwin 正是 Unix 的分支之一。</div>
iOS作为一个系统一定程度上继承了Unix的特性。
既然是系统,那么不可避免会涉及到计时的问题。
与人类一般使用“年+月+日”的计数格式不同。
Unix 采用了一种完全不同的计时方式:
在Unix系统中计时方式是先将(UTC时区) 1970 年 1 月 1 日 00:00 设定为 0 点。
随后计算到目前为止所经过的秒数。
举个栗子。
2014年6月22日18时30分25秒。
表示出来的话为 秒。
换算成对应的二进制在Unix系统下表示时间。
这种计时方法被称为时间戳。
iOS系统也沿袭了Unix这一计时方法。
也正因此,iOS 中时间的设定最多也只能回溯到 UTC时区1970 年 1 月 1 日 00:00 也是这个原因。
仅仅是设置成这个时间的话不会有什么问题。
但涉及到一些特殊的在局部关键功能具有查询过往信息的规则的时候
将时间设置成UTC时区1970 年 1 月 1 日 00:00很容易出问题。
尽管多数时候可以通过人为的因素避免触发这个漏洞。
但苹果手机开机的时候就有一个这样强制查询过往信息的机制这个几乎无法避免。
这个机制没办法取消,因为关机重启之后手机肯定是要读取一部分先前的日志数据的。
这种情况下如果时间戳是正常时间的话,那么读取先前的日志数据并不会有什么问题。
但当UTC时区1970 年 1 月 1 日 00:00的时候,这个时候时间戳的时间是0。
当局部时间比时间戳 0 点更早的情况下。
应该怎么表示比时间戳 0 点更早的时间?
似乎没什么好办法。
尽管没别的好办法,系统是机器。
又不是拥有智慧的生物,它一样是要通过查询机制找到更早时间的。
这个时候就会在时间戳0的基础上进行-1操作。
(这是为了在系统时间戳表达的时间上减去相差的秒数来查询之前的内容)
不过在0的基础上-1就比较悲催了。
得到的结果并不是-1。
0-1≠-1?
听起来很匪夷所思,但实际上在程序里面涉及到这种现象比比皆是。
这与二进制表达负数的方式有关系。
因为 Unix 采用了二进制的方式来存储。
二进制数据在执行在执行00……0-1
实际进行的的运算是:(1)00……0-1
(ps:省略号中有61个0)
得到的结果是11……1
(ps:省略号中有61个1)
这样的话0-1≠-1
得到的数实际是2的64方-1。