Decoding the obfuscated bash script on a Uniqlo t-shirt

An Akamai–Uniqlo collaboration has produced a “PEACE FOR ALL” T‑shirt that secretly contains a fully functional, base64‑encoded bash script, prompting people to decode, run, and critique it. Commenters trade OCR methods (from phone tools to industrial models and LLMs), debate whether the script was AI‑generated or just heavily commented by a human, and offer reimplementations in Python and awk that fix portability issues like the reliance on `bc`. Beyond the technical curiosity, many see it as a clever blend of geek culture, marketing, and nostalgia for the era of typing code from magazines.

OCR and transcription

  • Some call the shirt a “nightmare” OCR case; others report it’s trivial for modern tools (Safari/Preview Live Text, Android’s image-to-text, Google Lens, Gemini, Claude, ChatGPT, PaddleOCR, industrial OCR systems).
  • Several say manual typing would be faster and more reliable, invoking nostalgia for typing programs from magazines; others note humans are error‑prone and prefer OCR plus human correction.
  • A few describe mixed-tool workflows: run multiple OCR engines, diff outputs, and manually fix mismatches; one mentions a custom tool that clusters likely OCR errors for quick review.
  • The shirt’s lack of error correction in the base64 payload makes OCR/transcription the real challenge.

Was the script LLM-generated?

  • One camp argues “yes”: unusually dense and sometimes redundant comments, copy‑pasta‑like patterns, clunky bc usage, and odd color/gradient logic feel LLM-ish.
  • Others argue “no”: humans also over-comment, comments may be used to pad base64 length and place “PEACE FOR ALL” characters, and the quirks match a Python developer writing bash.
  • A video from the designer and a Python prototype are discussed; people disagree on how much that supports or refutes LLM involvement. Overall, unresolved.

Script behavior, portability, and style

  • The script depends on bc; some systems (e.g., Debian installs, Alpine, others) don’t have it by default, leading to runtime errors. Alternatives in Python and awk are shared, often faster and simpler.
  • Locale issues (decimal comma, LC_ALL=C vs UTF‑8) can break hearts/decimals; environment variables COLUMNS/LINES are used.
  • Several suggest adding sleep in the loop so the animation is readable. Others point out shell-style issues (no set -euo pipefail, base64 choices, SIGINT handling).

T‑shirt design, culture, and marketing

  • Uniqlo–Akamai collaborations and prior code shirts (including in Go) are mentioned. Many like that this one contains fully functional code rather than fake “tech-looking” text.
  • Comparisons are drawn to DeCSS shirts and other “code on clothing” traditions; some see it as clever advertising that people pay to wear.

Fonts and typesetting

  • Debate over whether the printed font mimics Consolas or Roboto Mono; consensus that the shirt uses a monospaced-like font but is typeset with kerning/variable widths, likely via design tools.
  • This sparks discussion of quasi‑monospace fonts (Monaspace, iA Writer fonts, Trispace) and techniques like “texture healing” and ligatures.

Automation vs manual effort

  • Thread references an XKCD about over-automating small tasks. Some argue manual typing would have been faster than elaborate OCR/LLM pipelines; others value automation for reducing errors and for fun.

Security and “obfuscation” framing

  • Several note this is base64 encoding, not serious obfuscation, and question calling it an “Easter egg” since it’s printed openly.
  • Lighthearted worries appear about people running unknown base64+eval, QR‑code-like attack surfaces, or even a hypothetical Tesseract zero‑day hidden in the text.