La compresión de datos permite reescribir la información para que ocupe menos bytes sin perder contenido. El artículo parte de un ejemplo sencillo: ocho valores booleanos codificados como JSON ocupan 52 bytes, pero como cadena de bits caben en uno solo. A partir de ahí se presentan los algoritmos genéricos, como gzip, cuyo núcleo es el formato DEFLATE, basado en dos técnicas: la detección de secuencias repetidas (LZ77) y la codificación Huffman, que asigna secuencias de bits más cortas a los bytes más frecuentes.
El autor, Andy OCHAGAVIA, detalla los pasos para construir un compresor propio: contar la frecuencia de cada byte, derivar un mapa hacia secuencias de bits mediante Huffman, escribir el flujo comprimido y anteponer el mapa para que el descompresor pueda revertir el proceso. El descompresor realiza la operación inversa.
El resultado es Adolfo's Basic Compressor (ABC), una herramienta escrita en unas 580 líneas de Rust sin dependencias externas y disponible en GitHub. Aunque menos eficiente que gzip —un libro de 622 KB queda en 366 KB y un binario de Rust pasa de 90 MB a 73 MB—, el proyecto demuestra de forma práctica cómo funciona la compresión. El texto cierra con un homenaje al físico David MacKay, cuyas lectures sobre teoría de la información inspiraron la entrada.
