整理 | 王启隆
透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。
今天是 2023 年 4 月 26 日,在 2017 年的今天,中国首艘国产 001A 型航空母舰在大连完成了下水,从开工到下水,历时 3 年多时间。回首过去,眺望未来,在科技历史上的每个 4 月 26 日里,还发生过哪些影响深远的关键事件呢?
曼纽尔·布卢姆(Manuel Blum)出生于 1938 年 4 月 26 日,他是委内瑞拉的计算机科学家、卡内基梅隆大学的教授,因对计算复杂度理论做出的贡献,以及在密码学和编程校验上的应用而获 1995 年图灵奖。布卢姆出生于委内瑞拉的一个犹太家庭,他曾在麻省理工学院学习,1959 年和 1961 年他分别在那里获得了学士学位和硕士学位,最终于 1964 年获得了数学博士学位。
布卢姆是密码系统和程序检验的先驱,是计算复杂性理论的主要奠基人之一;从他早期关于计算的内在局限性的研究开始,Blum 的工作就围绕着一个统一的主题展开,那就是发现在一个所有计算资源全是有限的世界里生存的实际结果。他指出,由于目前计算设备资源有限,安全的商业交易和虚假的随机数生成都是可能的。

自互联网诞生以来,就一直有人希望使计算机无法识别文本——因为总有人希望在互联网论坛上发布敏感话题,而这些人认为这些论坛会自动监控关键字,为了规避此类过滤器,他们就开始使用相似的字符替换那些敏感的单词——这种现象直到现在也依旧屡见不鲜。在这一时代背景下,网站为了安全问题,也为了反制这些人,验证码系统应运而生。
1997 年,两个团队宣称自己独立发明了验证码,曼纽尔·布卢姆在其中一个团队之中。验证码的学术名称为“全自动区分计算机和人类的公开图灵测试”(Completely Automated Public Turing test to tell Computers and Humans Apart,CAPTCHA),是一种区分用户是计算机还是人的公共全自动程序。
2003 年,路易斯·冯·安和曼纽尔·布卢姆等人创造了 CAPTCHA 一词;因为 CAPTCHA 测试是由计算机管理的,与由人类管理的标准图灵测试相比,CAPTCHA 有时被描述为“反向图灵测试”。这种用户识别程序自然地受到了许多批评,尤其是来自残障人士的批评。对于浏览各种网站时遇到的验证码,你都有什么想吐槽的呢?欢迎在评论区发表你的真知灼见。
资料来源:维基百科、百度百科
1986 年 4 月 26 日,切尔诺贝利爆发了一场核事故;切尔诺贝利核事故是一件发生在前苏联统治下乌克兰境内切尔诺贝利核电站的核子反应堆事故。该事故被认为是历史上最严重的核电事故,也是首例被国际核事件分级表评为第七级事件的特大事故(目前为止第二例为 2011 年 3 月 11 日发生于日本福岛县的福岛第一核电站事故)。
1998 年 9 月,日本山叶公司为感染了该病毒的 CD-R400 驱动提供了一个固件更新。1998 年 10 月,Activision 公司旗下游戏 SiN 的一个演示版本因为在某一用户的主机上接触被感染档而受到感染。这个公司的传染源来自 IBM 于 1999 年 3 月间发售的已感染 CIH 病毒的一组 Aptiva 品牌个人电脑。1999 年 4 月 26 日,在先前的布局完成后,切尔诺贝利病毒(CIH 病毒)首次发作。这是一宗不亚于切尔诺贝利核事故的大灾难,是计算机界的一次“核爆”;全球不计其数的电脑硬盘被垃圾资料覆盖,甚至 BIOS 也被破坏,无法启动。
CIH 病毒被认为是世界上最有害的广泛传播的病毒之一,它会破坏用户系统上的全部信息,在某些情况下,会重写系统的 BIOS。之所以叫“CIH”,却不是因为切尔诺贝利,而是因为其作者,当时仍然是台湾大同工学院学生的陈盈豪名字(Chen Ing-hau)的缩写。因为 CIH 病毒的 1.2 和 1.3 版发作日期为 4 月 26 日(第一版病毒创造出来的时间),正好是前苏联(位于今日乌克兰)核电厂灾害“切尔诺贝利核事故”的纪念日,故曾被认为病毒作者撰写动机和切尔诺贝利事件有关,因此 CIH 病毒也被称作切尔诺贝利(Chernobyl)病毒。

