Todos los artículos
-
known_hosts de SSH y verificación de claves de host en automatización: ssh-keyscan más una comprobación fuera de banda
Un proceso automatizado que se conecta por SSH sigue necesitando verificar la clave de host del servidor; ssh-keyscan por sí solo solo obtiene una clave, sin demostrar que sea auténtica. StrictHostKeyChecking=accept-new, HashKnownHosts y los registros SSHFP resuelven cada uno una parte distinta para hacerlo de forma segura sin un aviso interactivo.
-
Comprobar los perfiles de configuración y el estado de inscripción en MDM desde Terminal con profiles
profiles enumera los perfiles de configuración instalados e informa del estado de inscripción en MDM; algunos ajustes, como el depósito del token de arranque (bootstrap token escrow) o el aplazamiento forzado de actualizaciones, solo pueden establecerse desde un servicio de gestión de dispositivos, y nunca desde una sesión local de Terminal.
-
Códigos de salida de ssh y scp: 255 es un fallo del propio ssh; cualquier otro valor es del comando remoto
ssh devuelve el código de salida del comando remoto que ejecutó y reserva el 255 para fallos del propio ssh (conexión rechazada, fallo de autenticación, host key no coincidente) y para comandos remotos terminados por una señal. scp solo documenta la distinción entre 0 (éxito) y distinto de cero (fallo), así que para separar un problema de transporte local de un error remoto hay que recurrir al texto de stderr de ssh, no al código de scp.
-
Exportar métricas del host con Prometheus node_exporter: collectors, textfile collector y cortafuegos para el puerto
node_exporter convierte contadores del kernel y del sistema operativo en métricas de Prometheus en el puerto 9100; la mayoría de los collectors vienen activados por defecto y el Textfile Collector permite incorporar valores calculados por un script. Ejecútelo como servicio systemd sin privilegios y restrinja el puerto a la dirección de Prometheus, ya que /metrics no tiene autenticación por defecto.
-
Manejo del desequilibrio de clases: primero las métricas, después pesos, umbrales y remuestreo dentro del pipeline
Cuando una clase es rara, la exactitud (accuracy) no aporta información y un modelo puede ignorar por completo a la minoría; primero se corrige la evaluación (particiones estratificadas, métricas por clase, exactitud balanceada), después se usan pesos de clase o un umbral ajustado, y el remuestreo como SMOTE se aplica solo al pliegue de entrenamiento dentro del pipeline con validación cruzada.
-
Fundamentos de gRPC: contratos protobuf, streaming y dónde encaja
gRPC llama a métodos definidos en un archivo .proto, con Protocol Buffers como lenguaje de definición de interfaz y formato de transmisión; ofrece llamadas unarias y por streaming, deadlines, metadatos y un conjunto fijo de códigos de estado sobre HTTP/2. Encaja bien en comunicación entre servicios y en backends móviles; los navegadores necesitan gRPC-Web, y quienes integran públicamente suelen esperar JSON sobre HTTP.
-
Firmas poscuánticas y certificados TLS públicos: comprobaciones de preparación independientes
ML-DSA y SLH-DSA son algoritmos de firma estandarizados, pero la emisión de certificados TLS públicos también depende de los perfiles de certificado, la integración con el protocolo y la aceptación en las políticas de confianza.
-
Cambios de esquema sin tiempo de inactividad con expandir y contraer
Cambiar un esquema en tres pasos desplegables: expandir (añadir la columna o tabla nueva, conservar la antigua), migrar (escritura doble y relleno retroactivo por lotes), contraer (eliminar lo antiguo una vez que todo el código use lo nuevo); se evitan los bloqueos largos al no reescribir tablas en una sola sentencia.
-
Triaje de un disco Linux lleno: df, du, archivos eliminados pero abiertos y el journal
Un sistema de archivos lleno puede estarlo por espacio o por inodos, y el espacio retenido por un archivo eliminado pero todavía abierto no aparece en du. Esta metodología recorre las comprobaciones en orden —df -h, df -i, du -x, lsof +L1 y el vaciado de journald— antes de eliminar nada.
-
MCP 2026-07-28: el núcleo sin estado y sus límites de compatibilidad
La revisión de julio elimina el intercambio de inicialización y las sesiones de transporte, añade metadatos propios de cada solicitud e interacciones con varios intercambios, y formaliza las extensiones y la declaración de funciones en desuso. Los servidores deben implementar el descubrimiento, pero los clientes pueden optar por no invocarlo.
-
¿En qué punto sustituyen los equipos una tabla de cola de PostgreSQL por un message broker, y qué lo desencadenó?
Pregunta abierta: la documentación de PostgreSQL respalda SKIP LOCKED para varios consumidores sobre una tabla que actúa como cola, y las guías de diseño recomiendan empezar ahí; ¿qué desencadenantes (antigüedad de la cola, contención de bloqueos, hinchazón de la tabla, necesidades de fan-out, carga operativa) han provocado realmente un cambio a un broker, con qué volúmenes, y cuántos sistemas nunca cambiaron?
-
Instalar actualizaciones de macOS de forma desatendida desde la línea de comandos con softwareupdate
softwareupdate enumera, instala y reinicia para aplicar actualizaciones sin el panel gráfico de Configuración del Sistema, pero --fetch-full-installer necesita autenticación de propietario de volumen en Apple silicon, y una política de aplazamiento gestionada puede ocultar por completo las actualizaciones a --list. Esta metodología cubre ambos casos.
-
Calificar una búsqueda negativa en un repositorio antes de declarar ausente el código
Auditar el alcance de una búsqueda que no devolvió coincidencias antes de concluir que un símbolo, una configuración o un comportamiento no existe en el proyecto.
-
Fase amplia y fase estrecha de colisiones: candidatos frente a contactos
Cómo construir un pipeline de colisiones que distinga entre candidatos espaciales conservadores y contactos geométricos, con límites claros de filtrado, responsabilidad y perfilado.
-
Masa frente a volumen en la cocina: a qué taza se refiere y cómo registrar la conversión realmente usada
Una taza, cucharada o cucharadita es un volumen cuya definición difiere entre las unidades consuetudinarias estadounidenses recogidas por el NIST y los valores redondeados usados en las etiquetas nutricionales de EE. UU., y la masa que contiene depende del ingrediente y de cómo se llenó; un hogar que convierte entre masa y volumen registra la definición que usó y sus propios valores pesados para que una receta pueda reproducirse.
-
Criterios de aceptación por elemento de trabajo que puedan convertirse en pruebas
Los criterios de aceptación de cada elemento de trabajo se escriben como ejemplos concretos con un estado inicial, una acción y un resultado observable, usando la estructura Dado/Cuando/Entonces (Given/When/Then) de Gherkin o un equivalente, con los casos límite nombrados; los criterios que no puedan ejecutarse ni comprobarse por alguien distinto de quien los escribió no son criterios.
-
Bases de datos de compilación: reproducir la unidad de traducción que falla antes de cambiar cabeceras
Usar el comando de compilación real y el directorio de trabajo para distinguir defectos del código fuente de errores de configuración del editor.
-
Deprecar una función en una biblioteca: avisar, documentar el reemplazo, retirar según calendario
Una deprecación de biblioteca tiene cuatro partes: un reemplazo que existe primero, un aviso en tiempo de ejecución más una nota de documentación que indica la versión y el reemplazo, una entrada en el registro de cambios, y una versión de eliminación fijada de antemano por política. PEP 387 exige un período de deprecación de al menos dos años bajo el ciclo anual de Python y describe una deprecación suave solo en la documentación; Django no elimina los adaptadores antes de dos versiones de funcionalidad posteriores al aviso.
-
Percentiles de latencia: por qué el promedio no describe ninguna solicitud real
Las distribuciones de latencia están sesgadas, de modo que la media queda entre una mayoría rápida y una cola lenta y no coincide con ninguna solicitud real; p50, p99 y el máximo describen lo que encuentran los usuarios. Registrar histogramas en lugar de cuantiles precalculados para poder agregar los percentiles entre instancias y recalcularlos para cualquier ventana.
-
Endurecer flujos de trabajo de GitHub Actions: acciones fijadas por SHA, tokens de mínimo privilegio y entradas no confiables
Fijar las acciones de terceros a un SHA de commit completo, establecer GITHUB_TOKEN como de solo lectura por defecto y ampliarlo por job, no interpolar nunca campos de eventos no confiables en scripts run, y tratar pull_request_target y workflow_run como disparadores privilegiados.
Legible por máquina: JSON