Desarrollador front-end y redactor de Tecnología en OneKitly
Rendimiento web, flujos de archivos y documentos, herramientas de texto y utilidades de desarrollo
Daniel es desarrollador front-end y escribe sobre lo que atraviesa una jornada de trabajo: formatos de imagen y de archivo, rendimiento web, manejo de texto y datos, y los flujos documentales — firmas, PDF, conversiones — que se interponen entre un archivo y quien lo espera. Explica las decisiones técnicas sin jerga y señala dónde una regla deja de ser técnica y pasa a ser jurídica.
Especialidades
Rendimiento web
Formatos de archivo
PDF y documentos
Procesamiento de texto
Herramientas de desarrollo
Trayectoria
—Escribe desde 2016
—205 guías publicadas en OneKitly
—de ellas 57 en web
—708 fuentes citadas
—de 158 editores distintos
—Publica en OneKitly desde el 13 de mayo de 2025
Cómo trabaja Daniel
Daniel parte de la especificación — la norma del formato, el comportamiento documentado del navegador — y la contrasta con el archivo que tiene delante, no con lo que afirma una entrada de blog. Cuando un límite resulta ser jurídico y no técnico, indica cuál de los dos está describiendo.
Artículos de Daniel Okonkwo
Los imprescindibles
Ordenados por cuántas páginas del sitio enlazan con ellos, no por tráfico.
17 mod 5 vale 2 en todas partes. −17 mod 5 vale −2 en JavaScript, C y Java, y 3 en Python, Ruby y una hoja de cálculo. Ambos son correctos, y la diferencia es un error real.
Dos muelles de 500 N/m en fila dan 250 N/m; en paralelo dan 1.000. Bajo la misma carga de 50 N son 0,2 m de recorrido frente a 0,05 m, y 5 julios almacenados frente a 1,25.
Con una media de cinco sucesos por intervalo, ocurren exactamente tres el 14,0 % de las veces, ninguno el 0,7 %, y diez o más el 3,2 % — una vez cada 31 intervalos aproximadamente. La distribución tiene un solo parámetro, y fija a la vez la media y la varianza.
Los tres dígitos son dos cifras y un recuento de ceros, en picofaradios: 104 son 100 nF y 473 son 47 nF. La trampa es 220, que son 22 pF — mientras que una pieza de 220 pF se marca 221.
100, 220 y 330 µF en serie dan 56,9 µF — menos que el más pequeño. Pon 100 µF y 1 µF en serie: el total es 0,99 µF, y el pequeño soporta el 99 % de la tensión.
10 mH con 100 µF resuenan a 159,2 Hz. Dobla la capacidad y baja a 112,5 Hz; para reducir la frecuencia a la mitad hay que cuadruplicar un componente, porque ambos están bajo una raíz cuadrada.
1.000 Ω con 100 µF dan una constante de tiempo de 0,1 s. El condensador está cargado al 63 % en ese punto, al 95 % tras tres constantes y al 99,3 % tras cinco — y es esta última cifra la que importa.
25 millones de facturación entre 250 personas son 100.000 cada una. Pasa cincuenta a un proveedor y la misma facturación marca 125.000 — un 25 % de mejora en un indicador de productividad, con el mismo trabajo hecho.
5.000 mAh consumidos a 500 mA con un 85 % de rendimiento duran 8,5 horas en vez de las 10 del cálculo bruto. Ese mismo 15 % explica que una batería de 5.000 mAh apenas llene una vez un teléfono de 4.000 mAh.
La potencia perdida en calor es la corriente al cuadrado por la resistencia. Diez metros de alargador de 1,5 mm² tienen 0,233 Ω ida y vuelta: 23,3 W a 10 A y 59,7 W a 16 A.
2000 palabras son 8 páginas a doble espacio, 4 a espacio simple y 3,3 en una maqueta de informe densa. «Cuántas páginas» es una pregunta sobre la maqueta, no sobre el texto — y la página de 250 palabras tiene una historia.
La velocidad al hablar decide la duración de una charla más que el guion. A 170 palabras por minuto el mismo texto dura 7 min 04 s; a 110 dura 10 min 55 s — y solo uno de los dos cabe en un turno de diez minutos.
Dividir un libro escribe un .xlsx por hoja, con el nombre de la pestaña. Se lleva los valores y no las fórmulas — que es el comportamiento adecuado cuando se trata de enviar a un departamento su propia pestaña.
JSON toma el texto de tu encabezado como clave, exactamente tal cual. XML no puede — sus nombres no admiten espacios, paréntesis ni una cifra inicial — así que se normalizan, y saber cómo evita una sorpresa aguas abajo.
OpenDocument hace styles.xml opcional. Varios lectores lo exigen y rechazan el documento entero sin él — «Cannot find file styles.xml in zip» sobre un archivo que no está roto.
Una celda puede contener una fórmula y ningún resultado en caché. Un lector que salta las celdas vacías tira la fórmula con ellas — y anuncia que el archivo no tiene ninguna. Una opción de lectura separa ambos casos.
Los espacios son la razón de ser de estas herramientas. Una fila de blancos parece vacía, no lo es para una prueba estricta, y sobrevive en silencio a todos los filtros que apliques después.
Doce informes mensuales pueden convertirse en doce pestañas o en una tabla de doce meses. Solo la segunda se ordena y se suma de una vez — y es aquella donde las filas de encabezado piden cuidado.
Horarios de clase, calendarios de partidos, cuadrantes de turnos y programas de congreso empiezan todos siendo una tabla. Cuatro columnas bastan para convertir uno en un archivo que cualquier aplicación de calendario sabe importar.
Sin hoja de estilo, sin script, maquetación hecha de tablas anidadas y estilos escritos en cada etiqueta. Saber por qué explica a qué se parecerá un archivo HTML exportado y a qué no.
Mismo archivo, mismo analizador, dos salidas. La hoja de cálculo recibe ocho columnas; el JSON recibe además la zona con nombre, el indicador de día entero y la regla de recurrencia.
La 2.1 marca los tipos sin signo igual, la 3.0 es lo que todo el mundo lee, la 4.0 escribe algunos valores como URI — así que un teléfono puede llegar como tel:+33612345678, prefijo incluido. Saber cuál tienes explica casi todas las sorpresas de importación.
Un contacto puede tener varios números y varias direcciones. El CSV los une con un punto medio en una sola celda; el JSON los conserva como lista, que es la diferencia entre un script que funciona y otro que divide a ojo.
Nombres, direcciones y organizaciones son campos estructurados en una vCard. Aplánalos en una hoja de cálculo: se leen igual mientras pierden sus costuras — lo que importa en cuanto reconstruyes una vCard desde esa hoja.