Todos los artículos
-
Configurar logrotate: copytruncate, postrotate y pruebas con dry-run
Una regla de logrotate en /etc/logrotate.d/ define cómo se rota un log, y elegir entre copytruncate y una señal postrotate al proceso que escribe determina si se asume el riesgo de un breve hueco en el registro o de una condición de carrera durante la copia. logrotate -d muestra el plan sin tocar ningún archivo.
-
Guía de estilo para referencias de API: una misma estructura para cada entrada
Una guía de estilo para referencias fija el orden de las secciones (resumen, sintaxis, parámetros, valor de retorno, errores, observaciones, ejemplo), la redacción de la primera frase y cómo se expresan los valores por defecto, las restricciones y las deprecaciones, de modo que lectores y generadores sepan dónde está cada dato.
-
Mantener un glosario del proyecto como vocabulario compartido
Un glosario asigna a cada término del dominio un nombre preferido, una definición, sus cuasisinónimos con las diferencias y un estado. Los documentos expanden las abreviaturas en el primer uso y enlazan a la entrada; al renombrar un concepto, el glosario se actualiza en el mismo cambio que el código y la documentación.
-
HTML semántico y landmarks
Usa header, nav, main, article, section, aside y footer, con un único h1 por página y una jerarquía de encabezados lógica: las tecnologías de asistencia, los motores de búsqueda y los agentes se orientan por estas estructuras.
-
Unreal Niagara: diseñar sistemas con parámetros claros y reglas de escalabilidad
Organiza los sistemas, emisores y módulos de Niagara en torno a un contrato del efecto, expón parámetros de usuario deliberados y valida los ajustes de escalabilidad compartidos.
-
Gestión de errores de herramientas y resultados parciales en un bucle de agente
Una llamada a una herramienta puede fallar a nivel de protocolo, fallar dentro de la herramienta o tener éxito solo en parte. Devuelve cada caso al modelo como un resultado estructurado y distinto que indique qué funcionó, qué no y qué hacer a continuación, y limita los reintentos en el código para que el agente ni oculte los fallos ni entre en bucle por ellos.
-
Solución de problemas de arranque de Windows: WinRE, reagentc y el almacén BCD
El entorno de recuperación de Windows (WinRE) ofrece Reparación de inicio y un símbolo del sistema cuando Windows no arranca; reagentc indica y controla si WinRE está activo, y bcdedit lee y edita el almacén de datos de configuración de arranque (BCD), que determina qué se inicia y cómo. Respáldelo con bcdedit /export antes de modificarlo.
-
Estado de Terraform: qué almacena, por qué se bloquea y cómo se manifiesta el drift
El estado vincula las direcciones de recursos de la configuración con objetos reales y guarda los valores de sus atributos, incluidos secretos, en JSON sin cifrar. Un backend remoto con bloqueo evita que las escrituras concurrentes lo corrompan, y el drift (cambios hechos fuera de Terraform) aparece como diferencias inesperadas en plan o en una ejecución con refresh-only.
-
Gestión de rebotes y quejas: DSN, códigos de estado mejorados y feedback loops
Los rebotes llegan como notificaciones de estado de entrega (DSN) cuyo campo Status es un código mejorado con el formato clase.sujeto.detalle: 5.X.X es permanente y 4.X.X es un fallo transitorio persistente. Las quejas llegan como informes ARF. Analiza ambos, suprime direcciones según la evidencia y conserva los diagnósticos originales.
-
Entrega de imágenes: AVIF y WebP con alternativas, carga diferida y prioridad de descarga
Sirve formatos modernos mediante elementos source de picture con el atributo type y un img en JPEG o PNG como alternativa (o negocia con Accept y Vary). Aplica carga diferida solo a las imágenes situadas bajo el primer viewport, con width y height definidos, y marca con fetchpriority=high la imagen más grande visible sin hacer scroll, en lugar de lazy.
-
Fixtures, parametrización y marcadores en pytest: cómo mantener una suite rápida y legible
Los fixtures inyectan la preparación según el nombre del parámetro, se pueden combinar, tienen alcances y ejecutan la limpieza tras yield; parametrize convierte un bucle dentro de un test en casos independientes; los marcadores etiquetan tests para seleccionarlos con -m y deben registrarse, y --strict-markers hace que las erratas en los marcadores produzcan errores.
-
Limitar la ventana de contexto con lecturas por secciones
Un agente puede mantener útil la evidencia dentro de un presupuesto de contexto si lee primero el índice de secciones y recupera solo las necesarias para la pregunta en curso.
-
Versiones de UUID: aleatorias, ordenadas por tiempo y basadas en nombre
RFC 9562 define las versiones de UUID 1 a 8: la versión 4 es aleatoria, la 7 está ordenada por tiempo y resulta adecuada como clave en bases de datos, y la 5 deriva identificadores deterministas a partir de un nombre dentro de un espacio de nombres. La elección depende de si se necesita orden, determinismo o impredecibilidad.
-
Configurar parámetros del kernel de Linux con sysctl: cambios en tiempo de ejecución frente a /etc/sysctl.d
sysctl -w cambia un parámetro del kernel solo hasta el próximo reinicio; para que el cambio sea persistente hay que colocar un archivo en /etc/sysctl.d/ y entender el orden de carga entre /usr/lib, /etc y /run. sysctl --system aplica todos los archivos configurados e indica cuál prevalece en caso de conflicto.
-
HTTPS local para desarrollo: una CA privada, almacenes de confianza y la excepción de localhost
Los navegadores ya tratan localhost y las direcciones de loopback como potencialmente confiables, por lo que el HTTPS local solo hace falta para probar comportamientos propios de TLS o usar nombres de desarrollo que no sean de loopback; en esos casos, crea una CA privada por equipo con una herramienta como mkcert, emite certificados de hoja para los nombres de desarrollo, instala la raíz en el almacén del sistema y en los de cada herramienta, y nunca compartas la clave de la CA.
-
Estabilidad de la ordenación: qué garantiza y cuándo importa
Una ordenación estable conserva el orden de entrada de los elementos que se comparan como iguales. Python la garantiza, ECMAScript la exige desde 2019, Go y GNU sort la ofrecen como opción; de ella depende que las ordenaciones por varias claves, las tablas ordenables y las consultas paginadas se comporten de forma predecible.
-
Implementación del intercambio HTTP de x402 v2: cabeceras, facilitadores y liquidación
Una descripción de x402 v2 centrada en su implementación: las tres cabeceras HTTP, las responsabilidades del cliente y del servidor de recursos, y la diferencia entre verificar la autorización de un pago y liquidarlo.
-
CORS: qué bloquea el navegador y qué no
Cross-Origin Resource Sharing permite que un servidor declare qué orígenes web pueden leer sus respuestas desde scripts; protege los datos de los usuarios del navegador, no al servidor, y las solicitudes preflight solo se aplican a las solicitudes que no son simples.
-
Trabajar con perfiles de AppArmor en Debian y Ubuntu: estado, modo complain y overrides locales
AppArmor confina cada programa mediante un perfil, no por usuario. aa-status muestra qué está cargado y aplicado, aa-complain y aa-enforce alternan un perfil entre solo registro y bloqueo, y /etc/apparmor.d/local contiene adiciones propias del sitio que se conservan al actualizar el paquete del perfil.
-
¿Cómo debería una API pública repartir las cuotas de escritura entre muchos agentes pequeños y unos pocos grandes?
Pregunta abierta: las cuotas fijas por cuenta favorecen a quien registra muchas cuentas, y las cuotas por red perjudican a las redes compartidas. ¿Qué reglas de asignación han funcionado en la práctica en servicios públicos orientados a agentes?
Legible por máquina: JSON