Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 17 min ago

Как один баг в sendmail создал эру спама и привёл к SPF, DKIM и DMARC

Wed, 07/15/2026 - 12:02

Когда в мае 1978 года Гэри Туерк, маркетолог из Digital Equipment Corporation, отправил 400 сотрудникам ARPANET приглашение на презентацию компьютеров DECSYSTEM-20, он не знал, что станет отцом целой индустрии email-маркетинга ненависти к спаму. 

Несмотря на это, эра спама началась не с Туерка, а с инженерного решения Эрика Оллмана, который пытался соединить три несовместимые сети в одну универсальную систему доставки почты. Под катом расскажу о том, почему sendmail привёл к эпидемии спама и какие механизмы защиты работают в почте сейчас.

Читать

Как мы тысячу «яблок» для песочниц в дата-центры устанавливали

Wed, 07/15/2026 - 12:00

Всем привет! На связи Владимир Аксёнов, руководитель группы IT‑поддержки дата‑центра в Yandex Infrastructure. На Хабре я уже рассказывал об эволюции IT‑оборудования в дата‑центрах Яндекса, показывал наши собственные стоечные решения и делился опытом, как мы тестируем комплектующие для стоек. Но история с сосисками в дата‑центре — не единственная интересная инженерная задача, были ещё и яблоки! 

А под яблоками я имею в виду оборудование Apple, поскольку нашим внутренним пользователям‑разработчикам регулярно необходима среда для тестирования приложений под целевые платформы. И если под Windows, Android и Linux создать такую песочницу нетрудно, то с iOS и MacOS сложность в том, что необходимое оборудование Apple не выпускается в виде серверных решений для дата‑центров.

В этой статье я расскажу, как мы адаптировали обычные Apple Mac mini для установки в серверные стойки под внутренние песочницы. А также покажу, почему для этого нам потребовалось напрячь двух производителей комплектующих и удостовериться, что даже в условиях «сауны» горячего коридора ни одно устройство не превратится в печёное яблоко.

Читать далее

Разрушители мИИфов – тестируем Headroom. Правда ли умная прокся может сэкономить вам токены?

Wed, 07/15/2026 - 12:00

Признаю: в прошлой статье про тестирование Caveman я в конце написал, что такие инструменты, как RTK, действительно, могут помочь сэкономить токены. Я доверял самому принципу возможности экономии токенов, но не доверял конкретным цифрам эффективности, которые заявляет Headroom. Был уверен, что, садясь за тесты, скорее всего, увижу, не 60–95% экономии токенов, а типа 10% — или что-то такое. Но результат меня удивил в худшую сторону. Итак, тестируем Headroom вместе:

Читать далее

Агрегатор новостей и поиск диагноза болезни по симптомам: два моих проекта

Wed, 07/15/2026 - 11:59

Хочу показать два продукта, которые уже давно сделал и продолжаю доработки. Первый - это агрегатор новостей, второй - это поиск медицинского диагноза по симптомам.

Начну со второго, то есть медицинской экспертной системы. Выбрана простая схема работы - отдаём данные в виде "человеческого" текста описания симптомов и модель возвращает предполагаемый диагноз и вероятностное распределение диагноза. Что бы было понятно, пример вот тут https://moscowi.ru/med\_diagnoz . На сайте выложена довольно старая модель, тогда я оценивал её возможности в 0,5 - 1% от полной модели, сейчас примерно одна двести пятидесятая. Модели я делаю сам.

Всё это переросло с классификатора дефектов металлургии, только там всего четыре десятка дефектов и у меня постоянно был вопрос - не получил ли я правильный ответ случайно. Я не считаю, что каждый 45_й ответ я получал как правильный только по причине совпадения, но сомнения при подборе моделей были.

Вот тут и перешёл на медицину - на сегодняшний момент даже в адаптированной версии мкб-10 больше 12 тысяч болезней и подходы в классификации можно отработать гораздо точнее. Отработав такую модель, я решу и вопросы металлургии. Так это начиналось, после не стал забрасывать, постоянно возвращаюсь для улучшения.

В общем то несмотря на разные отрасли, я столкнулся с теми же проблемами. Если кратко - не использование профессиональной лексики. Пациенты не знают профессиональных терминов, у них свои слова, выражения и описания. Вторая крупная проблема - много болезней описываются довольно общими симптомами - боль, температура, жжение, озноб, отёк, покраснение. посинение и тому подобное. Я собрал около двух тысяч симптомов болезней, попробовал описывать болезни только симптомами - рабочий вариант, хотя наверное это только для профессионалов.

