整理 | 王启隆

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

今天是 2023 年 3 月 20 日,在 1999 年的今天,人类首次成功乘热气球环球飞行。在 24 年的今天,瑞士人皮尔卡、英国人琼斯经过近 20 天的飞行,终于完成了首次乘热气球环球飞行的壮举,总计飞行 42810 公里。热气球利用了加热的空气或某些气体,比如氢气或氦气的密度低于气球外的空气密度,以产生浮力飞行。回顾科技历史上的 3 月 20 日,这一天还发生过哪些关键事件呢?

1998 年 3 月 20 日:curl 4.0 发布

cURL(发音类似“curl”)是一个知名的计算机软件项目,它提供一个库(libcurl)和命令行工具(curl),用于使用各种网络协议传输数据。该名称代表“URL 客户端”。

cURL 的前身 httpget 于 1996 年底发布,瑞典开发人员 Daniel Stenberg 在当时想寻找一个自动记录和下载货币汇率的工具来为他的 IRC 机器人工作。Daniel Stenberg 接手了 httpget 项目,将它改名为 urlget,添加了对 GOPHER 的支持,更改了项目名称,添加了 FTP 支持……

图源:维基百科

最终在 1998 年 3 月 20 日,urlget 再次改名为 cURL,并发布了 4.0 版本。此时的 cURL 已经有 2200 行代码,它支持三种协议:HTTP、GOPHER 和 FTP,并具有 24 个出色的命令行选项。

cURL 发布之后,Daniel Stenberg 和他的团队又在 1998 年为 cURL 添加了 HTTPS 和 TELNET 支持,并引入第一个 cURL 手册。cURL 开始获得 GPL 许可,并在同一年切换到了 MPL。这一年,他们倾尽全力在 cURL 身上,总共发布了 200 个版本。最终在 1998 年 8 月,Daniel Stenberg 在开源目录站点 freshmeat.net 上添加了 cURL。

cURL 在开源社区一直活跃了 25 年,如今的 cURL 拥有 155100 行代码、486 页说明、1560 个测试用例、2771 位贡献者、1105 位提交作者、29733 次提交、48580 美元的 Bug 提交赏金、249 个命令行选项、28 项协议……你平时使用 cURL 吗?你认为它在未来仍然有意义吗?欢迎在评论区分享你的真知灼见。

资料来源:维基百科、Daniel 的个人博客

2003 年 3 月 20 日:思科收购 Linksys

Linksys 是一个美国网络设备品牌,现时由鸿海旗下的贝尔金(Belkin)拥有。Linksys 最初于 1988 年创立,2003 年 3 月 20 日被思科(Cisco)收购。尽管 Linksys 公司最知名的是其宽带调制解调器,无线接入点与无线路由器,但亦有生产网络交换机与 VoIP 设备以及多种其他产品。在 2013 年,思科把 Linksys 卖给贝尔金,并于同年完成并购。

图源:维基百科

Linksys 公司所生产的最著名的产品为 WRT54G,当时为了降低成本,Linksys 决定使用基于 Linux 操作系统的固件。通常来说,消费级的路由器包含一个中央处理单元与操作系统,而多数功能透过软件编码来实行,以将实体硬件保持到最低数来节省生产成本;但消费级路由器已知会因依赖软件来提供功能而不可靠,基于软件的路由器未配备快速处理器可能会在指向网络流量时缓慢。所以,WRT54G 因拥有快速的处理器而知名,但其固件并不完整,且缺乏高端功能。

2002 年,哥伦比亚大学法学院教授 Eben Moglen 指出,由于其固件本质上是基于 Linux,思科在法律上有责任以 GPL 条款发布路由器的源代码。经过一段时间后,思科承认其责任,并发布编码及透露了软件编码与硬件沟通方式的秘密。随后,网络上迅速形成了一个专门修改 Linksys 路由器固件的开放源代码社区,业余程序设计员们很快地学习到如何将价值 600 美元的功能加入价值 60 美元的路由器中。这起事件彻底改变了路由器市场,同时加强了部分消费级产品的稳定性与功能。

Linksys 与其他销售商当时不得不做出反应,最终迫于压力开源了 WRT54G 的 Firmware,不久之后,Sveasoft 公司开发了 Alchemy。此时,Linksys 仍有生产基于 Linux 的路由器版本,名为 WRT54GL,但未作为其中一款旗舰产品进行推广。到了后期,Linksys 发售了 WRT54GL 路由器,与原版 WRT54G 相似均是基于 Linux,因而可轻易地更新第三方固件;尽管 Linksys 仍未直接支持这种做法,但爱好者仍有兴趣修改与客制化他们自己的路由器。从此,无线路由器进入了可以刷机的时代。

资料来源:维基百科

2006 年 3 月:周以真提出计算思维

