Artículos
Lecturas largas que profundizan más que una sola herramienta: las matemáticas, los estándares y los compromisos detrás de lo que construimos.
Las matemáticas de la sensibilidad del ratón: cm/360, eDPI y por qué los pros recalibran
Por qué tu número de sensibilidad en el juego no significa nada por sí solo, cómo lo arreglan cm/360 y eDPI, y por qué los pros recalibran.
Gamepad API web: DirectInput, XInput y la confusión del mapeo
Por qué los mandos de Xbox funcionan al instante en el navegador y los sin marca revuelven sus botones — standard mapping, XInput y DirectInput.
JSON RFC 8259: detalles sutiles que hacen tropezar a los parsers de producción
Claves duplicadas, precisión de enteros grandes, BOMs y los detalles que la RFC 8259 deja sin especificar — donde los parsers JSON de producción discrepan.
Por qué las herramientas 100% del lado del cliente son más seguras que el SaaS autoalojado para datos personales
Por qué procesar datos personales por completo en el navegador es estructuralmente más seguro que un SaaS autoalojado — y dónde están de verdad las concesiones.
Ratios de contraste WCAG en el diseño de producto real — casos y trampas
Los umbrales WCAG AA/AAA exactos, por qué falla el gris sobre blanco, las trampas que los verificadores no detectan y hacia dónde va el APCA de WCAG 3.
Tiempo de reaccion humano: RT simple vs de eleccion, curvas de edad y que lo mejora realmente
Por que el RT simple y el de eleccion son medidas diferentes, como la ley de Hick gobierna la velocidad de decision, y que hacen realmente el ejercicio, el sueno y la practica.
Anatomía de un JWT: cabecera, carga útil, firma, base64url y por qué decodificar no es verificar
Tres puntos, tres partes: cómo JWT codifica en base64url la cabecera, la carga útil y la firma, qué hacen los claims registrados, y por qué cualquiera puede decodificar un JWT pero solo el servidor puede verificarlo.
Base64 explicado: agrupación de 6 bits, ~33% de inflación de tamaño, relleno y base64url vs estándar
Por qué tres bytes de entrada siempre se convierten en cuatro caracteres base64, cómo se eligió el alfabeto de 64 caracteres, qué significa el relleno con signos igual y cuándo se puede omitir, y cómo difiere base64url para contextos URL-seguros.
Expresiones cron desmitificadas: cinco campos, rangos, pasos y la trampa OR de día de semana
Cómo funcionan los cinco campos cron, qué hacen realmente los asteriscos, barras y comas, por qué establecer tanto día del mes como día de la semana se activa con cualquier coincidencia (no ambas), y por qué cron en un servidor UTC dispara tu tarea @daily a medianoche UTC, no a tu medianoche local.
YAML vs JSON vs TOML: fortalezas, casos de uso y las trampas de tipado implícito de YAML
El NO sin comillas en YAML se convierte en booleano false (el problema de Noruega), las tabulaciones rompen silenciosamente la indentación, y las anclas permiten ataques de expansión. JSON es determinista pero sin comentarios. TOML es fuertemente tipado con datetime integrado.
Cabeceras de seguridad HTTP que importan: CSP, HSTS, X-Content-Type-Options, X-Frame-Options y Referrer-Policy explicados
CSP detiene la inyeccion de scripts. HSTS previene el SSL stripping. X-Content-Type-Options elimina el MIME sniffing. X-Frame-Options bloquea el clickjacking. Referrer-Policy detiene la filtracion de tokens a traves de la cabecera Referer. Aqui se explica como funciona cada uno y por que los cinco pertenecen a cualquier sitio.
Relación de aspecto vs resolución: 16:9, 21:9, 4:3, letterboxing y FOV en juegos
La resolución cuenta píxeles; la relación de aspecto describe la forma. Una pantalla de 1920x1080 y una de 3840x2160 son ambas 16:9, pero los paneles ultrawide '21:9' son en realidad 64:27 o 43:18. El escalado FOV Hor+ significa que las pantallas más anchas muestran más del mundo del juego, no la misma escena estirada.
Espacios de color para la web: sRGB, DCI-P3, Rec.2020, gamma y por qué el mismo hex se ve diferente en dos pantallas
Coordenadas del primario rojo de sRGB, por que DCI-P3 es un 26% mas amplio, como Rec.2020 se acerca a primarios monocromaticos, por que el gamma sRGB es por partes y no puro 2.2, y por que el mismo hex puede verse sobresaturado en una pantalla P3 sin gestion de color del SO.