罗胖“做时间的朋友跨年”演讲2016/2017,我聆听了一个大概,很欣慰他自诩”文科生“,却意识到了几个主要大趋势,诸如人工智能和大数据,选举的不确定性等等黑天鹅现象,以及免费迷津,虚拟现实的等等问题,与我们刚刚开始,断断续续嘻话Tech的若干思路不谋而合。
罗胖提出的主要观点是,刚刚过去的2016年发生了一些“黑天鹅”事件,来自于我们事先无法预知或者根据我们已知的预判出现严重分歧的社会现象。从商业的角度,O2O的创业投资喧嚣逐渐让位于不媚俗的小众化需求及其形成的大众共识;从技术的角度,人工智能的算法不再纠缠于学习模型的可理解性,而是专注于结果对于大数据的合理性(“存在即合理”);从人性的角度,时间作为资源的普适度量即将取代无孔不入的金钱,增加老一代互联网企业守成和新一代企业创业的难度。这些观点有些事实依据,也算提出了一些见地。
可是仔细斟酌,还是从他的字里行间品出这么一个逻辑悖论:“是非不可论,皆因趋势不可知”。当你站在人类历史的大尺度上观望,几十年弹指一挥间,事后诸葛亮很容易看出长期趋势,可是当时当世却往往忽略这些不易察觉的趋势,而耿耿于一时的得失:不知庐山真面目,只缘身在此山中。
还记得美国攻打伊拉克时候的国防部长,拉姆斯菲尔德的名言吗?原文浅显易懂,就不翻译了,引述如下:Reports that say that something hasn't happened are always interesting to me, because as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns – the ones we don't know we don't know. And if one looks throughout the history of our country and other free countries, it is the latter category that tend to be the difficult ones.
在未知的未知(unknown unknowns)面前,谈论是非(即逻辑真假)是否可行呢?比如,在我们的软件安全需求研究范畴,借助系统的风险方法,是有可能的,参见Yijun Yu, Virginia N. L. Franqueira, Thein Than Tun, Roel Wieringa, Bashar Nuseibeh: Automated analysis of security requirements through risk-based argumentation. Journal of Systems and Software 106: 102-116 (2015)。
论文比较长,你不必详读,几句话总结一下:怎样判断系统是否安全呢?关键在于要避免“身在此山中”的尴尬,尽量广泛地搜集相关数据,即有用于正方的数据,也有用于反方的,以便做到兼听则明。
即使自己的软件项目很小,也要从已经公开的其他软件项目安全记录中寻找可能匹配的安全缺陷,评估其在自己的项目分析,设计,和运用的上下文中隐患,经常提问“如果是这样会怎样?”,防微杜渐,才能降低总体风险。在软件静态分析和测试的时候,也是把可能发生,但是未必发生的情况尽量考虑到,才能防患于未然。
当然,你会说这些系统方法其实都是针对已知的未知,而不完全是未知的未知。可是,如果不做这样的分析,把互联网上存在的已知考虑进来,那么对于项目而言,没有考虑到的已知也可以算作未知。
这个逻辑悖论的关键在于,圈定问题和需求的边界条件。当你的事业做大了,你的系统边界扩展了,不论是牵涉到更多的业务,还是更多的人,认知意外的情况就会增多,逻辑的不一致性可能就会增加,这用在软件项目上如此,用在事业发展上也会如此。所以,把你的朋友圈扩大到更多与你毫无关联的人,拓展更多你从未涉足的,全新的知识边界,你就越有可能从跨界交流得到意想不到的收获。几个世纪前的“大航海时代”,拓展了人类的认知边界,现在新的科技大航海要造就更多的时代弄潮儿。