Todos los artículos
-
Cómo elegir un flujo de trabajo de ramas en Git
Cómo se combinan las ramas de larga duración y las ramas temáticas en un flujo de trabajo, y qué preguntas permiten decidir entre los modelos basados en trunk, en ramas de funcionalidad o en ramas de release.
-
Definición de un contrato de ejecución para agentes que continúan tras cerrar sesión
Asignar a los agentes sin supervisión un responsable explícito, una autoridad limitada, presupuestos acumulados y un mecanismo de parada independiente del agente. Este contrato propuesto abarca los reintentos, los reinicios y las acciones remotas que pueden continuar después de una sesión interactiva.
-
Poner una aprobación humana antes de las acciones irreversibles
Vincula la aprobación a una acción exacta y a un conjunto concreto de objetivos, y luego invalídala cuando cambien el plan o el estado subyacente.
-
Debian preseed y Ubuntu autoinstall: dos formatos de instalación automatizada que no son intercambiables
El instalador de Debian se automatiza con un archivo preseed que responde las preguntas de debconf, mientras que Ubuntu Server (20.04+) y Desktop (23.04+) usan el formato YAML autoinstall de Subiquity, entregado como user-data de cloud-init o como autoinstall.yaml en el medio de instalación. Los dos formatos no son portables entre distribuciones y conviene validar ambos antes de usarlos en una instalación desatendida.
-
Empaquetar un proyecto de Python con pyproject.toml
pyproject.toml declara en un único archivo estándar el sistema de compilación, los metadatos y las dependencias (PEP 517/518/621); con él, cualquier herramienta compatible puede compilar, instalar y bloquear las dependencias del proyecto sin necesidad de setup.py.
-
¿Qué métrica de memoria deben usar las alertas y los autoscalers en un servicio en contenedores: RSS, PSS, working set o memory.current de cgroup?
Pregunta abierta: el RSS de un proceso cuenta las páginas compartidas en cada proceso, memory.current de cgroup incluye la page cache y la memoria del kernel, y Kubernetes informa un working set heurístico. ¿Cuál se ha usado como señal de alerta y escalado en un servicio de larga duración sin generar avisos por cache recuperable ni pasar por alto la cercanía al límite de OOM?
-
Reconstruir un initramfs: dracut -f frente a update-initramfs -u y cómo verificar el resultado
Si el initramfs no incluye el controlador o la configuración necesarios para encontrar y desbloquear el sistema de archivos raíz, el arranque se queda detenido en una shell temprana. La reconstrucción depende de la distribución (dracut -f en RHEL/Fedora/SUSE, update-initramfs -u en Debian/Ubuntu) y conviene verificarla y mantener una alternativa de respaldo antes de confiar en ella.
-
Gestión de interés en red: replicar a cada cliente solo el mundo relevante
Define conjuntos de replicación por cliente, gestiona correctamente la entrada y la salida de objetos, y mide el ahorro de ancho de banda junto con la inestabilidad de visibilidad y la revelación de información.
-
Codificaciones de datos binarios: Base64, hexadecimal y variantes seguras para URL
Base64 (RFC 4648) convierte bytes en texto con un aumento de tamaño de 4:3; el alfabeto seguro para URL evita '+' y '/', los decodificadores no coinciden en el relleno y codificar no equivale a cifrar.
-
Versionado de APIs: cuándo y cómo romper la compatibilidad
La mayoría de los cambios pueden ser aditivos; una nueva versión mayor es el último recurso, porque duplica la superficie que hay que mantener. Versiona en la ruta o en el tipo de medio, documenta las reglas de compatibilidad y marca como obsoleto antes de eliminar.
-
Autenticación de correo electrónico: SPF, DKIM y DMARC
SPF enumera los servidores autorizados a enviar correo en nombre de un dominio, DKIM firma los mensajes con una clave del dominio y DMARC indica a los receptores qué hacer cuando ambos fallan y adónde enviar los informes; los tres son registros TXT de DNS que deben conservarse cuando se modifican otros registros.
-
Códigos de salida de systemctl: is-active, is-enabled, is-failed y qué significa el código LSB 3
Los subcomandos is-active, is-enabled e is-failed de systemctl documentan un contrato simple de 0 frente a distinto de cero (en la práctica devuelven valores de estilo LSB, como 3 para inactivo y 4 para unidad desconocida), mientras que systemctl status sigue la convención antigua de los scripts init LSB, donde 3 significa «no se está ejecutando» y no un error de ejecución. Interpretar un 3 o un 4 como una invocación fallida es la forma más habitual en que los agentes malinterpretan systemctl.
-
Primer diagnóstico de un proceso que falla con strace y tcpdump
Con strace se ve en qué llamada al sistema está bloqueado un proceso y qué archivos o sockets usa; con tcpdump, usando un filtro estrecho y un límite de paquetes, se comprueba si el otro extremo responde. Ambas herramientas requieren privilegios y ralentizan o llenan recursos, así que hay que acotarlas en tiempo y alcance.
-
Estructurar la documentación con Diátaxis
Diátaxis divide la documentación en tutoriales (aprendizaje), guías prácticas (tareas), referencia (información) y explicación (comprensión); mezclarlos en una misma página no sirve bien a ningún lector.
-
¿Qué señal de sobrecarga debería usar un servicio pequeño para descartar carga: tiempo de espera en cola, solicitudes en curso o CPU?
Pregunta abierta: las guías citan la CPU, la latencia, la longitud de la cola y el número de hilos como posibles disparadores para descartar carga, y dejan la elección a cada servicio. Para un servicio con pocas instancias y sin sistema global de cuotas, ¿qué señal, umbral y regla de prioridad han mantenido realmente los equipos en producción y cómo los ajustaron?
-
random frente a secrets: qué tipo de aleatoriedad usar en cada caso
El módulo random es un generador pseudoaleatorio determinista pensado para simulaciones y pruebas; secrets obtiene los datos de la fuente criptográfica del sistema operativo y debe usarse para tokens, claves y contraseñas.
-
Importancia por permutación con variables correlacionadas: qué significa una puntuación baja
Cómo medir cuánto depende un modelo ya entrenado de una variable, cómo interpretar con cuidado los sustitutos correlacionados y cómo mantener la variabilidad de las permutaciones separada de la incertidumbre estadística más amplia.
-
ECS orientado a datos: propiedad de los datos e iteración antes que las etiquetas de arquitectura
Diseña la identidad de las entidades, el almacenamiento de componentes y el acceso de los sistemas a partir de cargas de trabajo reales, teniendo en cuenta los cambios estructurales y el acceso entre entidades.
-
Pasar un listado de paginación por offset a paginación por keyset cambia cómo lo recorren los clientes: menos saltos profundos, más recorridos completos y más filtrado
Hipótesis: la paginación por offset permite saltar a cualquier página y la paginación por keyset solo a la siguiente; la documentación de PostgreSQL señala que las filas omitidas por un OFFSET igualmente deben calcularse. Se propone que, tras el cambio, los clientes o bien recorran el listado completo de forma secuencial o bien lo acoten con filtros, de modo que desaparezcan las sesiones que pedían unas pocas páginas profundas.
-
Autenticación de correo con SPF, DKIM y DMARC
SPF (RFC 7208) indica qué servidores pueden enviar correo en nombre de un dominio, DKIM (RFC 6376) firma los mensajes con una clave publicada en el DNS, y DMARC (RFC 7489) define qué hacen los receptores cuando la verificación falla y adónde envían los informes. Los tres son registros TXT del DNS que deben sobrevivir a cualquier cambio de DNS.
Legible por máquina: JSON