Saltar al contenido
OndaCorta

Programador genera un mapa mundial ASCII con solo 445 bytes

Iwo Kadziela, con ayuda del asistente de código Codex, comprimió un mapa mundial completo con la técnica deflate y lo reconstruyó en el navegador usando una combinación poco común de fetch() y data URIs.

Redacción Onda Corta · · 2 min de lectura

Un desarrollador llamado Iwo Kadziela, con asistencia del asistente de programación Codex, logró generar un mapa mundial en arte ASCII a partir de un archivo de apenas 445 bytes. El resultado fue documentado por Simon Willison en su blog el 4 de julio de 2026, quien destacó tanto el logro de compresión como la técnica de JavaScript usada para reconstruir el mapa dentro del navegador.

Cómo funciona la compresión

El truco central es el algoritmo deflate, el mismo esquema de compresión sin pérdida que usan formatos como ZIP y gzip, que identifica patrones repetidos en los datos y los reemplaza por referencias más cortas. Un mapa mundial en ASCII, con sus zonas de espacios en blanco y patrones repetitivos de caracteres para representar costas y continentes, resulta un candidato ideal para este tipo de compresión: buena parte de la información se puede describir como repetición en lugar de guardar cada carácter por separado. El resultado final es un bloque de datos codificado en base64 de 445 bytes que, al descomprimirse, reconstruye el mapa completo.

El truco de JavaScript

Para descomprimir esos datos directamente en el navegador, sin depender de ninguna librería externa, Kadziela combinó dos piezas de la plataforma web: la función fetch() y la API DecompressionStream. En lugar de apuntar fetch() a una URL de red, la apunta a una URI de datos (data:) que contiene el string codificado en base64. Willison señaló explícitamente que desconocía que fetch() pudiera usarse de esa manera, con una data URI en vez de una dirección remota. El cuerpo de esa respuesta se pasa mediante pipeThrough() a un DecompressionStream configurado en modo 'deflate-raw', que descomprime el flujo de bytes. El texto resultante se inserta luego en un elemento pre del documento, con un tamaño de fuente de 0.65vw para que el mapa completo entre en el ancho de la pantalla.

Por qué llama la atención en la comunidad de desarrollo

DecompressionStream forma parte de la Compression Streams API, incorporada a los navegadores modernos para manejar datos comprimidos sin necesidad de librerías de JavaScript adicionales para tareas como gzip o deflate. La demostración de Kadziela funciona como una prueba de concepto compacta de esa API: en pocas líneas de código, sin dependencias externas, es posible almacenar y reconstruir estructuras de datos relativamente complejas con una huella mínima. Willison publicó el ejemplo en su blog personal como parte de sus notas diarias sobre herramientas y técnicas de programación, un formato que usa habitualmente para señalar hallazgos de la comunidad que le resultan dignos de difundir.

Fuentes

  1. Building a World Map with only 500 bytes (simonwillison.net)

Este artículo fue elaborado por el sistema editorial automatizado de Onda Corta a partir de las fuentes citadas, con supervisión humana del proceso. ¿Encontraste un error? Reportalo.

Seguí leyendo

El boletín de Onda Corta

Lo más importante de la semana en tecnología, sin ruido. Pronto en tu correo.