2006 年 3 月,计算机科学家、卡内基梅隆大学教授周以真(Jeannette Wing)在计算机领域权威期刊《ACM 通讯》上发表了一篇名为“Computational Thinking”的文章,详细阐述了计算思维。简单说来,计算思维是运用计算机科学的基础概念与思维进行问题求解、系统设计及人类行为理解等一系列活动的一种普适思维方法与技能。1993 年,周以真曾与图灵奖得主芭芭拉·利斯科夫合作,提出了著名的 Liskov 替换原则。

计算思维应该跟阅读、写作和算术一样,组成一个人的基本分析能力。像计算机科学家一样思考,不仅仅是指能够使用计算机编程,它需要多层次的抽象思维。

——周以真

图源:维基百科

周以真于 1979 年获得麻省理工学院(MIT)的电子工程和计算机科学学士和硕士学位,1983 年获得 MIT 计算机科学的博士学位。她的主要研究领域是形式方法、可信计算、分布式系统、编程语言等。2004 至 2007 年,她曾担任卡内基梅隆大学计算机学院院长;2013 年 1 月加入微软研究院,担任微软全球资深副总裁,负责微软研究院全球各核心研究机构及微软研究院学术合作部的工作。

跟阅读、写作和算术一样,计算思维是一种解决问题的方法;其标志就是采用编程或是软件工程的思想解决日常遇到的问题,将一个体量巨大的问题看成一个项目通过抽象细化成各个子项目,采用递归一类的编程思想进行解决。周以真认为,计算思维包括了涵盖计算机科学之广度的一系列思维活动,并从计算机科学、科学计算、计算科学、可计算原理等因素分析对计算思维形成方面的影响。

周以真曾为计算思维举了一个简单易懂的例子:如果你要做一顿饭,既要煮饭又要炒青菜炒肉,但又不能做好菜了但饭还没煮熟,要怎么做?这三项任务都需要花费资源和时间。在做饭这件事上,你就相当于一个操作系统。我们在计算机科学中所学习的,正是如何调配有限的资源,完成所有任务。周以真认为,计算思维不局限于计算机科学家身上,我们每一个人都能拥有计算思维。

如今,许多人将计算机科学等同于计算机编程,有些家长为他们主修计算机科学的孩子看到的只是一个狭窄的就业范围,许多人认为计算机科学的基础研究已经完成,剩下的只是工程问题。当我们行动起来去改变这一领域的社会形象时,计算思维就是一个引导着计算机教育家、研究者和实践者的宏大愿景。

——周以真

资料来源:维基百科

2013 年 3 月 20 日:Docker 发布

Docker 是一套平台即服务(PaaS)产品,使用操作系统级的虚拟化技术,以称为“容器”的包来交付软件,而容器之间相互隔离,可大大提高软件交付速度。Docker 轻量和可移植的特性尤其适用于动态和分布式环境,它的兴起为软件开发带来了一场革命。Docker 公司创始人兼 CTO 所罗门·海克斯(Solomon Hykes)也是计算机容器概念的提出者,他于 2013 年的今天以开源方式发布了 Docker,对计算机行业产生了极大影响。

图源:维基百科

Docker 利用 Linux 核心中的资源分离机制,例如 cgroups,以及 Linux 核心名字空间(namespaces),来创建独立的容器(containers)。这可以在单一 Linux 实体下运作,避免启动一个虚拟机造成的额外负担。Docker 与虚拟机类似,但二者在原理上不同。Docker 是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此 Docker 更具有便携性,能高效地利用服务器。Docker 更多地用于表示软件的一个标准化单元,因此它可以无视基础设施(Infrastructure)的差异,部署到任何一个地方。

2021 年 8 月,适用于 Windows 和 MacOS 的 Docker Desktop 不再对企业用户免费。Docker 终止了对大型企业客户的免费 Docker Desktop 使用,并将其免费计划替换为个人计划。Linux 发行版上的 Docker 不受影响。同年,安全公司 Palo Alto Networks 研究人员 Aviv Sasson 在 Docker Hub 上发现了恶意容器映像档,这些映像档分别来自 10 个不同账号,总下载次数超过 2000 万次,内含挖矿软件。

以史为镜,可以知兴替。计算机科学发展至今,有许多至关重要的事件、人物。在《新程序员:我们的技术时代,我们的程序人生》中,来自四十余位技术人跨越半个世纪,用代码敲出一个个真实的程序人生故事!

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

