Ir al contenido
OneKitly
Daniel Okonkwo

Artículos de Daniel Okonkwo

Desarrollador front-end y redactor de Tecnología · Ver perfil

· 7 min de lectura

Dividir un archivo demasiado grande para enviarlo

El último recurso cuando ya nada se puede comprimir más. Funciona, y tiene tres aristas: las partes no sirven de nada por separado, el orden es absoluto, y el megabyte que fijas no es el que significa el límite.

· 20 min de lectura

Convertir notas en un PDF que merezca archivarse

El texto plano no tiene maquetación, así que cualquier conversor tiene que inventarte una. Aquí están exactamente las decisiones que toma este — página, márgenes, tipografía, saltos de línea —, lo que hace con un tabulador y con una línea larga, y lo que tienes que añadir tú antes de que una nota merezca guardarse.

· 20 min de lectura

Por qué tu CSV rompe los acentos y las fechas en Excel

Tres averías completamente distintas se esconden tras la misma frase. Una es la codificación, otra el separador, otra Excel adivinando tipos mientras abre el archivo, y el remedio es distinto en cada caso. Así se distinguen en cinco segundos.

· 18 min de lectura

Cortar y unir audio sin un clic en la unión

Ese chasquido en el punto de edición no es un fallo del programa. Es un escalón en la forma de onda, y un escalón es energía de banda ancha: la definición misma de un clic. Aquí está la aritmética, medida, y los dos sitios donde poner un corte para que no ocurra nunca.

· 16 min de lectura

Quitar los acentos rompe la búsqueda — hasta que lo haces en los dos lados

Plegar los diacríticos es un paso de normalización, y la normalización solo funciona cuando la misma función corre sobre el índice y sobre la consulta. NFC frente a NFD con los puntos de código a la vista, y las letras — ø, ł, ß, œ, ı — que salen del plegado intactas.

· 15 min de lectura

Limpiar texto desordenado: el orden de las operaciones que sí importa

Quitar etiquetas antes de decodificar entidades, recortar antes de deduplicar, colapsar los espacios al final. Tres órdenes ejecutados en Node, un pipeline de nueve pasos en la secuencia correcta y los caracteres invisibles — U+00A0, U+200B, U+FEFF — que sobreviven a cualquier limpieza ingenua.

· 16 min de lectura

MP3, WAV, FLAC: qué destruye realmente cada conversión

Uno de estos formatos guarda las muestras, otro guarda esas mismas muestras apretadas y el tercero guarda una conjetura sobre lo que habrías oído. Qué conversiones entre ellos son gratis, cuáles solo caras y cuáles puertas de un solo sentido — con la aritmética de cada una.

· 15 min de lectura

Sacar el audio de un vídeo sin una segunda generación de pérdida

La banda sonora que hay dentro de tu vídeo ya pasó una vez por un codificador con pérdida. Que extraerla te cueste una segunda pasada depende por completo de cuál de los tres botones pulses — y «extraer a MP3», al que todo el mundo va, es el que cuesta.

· 17 min de lectura

Codificación de URL explicada: el porcentaje y dónde muerde

La codificación por porcentaje se decide componente a componente, y de ahí viene toda la confusión. Una barra es legal en una ruta y debe escaparse en un valor de consulta; un espacio es %20 en una ruta y puede ser + en un cuerpo de formulario. Aquí están los conjuntos exactos de la RFC 3986, las tres funciones de JavaScript que discrepan y las trampas.

· 15 min de lectura

Por qué un GIF de tres segundos pesa más que el vídeo del que salió

Un GIF no tiene compresión de vídeo de verdad: cada fotograma es una imagen entera, con un tope de 256 colores. Eso te da una aritmética que puedes hacer de cabeza — ancho por alto por número de fotogramas — y tres palancas que mover cuando la casilla de subida dice que el archivo pesa demasiado.

· 16 min de lectura

Entropía de contraseñas: lo que un medidor de fuerza no puede saber

La entropía mide el proceso que produjo una contraseña, no los caracteres que contiene. H = L x log2(R) solo es cierto cuando cada carácter se eligió al azar — y por eso justamente un medidor que puntúa una contraseña inventada por un humano según sus clases de caracteres está midiendo lo que no es.

