有那么一些代码片段,虽然只有寥寥几行,却能够给全世界带来巨大的影响。
链接:https://betterprogramming.pub/tiny-snippets-of-code-that-changed-the-world-fda104afc0d0
声明:本文为 CSDN 翻译,未经允许禁止转载。
作者 | Clive Thompson
译者 | 弯月 责编 | 屠敏
出品 | CSDN(ID:CSDNnews)
1997年,Ethan Zuckerman 发明了弹出式广告,从而在互联网上掀起了滔天波浪。
当时,他在 Tripod.com 工作,这是一个供人们免费制作小网页的在线服务。为了赚钱,Tripod出售页边广告。问题是,这些广告常常显示在一些淫秽内容的旁边,广告商绝对不喜欢。
老板让 Zuckerman 想一些解决办法。难道就没有什么方法可以定位广告,避免它们与一些不堪的内容并排显示吗?
这时,Zuckerman 想出了一个奇怪的、老套的解决方案:在用户访问 Tripod 页面时,生成一个全新的弹出页面,并在里面显示广告。严格来说,这样广告就不会与任何特定的用户页面联系到一起了,因为广告会悬浮在页面之上。
然而,你知道 Zuckerman 创建的弹出式广告只用到了一行 JavaScript 代码吗?
window.open('http://tripod.com/navbar.html'
"width=200, height=400, toolbar=no, scrollbars=no, resizable=no, target=_top");
实际上,这行 JavaScript 代码只是告诉浏览器打开一个新窗口,该窗口的宽度为 200 像素,高度为 400 像素,顶部没有滚动条或工具栏,位于当前网页的顶部。
这行代码虽然简单,但危害不小!很快,各家商业网站纷纷开始复制这行代码,于是整个互联网上都充斥着弹出式广告。2000 年初,我认识的一位程序员告诉我,他们的绝大部分收入都来自色情弹出广告。
你肯定也见过弹出式广告,内心肯定也无比讨厌。幸运的是,现在的浏览器可以屏蔽掉这些广告了。
正如 Zuckerman 所说,他写了一行“让整个世界变得更糟”的代码。
Zuckerman在《“You Are Not Expected to Understand This”: How 26 Lines of Code Changed the World》中提到了他的这个故事。这是一本非常有趣的短文集,由 Torie Bosch 编辑,其中记载了影响了全世界的一些代码片段。
令我无比惊讶的是,这些代码片段大多如此简短。许多有关编程的流行文化通常都会强调代码量的庞大。好莱坞描绘的程序员手指在键盘上快速地飞舞,一串串的代码犹如瀑布般倾泻而出。Google 的统治地位常常是通过“20 亿行代码”反映出来的,就好象这才是 Google 成功的原因。
然而,实际情况与恰恰与之相反。事实上,Google 早在 90 年代超越其他搜索引擎的一段代码“PageRank”算法计算某个网页价值的依据为:链接到该网页的其他网页的数量以及质量。实现该算法的代码并不长,已经有人编写了一个 Python 版,只有几十行(https://github.com/ashkonf/PageRank/blob/master/pagerank.py)。
import os
import sys
import mathimport numpy
import pandas# Generalized matrix operations:def __extract_nodes(matrix):nodes = set()for col_key in matrix:nodes.add(col_key)for row_key in matrix.T:nodes.add(row_key)return nodesdef __make_square(matrix, keys, default=0.0):matrix = matrix.copy()def insert_missing_columns(matrix):for key in keys:if not key in matrix:matrix[key] = pandas.Series(default, index=matrix.index)return matrixmatrix = insert_missing_columns(matrix) # insert missing columnsmatrix = insert_missing_columns(matrix.T).T # insert missing rowsreturn matrix.fillna(default)def __ensure_rows_positive(matrix):matrix = matrix.Tfor col_key in matrix:if matrix[col_key].sum() == 0.0:matrix[col_key] = pandas.Series(numpy.ones(len(matrix[col_key])), index=matrix.index)return matrix.Tdef __normalize_rows(matrix):return matrix.div(matrix.sum(axis=1), axis=0)def __euclidean_norm(series):return math.sqrt(series.dot(series))# PageRank specific functionality:
def __start_state(nodes):if len(nodes) == 0: raise ValueError("There must be at least one node.")start_prob = 1.0 / float(len(nodes))return pandas.Series({node : start_prob for node in nodes})def __integrate_random_surfer(nodes, transition_probabilities, rsp):alpha = 1.0 / float(len(nodes)) * rspreturn transition_probabilities.copy().multiply(1.0 - rsp) + alphadef power_iteration(transition_weights, rsp=0.15, epsilon=0.00001, max_iterations=1000):# Clerical work:transition_weights = pandas.DataFrame(transition_weights)nodes = __extract_nodes(transition_weights)transition_weights = __make_square(transition_weights, nodes, default=0.0)transition_weights = __ensure_rows_positive(transition_weights)# Setup:state = __start_state(nodes)transition_probabilities = __normalize_rows(transition_weights)transition_probabilities = __integrate_random_surfer(nodes, transition_probabilities, rsp)# Power iteration:for iteration in range(max_iterations):old_state = state.copy()state = state.dot(transition_probabilities)delta = state - old_stateif __euclidean_norm(delta) < epsilon: breakreturn state
当然,Google 的整体运营涉及数以千计的流程,就像其他大型科技公司的运营一样。这就是为什么他们的总代码库变得如此庞大的原因。然而,一些最具影响力的代码往往非常简洁。
我建议你读一下这本书,其中的一些示例非常有趣,而且涉及范围非常广。书中有一个章节讲到了 Charlton McIlwain 于 20 世纪 60 年代后期开发的“police-beat”算法。该算法最主要的目的是预测最有可能发生犯罪的区域,以便执法机构派遣更多警察前往这些区域。
police-beat算法并不是很冗长,艺术家 Kelly Chudler 在著作《You Are Not Expected To Understand This》中画出了这个算法:
这段改变了整个世界的代码更短:“跟踪像素”。
正如Lily Hay Newman 在关于跟踪像素的章节中指出的那样,你每天都可能在不知不觉中与这段代码打交道。实际上,这是一小段 HTML,在电子邮件中嵌入了一个小像素,小到你甚至觉察不到。但是,如果有人向我发送一封电子邮件,其中包含这段跟踪代码,那么在我打开邮件的那一刻,这段代码就会要求我的浏览器请求那个单像素图像,而发送邮件给我的人看到这个请求就会明白,我已经打开了邮件。
这段将跟踪像素放入电子邮件的代码非常简单,只有一行:
<img src="URL LINKING TO THE PIXEL ONLINE" width="0" height="0">
最后,再讲一个更古老的故事。书中有一章(由 Ellen R. Stofan 和 Nick Partridge 撰写)是关于阿波罗 11 号登月计划登月舱的“救助”代码。这段“救助”代码在登月舱的微型机载计算机上运行,目的是规划任务的优先级:如果计算机超载,则抛弃所有工作,只保留最重要的任务。
当登月舱接近月球时,这段代码起到了关键作用,因为当时计算机确实超载了。于是,“救助”代码立即开始行动,关闭所有对着陆不是非常重要的模块。这段代码甚至关闭了登月舱内的一些显示系统,这把宇航员吓坏了。但最终这段代码奏效了,登月舱安全着陆。
这段代码只有 22 行:
POODOO INHINTCA QTS ALMCADRTC BANKCALLCADR VAC5STOR # STORE ERASABLES FOR DEBUGGING PURPOSES.INDEX ALMCADRCAF 0
ABORT2 TC BORTENTOCT77770 OCT 77770 # DONT MOVECA V37FLBIT # IS AVERAGE G ONMASK FLAGWRD7CCS ATC WHIMPER -1 # YES. DONT DO POODOO. DO BAILOUT.TC DOWNFLAGADRES STATEFLGTC DOWNFLAGADRES REINTFLGTC DOWNFLAGADRES NODOFLAGTC BANKCALLCADR MR.KLEANTC WHIMPER
总的来说,《You Are Not Expected To Understand This: How 26 Lines of Code Changed the World》这本著作中记载了很多有趣的小故事,十分值得一读。
《2022-2023 中国开发者大调查》重磅启动,欢迎扫描下方二维码,参与人人都在使用的「基础软硬件」的问卷调研,更有 iPad 等精美大礼等你拿!
☞2022 程序员“求生”现状:躲过“裁员潮 ”,也避不开 AIGC 和虚拟人?
☞音视频激荡40年:从9英寸的黑白电视,到4.56亿人的直播狂欢
☞ChatGPT 成学生“作弊神器”?教授:“我感到极度恐惧”