josiete.com

Papiros de Herculano: leer sin desenrollar

Fragmentos carbonizados de un papiro de Herculano, conservados en una lámina de la British Library

Fragmentos del papiro PHerc. 1521, conservados en la British Library. Fotografía de autor desconocido, British Library; procedencia, dominio público.

Los rollos de Herculano parecen trozos de carbón. Sin embargo, dentro de esos cilindros oscuros queda escritura griega. La erupción del Vesubio del año 79 cubrió la ciudad y la Villa de los Papiros, donde se halló una biblioteca antigua excepcional. El calor carbonizó los rollos: esa transformación contribuyó a que sobrevivieran, pero también los convirtió en objetos quebradizos y difíciles de abrir.

Cuando los bytes se disfrazan de texto: Unicode, Python y errores de codificación

Lluvia de caracteres verdes sobre fondo negro, con las palabras decode y encode resaltadas en el centro

Un fichero contiene José, pero después de pasar por un pipeline aparece José. Otro conserva las tildes, aunque una búsqueda de Jose devuelve también José. Y en un tercero los emojis se convierten en ?.

Los tres casos parecen problemas de texto, pero conviene investigar causas distintas: cómo interpretamos los bytes, cómo comparamos las cadenas y qué información se ha perdido durante el recorrido. Cambiar a UTF-8 sin localizar el fallo puede limitarse a guardar correctamente un texto que ya estaba estropeado.

PIVOT en SQL Server: de lecturas de sensores a una tabla por instante

Lecturas de temperatura, humedad y presión se reorganizan desde filas por métrica hacia columnas

Imagina que recibes lecturas de sensores cada cinco minutos. Cada mensaje contiene un instante, el sensor que lo envió, el nombre de una métrica y su valor. Guardar los mensajes tal como llegan es cómodo: si mañana aparece una métrica nueva, basta con recibir más filas. Pero el informe que consume esos datos pide otra cosa: una fila por instante y sensor, con temperatura, humedad y presión en columnas separadas.

DBeaver: la navaja suiza del data engineer

Un castor trabaja con datos Parquet y DuckDB desde DBeaver

Hay herramientas que resuelven una tarea concreta y otras que terminan convirtiéndose en el cajón de herramientas entero. DBeaver pertenece a la segunda categoría: es un cliente de bases de datos multiplataforma desde el que podemos conectarnos, consultar, explorar, editar y exportar datos sin cambiar de aplicación. Para un data engineer, se parece bastante a una navaja suiza con una interfaz gráfica.