CIH 病毒不断猖獗,至 2000 年 4 月 26 日,亚洲报称发生多宗损坏,但病毒没有传播开来。2001 年 3 月,Anjulie 蠕虫病毒开始出现,它将 CIH v1.2 植入感染的系统。针对 CIH 病毒可能篡改主版 BIOS 的特性,2000 年以后生产的很多主板配备了所谓的“反 CIH 系统”,其原理就是通过一个硬件跳线使得 BIOS 芯片(EEPROM 或 Flash)不能获得写入数据所需的电压,功能类似于磁带的“消磁防止挡舌”和软盘的“写保护”系统。该系统置于“打开”则有效的从硬件上阻止 CIH 对 BIOS 的篡改,反之需要升级主板固件时,则必须将该跳线置于“关闭”。
这个病毒在 2001 年死灰复燃。一个 VBS 文件里的 ILOVEYOU 蠕虫病毒变种包含了 CIH 病毒的挂钩例程,并用当红女星的照片进行伪装,使该病毒在互联网上传播开来。只有 CIH 感染大量发信的电脑蠕虫(如求职信病毒)所使用的程序,或有 Anjulie 蠕虫病毒参与时,CIH 才会被看成是一个威胁。但是 CIH 病毒只在 Windows 95,98 和 Windows Me 系统上发作,影响有限。现在由于人们对它的威胁有了认知,且它只能运行于旧的 Windows 9X 操作系统,CIH 不再像他刚出现时分布那么广泛传播。
1998 年,病毒的制造者陈盈豪被警方逮捕,同年他公布了解毒方法,并向公众道歉,最后因查出患有精神病躁郁症,并且没人起诉,他最终获得了释放;2000 年 4 月 25 日,陈盈豪在任职公司美商网虎(XLinux)陪同之下,发布了 CIH 百度的免疫程式“Anticih”。如今陈盈豪在一家科技公司当技术员,已早没了当年的锐气。
资料来源:维基百科、百度百科

Withings 是一家总部位于法国的消费电子公司。它还在剑桥、马萨诸塞州、美国和中国香港设有办事处,并在全球范围内分销其产品。Withings 以连接智能设备的设计和创新而闻名,当前市场上的第一款 Wi-Fi 秤(2009 年推出)、FDA 批准的血压监测仪、智能睡眠系统和一系列自动活动跟踪手表便出自该公司。Withings 还提供 B2B 解决方案,适用于医疗保健提供者和研究人员。
2016 年 4 月 26 日 Withings 被芬兰公司诺基亚收购,随后成为诺基亚的一个部门,称为诺基亚健康(Nokia Health)。2016 年 12 月 23 日,Withings 产品因不明原因从 Apple Store 下架,据称是苹果与诺基亚之间专利纠纷升级后的报复行为。Withings 品牌一直保留到 2017 年 6 月,之后被诺基亚的新品牌取代。2018 年 5 月,Withings 的创始人 Éric Carreel 敲定了重新获得控制权的交易,公司以 Withings 的名义再次独立。诺基亚在收购 Withings 期间并没有做出太多成就,没能靠数字健康成功翻身;在创始人 Carreel 重新收购 Withings 之后,他开始专研智能手表领域,结合医疗健康以及数字设备。
以史为镜,可以知兴替。计算机科学发展至今,有许多至关重要的事件、人物。在《新程序员:我们的技术时代,我们的程序人生》中,来自四十余位技术人跨越半个世纪,用代码敲出一个个真实的程序人生故事!
扫描或点击《新程序员:我们的技术时代,我们的程序人生》订阅!

