透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。

今天是 2022 年 12 月 9 日,在 1968 年的今天,Douglas Engelbart 在一场重要会议上(正文将会介绍)演示了世界上的第一个鼠标;他在 1970 年 11 月 17 日为这只鼠标正式申请了专利,并因此获得了 1997 年图灵奖。

说到专利,你知道世界上第一个获得专利的人是谁吗?让我们一同回顾计算机历史上的 12 月 9 日,看看这一天都有哪些关键事件发生。

1743 年 12 月 9 日:Samuel Hopkins 获得美国史上第一项专利

【历史上的今天】12 月 9 日:微软推出 Windows 2.0;五十年前的极客科技展;第一个获得专利的人-LMLPHP


Samuel Hopkins 出生于 1743 年 12 月 9 日,他是早期的废奴主义者,他曾说,解放所有奴隶符合美国的利益,也是美国的责任;在他生活的年代,农业是主要产业,化肥则在农业生产中起到很大作用。当美国还是英国殖民地的时候,英国就从美国进口钾肥,在新英格兰地区生产钾肥是人们谋生的重要手段。

在这一时代背景下,Hopkins 发明用新设备和新工艺制作钾肥和农业用碳酸钾,改进了钾肥的生产过程,增加了钾肥的产量以及将钾肥生产过程中原本丢弃的原料加以再次利用,节约了成本。

因此,Hopkins 的发明对推动美国钾肥生产起到了积极的作用,在 1790 年 7 月 31 日,根据时任总统华盛顿签署的美国新专利法规,他获得了美国的第一项专利;他的专利得到批准后一年,加拿大也向他发出了专利许可,被认为是加拿大的第一份专利。从第一项专利发布以来,美国已经批准 600 多万份专利及商标许可,专利及商标获得者遍及全球。

1906 年 12 月 9 日:第一个发现 Bug 的人 Grace Hopper 出生

9 月 9 日的专栏里,我们介绍了世界上第一个被实际发现的计算机错误(Bug);正所谓编程不息,Bug 不止,发现第一个 Bug 的人,正好也是引发众所周知的史上最大 Bug“千年虫”的人,这个人便是 COBOL 语言的发明者,传奇女军官兼女程序员格蕾丝·赫柏(Grace Hopper)。

【历史上的今天】12 月 9 日:微软推出 Windows 2.0;五十年前的极客科技展;第一个获得专利的人-LMLPHP


格蕾丝·赫柏(Grace Murray Hopper)被称为“计算机软件工程第一夫人”,她本名格蕾丝·布鲁斯特·穆雷(Grace Brewster Murray),赫柏(Hopper)为夫姓;1906 年 12 月 9 日,赫柏出生于美国纽约州纽约市,她不仅是一名计算机科学家,还是一位美国海军准将(Rear admiral),是世界上最早一批的程序员之一,也是最早的女性程序员之一。

赫柏是美军第一个获得准将头衔的女性,美国海军驱逐舰赫柏号驱逐舰以她来命名;配置于国家能源研究科学技术中心(NERSC)的超级电脑 Cray XE6,便是以 Hopper 命名,以表彰她的贡献。

赫柏是 Harvard Mark I 的第一个专职程序员,她共同创造了现代第一个编译器 A-0 系统,以及第一个高级商用计算机程序语言“COBOL”,被誉为“COBOL 之母”。

著名的计算机术语“Debug”(调试排错)便是她的同事在哈佛二号的继电器上发现一只飞蛾造成短路,才正式成为计算机程序的专有用语。她也是“千年虫”危机的创造者。她培育出许多编程语言专家,被人称为“不可思议的格蕾丝”(Amazing Grace,这个英文单词是双关,其典故来自同名基督教圣诗“奇异恩典”)。

为了节省硬件成本,赫柏曾在 Harvard Mark I 上,决定以 6 位数字来存储时间,即年、月、日各两位;这个习惯被 COBOL 语言继承,之后传播到其他编程语言及操作系统中,这也是日后千年虫危机的最早起源。

