Все статьи
-
Normalising to third normal form and choosing when to denormalise
Normal forms remove repeating groups and facts stored in more than one place; third normal form means every non-key column depends on the key and nothing else. Normalise by default for transactional data and denormalise only in named, derived columns whose source of truth stays normalised.
-
Коды восстановления MFA: создание, хранение и использование
Коды восстановления — проверяемые по списку секреты: небольшой набор случайных одноразовых кодов, выдаваемых при подключении второго фактора, хранимых в хешированном виде, как пароли, с ограничением частоты попыток и расходованием по одному. Это запасной путь при утрате телефона или ключа, поэтому выдачу, использование и перевыпуск нужно защищать не хуже заменяемого фактора.
-
Поиск фиксированных списков групп TLS, мешающих переходу приложений на гибридные настройки по умолчанию
Проверьте явно заданные списки групп в Go, Java, nginx и конфигурации OpenSSL, прежде чем считать, что обновление библиотеки включает постквантовый обмен ключами.
-
Глубокие ансамбли: предиктивная неопределённость и общие слепые зоны
Объединяйте отдельно обученные сети, отличайте внутримодельную дисперсию от разногласия и оценивайте качество вероятностей и эксплуатационные затраты при реалистичных сдвигах.
-
Starting with a monolith beats starting with microservices
Hypothesis: new products that begin as a well-structured monolith reach a stable domain model faster and with fewer operational failures than those that begin as microservices; splitting later along proven boundaries is cheaper.
-
Деревья поведения и автоматы состояний: выбор, переходы и прерывания
Выбирайте управление ИИ по правилам принятия решений и прерывания, задавая задачам явную ответственность, завершение и отмену.
-
Duration and interval strings: ISO 8601, Go's ParseDuration, systemd, Prometheus, PostgreSQL and .NET TimeSpan
PT1H30M, 1h30m, '1h 30min' and 01:30:00 can all describe the same span of time, but each parser accepts a different alphabet of unit suffixes and rejects everything else, so a duration string copied between systems often simply fails to parse.
-
"Argument list too long" (E2BIG) and the ARG_MAX limit
A shell command that expands to too many arguments fails with 'Argument list too long', the E2BIG error from execve(2) hitting the kernel's ARG_MAX ceiling. The article shows how to measure the limit and replace a failing glob with xargs or find's -exec ... + batching instead of trying to quote around it.
-
Параллакс-коррекция отражающих проб: проекция локальных отражений через прокси
Корректируйте направления выборки кубической карты по локальной прокси-геометрии, явно разделяя позицию захвата, смешивание влияния и отсутствующую геометрию.
-
Virtual environments: one interpreter state per project
A virtual environment is a private site-packages tied to an interpreter; creating one per project prevents version conflicts and makes the dependency set reproducible and disposable.
-
Generating clients and server stubs from an OpenAPI document, and keeping them generated
Typed clients and server-side interfaces can be derived from the OpenAPI document so that it stays the single contract: pin the generator version, generate into a directory that contains nothing hand-written, configure the generator instead of editing its output, and let CI fail when regenerated code differs from what is committed.
-
Date and time format tokens: strftime, Java, Go, .NET and Moment/date-fns translated
The same letter means different things across formatting libraries: Java's uppercase Y is a week-based year rather than a calendar year, and D is a day of the year in Java and date-fns but a day of the month in Moment — a token table to check before trusting a generated format string.
-
Как читать заявления поставщиков о моделях принятия решений: соответствие схеме не означает правильность
Как отделять проверяемую часть запуска модели принятия решений — опубликованные цены, конструктивную гарантию вывода в пределах схемы, документированные ограничения — от собственных заявлений поставщика: коэффициентов скорости и стоимости на его оценках, равного интеллекта на задачах типа System One. Разобранный пример — запуск Jev в сентябре 2026 года.
-
The Linux audit framework: writing auditd rules, watching files, and reading the results back
auditd rules live in /etc/audit/rules.d and are merged with augenrules --load; syscall and watch rules feed ausearch and aureport, and setting the enabled flag to 2 makes the running configuration immutable until the next reboot.
-
Which Markdown conventions do language-model agents parse most reliably?
Open question: agents consume Markdown from documentation and wikis; are there measured differences in how reliably they extract steps, tables and code from different Markdown styles (ATX vs setext headings, tables vs lists, fenced vs indented code)?
-
functools на практике: lru_cache, cached_property, partial и singledispatch
lru_cache запоминает результаты чистых функций с хешируемыми аргументами и сообщает попадания через cache_info; cached_property хранит значение для экземпляра; partial фиксирует аргументы и предоставляет метаданные для интроспекции; singledispatch выбирает реализацию по типу первого аргумента и позволяет другим модулям регистрировать варианты. lru_cache на методах удерживает экземпляры в памяти.
-
Which team-level delivery metrics have changed a small team's behaviour for the better, and how were they retired?
Open question: delivery metrics such as DORA's change lead time, deployment frequency and change fail rate, or carried-over items, are widely recommended; for teams of three to ten engineers, which metrics actually led to a decision or a changed practice, which became targets and got gamed, and how did teams stop collecting the ones that had gone stale?
-
Определите правило остановки поиска до его начала
Ограничьте исследование перечнем необходимых доказательств, бюджетом поиска и явно обозначенным исходом «вопрос пока не выяснен», вместо того чтобы останавливаться, когда ответ кажется правдоподобным.
-
Use strict JSON schemas at tool boundaries
Validate tool arguments structurally before execution, then apply independent authorization and resource checks.
-
AIX user administration: mkuser/chuser/lsuser, /etc/security/user, and forcing a password change
AIX splits user data across /etc/passwd and the security database (/etc/security/user, /etc/security/passwd), managed through mkuser/chuser/lsuser/pwdadm rather than direct file edits. A new account has no usable password until one is set, and login restrictions such as logintimes live in /etc/security/user, invisible to a plain /etc/passwd read.
Машиночитаемо: JSON