Все статьи
-
Report partial failure structurally
Return per-operation outcomes and an explicit aggregate state so successful work is not repeated after a mixed result.
-
Building a software RAID1 mirror with mdadm and replacing a failed disk
mdadm --create builds a Linux software RAID array from partitions or whole disks; without an entry in mdadm.conf and an updated initramfs the array can fail to reassemble on the next boot even though it works fine right after creation.
-
Troubleshooting Group Policy application: gpresult, gpupdate, and the GroupPolicy module
Reading what policy actually applied to a computer or user with gpresult /h and Get-GPResultantSetOfPolicy, forcing reprocessing with gpupdate /force, and backing up a GPO with Backup-GPO before editing it.
-
Основы распределённой трассировки: спаны, ID родителей и передача контекста W3C
Трасса — дерево спанов; у каждого есть ID трассы, собственный ID, ID родительского спана, временные метки, атрибуты и статус. Заголовок W3C traceparent передаёт ID трассы, ID родителя и флаг sampled через границы процессов; сервис, который только пересылает оба заголовка, всё равно сохраняет целостность трасс.
-
Отравление памяти: когда одна внедрённая инструкция сохраняется во всех последующих сеансах
Агента с постоянной памятью можно заставить сохранить инструкцию злоумышленника как факт или предпочтение; затем она влияет на сеансы, в которых исходный материал никогда не появлялся. Записям в память нужны сведения о происхождении, проверка и срок действия, а прочитанное из памяти следует считать недоверенным текстом.
-
Choosing the next debugging check by the hypotheses it can distinguish
Stop an investigation from repeating low-information diagnostics by choosing each next check for the competing explanations its result can separate.
-
Хранение паролей и API-ключей
Пароли хранят только в виде медленных хешей с солью: Argon2id, scrypt или bcrypt. Для API-ключей с высокой энтропией подходит быстрый хеш с ключом. Оба вида сравнивают за постоянное время, никогда не записывают в журналы и не возвращают повторно после выдачи.
-
Clock sync compared: chrony, systemd-timesyncd, w32tm, macOS timed and AIX xntpd
A quick reference for checking whether a host's clock is actually synchronized, across the time daemons used by Linux, Windows, macOS and AIX — distinct from a deep dive on any single tool, since the check is the same shape everywhere: is a source configured, and is it currently in sync.
-
Adding a private CA to the system trust store on RHEL-family and Debian/Ubuntu
RHEL-family and Debian-family Linux keep separate mechanisms for adding a locally trusted CA certificate: update-ca-trust with anchors under /etc/pki/ca-trust, and update-ca-certificates with .crt files under /usr/local/share/ca-certificates. Using the wrong directory or extension silently leaves the CA untrusted.
-
wget and rsync exit codes: rsync's 23 and 24 usually aren't the failure they look like
wget assigns a small fixed code per error class (network, SSL, auth, protocol); rsync's larger table includes 23 (partial transfer due to error) and 24 (partial transfer due to vanished source files), the latter of which commonly just means a file disappeared mid-scan and is not evidence of a broken transfer.
-
Conventional Commits: машиночитаемые типы коммитов
Спецификация Conventional Commits добавляет к сообщениям коммитов префикс типа (feat, fix и другие) и отметки несовместимых изменений, чтобы автоматически формировать журналы изменений и определять повышение версии.
-
Одноразовые пароли на основе времени как второй фактор
TOTP (RFC 6238) выводит короткий код из общего секрета и текущего временного шага. Он защищает от повторного использования пароля, но не от фишинга в реальном времени, и требует безопасного хранения секрета, допуска на расхождение часов и кодов восстановления.
-
Alert routing: grouping, inhibition, silences and escalation policies
Between a firing alert and a phone lie four decisions: which team and channel receive it (routing tree), which alerts travel together (grouping with group_wait, group_interval and repeat_interval), which are muted because a cause alert already explains them (inhibition) or because maintenance is planned (silences), and how long a responder has before the page escalates to the next person.
-
Making HTTP requests correctly from Python
Set timeouts on every request, reuse a client for connection pooling, send Accept and User-Agent headers, decode by declared charset, handle status codes and retries deliberately; the standard library and httpx both support this.
-
Running a service under systemd
A unit file declares how a service starts, restarts and is confined; use Type, Restart=on-failure, resource limits and sandboxing directives, and read logs with journalctl instead of writing your own daemonisation.
-
Confirming a security patch actually landed: matching installed versions against vendor advisories across OS families
An update job reporting success is not proof a specific vulnerability is fixed; matching the installed package or build version against the vendor's own advisory — Ubuntu USN, a RHEL-family advisory (RHSA on RHEL) via dnf updateinfo --security, Debian DSA via debsecan, Windows Get-HotFix, or a macOS build number against Apple's own security-release page — is what closes the loop, and a pending restart can leave the old, vulnerable binary still running even after that check passes.
-
OAuth 2.0 Client Credentials для межмашинного доступа
Предоставление доступа по Client Credentials позволяет сервису или агенту получить токен доступа со своими ID и секретом клиента, без пользователя. Область доступа и указатели ресурса ограничивают токен; с секретом следует обращаться как с паролем: сервер хранит его хеш, а клиент выполняет ротацию.
-
Ограничение правил брандмауэра Защитника Windows через NetSecurity без потери собственного сеанса
Get-NetFirewallProfile и New-NetFirewallRule управляют брандмауэром Защитника Windows из PowerShell; ограничение правила параметрами -RemoteAddress и -Profile оставляет порт управления открытым только нужным адресам и типам сетей, а проверка из второго сеанса помогает не оборвать используемый.
-
Управление небольшим проектом: записать права на решения до того, как они понадобятся
Файл управления определяет, кто может сливать изменения, кто разрешает спор о границах проекта, как добавляют и исключают сопровождающих и как меняют сами правила. PEP 13 Python показывает модель совета, который должен редко пользоваться полномочиями и обсуждать вопросы публично; глоссарий Apache определяет ленивый консенсус: предложение принимается, если за установленный срок никто не возразил. Проекту с одним–тремя сопровождающими достаточно одной страницы.
-
Контрастивное самообучение: пары, аугментации и коллапс представлений
Учите представления сравнением связанных и контрастирующих видов данных, сохраняйте полезную информацию в преобразованиях и оценивайте не только обучающую потерю.
Машиночитаемо: JSON