我正在使用SublimeText2,同时遵循MichaelHartl的RubyonRails教程。可以在http://ruby.railstutorial.org/book/ruby-on-rails-tutorial找到我所指的教程的具体部分。(ctrl+F“list5.26”)。我能够创建规范/支持文件。但是,在尝试创建spec/support/utilities.rb文件时,我收到消息“无法保存~/rails_projects/sample_app/spec/support/utilities.rb”。有人知道为什么会这样吗?SublimeText论坛上有人似乎遇到了完全相同的问
整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2023年4月26日,在2017年的今天,中国首艘国产001A型航空母舰在大连完成了下水,从开工到下水,历时3年多时间。回首过去,眺望未来,在科技历史上的每个4月26日里,还发生过哪些影响深远的关键事件呢?1938年4月26日:编程校验领域图灵奖得主ManuelBlum出生曼纽尔·布卢姆(ManuelBlum)出生于1938年4月26日,他是委内瑞拉的计算机科学家、卡内基梅隆大学的教授,因对计算复杂度理论做出的贡献,以及在密码学和编程校验上的应用而获1995年图灵奖。布卢姆出生于委内瑞拉的一个犹太家庭,他曾在麻省理工学
这只是一个假设性的问题,如果您没有Array和Hash类,是否有任何方法可以在纯Ruby中实现Array类?怎么办? 最佳答案 是的,我们可以!classMyArrayincludeEnumerabledefinitialize@size=0enddef[1,2]这通过在对象上创建实例变量@a0、@a1等来表示数组索引0、1等来工作。它具有恒定的时间长度和索引操作。其余的操作(删除等)需要付出更多的努力才能实现,但这是绝对可行的。请注意,索引操作的常量时间属性取决于底层Ruby运行时为实例变量使用适当的数据结构。
我想安装gitlab,不推荐使用任何ruby版本管理器。但是这是我的操作系统Linuxdqa-dev3.13.0-24-generic#46-UbuntuSMPThuApr1019:08:14UTC2014i686i686i686GNU/Linuxlinkingshared-objectpsych.soinstallingdefaultpsychlibrariesmake[2]:Leavingdirectory`/home/poc/ruby-2.0.0-p451/ext/psych'make[2]:Enteringdirectory`/home/poc/ruby-2.0.0-p451/
我觉得我快要疯了,但是alert()和console.log()拒绝在上任何地方工作火狐26。起初我以为这是我自己网站的问题,但我终究无法通过javascript:urls、Firebug使其正常工作,我什至在jsfiddle.net中尝试过通过将alert('test');放在脚本面板中。尝试卸载并重新安装,没有成功。我运行的唯一扩展是Firebug。哎呀,当我在写这篇文章时不小心点击了后退按钮时,Stackoverflow甚至没有提示我离开。还有,我确保在alert()和console.log()中有一些内容我所说的不工作是指Firefox将代码视为不存在,没有任何反应。再一次,这
我正在尝试异步加载诺基亚mapjavascriptAPI:varoScript=document.createElement('script');oScript.type='text/javascript';oScript.async=true;oScript.src="http://api.maps.nokia.com/2.2.3/jsl.js?with=maps,positioning,placesdata";document.body.appendChild(oScript);正如预期的那样,它不会立即起作用,所以我尝试覆盖document.write认为这可能是问题所在,但无济
1.coo存储方式采用三元组(row,col,data)(或称为ijvformat)的形式来存储矩阵中非零元素的信息。coo_matrix的优点:有利于稀疏格式之间的快速转换(tobsr()、tocsr()、to_csc()、to_dia()、to_dok()、to_lil();允许重复项(格式转换的时候自动相加);能与CSR/CSC格式的快速转换coo_matrix的缺点:不能直接进行算术运算,包括赋值初始化方式:coo_matrix(D),D代表密集矩阵赋值:>>>importnumpyasnp>>>fromscipy.sparseimportcoo_matrix>>>_row=np.ar
如果我有35个字符需要分配标记,我将需要使用小写和大写。如果我已经使用了所有小写ASCII字符,我该如何处理大写ASCII字符?我已经得到26的小写字母,但是当我添加三个大写ASCII时,它输出A|B|C|...让我解释一下。代码如下:@ECHOOFFSETLOCALSET"sourcedir=C:\Users\aborgetti\Desktop\PipeDelimiterProject"SET"destdir=C:\Users\aborgetti\Desktop\PipeDelimiterProject"(FOR/f"tokens=1-29delims=|"%%aIN('TYPE"%
我以文本模式在文件中写了一个流。#pythoncodef=open("somewhereinmycomputer","w")f.write("Hello\nWorld")f.write(chr(26))#writingasciicharacter#26tofilef.write("hhh")f.close()我无法读取ASCII字符#26之后的字节。我知道我应该用二进制模式打开文件。是ascii字符#26EOF字符。如您所知,没有这样的东西,即没有EOF字符。那么什么是问题呢?这是操作系统相关的问题吗?(我在MicrosoftWindows中尝试过)。 最佳
我想利用WindowsPhone8诺基亚mapAPI(Microsoft.Phone.Maps.Controls命名空间)的一些新功能。我有一系列TileSource类,每个类都有不同的图像。我在map上循环播放图像。在WindowsPhone7中,我会创建多个Microsoft.Phone.Controls.Maps.MapTileLayer类,为每个类添加一个TileSource,然后将它们添加到map中。然后,我会使用计时器遍历图层,将当前图层的不透明度设置为1,将其他图层的不透明度设置为0。在WindowsPhone8中,没有MapTileLayer类。我可以将所有TileSo