【历史上的今天】3 月 20 日:cURL 二十五周年;Docker 发布;思科收购 Linksys相关推荐

  1. 博聊论坛:每日会员免费体育竞猜有奖活动(7月20日第八十四期)

    活动开始时间:7月20日 第八十四期) 活动介绍: http://www.boliao1.com/forum.php?mod=viewthread&tid=148560&extra=p ...

  2. 4月20日 疯狂猜成语-----第五次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜...

    疯狂猜成语-----第六次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜 会议内容:明天就要进行初步验收,所以今日开会的主要内容是将各个小组做的任务汇总整合,将游戏完整的呈现到大家面前 ...

  3. 历史上的今天——4月1日

    虽然今天是愚人节,但我没有开玩笑! 今天是微软公司的生日!(就怪了) 实际上,今天是"苹果"的生日!!! 苹果公司由史蒂夫·乔布斯.斯蒂夫·沃兹尼亚克和罗·韦恩(Ron Wayne ...

  4. 历史上的今天5月5日的重大事件

    1260年,蒙古帝国在伊勒汗迪纳战役中被击败. 1494年,法国国王查理八世和拿破仑·波拿巴在皮亚琴察达成协议,结束了一场冲突. 1821年,拜占庭帝国的最后一位皇帝君士坦丁十一世被土耳其军队俘虏. ...

  5. 3月20日html(二) 图片热点,网页划分,表单

    1.图片热点: 规划出图片上的一个区域,可以做出超链接,直接点击图片区域就可以完成跳转的效果. <img src="../图片/5109de19b9c5b.jpg" widt ...

  6. 在10月24日十点二十四谈谈程序员的哲学观

    马克思主义基本理论概论笔记 前言 做一下马克思主义基本理论总论的笔记. 有一次听课的时候,听到了一个观点,觉得挺有道理.马克思主义建立认识论,毛中特建立政治观,史纲建立历史观,思修法基建立人生观,时事 ...

  7. 2021年4月26日 星期一 三月十五 阴

    我在怀柔期间,正好赶上泰坦尼克号上映.当时这部由真实事件改变的悲剧爱情故事非常受欢迎,感觉人人都在谈论.我和李雪及其他同事也去电影院看了.或许是年龄还小,无法感受露丝与杰克的悲壮爱情,对剧情并没有留下 ...

  8. 【历史上的今天】6 月 20 日:MP3 之父出生;富士通成立;谷歌收购 Dropcam

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 6 月 20 日,在 2016 年的今天,中国超级计算机"神威·太湖之光"摘得世 ...

  9. 王传福称华为手机是比亚迪造的;贝索斯将于7月20日飞往太空;苹果泄露女生私密照赔偿数百万美元 | EA周报...

    EA周报 2021年6月11日 每个星期7分钟,元宝带你喝一杯IT人的浓缩咖啡,了解天下事.掌握IT核心技术. 周报看点 1.王传福称华为手机是比亚迪造的:华为手机 90% 金属框比亚迪造 2.亚马逊 ...

最新文章

  1. 前一千页CVE 对应影响产品信息 JSON文件格式转成HTML
  2. 只有14秒,假老黄才是假的!黄仁勋没有骗了全世界,英伟达「元宇宙」验明正身...
  3. python中functools_functools模块2个常用函数
  4. 三百英雄服务器维护2020,酸败英雄梦服维护公告《300英雄梦服》将定于2020年8月3...
  5. 产业链人士:LCD显示驱动芯片价格有望趋于稳定
  6. 带“公交一卡通功能”的智能手环会是用户最爱?
  7. [高精度整数] N的阶乘 [2006年清华大学计算机研究生机试真题]
  8. vue.js--遇到的一些错误
  9. arnold官方帮助文档_Python用不好英语水平不够?这里有官方中文文档你看不看
  10. 华为网络,模拟器ensp的基本使用
  11. 两年数据对比柱形图_堆积柱形图+散点图=数据对比完美呈现(附视频)
  12. 上海内推 | 微软亚洲研究院上海人工智能组招聘深度学习研究实习生
  13. 系统与软件过程改进09年年会,CMMI vs 敏捷PK赛参赛感言
  14. java实现大文件切割分片
  15. 坚果云 不在计算机显示图标,在Ubuntu18.04系统顶栏不显示坚果云图标的解决办法...
  16. 【数值预报】按时间维度合并/重新生成nc、grib网格数据(按天、小时组织的文件合并成按月组织文件)
  17. 山东理工ACM【1216】杨辉三角
  18. Vmware中Linux 虚拟终端之间 无法切换 解决方法
  19. 蓝牙模块惨痛教训——模块与单片机串口的隔离(更新)
  20. 计算机页面添加文字水印在哪,怎么添加水印-Word小技巧-快速添加高大上的水印...

热门文章

  1. 多元logistic回归模型——spss步骤
  2. 【面试】中级前端面试题记录及答案总结
  3. 直播星升级:造福渠道,用户遭殃
  4. repo sync同步代码出现contains uncommitted changes
  5. CocoaPods安装时报错
  6. Python实现概率论(1)
  7. error: failed to push some refs to ... 就这篇,一定帮你解决
  8. 【运动学】基于最小半径实现泊车仿真含Matlab源码
  9. Java开发必看!拼多多+携程+蚂蚁金服技术面集合
  10. 程序员的收入和择业,也谈谈我的看法(内容很粗俗,未成年人勿入)