fd1a4faffb8d176977b3c5fd4fbc0ec8.gif

有那么一些代码片段,虽然只有寥寥几行,却能够给全世界带来巨大的影响。

链接: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 math


import 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 nodes


def __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 matrix
    matrix = insert_missing_columns(matrix) # insert missing columns
    matrix = insert_missing_columns(matrix.T).T # insert missing rows


    return matrix.fillna(default)


def __ensure_rows_positive(matrix):
    matrix = matrix.T
    for 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.T


def __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)) * rsp
    return transition_probabilities.copy().multiply(1.0 - rsp) + alpha


def 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_state
        if __euclidean_norm(delta) < epsilon: 
            break




    return state

当然,Google 的整体运营涉及数以千计的流程,就像其他大型科技公司的运营一样。这就是为什么他们的总代码库变得如此庞大的原因。然而,一些最具影响力的代码往往非常简洁。

我建议你读一下这本书,其中的一些示例非常有趣,而且涉及范围非常广。书中有一个章节讲到了 Charlton McIlwain 于 20 世纪 60 年代后期开发的“police-beat”算法。该算法最主要的目的是预测最有可能发生犯罪的区域,以便执法机构派遣更多警察前往这些区域。

police-beat算法并不是很冗长,艺术家 Kelly Chudler 在著作《You Are Not Expected To Understand This》中画出了这个算法:

af064551934e98a7f7e7a9a838561cde.png

这段改变了整个世界的代码更短:“跟踪像素”。

正如Lily Hay Newman 在关于跟踪像素的章节中指出的那样,你每天都可能在不知不觉中与这段代码打交道。实际上,这是一小段 HTML,在电子邮件中嵌入了一个小像素,小到你甚至觉察不到。但是,如果有人向我发送一封电子邮件,其中包含这段跟踪代码,那么在我打开邮件的那一刻,这段代码就会要求我的浏览器请求那个单像素图像,而发送邮件给我的人看到这个请求就会明白,我已经打开了邮件。

这段将跟踪像素放入电子邮件的代码非常简单,只有一行:

<img src="URL LINKING TO THE PIXEL ONLINE" width="0" height="0">

最后,再讲一个更古老的故事。书中有一章(由 Ellen R. Stofan 和 Nick Partridge 撰写)是关于阿波罗 11 号登月计划登月舱的“救助”代码。这段“救助”代码在登月舱的微型机载计算机上运行,目的是规划任务的优先级:如果计算机超载,则抛弃所有工作,只保留最重要的任务。

当登月舱接近月球时,这段代码起到了关键作用,因为当时计算机确实超载了。于是,“救助”代码立即开始行动,关闭所有对着陆不是非常重要的模块。这段代码甚至关闭了登月舱内的一些显示系统,这把宇航员吓坏了。但最终这段代码奏效了,登月舱安全着陆。

这段代码只有 22 行:

POODOO    INHINT
    CA  Q
    TS  ALMCADR


    TC  BANKCALL
    CADR  VAC5STOR  # STORE ERASABLES FOR DEBUGGING PURPOSES.


    INDEX  ALMCADR
    CAF  0
ABORT2    TC  BORTENT


OCT77770  OCT  77770    # DONT MOVE
    CA  V37FLBIT  # IS AVERAGE G ON
    MASK  FLAGWRD7
    CCS  A
    TC  WHIMPER -1  # YES.  DONT DO POODOO.  DO BAILOUT.


    TC  DOWNFLAG
    ADRES  STATEFLG


    TC  DOWNFLAG
    ADRES  REINTFLG


    TC  DOWNFLAG
    ADRES  NODOFLAG


    TC  BANKCALL
    CADR  MR.KLEAN
    TC  WHIMPER

总的来说,《You Are Not Expected To Understand This: How 26 Lines of Code Changed the World》这本著作中记载了很多有趣的小故事,十分值得一读。

2771bbcbe437dd7e595fbc49a31bb915.gif

《2022-2023 中国开发者大调查》重磅启动,欢迎扫描下方二维码,参与人人都在使用的「基础软硬件」的问卷调研,更有 iPad 等精美大礼等你拿!2376f40ebda265eb5a332c3d30c340f9.png

☞2022 程序员“求生”现状:躲过“裁员潮 ”,也避不开 AIGC 和虚拟人?
☞音视频激荡40年:从9英寸的黑白电视,到4.56亿人的直播狂欢
☞ChatGPT 成学生“作弊神器”?教授:“我感到极度恐惧”
Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