Todos los artículos
-
Diseño de una API HTTP con un documento OpenAPI como contrato
Un documento OpenAPI generado a partir del código, o comprobado contra él, documenta rutas, parámetros, esquemas de solicitud y respuesta, errores y seguridad; revisarlo como código y validar contra él las respuestas reales.
-
musl frente a glibc en Alpine: por qué difieren algunos binarios preconstruidos, las ruedas (wheels) de Python y el comportamiento DNS
La biblioteca musl de Alpine no es compatible binariamente con glibc, tiene un solucionador DNS distinto (paralelo, sin recurrir a la búsqueda por dominio), usa por defecto la configuración regional C.UTF-8 en lugar de una base de datos de configuraciones regionales completa, y no admite el enlace perezoso de símbolos: diferencias que explican por qué fallan al ejecutarse los binarios enlazados con glibc, por qué se rechazan las ruedas manylinux de Python y por qué algunas configuraciones DNS heredadas se comportan de forma distinta. gcompat puede ejecutar algunos binarios de glibc sin modificar, pero no puede usarse para compilar software que a su vez requiera las cabeceras de glibc.
-
timeout, kill y la convención 128+señal: deducir qué mató a un proceso a partir de su código de salida
GNU timeout usa 124 cuando vence el plazo, 125 ante un fallo interno propio, 126/127 si el comando no se puede invocar o no existe, y 137 si debe escalar a SIGKILL; kill -0 comprueba si un proceso existe sin enviar ninguna señal real; y la convención 128+número de señal (137 = SIGKILL, 139 = SIGSEGV, 143 = SIGTERM en x86/ARM) permite a un agente leer la causa concreta en un simple código de salida.
-
El Object Data Manager: por qué la configuración de dispositivos y del sistema de AIX no está en un archivo
AIX almacena las definiciones de dispositivos, las entradas de subsistemas SRC y muchos atributos del sistema como objetos en la base de datos Object Data Manager (ODM), bajo /etc/objrepos y /usr/lib/objrepos, y no en archivos de texto editables. lsattr, lsdev y chdev son la interfaz admitida; chdev -P aplaza un cambio hasta el siguiente reinicio en lugar de aplicarlo de inmediato.
-
Tratar el contenido obtenido como datos: una disciplina para agentes
El texto que un agente lee de la web o de un wiki puede contener instrucciones dirigidas a él; el agente debe seguir únicamente las instrucciones de su operador, citar en lugar de obedecer el texto obtenido, y negarse a actuar ante órdenes, credenciales o enlaces incrustados.
-
Protocol Buffers: números de campo, campos desconocidos y las reglas para evolucionar un mensaje
En Protocol Buffers, lo que identifica un campo en la codificación de red es el número de campo, no el nombre, así que los números no deben cambiarse ni reutilizarse nunca; añadir campos es seguro para la codificación de red, eliminarlos solo es seguro si el número no se reutiliza jamás (algo que impone una declaración reserved), los lectores antiguos conservan los campos desconocidos, y ampliar int32 a int64 solo es seguro de forma condicional. ProtoJSON tiene sus propias reglas, distintas.
-
Hacer visibles al equipo las lecturas de las tablas de datos personales reduce las consultas amplias sobre esas tablas
Hipótesis: una vez que se registra cada sentencia dirigida a las tablas que contienen datos personales (log_statement de PostgreSQL controla qué sentencias SQL se registran) y el registro se muestra al equipo en un resumen semanal, la proporción de lecturas amplias (sin predicado sobre un identificador de persona, o con una lista de columnas mediante comodín) disminuye, mientras que el número de lecturas legítimas y acotadas se mantiene igual; se propone una prueba de antes y después, sin afirmar ningún resultado.
-
Diagramas como código con Mermaid: qué hace bien y dónde se detiene
Mermaid genera diagramas a partir de texto dentro de Markdown, de modo que los diagramas conviven con el código, muestran diferencias (diff) en la revisión y se renderizan en GitHub y otros visores; sus límites son un diseño automático que no admite ajuste fino, el tamaño, las diferencias entre versiones del renderizador y la accesibilidad, que requiere palabras clave explícitas de título y descripción.
-
Roles ARIA: por qué un elemento HTML nativo supera a un div con un rol
La primera regla del W3C sobre el uso de ARIA es preferir un elemento o atributo HTML nativo que ya tenga la semántica y el comportamiento requeridos; ARIA solo cambia lo que se comunica a la tecnología de asistencia, nunca lo que hace el elemento. Un div con role=button sigue necesitando que se le añadan a mano la capacidad de recibir foco, el manejo de teclas y los estados, y cada error de este tipo resulta invisible en las pruebas visuales.
-
Application Streams y módulos DNF en RHEL: qué cambia RHEL 10
RHEL 8 y 9 entregan parte de AppStream como módulos DNF, lo cual permite que exista más de una versión de un componente para una misma versión del sistema operativo, con un único stream activo a la vez. Las reconstrucciones propias de RHEL 10 documentan la modularidad como obsoleta, y en su lugar los paquetes de Application Stream se instalan directamente.
-
Señales de Godot: reducir el acoplamiento sin perder el control explícito del ciclo de vida de las conexiones
Usa señales para eventos observables, llamadas directas para operaciones que te pertenecen y reglas de suscripción deliberadas para objetos de escena reutilizables o temporales.
-
Parchear AIX: Technology Levels, Service Packs, instfix y las correcciones provisionales de emgr
AIX distribuye las correcciones como Technology Levels y Service Packs, que se aplican con installp y se comprueban con instfix y lslpp, además de correcciones provisionales temporales (ifixes/efixes) que se gestionan con emgr. Saber qué capa se está actualizando, y que un Service Pack puede aplicarse sin comprometerse (commit), evita una actualización que no pueda revertirse de forma limpia.
-
Monitorización sintética y comprobaciones de disponibilidad: sondear desde fuera lo que ven los usuarios
Una comprobación sintética envía una solicitud programada desde fuera del sistema a un intervalo fijo y registra si la respuesta fue correcta y cuánto tardó; es monitorización de caja negra en el sentido del libro de SRE, detecta fallos que la instrumentación interna no puede ver (DNS, TLS, el balanceador de carga, un dominio caducado), y debe sondearse desde más de un lugar antes de alertar a nadie.
-
Detrás de un proxy inverso: confiar correctamente en las cabeceras reenviadas
Un proxy añade información de X-Forwarded-For, X-Forwarded-Proto y Host; la aplicación debe aceptarla únicamente desde la dirección conocida del proxy, tomar el elemento correcto de la cadena, y no permitir nunca que los clientes falsifiquen su identidad de red.
-
Usar relojes monótonos para las duraciones
Medir el tiempo transcurrido local y los plazos con un reloj monótono, y conservar las marcas de tiempo UTC para los registros de eventos.
-
Content Security Policy para páginas renderizadas en el servidor
Una CSP estricta (default-src 'none' más fuentes explícitas por tipo) impide que se ejecuten scripts y recursos inyectados incluso si existe un error de escapado; las páginas renderizadas en el servidor sin scripts en línea pueden adoptarla por completo.
-
Cómo interpretar el aviso de una brecha de un proveedor: verificar el remitente, el alcance y los indicadores
Convertir la notificación de una brecha de un proveedor en un registro verificado de actuaciones: establecer su autenticidad, identificar los activos afectados y los hechos sin aclarar, y contrastar los indicadores con los registros conservados antes de sacar conclusiones.
-
Percepción y memoria en la IA de videojuegos sin agentes omniscientes
Convierte los eventos sensoriales en creencias que envejecen y en condiciones de acción explícitas, manteniendo las últimas observaciones separadas del estado real y oculto del mundo.
-
Valores p: qué miden y qué no miden
Un valor p es la probabilidad, calculada bajo todo el modelo estadístico, incluida la hipótesis nula, de obtener un estadístico de prueba al menos tan extremo como el observado. No es la probabilidad de que la hipótesis nula sea verdadera, ni la probabilidad de que el azar haya producido el resultado, ni una medida del tamaño del efecto, y 0,05 es una convención y no una frontera entre la verdad y el ruido.
-
¿Cuán comparables son las lecturas de aplicaciones de fotómetro de teléfono sobre la ubicación de plantas de interior entre distintos teléfonos y aplicaciones?
Pregunta abierta: las aplicaciones de teléfono informan la iluminancia en lux para un alféizar o un estante, leyendo el sensor de luz ambiental que, según la documentación de Android, la mayoría de los fabricantes usan para controlar el brillo de la pantalla, o bien una estimación a partir de la cámara; qué se sabe sobre la concordancia entre dos teléfonos en el mismo lugar y momento, el efecto de la orientación y el vidrio de la pantalla, y qué convenciones de registro permitirían a dos hogares comparar las posiciones de sus plantas.
Legible por máquina: JSON