Nuestro blog

Ideas, tutoriales y buenas prácticas de nuestro equipo de desarrolladores con experiencia.

Ingeniería de software

Cinco estados que no pueden existir, y tu código permite los cinco

Le dimos a un agente una tarea corriente —una pantalla de listado con carga, error y datos— y devolvió una clase con un booleano y dos campos nullable. Eso son ocho combinaciones, de las cuales tres significan algo; las otras cinco compilan, pasan la revisión, llegan a producción y se quedan ahí esperando. Aquí tienes qué es un estado imposible, por qué es lo mismo que un invariante roto, por qué el coste real no son los bugs en tiempo de ejecución sino las convenciones no escritas que cada lector tiene que reconstruir, y cómo las sealed classes junto con la exhaustividad convierten toda una categoría de errores en un fallo de compilación. Además: por qué un enum con campos nullable lo empeora, la única línea que desactiva la comprobación en silencio, y los cuatro sitios donde los tipos de datos algebraicos no ayudan nada.

31 de agosto de 2026
Ciberseguridad

Tu SSL pinning probablemente no funciona

Google dice que el certificate pinning «no se recomienda para aplicaciones Android». Apple dice que «en la mayoría de los casos el pinning no es necesario y debería evitarse». OWASP responde ya a la pregunta «¿debería hacer pinning?» con «probablemente nunca». Y sin embargo el pinning está presente en aproximadamente la mitad de las apps móviles que auditamos, y en Flutter normalmente no protege nada, porque Dart no usa la pila de red de la plataforma y el pin-set de tu network_security_config.xml nunca se lee. Aquí tienes lo que el pinning aporta de verdad en 2026, cómo saber si lo necesitas, cinco reglas para el caso de que lo hagas, por qué Flutter rompe las cinco y cómo averiguar en media hora cuál de esos casos es el tuyo.

27 de agosto de 2026
Ingeniería de software

Todos se equivocaron de plazos: IA, júniors y computación cuántica

Hace dos años las voces más ruidosas del sector aseguraban que a estas alturas los ingenieros de software serían una curiosidad histórica. Se equivocaron: el empleo en desarrollo no se hundió. Pero la misma ola que no logró eliminar a los desarrolladores sí eliminó otra cosa: el trabajo rutinario que convertía a los principiantes en séniors. El empleo de desarrolladores de 22 a 25 años ha caído alrededor de un 20 % desde finales de 2022, mientras que el de sus colegas mayores se mantuvo estable o creció. Mientras tanto, la computación cuántica repite el mismo ciclo de expectativas una vuelta por detrás, y el hito que de verdad importa no es el de los titulares. Esto es lo que sostienen los datos, lo que no, y cómo distinguir una cosa de la otra.

18 de agosto de 2026
dxpdf 0.5.0: enseñar a un conversor de DOCX a leer el resto del mundo
Ingeniería de software

dxpdf 0.5.0: enseñar a un conversor de DOCX a leer el resto del mundo

dxpdf convierte documentos de Word a PDF sin Office, sin LibreOffice y sin API en la nube. La versión 0.5.0 es aquella en la que dejó de dar por hecho que todo documento está escrito en inglés: saltos de línea según UAX #14, texto bidireccional según UAX #9 y números y fechas de CLDR que siguen el idioma del propio documento. Esto es lo que trae, las decisiones de diseño detrás y las cifras medidas.

11 de agosto de 2026
Orosu: por qué sustituimos las claves SSH de despliegue por tareas WebSocket firmadas
DevOps

Orosu: por qué sustituimos las claves SSH de despliegue por tareas WebSocket firmadas

Tarde o temprano, todo pipeline de CI necesita llevar una compilación a un servidor, y la mayoría de equipos lo resuelve con una clave SSH en los secretos y un script de rsync copiado y pegado. Nosotros hicimos otra cosa: escribimos Orosu, una herramienta open source en Rust que convierte el despliegue en una tarea WebSocket autenticada y acotada en lugar de una sesión de shell abierta. En este artículo explicamos qué problema resuelve, cómo funciona y dónde están sus límites.

8 de agosto de 2026
Cómo funciona realmente el cifrado de extremo a extremo: el intercambio de claves, el Double Ratchet y sus compromisos reales
Ciberseguridad

Cómo funciona realmente el cifrado de extremo a extremo: el intercambio de claves, el Double Ratchet y sus compromisos reales

Un análisis a fondo de cómo se establece el cifrado de extremo a extremo y cómo se mantiene seguro con el tiempo: el handshake X3DH, el algoritmo Double Ratchet detrás de Signal y WhatsApp, la mensajería de grupo con sender keys, y una mirada honesta a qué protege el E2EE y qué no.

3 de agosto de 2026
El proceso de desarrollo de apps Flutter: cómo llevamos una app de la idea a la App Store
Flutter

El proceso de desarrollo de apps Flutter: cómo llevamos una app de la idea a la App Store

El proceso real detrás de un desarrollo en Flutter —descubrimiento, diseño, arquitectura, desarrollo iterativo, QA, publicación y mantenimiento— ejecutado como bucles cortos de realimentación y no como una cascada. Qué pasa en cada fase, qué obtienes de ella, quién está en la sala, cuánto dura y los puntos concretos donde el proceso se rompe.

29 de julio de 2026