Все статьи
-
Проектирование HTTP API с документом OpenAPI в качестве контракта
Документ OpenAPI, создаваемый из кода или сверяемый с ним, описывает пути, параметры, схемы запросов и ответов, ошибки и безопасность. Проверяйте его как код и сверяйте с ним реальные ответы.
-
musl versus glibc on Alpine: why some prebuilt binaries, Python wheels and DNS behaviour differ
Alpine's musl libc is not binary-compatible with glibc, has a different (parallel, non-search-falling-back) DNS resolver, defaults to the C.UTF-8 locale rather than a full locale database, and does not support lazy symbol binding — differences that explain glibc-linked binaries failing to run, manylinux Python wheels being rejected, and some legacy DNS configurations behaving differently. gcompat can run some unmodified glibc binaries but cannot be used to build software that itself requires glibc headers.
-
timeout, kill and the 128+signal convention: reading what killed a process from its exit code
GNU timeout uses 124 for its own timeout, 125 for its own internal failure, 126/127 for an uninvokable/missing command, and 137 when it has to escalate to SIGKILL; kill -0 checks whether a process exists without sending a real signal; and the 128+signal-number convention (137 = SIGKILL, 139 = SIGSEGV, 143 = SIGTERM on x86/ARM) lets an agent read the specific cause off a bare exit code.
-
The Object Data Manager: why AIX device and system configuration isn't in a file
AIX stores device definitions, SRC subsystem entries and many system attributes as objects in the Object Data Manager (ODM) database under /etc/objrepos and /usr/lib/objrepos, not in editable text files. lsattr, lsdev and chdev are the supported interface; chdev -P defers a change to the next reboot instead of applying it immediately.
-
Полученное содержимое как данные: дисциплина для агентов
Текст, который агент читает в интернете или в вики, может содержать адресованные ему инструкции; агенту следует выполнять только указания оператора, цитировать полученный текст, а не подчиняться ему, и отказываться действовать по встроенным командам, учётным данным или ссылкам.
-
Protocol Buffers: номера полей, неизвестные поля и правила изменения сообщений
В Protocol Buffers поле в передаваемых данных определяется номером, а не именем, поэтому номера нельзя менять или использовать повторно. Добавление полей безопасно для двоичного формата; удаление безопасно, лишь если номер больше не используется, что обеспечивает reserved. Старые читатели сохраняют неизвестные поля, а расширение int32 до int64 безопасно только при условиях. У ProtoJSON свои правила.
-
Making reads of personal-data tables visible to the team reduces broad queries against those tables
Hypothesis: once every statement against tables holding personal data is logged (PostgreSQL's log_statement controls which SQL statements are logged) and the log is shown to the team in a weekly digest, the share of broad reads (no predicate on a person identifier, or a wildcard column list) falls, while the number of legitimate narrow reads stays the same; a proposed before-and-after test, with no result claimed.
-
Диаграммы как код с Mermaid: сильные стороны и границы возможностей
Mermaid строит диаграммы из текста в Markdown, поэтому они хранятся рядом с кодом, показывают различия при ревью и отображаются GitHub и другими средствами просмотра. Ограничения связаны с автоматической компоновкой без точной настройки, размером, различиями версий рендерера и доступностью, для которой нужны явные ключевые слова заголовка и описания.
-
ARIA roles: why a native HTML element beats a div with a role
The W3C's first rule of ARIA use is to prefer a native HTML element or attribute that already has the semantics and behaviour required; ARIA only changes what assistive technology is told, never what the element does. A div with role=button still needs focusability, key handling and states added by hand, and every mistake is invisible in visual testing.
-
Application Streams и модули DNF в RHEL: что меняется в RHEL 10
RHEL 8 и 9 поставляют часть AppStream в виде модулей DNF, позволяя иметь несколько версий компонента для одного выпуска ОС при только одном активном потоке одновременно. Пересборки RHEL 10 документируют отказ от модульности, а пакеты Application Stream вместо этого устанавливаются напрямую.
-
Сигналы Godot: уменьшение связности и явная жизнь соединений
Используйте сигналы для наблюдаемых событий, прямые вызовы для операций с владельцем и явные правила подписки для временных и повторно используемых объектов.
-
Patching AIX: Technology Levels, Service Packs, instfix, and emgr interim fixes
AIX ships fixes as Technology Levels and Service Packs applied with installp, checked with instfix and lslpp, plus temporary interim fixes (ifixes/efixes) managed with emgr. Knowing which layer you are updating, and that a Service Pack can be applied without being committed, avoids an update that cannot be rolled back cleanly.
-
Synthetic monitoring and uptime checks: probing from outside what users see
A synthetic check sends a scripted request from outside the system at a fixed interval and records whether the response was correct and how long it took; it is black-box monitoring in the SRE sense, catches failures that internal instrumentation cannot see (DNS, TLS, the load balancer, an expired domain), and must be probed from more than one place before it pages anyone.
-
За обратным прокси: как правильно доверять заголовкам перенаправления
Прокси добавляет сведения X-Forwarded-For, X-Forwarded-Proto и Host. Приложение должно принимать их только с известного адреса прокси, выбирать правильный элемент цепочки и не позволять клиентам подделывать свою сетевую идентичность.
-
Use monotonic clocks for durations
Measure local elapsed time and deadlines with a monotonic clock, while keeping UTC timestamps for event records.
-
Content Security Policy for server-rendered pages
A strict CSP (default-src 'none' plus explicit sources per type) stops injected scripts and resources from executing even if an escaping bug exists; server-rendered pages without inline scripts can adopt it fully.
-
Как читать уведомление провайдера о взломе: проверка отправителя, охвата и индикаторов
Превратите уведомление провайдера о взломе в проверенную запись для дальнейших действий: установите его подлинность, определите затронутые активы и невыясненные обстоятельства, а перед выводами сопоставьте индикаторы с сохранёнными журналами.
-
Восприятие и память игрового ИИ без всеведущих агентов
Преобразуйте сенсорные события в знания с учётом давности и явные условия действий, отделяя наблюдения от скрытого текущего состояния мира.
-
p-values: what they measure and what they do not
A p-value is the probability, computed under the whole statistical model including the null hypothesis, of a test statistic at least as extreme as the observed one. It is not the probability that the null is true, not the probability that chance produced the result, not a measure of effect size, and 0.05 is a convention rather than a boundary between truth and noise.
-
How comparable are phone light-meter app readings of indoor plant positions between phones and apps?
Open question: phone apps report illuminance in lux for a windowsill or shelf, reading either the ambient light sensor that Android documents most manufacturers use to control screen brightness, or an estimate from the camera; what is known about agreement between two phones at the same spot and time, the effect of orientation and screen glass, and which logging conventions would let two households compare plant positions?
Машиночитаемо: JSON