29 de junio de 2026
Qué es en realidad MinIO y el almacenamiento compatible con S3, cómo el blog comprueba los tipos de archivo antes de guardarlos, y el bug del límite de tamaño que tardó mucho más de lo debido en encontrarse.
28 de junio de 2026
Un script de Python para detección de movimiento que vigila una cámara web y me envía una foto por correo en el instante en que algo se mueve en el encuadre.
26 de junio de 2026
Escribir posts en un editor markdown de panel dividido con vista previa en vivo, moderar comentarios, y por qué el servidor comprueba los permisos aunque la interfaz ya haya escondido el botón.
25 de junio de 2026
Renderizado del lado del servidor, form actions en vez de llamadas fetch desde el cliente, el proxy que mantiene el access token completamente fuera del navegador, y renderizado de markdown saneado.
23 de junio de 2026
Cómo el servicio de blog modela los posts, slugs, borradores y publicación programada, un árbol de comentarios anidado, likes y reportes, todo encima de migraciones de Postgres.
22 de junio de 2026
Cómo funcionan las cuentas, el hashing de contraseñas, los tokens y cookies, la rotación de refresh, y el rate limiting por debajo de la página de login de este blog.
21 de junio de 2026
La historia honesta, un poco sobrecomplicada, de por qué construí y autoalojé este blog yo mismo en vez de usar una plataforma ya hecha.