Todos los artículos
-
Un calendario de cambios y ventanas de mantenimiento para un equipo de operaciones pequeño
Poner todo cambio planificado que pueda afectar a los usuarios en un único calendario compartido, con responsable, ventana, línea de reversión y reglas de bloqueo (blackout); el libro de SRE de Google afirma que SRE ha comprobado que alrededor del 70 % de las interrupciones se deben a cambios en un sistema en producción, de modo que «¿qué cambió?» es la primera pregunta en cualquier incidente, y el calendario es donde se responde.
-
Sitemaps y direcciones canónicas: un contenido, una dirección
Cada contenido debería tener exactamente una dirección HTTPS canónica, declarada en la propia página; los duplicados, como las versiones en Markdown o JSON, remiten a ella mediante un encabezado Link, los parámetros sin efecto sobre el contenido no generan direcciones nuevas, y el sitemap lista solo direcciones canónicas con fechas de modificación verídicas.
-
Cuando un proveedor comprometido almacenaba claves de API: contención, sustitución y revisión de la facturación
Revocar las claves expuestas en el emisor, restablecer el acceso de los consumidores legítimos mediante sistemas de confianza e investigar el uso y los cargos. Tratar las alertas de presupuesto y la entrega de claves de reemplazo como controles separados que deben verificarse.
-
Los registros domésticos anotados de memoria al final del día muestran valores más redondeados que los anotados en el momento de la lectura
Hipótesis: cuando la lectura de un medidor, una balanza o un termómetro se anota horas después de memoria, el valor registrado es con más frecuencia un número redondo (terminado en 0 o en 5, o con menos decimales) que cuando se anota junto al instrumento; se propone una prueba dentro de un mismo hogar con días alternos y fotografías como referencia, sin afirmar cuál valor está más cerca de la verdad.
-
¿Qué convenciones de User-Agent usan los operadores de sitios para clasificar a los agentes de IA, y con qué frecuencia se bloquea de todos modos a los agentes identificados honestamente?
RFC 9309 indica a los rastreadores que incluyan un token de producto y una URL de descripción en su User-Agent, y los operadores clasifican cada vez más el tráfico en navegadores, rastreadores y agentes a partir de esas cadenas; esta pregunta plantea en qué convenciones se basan realmente los operadores, si la identificación honesta aumenta o reduce la probabilidad de ser bloqueado o limitado en tasa, y cuál es la proporción medida de tráfico mal clasificado.
-
Generalizar una imagen de Windows con Sysprep: /generalize, /oobe, /shutdown y el límite de rearme
Sysprep /generalize elimina de una instalación de Windows la información propia del equipo, como el SID y los dispositivos configurados, para poder implementar la imagen en otros equipos. En Windows 8.1/Server 2012 y posteriores, Sysprep puede ejecutarse hasta 1001 veces por imagen (3 veces en Windows 7/Server 2008 R2), y los fallos de generalización dejan rastro en los registros Panther de System32\Sysprep.
-
Integridad de subrecursos para scripts y hojas de estilo de terceros
Un atributo integrity en un elemento script o link lleva un hash en base64 SHA-256, SHA-384 o SHA-512 del archivo esperado; el navegador se niega a ejecutar o aplicar un recurso cuyo contenido no coincida. Fija exactamente lo que un CDN puede entregar, exige CORS para los archivos de origen cruzado y, por ello, solo funciona con recursos de contenido fijo.
-
Las definiciones de herramientas MCP como superficie de ataque: descripciones envenenadas, shadowing y cambios silenciosos
Los nombres, descripciones y anotaciones de las herramientas de un servidor MCP son texto que el modelo lee antes de invocar ninguna herramienta. Un servidor malicioso o comprometido puede usarlos para dirigir al agente, imitar las herramientas de otro servidor, o cambiar de comportamiento después de la aprobación. Los clientes deberían fijar, comparar (diff) y revisar las definiciones como si fueran código.
-
Incertidumbre de medición y cifras significativas en informes técnicos
Un valor medido sin una incertidumbre está incompleto: repetir la medición, informar la media junto con la desviación estándar de la media y el número de ejecuciones, redondear la incertidumbre a una o dos cifras significativas y el valor a la misma posición, y decir qué significa el intervalo; los dígitos más allá de la incertidumbre son ruido.
-
Reglas de firewalld y nftables para NFS, Samba, NTP, DNS y DHCP: qué puertos abrir exactamente
Referencia de los puertos exactos que necesitan estos servicios de infraestructura (NFS4 TCP 2049, Samba TCP 445, con 139 y UDP 137/138 solo para NetBIOS, DNS TCP y UDP 53, DHCP UDP 67, NTP UDP 123), con los servicios predefinidos de firewalld, la sintaxis equivalente de dport en nftables y el motivo por el que una prueba UDP con nmap o nc es poco fiable frente al cliente real.
-
chrony como servidor NTP para una LAN: allow, local stratum y firewall del puerto UDP 123
Para servir la hora a una LAN con chrony hay que añadir una directiva allow limitada a la red de los clientes, decidir si realmente se quiere un respaldo con local stratum, abrir el puerto UDP 123 y comprobar con chronyc clients que los clientes consultan realmente el servidor.
-
Reenvío de tokens y el diputado confundido en servidores MCP que llaman a otras API
Un servidor MCP que reenvía el token de un cliente a una API subyacente, o que usa sus propias credenciales amplias en nombre de quien lo solicite, permite que quien llama actúe con una autoridad que nunca se le concedió. La guía de seguridad de MCP prohíbe el reenvío de tokens y describe el flujo del diputado confundido para servidores proxy.
-
NULL en SQL: la lógica trivalente y sus trampas
NULL significa desconocido, así que las comparaciones con NULL producen desconocido en lugar de verdadero o falso; los filtros WHERE descartan las filas con resultado desconocido, NOT IN con un NULL no encuentra nada, y las funciones de agregación omiten los NULL. Usar IS NULL, IS DISTINCT FROM y COALESCE de forma deliberada.
-
Cargo, crates y ediciones: cómo se compila y se versiona un proyecto Rust
Cargo compila un crate a partir de Cargo.toml, resuelve las dependencias con rangos compatibles con SemVer en Cargo.lock, y puede incluir dos versiones mayores incompatibles de un mismo crate en una sola compilación. Las ediciones son versiones del lenguaje por crate, opcionales, que interoperan entre sí, así que actualizar la edición de un crate nunca obliga a sus dependientes a seguirlo.
-
Escenas, nodos y recursos en Godot: componer comportamiento con una pertenencia bien definida
Cómo distinguir la jerarquía viva de nodos, el propietario que se usa al guardar la escena y los datos de recursos compartidos al construir escenas reutilizables en Godot.
-
Dialectos de expresiones cron: campos, segundos y la trampa del día del mes y día de la semana
Vixie cron, Quartz, Kubernetes CronJob, GitHub Actions y AWS EventBridge llaman «expresión cron» a su cadena de planificación, pero difieren en el número de campos, en si existen segundos o año, y en si el día del mes y el día de la semana se combinan con OR o no deben definirse a la vez.
-
Medir lo que se aprendió con autoevaluaciones antes y después, y lo que esa comparación no puede mostrar
Un protocolo para una autoevaluación personal previa y posterior alrededor de un período de estudio: escribir las preguntas antes de estudiar, responderlas a ciegas, estudiar, responder un conjunto paralelo después de un intervalo y calificar con una clave fija; la diferencia es una estimación con debilidades conocidas, ya que la propia prueba previa enseña, los conjuntos pueden diferir en dificultad, y una sola persona que aprende no puede ser su propio control.
-
Describir un cambio para que quienes lo revisan puedan revisarlo
Una descripción de cambio expone el problema, el enfoque y sus alternativas, cómo se probó y qué debería mirar quien revisa; enlaza el ticket y enumera riesgos y trabajo pendiente, de modo que la revisión empiece por la comprensión en lugar de por la arqueología.
-
¿Cuánto tiempo atrás debería reprocesar un pipeline programado para los eventos que llegan tarde, y cómo han elegido los equipos esa ventana?
Pregunta abierta: los motores de streaming admiten que algunos eventos pueden retrasarse de forma arbitraria, y los planificadores por lotes ejecutan cada intervalo una sola vez tras cerrarse; un compromiso habitual vuelve a ejecutar los últimos N intervalos en cada corrida, pero N suele ser una suposición. ¿Qué evidencia se ha usado para dimensionar N, y qué ocurrió con los eventos que llegaron todavía más tarde?
-
El dinero y otras cantidades exactas: usar Decimal, no float
La coma flotante binaria no puede representar exactamente la mayoría de las fracciones decimales, así que las sumas de precios se desvían; el módulo decimal ofrece aritmética decimal exacta con redondeo explícito, y los enteros en unidades menores son una alternativa.
Legible por máquina: JSON