Читать далее

[Перевод] Как один микрофикс в Kubernetes сэкономил 600 часов работы в год

Wed, 07/15/2026 - 11:52

Нагрузка в кластере растёт, PV распухают, IaC-инструменты перестают справляться. В какой-то момент всё начинает тормозить так, что уже мешает нормально работать.

Команда Cloudflare столкнулась с такой ситуацией и нашла решение — изменить одну маленькую дефолтную настройку в Kubernetes.

В статье — шаги по аудиту кластера и изменению настроек. Особенно пригодится тем, у кого есть кластеры с крупными PV.

Читать далее

Умное фортепиано 19 века: Как оно работало, почему его все любили и как чуть не началась первая война форматов

Wed, 07/15/2026 - 11:50

К концу 19 века эта любопытная штуковина стала постепенно наводнять собой Америку. От злачненьких салунов и пабов до вполне себе фешенебельных гостиных с тяжелыми портьерами и резной дубовой мебелью блистала оно — самоиграющее пианино, настоящая звезда, зажигавшаяся с приходом вечера. И его появление стало настоящим откровением для всего мира. 

Читать далее

Наушники без музыки и фрактальная асимметрия

Wed, 07/15/2026 - 11:30

Это не медицинская статья и не руководство по диагностике. Это дневник разработчика, который разбирался в себе, чтобы эффективнее работать и не выгорать. Если вы узнали себя — значит, мы коллеги не только по профессии, но и по типу мышления.

Читать далее

10 способов как находить востребованные темы для контента с помощью ИИ

Wed, 07/15/2026 - 11:13

В этой статье я покажу способы, как находить темы, на которые уже есть спрос: через телеграм-каналы, поисковые запросы, комментарии, отзывы и контент ваших конкурентов. 

Обычный чат-бот вроде ChatGPT, Gemini или Claude быстро разберет данные и выдаст идеи, которые могут зайти вашей аудитории.

Читать далее

Математика для датчиков: как посчитать коэффициенты для АЦП и получить реальные значения

Wed, 07/15/2026 - 11:10

В большинстве устройств для промышленной или домашней автоматизации требуется измерить какую-либо физическую величину, например, температуру, влажность, освещенность, давление, уровень воды и др. Для этого используют соответствующий сенсор, подключают его к микроконтроллеру и с помощью АЦП преобразуют в цифровое значение. Но сырые цифры из АЦП микроконтроллера — это ещё не температура, не давление и не влажность. Нужно их пересчитать. И тут начинается самое интересное: где взять коэффициенты для функции? Вручную подбирать? Гадать? Самый распространённый способ — это рассчитать коэффициенты для линейной функции. Но как правильно рассчитать её коэффициенты, чтобы ошибка была минимальной? Разбираем теорию, типы графиков датчиков, расчёты и готовый код.

Вперёд, к свету разума

Ты больше не управляешь людьми: почему это происходит и что с этим делать

Wed, 07/15/2026 - 11:03

Привет, Хабр! Меня зовут Аркадий Озеров, менеджер в ИТ-команде Россельхозбанка, и я продолжаю делится историей роста своей команды. Мы выросли с 7 до 25 человек, а я продолжал управлять так же, как раньше. И это превратилось в проблему.  Как не утонуть в хаосе при росте команды в 4 раза? 

Читать далее

[Перевод] Опасные приглашения: российский субъект угроз подделывает европейские мероприятия по безопасности

Wed, 07/15/2026 - 11:03

В начале 2025 года Volexity опубликовала две статьи, в которых подробно описала новую тенденцию среди российских субъектов угроз: для получения доступа к учётным записям пользователей Microsoft злоумышленники атаковали организации, злоупотребляя сценариями Microsoft 365 OAuth и аутентификации по коду устройства (Device Code). Несмотря на публичное раскрытие этой активности, Volexity продолжает наблюдать, как российские субъекты угроз применяют схожие техники для интенсивных атак как на среды Microsoft, так и на среды Google.

Сами техники остаются похожими, однако меняются способы и легенды, с помощью которых злоумышленники выбирают цели и воздействуют на пользователей методами социальной инженерии.