· 17 min de lectura

Qué hay dentro de un JWT y qué no protege

Un JWT está firmado, no cifrado. Cualquiera que tenga el token puede decodificar la carga y leer todas sus reclamaciones. Aquí tienes un token real, decodificado sin ninguna clave, más los tres ataques que la firma debe frenar y el único problema que no puede resolver.

· 12 min de lectura

Qué resolución de vídeo elegir, y lo que cada peldaño cuesta en megabytes

Pasar de 1080p a 720p no parte la imagen por la mitad: quita el 56 % de los píxeles, y bastante menos que eso del archivo. Aquí está la escala con recuentos de píxeles reales, bitrates honestos y lo que pesan tres minutos en cada peldaño, más la razón de que una fuente de bitrate bajo apenas encoja.

· 13 min de lectura

camelCase, snake_case, kebab-case: cuál usar, y por qué rara vez eliges tú

Las convenciones no son cuestión de gusto. El guion es el operador menos, así que kebab-case no puede ser un identificador en la mayoría de lenguajes, y por eso justamente lo usan CSS y las URL. Además, el viaje de ida y vuelta con siglas que corrompe nombres en silencio, y la regla que lo arregla.

· 15 min de lectura

Poner un vídeo por debajo del límite de subida sin adivinar

El deslizador de calidad no sabe apuntar a un tamaño de archivo: no es su función. Pero el límite y la duración de tu clip ya fijan el bitrate que puedes gastar, y una división te dice si la resolución que usas puede siquiera caber.

· 14 min de lectura

De MOV a MP4: por qué el vídeo del iPhone no se abre en Windows

La extensión casi nunca es el problema real. Un .mov y un .mp4 son primos de la misma familia de formatos, y lo que de verdad detiene el vídeo es el códec sellado dentro — casi siempre HEVC. Aquí está cómo distinguir los dos fallos, y cuándo basta con cambiar la caja.

· 7 min de lectura

Por qué tu corte de vídeo cae dos segundos antes

Pediste 1:23 y obtuviste 1:21. Nada está roto: un corte que no recodifica solo puede caer en un fotograma clave, y a qué distancia está el más cercano depende por completo de qué grabó el vídeo. Aquí está cómo saber cuál tienes y cuándo aceptar el desfase.

· 10 min de lectura

Extraer unas páginas de un extracto sin instalar nada

Un casero quiere la página 3. Un contable quiere enero. Tienes que enviar esas páginas y no las otras once, y hay una trampa: el método obvio deja las páginas quitadas dentro del archivo que envías.

· 8 min de lectura

Devolver un documento escaneado al orden en que se imprimió

Un escáner a doble cara que tomó un lado cada vez, una pila metida al revés, una página que salió dos veces. Reordenar no es la misma operación que extraer páginas, y saber cuál haces te dice qué pasa con todo lo que no es una página.

· 8 min de lectura

Tu PDF se ve derecho para ti y de lado para ellos

Giraste el escaneo, lo guardaste, y el destinatario lo abrió igualmente de lado. Nada está roto: la rotación en un PDF es una instrucción y no un cambio en la página, y las instrucciones pueden ignorarse. Aquí está cuándo ocurre y cómo producir un archivo que no se pueda malinterpretar.

· 16 min de lectura

MD5, SHA-1, SHA-256: qué hash y para qué

MD5 está roto y MD5 va perfectamente, según cuál de las tres propiedades de seguridad necesitaras. Esto es lo que significan de verdad la resistencia a colisiones, a segunda preimagen y a preimagen, qué algoritmo conserva cuál, y por qué ninguno debe acercarse a una contraseña.

· 9 min de lectura

Fotografiar un documento y obtener un PDF que acepten

Ya nadie tiene escáner, así que lo hace el teléfono. Dos cosas deciden si el resultado se acepta: cómo tomaste la fotografía y en qué tamaño de página se convierte. Lo segundo sorprende, porque una fotografía convertida en PDF no es A4 salvo que algo la obligue a serlo.