Todos los artículos
-
Establecer la configuración regional, la zona horaria y reconfigurar paquetes sin interacción en Debian y Ubuntu
localectl, timedatectl y update-locale cambian la configuración regional y la zona horaria sin un cuadro de diálogo en modo texto, y dpkg-reconfigure -f noninteractive vuelve a ejecutar el paso de configuración de un paquete basado en debconf de la misma forma en que lo haría un script durante la instalación original, ambos utilizables en scripts de aprovisionamiento sin ninguna terminal conectada.
-
Datos semilla y fixtures para bases de datos locales: pequeños, idempotentes y versionados junto con el esquema
Separar los datos de referencia (necesarios en todas partes), los datos de ejemplo (para desarrollo y demostraciones) y los datos de prueba (creados por los propios tests); escribir la siembra como código idempotente con upserts sobre claves naturales, mantener el conjunto de ejemplo pequeño y nombrado, ejecutarla después de las migraciones tanto en el script de configuración como en la integración continua, y no sembrar nunca las máquinas de desarrollo con datos de producción sin anonimizar.
-
Llevar los elementos de acción de un postmortem hasta su cierre: bugs de seguimiento, un único responsable y revisión por antigüedad
El Site Reliability Workbook advierte de que, sin un proceso formal de seguimiento, los elementos de acción de los postmortems se olvidan con frecuencia; asignar a cada elemento un bug de seguimiento, un único responsable, un tipo y una prioridad, revisar los elementos abiertos por antigüedad de forma periódica, y tratar un elemento que ha superado su fecha como una decisión que tomar y no como una línea que se puede pasar por alto.
-
¿Cómo puede reproducirse una observación del consumo de agua en un hogar?
Solicitud abierta de un protocolo de observación acotado, sin afirmaciones sobre ahorro de agua.
-
Trazado distribuido en líneas generales: spans, identificadores de padre y W3C Trace Context
Una traza es un árbol de spans, cada uno con un identificador de traza, un identificador de span propio, un identificador de span padre, marcas de tiempo, atributos y un estado; la cabecera W3C traceparent transporta el identificador de traza, el identificador del padre y un indicador sampled entre límites de proceso, y un servicio que se limita a reenviar ambas cabeceras mantiene igualmente unida la traza.
-
Pasos de render graph en Unity URP: declara las dependencias antes de dibujar
Diseña los pasos personalizados de URP en torno a entradas y salidas explícitas, y migra los pasos antiguos según la documentación del motor y del paquete instalados.
-
Etiquetas de idioma: BCP 47 en contenido y APIs
Las etiquetas de idioma combinan un código de idioma ISO 639 con subetiquetas opcionales de escritura y de región (de, de-CH, zh-Hant); se usan para declarar el idioma del contenido, en el atributo lang de HTML y en filtros de API, y conviene validarlas en lugar de aceptar texto libre.
-
Gameplay Ability System de Unreal: activación, efectos y confirmación
Separa la ejecución de la habilidad de los cambios de atributos y de la presentación, y define cuándo surten efecto los costes, los cooldowns y la cancelación.
-
Diseñar una tabla de series temporales de solo inserción en PostgreSQL
Almacenar las mediciones en una tabla particionada por rango de tiempo con timestamptz, una clave compuesta de serie y tiempo, índices ajustados al patrón de consulta (B-tree por serie, BRIN para recorridos de tiempo sobre toda la tabla) y una retención implementada separando y eliminando particiones en lugar de usar DELETE; estas decisiones se derivan de que las filas llegan en orden temporal y se eliminan en bloques temporales completos.
-
Cancelación y plazos en Go con context.Context
Propagar un context.Context desde la solicitud entrante a través de cada llamada que pueda bloquear, derivar contextos hijos con WithTimeout o WithCancel, llamar siempre a la función cancel, y comprobar ctx.Done() en los bucles, de modo que la desconexión de un cliente o un plazo cumplido detengan todo el árbol de goroutines en lugar de dejarlas en ejecución.
-
Paginación y claves de idempotencia en la API de Stripe: starting_after, has_more y la ventana de 24 horas
Los endpoints de listado de la API v1 de Stripe paginan con los parámetros de cursor mutuamente excluyentes starting_after/ending_before (limit de 1 a 100, por defecto 10) y un indicador has_more; las bibliotecas cliente incluyen auxiliares de autopaginación para recorrer todas las páginas. Las solicitudes POST pueden llevar un Idempotency-Key cuyo resultado guardado Stripe reproduce durante unas 24 horas, tras las cuales las claves pueden eliminarse. Las solicitudes limitadas por tasa reciben 429 con la cabecera Stripe-Rate-Limited-Reason.
-
Pruebas basadas en propiedades con entradas generadas
En lugar de ejemplos elegidos a mano, una prueba basada en propiedades enuncia un invariante y deja que una biblioteca genere muchas entradas, reduciendo los fallos a contraejemplos mínimos; Hypothesis es la implementación de referencia para Python.
-
Preparación del proceso de gestión de vulnerabilidades de un fabricante conforme al CRA: recepción, pruebas y plazos de notificación
Una propuesta de protocolo de preparación vincula la recepción de avisos de vulnerabilidades y los registros de componentes con la decisión de notificar conforme al CRA. Separa la obligación de notificación ya aplicable en 2026 de los requisitos más amplios de gestión de vulnerabilidades aplicables en diciembre de 2027.
-
Diagnosticar «No queda espacio en el dispositivo» cuando df muestra espacio libre
ENOSPC tiene tres causas frecuentes además de un disco lleno: inodos agotados, espacio retenido por archivos eliminados que un proceso aún tiene abiertos, y el porcentaje de bloques reservados en los sistemas de archivos ext. Conviene comprobar df -i, lsof +L1 y la reserva del punto de montaje antes de eliminar nada.
-
Wave Function Collapse: restricciones locales y jugabilidad global
Genera disposiciones de tiles mediante reducción de dominios y elecciones ponderadas, gestiona las contradicciones de forma explícita y valida propiedades de juego que van más allá de la adyacencia local.
-
Los principios ágiles como acuerdos de trabajo concretos
Los doce principios que sustentan el Manifiesto Ágil resultan útiles cuando se traducen en acuerdos de equipo verificables: cadencia de entrega, comunicación directa, ritmo sostenible, excelencia técnica y reflexión periódica.
-
cgroups v2 en el host: comprobar el modo y leer los límites de recursos por unidad
Los runtimes de contenedores modernos y systemd dependen ambos de cgroups v2 (la jerarquía unificada) para aplicar límites de memoria y CPU. Esta metodología cubre confirmar que el host está en modo unificado, explorar el árbol con systemd-cgls/systemd-cgtop, y leer los límites reales de una unidad o un contenedor.
-
Muestreo de contadores de rendimiento de Windows Server con Get-Counter y exportación a CSV
Get-Counter muestrea rutas de contadores con nombre a un intervalo elegido, de forma continua o con un número fijo de muestras; Export-Counter (solo en Windows PowerShell 5.1) conserva todos los campos en el formato nativo BLG, y relog convierte después una captura a CSV incluso sin el comando Export-Counter original.
-
Páginas 404 personalizadas y soft 404: servir la página de error con el estado de error
Una página 404 personalizada solo ayuda a quienes la visitan si se sirve con el estado 404; una página de no encontrado servida con 200 es un soft 404 que los rastreadores siguen solicitando y que los buscadores excluyen. El error_page de nginx puede reescribir el estado (error_page 404 =200 ...), que es exactamente cómo se crean los soft 404 por accidente; conviene conservar el estado, hacer útil la página y comprobarlo con curl -I.
-
Simulación y confirmación en scripts de administración: -WhatIf/-Confirm de PowerShell y un indicador --dry-run en shell
PowerShell incluye un mecanismo integrado, SupportsShouldProcess, que dota a una función propia de auténticos parámetros -WhatIf y -Confirm, conectados a la misma llamada $PSCmdlet.ShouldProcess() que usan los cmdlets integrados. Los scripts de shell no traen nada equivalente integrado, así que el indicador --dry-run hay que propagarlo a mano.
Legible por máquina: JSON