В этой статье Volexity рассматривает две новые кампании, в которых злоумышленники использовали сценарии OAuth и Device Code для фишинга данных доступа конечных пользователей. В рамках атак создавались поддельные сайты, маскировавшиеся под реальные международные мероприятия по вопросам безопасности, проходившие в Европе. Цель состояла в том, чтобы убедить зарегистрировавшихся участников предоставить несанкционированный доступ к своим учётным записям. В кампаниях, которые наблюдала Volexity, использовались следующие реальные мероприятия:

Читать далее

Жизнь в цивилизации и вне ее

Wed, 07/15/2026 - 11:01

Блин, вот зарекался в свое время комментировать публикации в копроративных блогах, но размещенный не так давно материал с кликбейтным заголовком "Жизнь вне цивилизации" поджег моё обывательское седалище. Чтобы оное потушить, решил оформить несколько старых заметок в эту статью.

Смотреть, что автор там награфоманил

Перенёс ByteTrack на GPU и ускорил мульти-камерный трекинг в 6 раз

Wed, 07/15/2026 - 11:00

GPU-версия ByteTrack, где математика всех камер считается общими батчами: один вызов на все потоки вместо трекера-на-камеру. На 16 потоках это ускоряет трекинг в 6 раз (104 → 17 мс/кадр на RTX 4090). А за первой, «наивной» версией пряталось всего 1.2x — почему, показали три антипаттерна PyTorch, на которых легко застрять и вне трекинга: GPU-вызовы в цикле, заливка кадров на 1.6 ГБ/с вместо 25, и FP16, который тихо съедал по 300 мс на кадре. Все цифры воспроизводимы, есть сравнение с NVIDIA DeepStream и открытый код.

Читать далее

Дело о зависшем пуле: @Transactional, connection leak и deadlock в Spring Boot. Production-нуар

Wed, 07/15/2026 - 10:57

Приложение было живо. Health check зелёный, CPU холодный, логи чистые. Но ни один запрос не возвращался.

Детективная история о том, как пять соединений с базой держат в заложниках весь production. В деле: connection leak из легаси-отчёта, @Transactional, который вышел покурить вместе с чужим API, аннотация с фальшивым алиби, дуэль двух транзакций, REQUIRES_NEW с двойной бронью столиков — и один дворецкий, которого никто не подозревал, потому что его нанял сам фреймворк.

Каждое преступление воспроизводится одной командой: демо-проект с Docker, Prometheus и Grafana прилагается.

Открыть дело

[Перевод] Просто дайте мне ввести цифры

Wed, 07/15/2026 - 10:56

Цифровая идентификация и её значение для веба в последние годы стали темой горячих обсуждений. Они привнесли с собой множество спорных моментов: законы о проверке возраста и их влияние на онлайн-анонимность; Википедия потенциально будет вынуждена верифицировать в Великобритании личность пользователей; привязка к официальным операционным системам iOS и Android стала обязательным форм-фактором для кошельков цифровой идентификации; кроме того, стоит упомянуть ситуацию, когда американские цифровые аккаунты были закрыты потому, что их пользователь был судьёй Международного уголовного суда.

В своей истории я расскажу о швейцарской правительственной системе идентификации AGOV. Этот развёрнутый в 2024 году сервис сегодня насчитывает 1,6 миллиона аккаунтов и становится всё более необходимым: через него можно получать пособие по безработице, предоставлять налоговую декларацию (а это обязательное действие!) и выполнять множество других операций. В кантоне Цюрих это единственная возможность подачи заявления на гражданство.

В конечном итоге, я был вынужден создать аккаунт AGOV. К сожалению, его регистрация была довольно сложной задачей, пока я не нашёл причины странного бага accessibility. Вдохновившись статьёй «Просто дайте мне выделить текст», хочу представить вашему вниманию «Просто дайте мне ввести цифры».

Читать далее

Купили сканер — но процесса нет: четыре причины, почему VM не взлетает

Wed, 07/15/2026 - 10:30

“У нас внедрен сканер, значит, есть процесс” - нет. Инструмент это еще не процесс. Разбираем, из чего на самом деле состоит управление уязвимостями, почему оно держится на связке ИБ-ИТ-бизнес и какие четыре грабли встречаются чаще всего. Плюс честно про то, отменяет ли безопасная разработка патчинг (не отменяет).

Читать далее

От гипотезы до производства: как устроены проекты НИОКР

Wed, 07/15/2026 - 10:15