如今,千年虫问题并没有完全解决,软件在特定的日期依旧有可能出现运作错误,而离我们最近的便是 2038 年 1 月 19 日,这便是著名的“2038 年问题”;不过,2038 年问题只会出现在 32 位的操作系统上,而到了 2038 年,世界上还会有人继续用 32 位操作系统吗?让我们共同等待这个问题的答案。

1968 年 12 月 9 日:恩格尔巴特举办史上“最极客”科技演示

1968 年 12 月 9 日,鼠标的发明者道格拉斯·恩格尔巴特(Douglas Carl Engelbart)在旧金山召开的计算机协会暨电气电子工程师学会(ACM / IEEE)秋季联合会议上进行了一场具有里程碑意义的计算机演示,后被人称为“所有演示之母”(The Mother of All Demos)或“演示之母”。

在 90 分钟的演示里,恩格尔巴特介绍了一个完整的计算机软硬件系统,其中涵盖现代计算机几乎所有的基本要素,这也是人类第一次在单一操作系统中一次性公开展示这些要素。

【历史上的今天】12 月 9 日:微软推出 Windows 2.0;五十年前的极客科技展;第一个获得专利的人-LMLPHP


在现场的 90 分钟演示里,恩格尔巴特主要是介绍一个完整的计算机软硬件系统,被称为 oN-Line System(NLS)。他展示了现代计算机几乎所有的基本要素:窗口,超文本,图形,高效导航和命令输入,视频会议,计算机鼠标,文字处理,动态文件链接,版本控制和实时协作编辑器(协同工作)。

这次演讲产生了巨大影响,并在 1970 年代早期催生了施乐帕罗奥多研究中心的类似研究项目。在 1980 - 1990 年代,其底层技术影响了苹果公司麦金塔(Macintosh)操作系统和微软 Microsoft Windows 的图形用户界面。

在这次演示之前,计算机科学界有相当一部分人认为恩格尔巴特是个“疯子”;但当他完成时,他被描述为“用双手处理闪电”。这场“所有演示之母”会议影响了一代又一代人,恩格尔巴特的影响力也在大会上达到顶峰,在整个 20 世纪 70 年代和 80 年代的大部分时间里,他作为鼠标和超文本的发明者而被人们铭记。

在 1998 年,这场演示的 30 周年纪念日上,斯坦福大学举行了一个大型会议来庆祝恩格尔巴特对计算和万维网的有远见的影响;在庆祝计算机诞生 40 周年之际,恩格尔巴特的演示被公认为计算机历史上最重要的演示之一。2015 年,一场名为《The Demo》的表演艺术音乐展示描绘了这一事件,它由米克尔·劳斯和本·尼尔创作和演奏,首演在斯坦福的音乐厅。

2022 年的现在,我们仍在使用着恩格尔巴特于五十年前所预见的人机交互系统,正如那场会议的名字:“所有演示之母”;在恩格尔巴特看来,为了引导社会正确使用从战争中获得的科学知识,需要更好地管理和规范这些知识;而除了仅仅执行计算之外,计算机还可以用来增强人类思维的能力。你认为未来世界的人机交互会变成何种光景?AR / VR 会是未来的主流吗?欢迎在评论区分享你的真知灼见。

1987 年 12 月 9 日:微软推出了 Windows 2.0

【历史上的今天】12 月 9 日:微软推出 Windows 2.0;五十年前的极客科技展;第一个获得专利的人-LMLPHP


Windows 2.0 是一套基于 MS-DOS 的 16 位操作系统,于 1987 年 12 月 9 日发布,是 Windows 1.0 的后续版本。Windows 2.0 的图形用户界面类似于当时的 Mac OS,用户界面较 Windows 1.0 有着更多的功能,且已近似 Windows 3.0。Win 2.0 的支持周期长达 14 年,由 1987 年支持到 2001 年 12 月 31 日。

