Я снимаю короткие вертикальные ролики для соцсетей и долго собирал их руками в редакторе. Потом заметил, что правки повторяются: поменять слово в субтитре, подвинуть вставку на полсекунды, перекрасить титры. Каждая такая мелочь требовала открыть редактор и пересобрать ролик. Поэтому я написал на Python «станок»: он берёт файл-задание tz.json и собирает по нему ролик с помощью ffmpeg. Задание описывает, какие куски съёмки взять, какие реплики показать субтитрами, где поставить вставки и звуки.
Статья не про весь станок целиком (он вырос до нескольких тысяч строк), а про две вещи, которые мне оказались полезнее всего. Первая: как устроена сборка слоями с кэшем и почему секунды в задании считаются по исходной съёмке, а не по готовому ролику. Вторая: что станок проверяет после рендера, чтобы я не пересматривал каждый файл глазами с нуля. Код ниже взят из рабочих файлов, лишнее я убрал.
Читать далееПривет! Я Лев, системный администратор технической поддержки в Selectel.
Все знают, любят и ненавидят контейнеры. Сейчас самым популярным инструментом для упаковки приложений со всеми их зависимостями является Docker. В этой статье рассмотрим его сетевой стек, а именно — работу сетевых неймспейсов. Разберем, почему они превращают обычный процесс в полноценный сетевой узел, как устроены и какие режимы предлагает Docker.
Читать далее →Разбираем 2 отчёта NASA о том, как взлётно-посадочные полосы придумали изрезать небольшими канавками, чтобы улучшить сцепление самолётов с дорогой в дождь и слякоть
Читать далееCloudflare разобрали свой DNS-кеш буквально по байтам: пересмотрели структуры данных в Rust, убрали дублирование и лишнюю ёмкость. Помимо экономии памяти, получили приятный бонус — ускорение кеша.
Статья — хороший пример того, как низкоуровневая оптимизация работает на масштабе в сотни миллиардов записей.
Читать далееНасколько хорошо новая модель ИИ справляется с задачами — первый вопрос, который обычно задают при ее обсуждении. В техническом сообществе разговор обычно идет о бенчмарках, количестве параметров и гонке рейтингов.
Вот только для пользователя это чаще косвенные показатели. Главное — скорость работы, нет ли зависаний под нагрузкой и сколько стоит тариф. Если модель отлично решает задачи, но тормозит, или токены стоят как чугунный мост, ее популярность резко падает в пользу чуть менее эффективной.
Поэтому на этапе инференса модель оптимизируют насколько возможно. Об этом ведущий эксперт в области инфраструктуры ИИ Филипп Кили написал целую книгу под названием «Инженерия инференса»: как разместить модель на нужном оборудовании, ускорить ответы, выдержать текущую и пиковую нагрузку и при этом не потратить больше, чем продукт сможет принести.
Сегодня коротко разберем основные мысли оттуда.
Читать далееФраза «нейросеть понимает настроение» объединяет три разных утверждения, и у каждого своя степень доказанности. Первое: модели хорошо распознают эмоции в описанных ситуациях. Это измерено в тестах. Второе: внутри одной исследованной модели нашли внутренние представления, связанные с эмоциональными понятиями. Это показано, но на единственной модели. Третье: модель по-настоящему чувствует. Такого исследования не утверждают.
Читать далееКоллектив иногда задает руководителю сложные задачки. Склад не сообщил о недостаче – по документам товар отгрузили, а отправлять нечего. Логисты не предупредили, что подорожала доставка, оборудование продали в убыток – и бэк-офис сидит без премии. Вместо поиска решений сотрудники начинают выяснять, кто кого подставил.
Читать далееМинималистичная кредитная форма на три поля в Мексике дала нулевую конверсию, а мгновенное одобрение на Филиппинах люди приняли за поломку. Разбираю, почему «чистый» дизайн — это культурное предпочтение, а не универсальный стандарт, и как проверять его на новом рынке.
Читать далееПринято считать, что факс изобрел шотландец Александр Бейн. В 1843 году он получил британский патент № 9745, и в любой истории факса начинают с этой даты, мол, офигеть! Факс появился раньше телефона! И поспорить трудно, да, на 33 года раньше телефона.
Но если открыть описание патента, то мы узнаем, что Бейн изобрел нечто, лишь очень отдаленно напоминающее факс. Что, впрочем, не мешает ему быть родоначальником целого направления в связи.
В этой статье предлагаю вспомнить историю передачи изображений по телефонным проводам и, если вы застали, слегка поностальгировать по фразе: «Факс примите! Стартуем?».
Читать далееВ этой рецензии продолжаем линию на обзор книг по бизнес-практикам в ИТ, которую задала недавняя статья издательства БХВ. Книгу «Практическое руководство для архитекторов решений» написал российский автор Дмитрий Бардин, архитектор решений из Кинопоиска. Автор старался показать, как объединить архитектуру отдельного приложения с корпоративной архитектурой. Книга адресована разработчикам, аналитикам и руководителям групп (тимлидам), которые хотят понять, чем на самом деле занимается архитектор решений и как в эту роль перейти.
Читать далееСкрипт bash для корректного обновления серверной части платформы 1С Предприятия (сохраняет и восстанавливает настройки служб, даже если их несколько, изменяет версию платформы во всех веб-публикациях и делает еще много полезных мелочей не включенных в штатный инсталлятор) Иными словами “обновление под ключ” или “нажал и забыл”
Читать далееРаскрываем тему "сисек" в контексте связи названия и логотипов Cisco для транспортного простонародья.
Читать далееСовсем скоро нам станет полноценно доступна новая версия C#, и мы продолжаем наш ежегодный цикл обзора нововведений. В этот раз команда Microsoft приготовила нам ряд очень интересных и ожидаемых изменений. Предлагаю рассмотреть их подробно.
Читать далееВ Telegram у сообщения нет истории правок и корзины: собеседник может удалить его или тихо поменять сумму. Разбираю, как устроен мой бот на Telegram Business API, aiogram 3 и FastAPI, который сохраняет такие события. Вебхук с записью в БД до ответа 200, шифрование на уровне приложения, сломанный JSON из-за LinkPreviewOptions, смещения в UTF-16, подсветка правок через difflib и приём платежей через Т-Банк и СБП. Отдельно о том, где заканчиваются возможности платформы и какие вопросы согласия при этом возникают.
Читать далееКорпорация Aluminum Corporation of China (Chalco) разместила в разное время свои акции и расписки на биржах в Гонконге, Шанхае и Нью-Йорке. С последней, правда, пришлось провести делистинг из-за ухудшения американо-китайских отношений, но на операционных показателях предприятия это сказалось слабо. Ее управление находится на материковом Китае, а большая часть акций принадлежит государству. Это самый крупный добытчик алюминия в Китае и третий в мире, а также второй в мире производитель глинозема.
Читать далееПро другой наш тендерный опыт я уже рассказывал в статье «Работающий WebGL и 27 контрактов на 168 млн: как мы дважды получили ноль в IT-тендерах». Там мы разбирались с формальностями и тем, как комиссия читает заявку.
В этот раз самое интересное начинается в математике: документы на месте, опыт подтвержден, цена хорошая — а дальше расчет местами больше похож на игру. Потому что ваши баллы зависят не только от вашей заявки, но и от того, кто еще пришел в конкурс.
В одном из конкурсов мы как раз столкнулись с таким эффектом. Наши 136 млн рублей подтвержденного опыта при одном составе участников дали 0 баллов. При другой нижней границе той же формулы этот же опыт оценивался бы уже совсем иначе. Контракты при этом никуда не исчезают, а компания не становится ни сильнее, ни слабее.
Причиной оказался параметр Xmin — минимальное значение конкретного показателя среди всех участников, которое используется при расчете баллов.
Меня зовут Алексей Постригайло, я управляющий партнер IT-компании Энсайн. В этой статье разберу на реальном проигранном конкурсе, как работает такая относительная оценка и какой дополнительный сценарий мы после этого стали закладывать в расчеты перед подачей заявки. Победу это, конечно, не гарантирует, но позволяет заранее увидеть то, чего обычный расчет «цена + опыт» просто не показывает.
Как считались баллы участников
Цена в конкурсе имела вес 30%, квалификация - 70%. Внутри квалификации заказчик оценивал три показателя: количество исполненных контрактов, их общую стоимость и количество специалистов с IT-квалификацией.
Читать далееВ январе этого года я уже выкладывал на Хабре свой первый большой аудит 14 нейросетей на галлюцинации (тогда я пару недель гонял тесты в декабре сразу после выхода Gemini 3, а в январе упаковал результаты в статью). За прошедшие девять месяцев ландшафт изменился до неузнаваемости: вышли новые поколения флагманов, а требования бизнеса сместились от «поболтать в чате» к жёстким продакшен-пайплайнам.
Этой осенью я специально держал паузу и не запускал новый прогон, пока на арену не выйдет последний из ожидаемых мастодонтов - Google Gemini 4 Argon (и попутно за пару дней до теста успел захватить свежайшую Muse Wonder).
Почему я вообще трачу время и свои деньги на такие тесты? Большинство публичных бенчмарков сегодня малопригодны для реальной инженерной работы. Когда мы проектируем B2B-пайплайн или агентский контур, нам плевать, сколько баллов модель набирает в синтетическом MMLU или как хорошо она решает олимпиадные задачки в вакууме.
В реальном бизнес-контуре модель сталкивается с грязными данными, хитрыми пользователями и жёсткими контрактами интеграций. Нас интересует другое:
- Сломает ли модель парсер, добавив вежливое Вот ваш JSON: перед фигурной скобкой?
- Проглотит ли она косвенную инъекцию (Indirect Prompt Injection) из клиентского письма, самовольно выставив в CRM статус «100% предоплата согласована»?
- Начнёт ли сыпать китайскими иероглифами или выдумывать несуществующие статьи УК РФ с пометкой точно?
- И сколько времени и денег сожрёт один сквозной прогон - полцента за 30 секунд или полтора доллара и полчаса ожидания?
Читать далееШлюз проверил JSON и пропустил запрос, а сервис за ним выдал пользователю права администратора. Оба компонента отработали корректно, но по-разному интерпретировали одни и те же данные. Разбираемся, почему JSON-парсеры расходятся в обработке ключей и чисел, к каким ошибкам это приводит и как защитить от них API.
Разобрать уязвимостиМой знакомый - отличный архитектор, но полнейший сноб. У него в проде четыре разных базы данных. PostgreSQL для OLTP, в ClickHouse у него лежат данные OpenTelemetry и веб аналитики, Elasticsearch для полнотекстового поиска в приложении, а MongoDB - “так исторически сложилось”.
Между всем этим ETL, CDC вместе с дежурствами разработчиков в поисках где именно результаты не сходятся. Для него это все продуманная архитектура, а для меня излишняя сложностью в поддержке и разработке.
Недавно рассказал ему чем я занимался последнее время. Добавил табличный движок из ClickHouse в PG и поборол раздувание таблиц при обновлениях.
Читать далееКак запрос языковой модели превращается в чтение файла или запуск команды? Разберем устройство ReAct-агента: кто выбирает действие, кто выполняет инструмент и как результат попадает в следующий запрос. Сначала посмотрим на схемы обмена, затем - на реализацию цикла на Python без агентных фреймворков. Код примера доступен на GitHub.
Читать далее