Decodificando el script bash ofuscado en una camiseta de Uniqlo

OCR y transcripción

  • Algunos llaman a la camiseta un caso “de pesadilla” para OCR; otros dicen que es trivial para las herramientas modernas (Live Text de Safari/Preview, imagen-a-texto de Android, Google Lens, Gemini, Claude, ChatGPT, PaddleOCR, sistemas industriales de OCR).
  • Varios señalan que teclearlo a mano sería más rápido y fiable, evocando la nostalgia de teclear programas desde revistas; otros apuntan que los humanos cometen errores y prefieren OCR más corrección humana.
  • Unos cuantos describen flujos de trabajo con varias herramientas: ejecutar varios motores OCR, comparar las salidas y corregir manualmente los desajustes; uno menciona una herramienta personalizada que agrupa errores OCR probables para revisarlos rápido.
  • La falta de corrección de errores en la carga base64 hace que el verdadero reto sea el OCR/transcripción.

¿Fue el script generado por un LLM?

  • Un bando argumenta que “sí”: comentarios inusualmente densos y a veces redundantes, patrones tipo copia-y-pega, uso torpe de bc y una lógica extraña de color/degradado dan sensación de LLM.
  • Otros sostienen que “no”: los humanos también sobrecomentan, los comentarios quizá se usan para rellenar la longitud base64 y colocar caracteres de “PEACE FOR ALL”, y las rarezas encajan con un desarrollador de Python escribiendo bash.
  • Se discuten un vídeo del diseñador y un prototipo en Python; la gente discrepa sobre cuánto apoyan o refutan la participación de un LLM. En conjunto, sigue sin resolverse.

Comportamiento, portabilidad y estilo del script

  • El script depende de bc; algunos sistemas (por ejemplo, instalaciones de Debian, Alpine y otros) no lo tienen por defecto, lo que provoca errores en tiempo de ejecución. Se comparten alternativas en Python y awk, a menudo más rápidas y sencillas.
  • Los problemas de locale (coma decimal, LC_ALL=C frente a UTF-8) pueden romper los corazones/decimales; se usan las variables de entorno COLUMNS y LINES.
  • Varios sugieren añadir sleep en el bucle para que la animación sea legible. Otros señalan problemas de estilo shell (sin set -euo pipefail, elección de base64, manejo de SIGINT).

Diseño de la camiseta, cultura y marketing

  • Se mencionan colaboraciones Uniqlo–Akamai y camisetas de código anteriores (incluidas en Go). A muchos les gusta que esta contenga código realmente funcional en lugar de texto “con pinta de técnico” pero falso.
  • Se trazan comparaciones con camisetas de DeCSS y otras tradiciones de “código en la ropa”; algunos lo ven como publicidad ingeniosa que la gente paga por llevar puesta.

Fuentes y composición tipográfica

  • Hay debate sobre si la fuente impresa imita Consolas o Roboto Mono; el consenso es que la camiseta usa una fuente de aspecto monoespaciado, pero compuesta con kerning/anchos variables, probablemente mediante herramientas de diseño.
  • Esto dispara conversaciones sobre fuentes cuasi monoespaciadas (Monaspace, las fuentes de iA Writer, Trispace) y técnicas como “texture healing” y ligaduras.

Automatización frente a esfuerzo manual

  • El hilo menciona un XKCD sobre sobrerautomatizar tareas pequeñas. Algunos sostienen que teclearlo a mano habría sido más rápido que complejos flujos de OCR/LLM; otros valoran la automatización por reducir errores y por diversión.

Seguridad y marco de “ofuscación”

  • Varios señalan que esto es codificación base64, no una ofuscación seria, y cuestionan llamarlo “Easter egg” cuando está impreso abiertamente.
  • Aparecen preocupaciones en tono ligero sobre gente ejecutando eval con base64 desconocido, superficies de ataque tipo código QR, o incluso una hipotética zero-day de Tesseract escondida en el texto.