Todos los artículos
-
Pruebas automatizadas de videojuegos: combina comprobaciones headless con evidencia de renderizado
Diseña una suite práctica de pruebas para un videojuego con pruebas de lógica aisladas, comprobaciones reproducibles de escenas y comparaciones controladas de capturas de pantalla, con políticas claras para fallos y baselines.
-
«Permission denied (publickey)» en SSH y cómo interpretarlo con ssh -v
El mensaje «Permission denied (publickey)» de OpenSSH significa que se rechazaron todas las claves que ofreció el cliente, o que no se ofreció ninguna, pero no indica cuál fue el caso. El artículo muestra cómo ssh -v indica exactamente qué claves se probaron y repasa nombres de usuario incorrectos, IdentitiesOnly, permisos de authorized_keys en el servidor y el valor por defecto ssh-rsa (SHA-1), que OpenSSH 8.8 desactivó.
-
La trifecta letal: datos privados, contenido no confiable y un canal de salida en un mismo agente
Un agente que combina acceso a datos privados, exposición a contenido controlado por un atacante y alguna forma de comunicarse hacia el exterior puede ser inducido a enviar esos datos a un atacante. Eliminar una de las tres patas es la única defensa estructural fiable; el artículo enumera los canales de salida que es fácil pasar por alto.
-
¿Cómo debería medirse la fiabilidad de un agente que actúa cuando una ejecución puede tener éxito en su tarea y aun así causar un efecto secundario no deseado?
Pregunta abierta: los bancos de pruebas puntúan si se alcanzó el estado objetivo, y pass^k añade consistencia a lo largo de los intentos, pero ninguno de los dos cuenta una ejecución que alcanzó el objetivo y además borró un archivo, envió un mensaje o gastó un presupuesto que no debía; qué medidas usan los equipos para eso, cómo las recopilan y si varían con los cambios de prompt y de modelo no está documentado.
-
HTTP/1.1, HTTP/2 y HTTP/3: las diferencias que nota un operador
HTTP/1.1 envía una solicitud a la vez por conexión TCP con un formato de texto; HTTP/2 multiplexa flujos binarios sobre una única conexión TLS con compresión HPACK, pero sigue estancándose ante la pérdida de paquetes TCP; HTTP/3 corre sobre QUIC en UDP, elimina el bloqueo de cabeza de línea a nivel de transporte y se descubre mediante Alt-Svc o registros DNS HTTPS.
-
Normalizar Unicode antes de comparar identificadores
Elegir una política de normalización para identificadores legibles por humanos sin modificar tokens opacos ni confundir caracteres visualmente similares.
-
Interfaces de Go: satisfacción implícita y el nil que no es nil
Un tipo de Go satisface una interfaz simplemente por tener sus métodos; no se declara nada. Eso hace que las interfaces pequeñas definidas en el punto de uso sean baratas, pero un valor de interfaz es un par de tipo y valor, de modo que un puntero nil almacenado en una interfaz error no es igual a nil.
-
¿Recuperan realmente los agentes de IA el archivo llms.txt, y qué cambia ese archivo en su comportamiento?
Pregunta abierta: llms.txt es una propuesta sin estandarizar, y muchos sitios crean el archivo sin saber si algún agente lo lee. ¿Qué patrones de acceso muestran los registros de servidor para /llms.txt y sus gemelos en Markdown, qué agentes o herramientas los consultan realmente, y puede demostrarse una diferencia en la calidad de las respuestas o en el número de accesos frente a sitios sin el archivo?
-
Registros de ejecución reproducibles para agentes: registrar cada llamada al modelo y a las herramientas
Una ejecución de un agente solo puede depurarse si cada solicitud al modelo, respuesta, llamada a herramienta y resultado de herramienta se registra en orden con identificadores y parámetros; las convenciones semánticas de OpenTelemetry GenAI nombran los campos, y un registro reproducible permite reproducir un fallo sin pagar por una nueva ejecución.
-
Estadísticas del planificador en PostgreSQL: objetivos de estadísticas, columnas correlacionadas y estimaciones erróneas
El planificador estima el número de filas a partir de estadísticas por columna que ANALYZE muestrea (valores más comunes, histogramas, recuentos de valores distintos) y asume columnas independientes; las estimaciones erróneas provienen de estadísticas obsoletas, columnas sesgadas con muy pocas entradas, columnas correlacionadas y expresiones. Aumentar el objetivo de estadísticas en columnas específicas, crear estadísticas extendidas para columnas correlacionadas o expresiones, volver a analizar, y comparar las filas estimadas con las reales.
-
Retargeting de animación: transferir movimiento entre esqueletos distintos
Antes de transferir una animación, asigna los roles esqueléticos y las poses de referencia; después valida a la vez las proporciones, el root motion y las trayectorias de contacto.
-
Formularios accesibles: etiquetas, mensajes de error y autocompletado
Asociar cada control con una etiqueta mediante for e id, marcar los campos obligatorios en el texto y con el atributo, usar tokens de autocompletado para que los navegadores y la tecnología de asistencia conozcan el propósito de un campo, e informar los errores en un resumen más mensajes por campo enlazados con aria-describedby.
-
Elección entre contexto heredado y contexto nuevo para subagentes concurrentes
Elegir el contexto inicial de un subagente en función de las decisiones que deba tomar y devolver un resultado acotado, vinculado a la revisión de la tarea del agente principal. Este procedimiento propuesto distingue la herencia de la conversación de la autoridad y de las evidencias.
-
Aprendizaje activo basado en pool: muestreo por incertidumbre sin evaluación sesgada
Cómo seleccionar ejemplos informativos para anotar, mantener un conjunto de evaluación independiente y representativo, y comparar los beneficios con el muestreo aleatorio con el mismo presupuesto de etiquetado.
-
Reconocer los code smells antes de refactorizar
Los code smells son síntomas superficiales (métodos largos, clases grandes, feature envy, shotgun surgery, obsesión por lo primitivo) que sugieren un problema de diseño más profundo; nombrarlos aporta un vocabulario para la revisión y un disparador para la refactorización.
-
Servidor DHCP en Linux con ISC Kea: kea-dhcp4.conf, subredes, reservas y prueba de la configuración
Configurar el servidor DHCPv4 de ISC Kea implica escribir subnet4, pools y reservas en JSON, validar el archivo con kea-dhcp4 -t antes de cargarlo realmente y saber dónde se registran las concesiones. El dhcpd de ISC ha llegado al final de su vida útil y Kea es el sucesor mantenido para nuevos despliegues.
-
Incidente de LiteLLM de octubre de 2026: exposición confirmada de tokens y precauciones con los registros de la pasarela
El análisis posterior de LiteLLM sustituyó su hipótesis inicial de robo de registros por pruebas de exposición de tokens a través de una API de Agent Platform. El incidente sigue ilustrando por qué las credenciales de agentes, los cuerpos de respuesta y la automatización con privilegios deben tener límites de acceso separados.
-
Unidades y prefijos del SI en la redacción técnica
El Sistema Internacional de Unidades define siete unidades base y prefijos decimales desde quecto hasta quetta; escribir correctamente los símbolos de unidad (espacio entre el número y la unidad, sin plural, kB frente a KiB) para que las mediciones puedan compararse.
-
Recorrido guiado por un planificador de trabajos: leases, reintentos, claves de idempotencia y una tabla de cola
Un recorrido de diseño para trabajos en segundo plano y programaciones recurrentes sobre una tabla de base de datos: los workers reclaman filas con FOR UPDATE SKIP LOCKED bajo un lease, los fallos reprograman con backoff hasta un máximo, una clave de idempotencia única convierte los encolados duplicados en operaciones sin efecto, y se pospone un message broker hasta que la antigüedad de la cola indique lo contrario.
-
Postmortems sin atribución de culpa: registrar el desarrollo, las causas y las medidas
Un postmortem describe qué ocurrió durante un incidente, a quién afectó y durante cuánto tiempo, qué circunstancias lo hicieron posible y qué medidas hacen menos probable una repetición. La ausencia de culpa no es una norma de cortesía, sino la condición para que las personas involucradas informen los hechos en lugar de defenderse.
Legible por máquina: JSON