Decoding the Hidden Bash Script on a Uniqlo T-Shirt

TL;DR
Someone found an obfuscated bash script on a Uniqlo x Akamai t-shirt and decoded it.
A Uniqlo t-shirt from Akamai's "Peace for All" charity campaign turned out to contain more than just a decorative design. The back of the shirt features a large block of alphanumeric text that starts with a familiar shebang: #!/bin/bash. Developer Tris Sherlock decided to decode it.
The Discovery#
The t-shirt's front shows a heart wrapped in curly braces - a cute nod to code syntax. The back is covered in what looks like decorative text but is actually a base64-encoded bash script. The design intentionally highlights certain characters spelling out "PEACE FOR ALL" throughout the encoded string.
For Sherlock, this presented an immediate challenge: base64 has no error correction. Every character needs to be transcribed perfectly, or the decode fails.
The Decoding Process#
Sherlock threw multiple OCR tools at the problem:
- Android's circle-to-search feature
- Tesseract with various configuration tweaks
- Safari's built-in image text extraction
- Claude AI for verification
The Safari approach proved surprisingly capable - one HN commenter noted it could OCR the entire base64 payload with only a single character error. After cross-referencing outputs and manual cleanup, Sherlock had a working base64 string.
Decoding it reveals a complete, commented bash script.
What the Script Actually Does#
When executed, the script creates an animated terminal display:
- Displays "PEACE FOR ALL" with heart symbols repeating across the screen
- Animates characters using sine-wave positioning
- Implements a color gradient transitioning between cyan and orange
- Includes comments in both English and Japanese
- Handles Ctrl+C gracefully by restoring cursor visibility
The code uses standard bash utilities like tput for terminal control and bc for the sine calculations. It's a visual screensaver-style effect - nothing malicious.
What HN is Saying#
The thread (discussion on HN) quickly turned into a debate about whether the script itself was AI-generated before being encoded.
The "definitely AI" camp points to several tells:
- Heavy commenting on obvious operations (
# Set frequency scaling factorfollowed byfreq=0.2) - Using
echo -nfollowed byecho ""instead of justecho - Breaking arithmetic into multiple
bcinvocations when one would suffice - The UTF-8 heart character handling that fails on strict locale settings
The "probably human" camp counters:
- The prototype shown in Akamai's behind-the-scenes video was written in Python
- The comments make sense for a t-shirt easter egg where the goal is to reward people who decode it
- Some quirks look more like a Python developer approaching bash without fully understanding it
- The designer explicitly wanted the encoded output to be long enough to fill the shirt's back
One commenter noted: "The main point of this code is to have people look at it. The function is secondary to being an easter egg."
The truth is probably somewhere in between. The video shows a designer working on prototypes in Python, and the bash version - whether human-written, AI-assisted, or AI-generated with human edits - was chosen specifically because bash/Linux represents "the open-source language of the internet" per Akamai's press materials.
The Color "Gradient" Problem#
Several developers ran the script and noticed the color gradient claim does not quite hold up. The script cycles through xterm-256 colors, but those colors are not arranged in any kind of smooth gradient. The cyan-to-orange transition is more of a concept than a reality.
One commenter put it bluntly: "There is nothing gradual about the xterm-256 color cube. 'Gradient' is a misnomer."
Whether this is an LLM hallucinating color theory or a designer making a creative decision that did not translate perfectly to terminal constraints is an open question.
Running It Yourself#
If you want to run the script, you can find the decoded version in Sherlock's blog post. A few things to note:
- Add a
sleep 0.1orsleep 0.5at the end of the loop - it scrolls too fast otherwise - You may need to set
LC_ALL=en_US.UTF-8for the heart characters to render - It works as a fun terminal screensaver
One developer rewrote the whole thing in Python to fix the UTF-8 issues and add proper gradient colors. That version also lets you pipe output to a line printer for authentic 1980s vibes.
The Broader Context#
Akamai's design concept intentionally references early internet aesthetics. The tan/beige shirt color evokes old computer cases. The bash script evokes Linux and open source. The fact that someone would actually decode it and run it - that is the easter egg working as intended.
Whether the code itself was AI-generated matters less than the cultural moment it represents: we are at a point where companies put executable code on clothing, and the HN crowd debates its provenance like art critics examining brushstrokes.
The script runs, the message displays, and peace for all scrolls across your terminal in questionable gradients.
Continue Reading#
- Flipper Zero Shifts to Community-Driven Development
- Frame: An X11 Server Written in Assembly Using AI
- Ghost Font: Text That Humans Can Read But AI Cannot
- The RipGrep Musl Segfault That Led to a One-Line Linux Kernel Patch
- The Shell Colon Does Nothing. You Should Use It Anyway.
Sources#
Get the next deep dive like this in your inbox
One email a week on News and the rest of the AI dev stack. Free.
Read next
GhostLock: A 15-Year Linux Kernel Vulnerability That Affects Every Distribution
A use-after-free bug in the Linux kernel's real-time mutex implementation has existed since 2011. Researchers earned $92,337 from Google's kernelCTF for discovering and exploiting it.
7 min readWhat xAI's Grok Build CLI Actually Sends Home: A Wire-Level Analysis
A security researcher intercepted Grok Build's network traffic and found it uploads entire repositories - including .env files with secrets - to xAI servers. Here's what the data shows.
6 min readThe RipGrep Musl Segfault That Led to a One-Line Linux Kernel Patch
A ripgrep musl binary crashing during very-large searches turned out to be a suspected Linux 7.0 kernel race - a thread's own store vanishing mid-function. The reporter's instrumentation pinned it, and a kernel-hardening maintainer posted a one-line fix candidate for testing.
7 min readNew here? Start with
Technical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.





