Все статьи
-
Владение ресурсами в Rust FFI: сопоставьте внешний конструктор с соответствующим ему деструктором
Явно задайте выделение, освобождение и время жизни обратных вызовов в обёртке Rust с узким интерфейсом над внешними ресурсами.
-
Bulk operations instead of per-row loops: round trips, transactions and COPY
A loop that sends one statement per row pays a round trip, a parse and often a commit per row; a bulk operation sends the set in one statement, one stream or one transaction. PostgreSQL's own guidance is to commit once, use COPY for loads and build indexes after loading; client libraries offer executemany and copy for the same reason.
-
Network throughput and retransmits on Linux: ss -ti, nstat, and iperf3
ss -ti shows one connection's own retransmission and RTT view; nstat reports the same kind of counters host-wide from the kernel's SNMP and extended TCP statistics; iperf3 measures achievable throughput directly when retransmits are low but throughput still disappoints.
-
A first game day: one chaos experiment with a hypothesis, a blast radius and an abort rule
Run a first fault-injection exercise as a scheduled, announced experiment: define the steady state as a measurable output, hypothesise that it holds under one specific fault, limit the blast radius, set an abort condition, inject, and record what the system and the people did; the Principles of Chaos Engineering give the four steps and the Google SRE book describes disaster role-play as a weekly ritual.
-
Reasoning about complexity before optimising
Asymptotic complexity predicts how run time grows with input size; recognising quadratic loops, repeated linear searches and unbounded recursion in code review prevents most performance incidents before profiling is needed.
-
Разделение HDR-освещения, экспозиции, тонального отображения и вывода
Сохранение ярких данных сцены, предсказуемая настройка экспозиции и формирование подходящего экрану сигнала через отдельные этапы.
-
A wrist step counter and a pocket phone diverge more on days with many short walking bouts and occupied hands
Hypothesis: two consumer step counters worn by one person, one on the wrist and one in a trouser pocket, disagree by a larger fraction on days the diary marks as many short walks or hands occupied (pram, bags, trolley) than on days with a few long walks, because the two devices read different body motions; a daily log with both devices stated is proposed as the test and no measurement is reported.
-
Детерминированная сериализация Protocol Buffers не задаёт каноническую идентичность сообщения
Избегайте использования произвольных байтов protobuf как стабильного семантического отпечатка между разными средами выполнения и версиями.
-
Separating the acting service from the represented user in delegation tests
Test a delegated action with both the executing service identity and the user it represents visible in the oracle. This proposed method avoids treating successful service authentication as sufficient proof of user authority.
-
HTTP keep-alive and connection reuse: pools, idle timeouts and the stale-connection race
HTTP/1.1 keeps a connection open for further requests unless a Connection: close is sent, which removes a TCP and TLS handshake from every request after the first; the client must keep a pool for the life of the process, read every response body, and set its idle timeout below the server's so it does not reuse a connection the server has already closed.
-
APT pinning: keeping one package on a chosen version or source with preferences files
APT pinning lets an operator hold a single package back, pull it from a non-default suite, or prevent a future apt upgrade from touching it — configured per file under /etc/apt/preferences.d rather than by editing one shared file, and inspected with apt-cache policy.
-
AdamW: почему отделённое уменьшение весов отличается от штрафа L2
AdamW уменьшает параметры отдельно от адаптивного обновления градиента. Уменьшение весов не попадает в моменты Adam, но скорость обучения, число обновлений и группы параметров по-прежнему влияют на регуляризацию.
-
Reading, granting, and backing up NTFS permissions with icacls and Get-Acl/Set-Acl
icacls reads and grants NTFS permissions and encodes inheritance as (OI)(CI) flags; icacls /save and /restore back up and reapply an entire ACL tree before a change, and Get-Acl/Set-Acl give the same information as PowerShell objects.
-
Improvements measured after targeting the worst-performing cases are partly regression to the mean
Hypothesis: when an engineering effort selects the worst-scoring endpoints, tests, hosts or tenants by a noisy metric and reports their improvement after intervention, a substantial part of the reported gain would have occurred without the intervention, because extreme measurements tend to be followed by less extreme ones. A proposed test with an untouched control group is described.
-
Производные в шейдерах: корректные градиенты на границах ветвей и UV-швах
Диагностика нестабильного следа текстуры через непрерывные координаты, явные градиенты и правила производных при расходящемся потоке управления фрагментного шейдера.
-
Цели уровня обслуживания и бюджеты ошибок
SLO — это целевое значение показателя уровня обслуживания, например доступности или задержки. Разница между целью и 100% составляет бюджет ошибок, который определяет допустимый риск выпусков.
-
Самопроверяющийся скрипт первого запуска: bootstrap, doctor и smoke-тест
Одна команда после клонирования даёт рабочую среду либо точный список недостающего и способов исправления: скрипт doctor без изменений проверяет все требования, идемпотентный bootstrap устанавливает только то, чего не хватает по проверкам, а smoke-тест определяет код завершения. CI запускает это с чистой машины, чтобы настройка не устаревала между приходами новичков.
-
Datenqualitätsprüfungen: Aktualität, Menge, Nullwerte und Eindeutigkeit als Mindestsatz
Vier billige Prüfungen fangen die meisten kaputten Ladeläufe: Ist die Quelle frisch genug, kam eine plausible Zeilenzahl, sind Schlüssel und Kennzahlen gefüllt, ist die erklärte Körnung eindeutig? Jede Prüfung als Abfrage formulieren, die fehlerhafte Zeilen liefert, nach dem Laden und vor dem Veröffentlichen ausführen, Warnung und Blockade trennen.
-
Доверительные интервалы в общих чертах: что говорит интервал и чего он не говорит
95%-й доверительный интервал получают методом, который охватывает истинное значение в 95% повторных выборок; конкретный интервал либо содержит его, либо нет. Ширина уменьшается обратно пропорционально квадратному корню из размера выборки и растёт с разбросом. Читайте его как диапазон значений, совместимых с данными, указывайте рядом с каждой оценкой и при сравнении рассчитывайте интервал разности.
-
Безопасная распаковка архивов: обход каталогов в zip и tar
Записи архива могут содержать имена вроде ../../etc/passwd, абсолютные пути и символические ссылки. Распаковывайте только после разрешения каждого целевого пути и проверки, что он остаётся внутри каталога назначения; отклоняйте ссылки наружу и ограничивайте общий размер и число записей.
Машиночитаемо: JSON