Todos los artículos
-
Los traspasos estructurados y acotados por esquema entre agentes reducen el éxito de la inyección frente a los traspasos en texto libre
Hipótesis: si un agente que lee contenido no confiable solo puede pasar al agente que actúa campos validados por esquema y de longitud limitada, las instrucciones inyectadas llegan con menos frecuencia al agente que actúa que si le pasa prosa libre.
-
Lista de verificación para habilitar IPv6 en un sitio web
Habilita IPv6 en este orden: dirección y firewall en el host, servidor escuchando en [::] (en nginx el listener IPv6 acepta solo IPv6 por defecto, así que conserva el de IPv4), prueba con curl -6 contra la dirección, luego el registro AAAA y, por último, monitorización que sondee cada familia de direcciones por separado; los clientes con Happy Eyeballs disimulan una ruta IPv6 rota con un retraso, mientras que los más simples fallan sin más.
-
sed y awk para ediciones orientadas a líneas: sustitución, campos y cambios in situ
sed aplica comandos de edición, sobre todo s/regexp/reemplazo/, a cada línea; awk divide las líneas en campos y ejecuta pares patrón-acción. Usa sed para sustituciones y borrados, awk para trabajo con columnas y agregaciones pequeñas, y gestiona con cuidado -i, -n y las diferencias entre GNU y BSD.
-
Comprobar la sincronización horaria de los servidores: timedatectl, chronyc tracking y qué alertas configurar
La deriva del reloj rompe sin avisar la validación de certificados, la caducidad de tokens, la correlación de logs y los arrendamientos de bloqueos. En cada host, comprueba que haya un servicio de hora activo y sincronizado, lee el offset, el stratum y el estado de leap desde el demonio, alerta cuando no esté sincronizado o el offset supere un límite definido localmente, y repite la comprobación tras reinicios y reconstrucciones de imagen.
-
Markdown en el que se puede confiar: CommonMark y lo que no incluye
CommonMark especifica encabezados, listas, énfasis, enlaces, bloques de código y más con un algoritmo de análisis sin ambigüedades; las tablas, las notas al pie y las listas de tareas son extensiones que un renderizador puede o no admitir, y el HTML sin procesar puede estar desactivado.
-
CSV: un formato con más casos límite que comas
El RFC 4180 describe un dialecto común de CSV, pero los archivos reales varían en delimitador, comillas, codificación y saltos de línea; conviene usar una biblioteca de análisis, declarar el dialecto y tratar de forma explícita los nombres de cabecera y las codificaciones.
-
Diagnóstico del rendimiento por proceso en Windows: Get-Process, Get-CimInstance y recuento de handles
Get-Process ordena por working set o por tiempo acumulado de CPU; la clase CIM Win32_PerfFormattedData_PerfProc_Process ofrece en cambio un porcentaje de CPU ya calculado como tasa. Un recuento de handles que crece de forma constante es la señal típica de una fuga, y Process Explorer o Process Monitor aportan el detalle que PowerShell no expone.
-
Varianza, desviación estándar, MAD e IQR: cómo informar la dispersión
Una medida de posición sin dispersión es solo media cifra. La desviación estándar describe bien la dispersión de datos aproximadamente normales, pero en los demás casos dominan las colas; el rango intercuartílico y la desviación absoluta mediana describen el grueso de los datos. Indica qué medida usas y el tamaño de la muestra, emplea la forma con n−1 al estimar a partir de muestras y nunca rotules una barra de error con un simple ±.
-
Inventario de despensa y registro de desperdicio de alimentos con una regla de pesaje fija
Protocolo doméstico propuesto: llevar una lista de la despensa con artículo, cantidad, fecha impresa copiada literalmente y lugar de almacenamiento, y pesar cada alimento desechado indicando un motivo de una lista fija, sin interpretar fechas ni dar consejos de seguridad, de modo que se pueda sumar la masa desechada en un mes y compararla con las compras.
-
Requests y limits de recursos en Kubernetes: planificación, throttling y OOM kills
Un request es lo que el scheduler reserva para un contenedor y lo que el kubelet garantiza; un limit es lo que impone el kernel. Los límites de CPU provocan throttling, los de memoria provocan terminación del proceso, y la relación entre request y limit determina la clase de QoS del Pod y, con ello, quién es desalojado primero bajo presión del nodo.
-
Trampas de cmd.exe y de los scripts batch: momento de evaluación de %ERRORLEVEL%, expansión retardada y escape con el acento circunflejo
Los archivos batch siguen apareciendo en instaladores, tareas programadas heredadas y herramientas de proveedores. %ERRORLEVEL% se expande al analizar la línea y puede leer un valor obsoleto, la expansión retardada cambia ese comportamiento, y el acento circunflejo es el carácter de escape que la mayor parte del código batch generado por agentes escribe mal al primer intento.
-
Compilaciones reproducibles y dependencias fijadas
Una compilación es reproducible cuando el mismo código fuente y el mismo entorno de compilación producen una salida idéntica bit a bit; los lockfiles con hashes, las imágenes base fijadas y las marcas de tiempo fijas son los pasos prácticos para lograrlo.
-
Ejecutar apt y dpkg de forma no interactiva en Debian y Ubuntu sin que se bloqueen en las preguntas
Una ejecución de apt-get o dpkg desde un script puede quedarse detenida por una pregunta de debconf, una consulta sobre un archivo de configuración modificado o un bloqueo de dpkg retenido. Si se define DEBIAN_FRONTEND, se usan las opciones confold/confdef adecuadas y se preconfiguran antes las respuestas de debconf, la instalación termina correctamente o falla con un error claro.
-
Cómo encontrar las sentencias más costosas con pg_stat_statements
pg_stat_statements agrega, para todo el servidor, el número de llamadas, el tiempo de ejecución y los contadores de bloques por sentencia normalizada. Se carga mediante shared_preload_libraries; después se ordena por total_exec_time y, por separado, por calls, se compara la media con el máximo, se revisan las columnas de buffers, se analizan las sentencias principales con EXPLAIN ANALYZE y se compara el antes y el después por queryid.
-
Registro de temperatura y tiempo hasta la meseta en un grifo de agua caliente: sonda sujeta en el chorro, posición fija de la maneta y lecturas cada 15 segundos
Protocolo propuesto, solo de registro, para documentar lo que entrega un grifo de agua caliente a lo largo del tiempo: un termómetro de sonda sujeto en el chorro con una pinza o un vaso en lugar de con la mano, el grifo abierto hasta una posición marcada y lecturas cada 15 s hasta que tres coincidan; se anotan el tiempo hasta esa meseta y su valor, junto con el tiempo transcurrido desde la última extracción de agua caliente. El intervalo de lectura se basa en el tiempo de respuesta que indica la página del USDA FSIS para termómetros de termistor, y no se describe ninguna temperatura objetivo ni ajuste del calentador.
-
Agentes de aprovisionamiento de Windows en el primer arranque en la nube: EC2Launch v2, el agente de VM de Azure y cloudbase-init
AWS, Azure y la mayoría de las demás nubes incluyen en la imagen de Windows un pequeño agente que procesa los datos de usuario o los datos personalizados en el primer arranque. Los agentes habituales son EC2Launch v2, los agentes de aprovisionamiento y de VM de Windows de Azure (que guardan los datos personalizados en CustomData.bin pero no los ejecutan) y el proyecto de código abierto cloudbase-init. Cada uno registra en una ubicación distinta, que conviene revisar cuando el aprovisionamiento parece haber fallado sin avisar.
-
Pruebas de las rutas de error y los timeouts en llamadas salientes
Enumera las clases de fallo de cada dependencia (rechazo, reinicio de conexión, timeout de conexión o de lectura, 5xx, 429, cuerpo malformado o lento), inyecta cada una con un doble de prueba en las pruebas unitarias y con un proxy que inyecta fallos en las de integración, y verifica el comportamiento prometido: intentos, backoff, errores tipados, limpieza y ausencia de escrituras parciales.
-
Cuantización posentrenamiento frente a entrenamiento consciente de la cuantización: cómo elegir y verificar un modelo más pequeño
La PTQ convierte un modelo ya entrenado; la QAT permite que el entrenamiento se adapte al error de cuantización simulado. La calidad de la calibración, los operadores compatibles y la precisión medida del modelo exportado importan más que la etiqueta del ancho de bits por sí sola.
-
Copias de seguridad en IBM i: SAVLIB, SAVOBJ, SAVSYS, archivos de salvado y el menú GO SAVE
Las copias de seguridad en IBM i se basan en SAVLIB, SAVOBJ y SAVSYS, que escriben en cinta o en un archivo de salvado creado con CRTSAVF, y en las opciones del menú GO SAVE, que las agrupan en salvados completos o parciales del sistema, repetibles y, si se desea, desatendidos.
-
Registro de cocción con temporizador y termómetro en paralelo: tiempo transcurrido y lectura de la sonda en puntos de control fijos
Protocolo propuesto, solo de registro, para platos que se cocinan de forma repetida: se anotan juntos el tiempo transcurrido del temporizador de cocina y la lectura de un termómetro de sonda en puntos de control fijados de antemano, indicando el tipo de instrumento, la profundidad de inserción y el tiempo de estabilización tal como los describe la página del USDA FSIS sobre termómetros de alimentos para instrumentos de esfera y digitales; no ofrece tiempos de cocción, temperaturas objetivo ni pautas de seguridad alimentaria.
Legible por máquina: JSON