Todos los artículos
-
Valores poscuánticos predeterminados de OpenSSH y advertencia de intercambio de claves no poscuántico
Relacionar la advertencia de OpenSSH con el intercambio de claves seleccionado, comprobar los ajustes efectivos en ambos extremos y restablecer la negociación híbrida sin debilitar la autenticación del host.
-
Tratar una solicitud de titular de datos como un proceso de ingeniería: exportar y eliminar
Tratar la solicitud de una persona de obtener una copia o la eliminación de sus datos como un trabajo: recepción verificada, un exportador por cada almacén del mapa de datos que produce un manifiesto, entrega mediante una descarga autenticada que caduca, eliminación a través del pipeline, exenciones enumeradas con códigos de motivo y una prueba con un sujeto sintético con una periodicidad fija; qué solicitudes deben atenderse y cuándo no se aborda aquí.
-
Diseño de la memoria de un agente: qué conservar, qué resumir y qué olvidar
La memoria de un agente tiene tres niveles: la ventana de contexto, un cuaderno de tareas y un almacén duradero entre sesiones; decidir por elemento a qué nivel pertenece, mantener la memoria duradera pequeña y revisable, y eliminar lo que ya no es cierto.
-
Las compilaciones de módulos ES con efectos secundarios declarados reducen más los paquetes del consumidor que las compilaciones CommonJS
Hipótesis: para una biblioteca de muchas funciones independientes, un consumidor que importa unas pocas obtiene un paquete más pequeño cuando la biblioteca distribuye módulos ES con una declaración sideEffects que cuando distribuye CommonJS, porque el tree shaking depende de la estructura estática de import/export; se propone una comparación basada en fixtures.
-
Diseñar operaciones idempotentes y reintentos seguros
Una operación es idempotente cuando ejecutarla varias veces tiene el mismo efecto que ejecutarla una sola vez; el RFC 9110 establece esto para los métodos HTTP, y una cabecera Idempotency-Key traslada la propiedad a POST. Guardar la clave junto con una huella y el resultado, informar los conflictos con 409 y 422, y eliminar las claves tras un plazo documentado.
-
Reenvío de journald y recolección remota: ForwardToSyslog, systemd-journal-upload/-remote y límites de tasa
journald puede entregar sus entradas a un demonio syslog local con ForwardToSyslog= o enviarlas directamente por HTTPS con systemd-journal-upload a un receptor systemd-journal-remote, que escribe sus propios archivos de journal. Ambas vías están sujetas al límite de tasa por servicio de journald, que descarta los mensajes sobrantes al superar un umbral de ráfaga y solo registra cuántos descartó.
-
Docstrings que las herramientas y las personas lectoras pueden usar
El PEP 257 define dónde van los docstrings y cómo se formatean; un estilo consistente (Google o NumPy) con un resumen de una línea, descripciones de argumentos y de retorno y las excepciones lanzadas los hace utilizables por lectores, editores y generadores de documentación.
-
Leer y escribir preferencias de macOS: defaults, plutil, y por qué cfprefsd oculta una edición directa
defaults y plutil leen y escriben valores dentro de un dominio de preferencias sin analizar a mano la sintaxis de un plist, pero un demonio de caché, cfprefsd (uno por usuario más uno para el sistema), media cada lectura y escritura que realiza una app — de modo que editar directamente el archivo plist en disco a menudo no tiene ningún efecto visible hasta que se invalida la caché.
-
Eventos enviados por el servidor frente a WebSockets
Los eventos enviados por el servidor transmiten eventos de texto del servidor al cliente sobre HTTP normal, con reconexión automática e identificadores de último evento; los WebSockets ofrecen un canal bidireccional con capacidad binaria y protocolo propio. Elegir SSE para actualizaciones en un solo sentido y WebSockets cuando el cliente debe enviar con frecuencia.
-
Endpoints de metadatos de instancia en la nube: por qué los tokens IMDSv2 y un límite de saltos de 1 atenúan el SSRF
Las máquinas virtuales en la nube exponen un servicio de metadatos de enlace local que puede devolver credenciales temporales para el rol de la instancia. Un fallo de falsificación de solicitud del lado del servidor o una herramienta de fetch de un agente puede alcanzarlo. En AWS, exigir tokens de sesión IMDSv2 y mantener el límite de saltos de la respuesta PUT en 1 elimina los caminos más simples.
-
Generación procedural con flujos aleatorios reproducibles
Mantén explícitos las semillas de mundo, los flujos por subsistema, el orden de las extracciones y las versiones del generador, para que el contenido procedural siga siendo reproducible cuando la generación se paralelice o evolucione.
-
Las advertencias «Host key verification failed» y «REMOTE HOST IDENTIFICATION HAS CHANGED» de SSH
OpenSSH se niega a conectar e imprime «Host key verification failed» o el aviso mayor «WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!» cuando la clave del servidor no coincide con la almacenada en known_hosts. El artículo explica por qué un servidor reconstruido y un ataque real producen el mismo mensaje, y cómo distinguirlos antes de ejecutar ssh-keygen -R.
-
Hacer comparable un experimento de sustitución de ingredientes en una receta
Un protocolo propuesto para documentar la sustitución de un ingrediente: fijar todo salvo el ingrediente sustituido, registrar las cantidades por masa, describir el equipo y los tiempos, y separar las observaciones medidas de los juicios de preferencia; no se afirma ningún resultado culinario.
-
Utility AI: cómo hacer comparables las puntuaciones de las acciones y lograr decisiones estables
Separa la elegibilidad de una acción de su preferencia, inspecciona las curvas de respuesta y las combinaciones de puntuaciones, y usa reglas de cambio explícitas para evitar un comportamiento indeciso.
-
Dimensionar una JVM dentro de un contenedor: porcentaje de heap, memoria fuera del heap y número de CPU
La JVM lee por defecto los límites de cgroup (UseContainerSupport) y dimensiona el heap como un porcentaje de la memoria del contenedor, no del host; el heap es solo parte de la huella, así que conviene fijar MaxRAMPercentage dejando espacio para el metaspace, las pilas de hilos, los búferes directos y la caché de código, comprobar el número de CPU que ve la JVM, y verificar con -Xlog:os+container y el seguimiento de memoria nativa antes de confiar en un límite.
-
Cómo elegir un renderizador de Godot a partir de evidencia en los dispositivos de destino
Compara Forward+, Mobile y Compatibility según los efectos necesarios, los destinos de exportación reales y el comportamiento medido de la escena antes de comprometerte con una vía de renderizado.
-
Mantener idénticas las comprobaciones locales y las de CI: un único punto de entrada, herramientas fijadas, el mismo contenedor
Una comprobación que pasa localmente debería pasar en CI y viceversa: definir cada comprobación una sola vez como una tarea con nombre, fijar la cadena de herramientas en un manifiesto versionado del que instalen tanto el arranque como el pipeline, ejecutar CI en la misma imagen de contenedor que el entorno de desarrollo, fijar la configuración regional y la zona horaria, y tratar cualquier fallo exclusivo de CI como un defecto de paridad que eliminar antes de corregir el síntoma.
-
Administrar un host RHEL sin escritorio a través de la consola web Cockpit
Cockpit ofrece una sesión de administración basada en el navegador para un servidor RHEL sin interfaz gráfica de escritorio, activada por socket para que solo se inicie con la primera conexión. Esta metodología cubre cómo habilitarla, abrir el firewall con su propio servicio con nombre, y para qué es realmente útil en un servidor.
-
Componentes web: elementos personalizados, shadow DOM y dónde termina el encapsulamiento
Los elementos personalizados registran una clase bajo un nombre de etiqueta con guion y con callbacks de ciclo de vida; el shadow DOM le otorga un subárbol acotado cuyos estilos no se filtran en ningún sentido; las plantillas y los shadow roots declarativos aportan el marcado. Cada aspecto que cruza el límite, desde el estilo mediante parts y propiedades personalizadas hasta la participación en formularios vía ElementInternals y la asociación de etiquetas, debe abrirse de forma deliberada.
-
Inventariar una biblioteca doméstica o una caja de herramientas: identificadores, ubicaciones y un ciclo de revisión
Llevar un inventario doméstico de libros o herramientas como una tabla simple: un identificador estable por elemento (el ISBN para los libros, un código autoasignado para las herramientas), códigos de ubicación con una leyenda, el estado en un vocabulario fijo, campos de préstamo y una revisión periódica que marca lo que falta en lugar de eliminarlo; no se ofrece asesoramiento de valoración ni de seguros.
Legible por máquina: JSON