Hyaika Blog

Penguin is all you need

设计

优衣库 T 恤的背面,印着一行 shebang

优衣库 T 恤的背面,印着一行 shebang

目录

  • 一个 T 恤能有多离谱
  • base64 作墨——从扫码到 OCR 的接力赛
  • 当我用两分钟在终端里跑完了同一段代码
  • 设计师的"反 OCR"心眼
  • 不完整的那件 T 恤更值得买
  • 写在最后

一个 T 恤能有多离谱

上周末有人走进优衣库,拿起一件 T 恤,翻到背面,看到了一串长到离谱的字符。开头是 #!/bin/bash

这不是什么恶作剧。这是 Akamai 为优衣库"Peace for All"公益系列设计的 T 恤——正面一个花括号里的爱心,背面一整段 base64 自解压 bash 脚本。设计意图很朴素:把一段真正的代码印在衣服上,致敬 Linux——"互联网的开放语言",Akamai 的新闻稿是这么说的。

这件文案在 Hacker News 上拿到了 1229 分,评论里工程师们的反应分三个流派:

  • 震惊派:我看过这件 T 恤,当时以为只是装饰图案,居然真能跑?
  • 执行力派:已经用三种 OCR 工具 + Claude 交叉验证把代码转录出来了
  • 务实派:至少他们没有教消费者 curl | bash

base64 作墨——从扫码到 OCR 的接力赛

这些字符不是随机乱码,而是一段完整的 base64 编码的 bash 脚本。作者 tris 从妻子那里看到 T 恤照片后,做了每个工程师都会做的事:试图把文字从照片里提取出来。

这个过程并不优雅。base64 没有纠错能力——一个字母错了,整个解码就废了。他同时用了 Android 的圈选 OCR、Tesseract、和 Claude 做三路交叉验证。把三个版本的输出 diff 比对,让 Claude 输出一个表格标明差异位置,然后手动逐行修正。

最终解码出来的脚本长这样:

#!/bin/bash

# Congratulations! You found the easter egg! 
# 
text="♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥"

# Get terminal dimensions
cols=$(tput cols)
lines=$(tput lines)

# [... 省略中间]
# 一个正弦波驱动的彩色字符动画

for (( t=0; ; t+=1 )); do
    char="${text:t % text_length:1}"
    angle=$(echo "($t) * $freq" | bc -l)
    sine_value=$(echo "s($angle)" | bc -l)
    x=$(echo "($cols / 2) + ($cols / 4) * $sine_value" | bc -l)
    # 从青色到橙色的 256 色渐变
    echo -ne "\033[38;5;${color}m"$(tput cup $t $x)"$char\033[0m"
done

T恤正面——花括号里的爱心

T 恤背面:一整段 base64 编码的 bash 脚本。文字排列紧凑,字符间距被设计师刻意调整以增加 OCR 难度。

T恤背面——bash 脚本全身照

拉近看,能清楚看到 #!/bin/bash 开头和后面的 base64 字符块。设计师用 Roboto Mono 字体呈现,让它在视觉上就是一段终端代码。

脚本特写——从 shebang 到 base64

一个正弦波驱动的文字动画。字符从左到右摆动,色号从青色 12 渐变到橙色 208,像心跳一样在终端里重复"PEACE FOR ALL"。脚本对运动轨迹的处理有一点特别的地方:它用 tput cup $t $x 把每个字符印在终端的第 $t 行,然后 echo "" 换行。这意味着当动画跑到底部后,新行会从顶部重新开始——没有清屏,没有闪烁,只是平静地在终端里循环。

当我用两分钟在终端里跑完了同一段代码

我当然在自己的终端试了一下。

解码、保存、chmod +x、运行:

P
E
A
C
E
F
O
R
A
L
L

一个一个字符地往下掉,每个字符被正弦波推到不同的水平位置,从青色渐变到橙色。在这个没有 GUI 的服务器上,一段印在衣服上的代码在我的终端里逐字打印着另一家公司的口号。

不深刻,但让人想笑。一件储存在衣柜里的衣服,它的数字灵魂在我屏幕里跑起来了。

设计师的"反 OCR"心眼

Tris 一开始认为字体是微软的 Consolas,理由是 0 的斜线很浅。后来一位 HN 用户指出实际上是 Roboto Mono——看 g 的开口就能区分。他承认自己看走眼了。

但更值得注意的事情是:设计师故意让文字难以 OCR。在一段视频中设计师提到,某些字母的间距被刻意调整,让自动转录工具难以一次性搞定——不是为了让脚本无法运行,而是鼓励购买者亲手输入。把 T 恤变成了一台不插电的验证机。

这其实是一个很有趣的信息传递实验:一段代码被写在衣服上,经过零售店货架→消费者衣柜→手机摄像头→OCR 管线→人工校对→终端执行,最后在某个人的屏幕上打印出一行字。每一环都有损耗,但核心信息——Peace for All——完好无损。

不完整的那件 T 恤更值得买

Akamai x Uniqlo 联名系列还有另一件设计。Tris 注意到那件的代码被截断了——import 语句写到一半就断掉,最后一个字是 retu 而不是 return

评论里有人开玩笑说这才是更好的 T 恤,因为一段有 bug 的代码放在衣服上比一段能运行的代码更有工程师精神——你穿上它走在街上,随时可以被同行拦住说"嘿,你的 return 写了一半"。

我开始觉得这个观点有道理。一件完美可运行的代码 T 恤是完成的艺术品。一件截断的代码 T 恤是一个邀请。

写在最后

过去几周我写了不少关于 AI 如何改变世界、云端如何侵蚀本地的文章。然后今天,1229 个人在 Hacker News 上围观的不是模型更新,不是融资金额,不是监管风暴——是一段印在衣服上的 shebang。

它解释了为什么你会觉得某件数字产品做了"正确的事"。不是因为算法猜对了你的意图,而是一个人在设计某个东西的时候,想到了某个陌生人在货架前拿起这件 T 恤时掏出手机扫描背面的画面。那种横跨零售、印刷、命令行、终端仿真器,最后在你屏幕上打出"PEACE"的喜悦,和 AI 没有关系,和开源也没有关系——和一个工程师在 T 恤上挖彩蛋的幽默感有关系。

这种幽默感可能是我们最不该丢掉的东西。

分享:

评论(0)

暂无评论,来写第一条吧~

发表评论