与其前身 Windows 1.0 不同,Windows 2.0 允许应用程序窗口彼此重叠,而 Windows 1.0 只能显示平铺窗口。Win 2.0 还引入了更复杂的键盘快捷键,以及“最小化”和“最大化”的术语,与 Windows 1.0 中的“图标化”和“缩放”相对;这些特性和基本窗口设置被一直沿用到 Windows 3.1。

与 Windows 1.x 一样,Windows 2.x 应用程序不能在 Windows 3.1 或更高版本上运行,无法向上兼容。Windows 2.0 是第一个集成控制面板的 Windows 版本,也是最后一个不需要硬盘的 Windows 版本。

1988 年 3 月 17 日,苹果公司对微软和惠普公司提起诉讼,指控他们侵犯了苹果公司在 Macintosh 系统软件上的版权。当时,苹果声称 Macintosh 操作系统的“外观和感觉” ,作为一个整体,受版权保护;而 Windows 2.0 具有相同的图标,侵犯了这一版权。

法官在苹果提起诉讼的 189 个图形用户界面元素中挑选了 10 个侵权图标(其中包括垃圾桶图标和文件夹图标),最终做出了有利于惠普和微软的判决。

这场官司打了四年,并让微软和苹果的命运纠缠得更深,在诉讼判决三年后,苹果对于微软在 GUI 方面的所有侵权问题均通过直接谈判解决,结果便是,微软同意在 1998 年至 2003 年内继续为 Mac 开发 Microsoft Office 和其他软件;而作为代价,苹果同意将 Internet Explorer 设为其默认浏览器,导致了网景浏览器在浏览器战争中失利。

2014 年 12 月 9 日:FIDO 联盟发布第一项官方标准

FIDO(Fast IDentity Online)联盟是成立于 2012 年 7 月的行业协会。其宗旨是为解决强制认证设备的交互性和用户面临大量复杂的用户名和密码。PayPal 和联想是创始人之一。

FIDO 联盟的使命是开发和推广认证标准,“帮助减少世界对密码的过度依赖”;从结果上,FIDO 发布的协议和标准解决了强身份验证设备之间缺乏互操作性的问题,并减少了用户创建和记住多个用户名和密码所面临的问题。

FIDO 支持全方位的认证技术,包括指纹和虹膜扫描仪等生物识别技术、语音和面部识别,以及现有的解决方案和通信标准,如可信平台模块(TPM)、USB 安全令牌、嵌入式安全元素(eSE)、智能卡以及如今常见的 NFC。

【历史上的今天】12 月 9 日:微软推出 Windows 2.0;五十年前的极客科技展;第一个获得专利的人-LMLPHP


根据使用的协议不同,FIDO 提供两种类型的用户体验这两个协议都在客户机上定义了一个公共接口,用于用户使用的任何本地身份验证方法。2014 年 12 月 9 日,FIDO 联盟在官网上发布了通用认证框架(UAF)1.0 建议标准;不过,万维网联盟(W3C)对 FIDO 标准进行了许多次修订,直到 2019 年 3 月 4 日,网络认证标准才正式成为了 W3C 推荐标准。

这个世界正深受口令所带来的隐患和困扰,这些可能的危害已经显而易见。传统的账号认证方式,不管是静态密码、证书、动态令牌,都需要把用户持有的凭证传输到服务端进行验证,就会存在各种各样的风险来伪造用户凭证来进行攻击。

FIDO 在这一时代背景下应运而生,它的目标是创建一套开放、可扩展的标准协议,支持对Web应用的非密码安全认证,消除或减弱用户对密码的依赖。目前,FIDO 联盟在中国的董事会成员便有阿里巴巴和联想,介于中国移动互联网和不同行业的发展现状,FIDO 要做的不只是解决问题,还要想如何把这一技术推广出去,让其生态在国内壮大。你如今最常用什么方式解锁自己的智能手机?欢迎参与本期投票,在评论区分享你的真知灼见。

扫描或点击《新程序员:我们的技术时代,我们的程序人生》订阅!

【历史上的今天】12 月 9 日:微软推出 Windows 2.0;五十年前的极客科技展;第一个获得专利的人-LMLPHP

12-09 16:40