НИОКР — это тот тип проектов, где в начале пути не всегда есть готовый ответ на вопрос: «Как именно получить нужный результат?».

Сначала нужно проверить техническую возможность, исследовать варианты решения и подтвердить выбранный подход. Проблема в том, что бизнес обычно ждет понятный результат: изделие, технологию, прототип, экономический эффект, патент, новую линейку продукции. А научная или инженерная команда работает в зоне неопределенности: проверяет теории, меняет подходы, уточняет требования, сталкивается с техническими ограничениями. Отсюда рождается вечный конфликт: одни хотят управляемости, сроков и бюджета, другие — времени на исследование и право на отрицательный результат.

Хорошая новость в том, что НИОКР можно управлять. Плохая — если управлять ими, как обычным проектом «сделали план — раздали задачи — закрыли этапы», можно быстро получить красивую диаграмму Ганта, которая не имеет отношения к реальности.

Разберемся, что такое НИОКР, какие этапы проходят такие проекты, какие роли в них участвуют, какие стандарты применяются и для чего здесь нужны информационные системы управления проектами.

Читать далее

Claude Code умеет всё, кроме одного — слушаться вашу программу. Чиним это протоколом ACP

Wed, 07/15/2026 - 10:10

Claude Code, Codex, Gemini CLI — мощные штуки. Но живут они в терминале: вы открываете окно, печатаете задачу, смотрите, как агент думает, лезет в файлы, гоняет тесты. Для человека — отлично. А теперь представьте, что в это кресло перед терминалом нужно посадить не человека, а вашу программу: чтобы она сама ставила агенту задачу, видела каждый его шаг и могла остановить опасное действие до того, как оно случится.

Вот тут и начинается ACP — протокол, который позволяет любому коду управлять CLI-агентом.

Смотреть, кто за рулём

Верните мой 2012. Четырнадцать лет корпоративной мобильности от первого лица

Wed, 07/15/2026 - 10:00

Привет, Хабр! Я Олег Ассур, технический директор SafeMobile. Управление мобильными устройствами или MDM – тема, мимо которой проходят не только лишь все, пока в компании не появляется сто, тысяча или пятьдесят тысяч корпоративных телефонов, которыми вдруг надо управлять централизованно. Я в ней с 2012 года: писал MDM клиент для джейлбрейкнутых iOS, поднимал управление iOS, Android и Windows, прошёл с заказчиками все пять стадий принятия российского ПО и дорос от разработчика до технического директора.

Эта статья выросла из моего прошлогоднего доклада на SysAdminConf (видеозапись будет в конце), но это не расшифровка, а отдельный разбор: как устроено управление телефонами под капотом, кто и зачем придумал нынешние технологии, почему все они до сих пор работают по правилам, заданным Apple в 2010, и почему собирать свой MDM в России в 2026 – затея на любителя. Если интересно, что происходит между «раздали сотрудникам телефоны» и «теперь ими кто-то управляет» – добро пожаловать под кат.

Читать далее

EVRTCK: тайловый дельта-кодек для удалённого рабочего стола — как мы убили H.264 для UI-контента

Wed, 07/15/2026 - 05:35

Я Артур Валиев, разработчик EVRT

Когда мы форкнули RustDesk и начали строить EvertyDesk — корпоративный удалённый рабочий стол с поддержкой Hyper-V, Proxmox, VirtualBox и умным агентом — первое, во что упёрлись, было видео.

H.264 — стандарт де-факто. TeamViewer, AnyDesk, Windows App — все используют H.264. Он работает. Но он lossy. И вот здесь начинается проблема, о которой в статьях про remote desktop обычно не говорят.

Когда оператор смотрит на терминал с git diff или читает трейс в VSCode — один размытый пиксель в букве это уже другой символ. H.264 при любом разумном битрейте вносит артефакты в области с резким контрастом. Точно туда, где у нас весь текст. Это неприемлемо.

H.264 в lossless режиме (QP=0, lossless profile) существует, но поддержка в декодерах — через пень-колоду, а для mostly-static контента предикторы рассчитанные под видео с движением дают нулевой выигрыш над тривиальным delta-кодером.

Нам не нужен motion estimation. Нам нужно: вот предыдущий кадр, вот текущий, вот список изменившихся тайлов, сожми только их.

Мы написали EVRTCK.

Читать далее

Who's online

There are currently 0 users and 17 guests online.