Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 16 min 34 sec ago

Пять месяцев на игровой движок, месяц на игру. Зачем я написал собственный движок на C

Wed, 08/19/2026 - 19:08

Пять месяцев назад я начал делать игровой движок Neotolis Engine на C17. Хотел глубже погрузиться в рендер и собрать для себя движок, с которым мне было бы легко и приятно работать. Сейчас в нём уже достаточно фич, чтобы делать игру. Я делаю 3D-инкременталку про проблему вагонетки Not a Trolley Problem.

В статье рассказываю, какие принципы я заложил в движок, как использую Claude и Codex и почему важно делать игры, а не только движок.

Читать далее

Гостиная в стиле Windows: Packard Bell Navigator и его история

Wed, 08/19/2026 - 19:01

Как с Windows только не изгалялись: сколько для неё было сделано модификаций, оболочек и скинов за последние лет 20 — подсчитать, наверное, невозможно. Но мода «накатывать красоту» поверх обыкновенных “Окон” началась, на самом деле, даже не в нулевых.

Читать далее

Онлайн-магистратура НИЯУ МИФИ «Специалист по работе с данными и применению ИИ»: как успеть поступить в 2026 году

Wed, 08/19/2026 - 19:00

Привет, это команда Яндекс Практикума. Приём документов на поступление в 2026 году закончится меньше, чем через неделю, но вы ещё можете успеть поступить в онлайн-магистратуру «Специалист по работе с данными и применению ИИ» НИЯУ МИФИ в партнёрстве с Практикумом. В статье мы расскажем, что входит в программу и как на неё поступить.

Читать далее

Как ИИ меняет работу с корпоративными данными — итоги седьмого митапа MWS

Wed, 08/19/2026 - 18:52

Еще недавно ИИ в работе с данными использовали как вспомогательный инструмент. Нейросеть помогала написать запрос, найти информацию или подготовить отдельный документ. Теперь ей можно передать целый набор повторяющихся задач и подключить к корпоративным системам, каталогам и инструментам разработки. Часть работы выполняет агент, а специалист определяет правила, проверяет результат и принимает верхнеуровневые решения.

Как меняется работа с корпоративными данными под влиянием ИИ, рассказали эксперты на седьмом MWS Meetup.

Читать далее

Чем Go полезен при разработке AI‑агентов

Wed, 08/19/2026 - 18:20

Всем привет! Меня зовут Илья Данилкин, я тимлид в Авито Авто.

AI-агенты обычно живут рядом с Python, но всё же немало команд выбирают язык Go. Дело в том, что агенты большую часть времени не заняты сложными математическими расчётами, а ждут ответа модели или результата инструмента. А ещё работают в режиме бесконечных параллельных запусков. И если пользователь останавливает задачу, его запрос и следующие вызовы инструментов тоже нужно остановить.

Поэтому при выборе языка важны не только библиотеки для работы с моделями, но и то, как язык справляется с одновременными задачами, отменяет операции и насколько просто доставить готовое приложение пользователю. В Go для этого есть дешёвые горутины, context.Context и сборка в один бинарник.

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

Читать далее

Как я ускорил работу с топом-пользователей с 36 минут до 20 секунд, используя Redis Sorted Set

Wed, 08/19/2026 - 18:15

Всем привет, меня зовут Михаил, я работаю Java/Kotlin разработчиком в ОТП Банке.

Все мы знаем про Redis. Часто используем его для in-memory кэша. В основном это ключ и значение. Но что, если можно пойти дальше и, как в том фильме, раскрыть все возможности Redis на 100%?

Сегодня я хочу поговорить о Sorted Set в Redis. Что это за зверь и как его использовать.

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

Присаживайтесь, будет интересно!

Узнать, что это за покемон

Как мы тестировали отказоустойчивость MWS Cloud Platform и при чём тут швейцарский сыр

Wed, 08/19/2026 - 18:13

Всем привет! Я Андрей Халиуллин — руководитель направления IAM & Security Services в MWS Cloud Platform, и мы продолжаем делать облако. В этот раз хочется поговорить о стабильности, отказоустойчивости и прочих SLO. В этой статье расскажу, как мы обеспечиваем свою отказоустойчивость, как мы её тестировали (спойлер: мы отключили целую зону доступности) и что нового для себя узнали. Для наглядности решил объяснить наш подход на примере швейцарского сыра.

Читать далее

Как сделать портрет с помощью ИИ — чтобы действительно было похоже

Wed, 08/19/2026 - 18:05

За последние пару месяцев я сгенерировал несколько тысяч ИИ-портретов — себя, друзей, родственников и даже случайных людей из интернета. Мне было интересно разобраться, как выстроить этот процесс так, чтобы нейрофотки получались похожими на человека.

Короче, я потратил около $200 на эксперименты и вроде как нащупал адекватный способ.

Читать далее

В AI-картинках есть невидимые метки. Я проверил, как они работают и можно ли их удалить

Wed, 08/19/2026 - 18:02

Вы генерируете картинку в нейросети, скачиваете PNG и открываете его.

Никакого логотипа. Никакой надписи «создано ИИ». Никакой полупрозрачной плашки в углу.

Обычное изображение.

Но это ещё не значит, что внутри него ничего нет.

Современные генераторы всё чаще добавляют в AI-изображения информацию о происхождении, которую человек глазами не увидит. Где-то это метаданные. Где-то криптографически подписанные Content Credentials. А где-то настоящий невидимый водяной знак, встроенный непосредственно в изображение.

Например, Google использует SynthID, а OpenAI сейчас добавляет к поддерживаемым изображениям сразу два сигнала происхождения: C2PA и SynthID.

Мне стало интересно, насколько эта маркировка действительно живучая.

Можно ли определить, что изображение создано ИИ? Что именно нейросеть оставляет внутри файла? Исчезает ли маркировка после редактирования? И можно ли удалить невидимый водяной знак с AI-изображения обычным сервисом?

Я попробовал несколько вариантов. Один действительно сработал.

Но когда начал разбираться, понял, что вопрос «как удалить watermark с картинки» устроен гораздо сложнее, чем кажется.

Читать далее

[Перевод] Скидка в 97%: как устроен китайский мошеннический рынок ИИ-токенов

Wed, 08/19/2026 - 18:01

Моя история

Я долгое время размышлял о мошенничестве с токенами — проблеме, с которой впервые столкнулся, когда работал разработчиком ПО в ИИ-шлюзе.

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

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

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

Читать далее

Коммуникация без срочности: как перестать тратить полдня на один вопрос в чате

Wed, 08/19/2026 - 17:38

Привет, Хабр! Меня зовут Дима, я бизнес‑аналитик в команде внедрения Naumen. Большая часть моей работы — это коммуникация: с клиентами, разработчиками и коллегами внутри команды. Почти вся она происходит онлайн.

В какой‑то момент я заметил, что много рабочего времени уходит не на сами задачи, а на ожидание ответов, уточнения и постоянные переключения между чатами.

Со временем я собрал несколько правил, которые помогают сделать онлайн‑коммуникацию быстрее и не растягивать обычный рабочий вопрос на полдня.

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

Читать далее

Собеседник замолчал или просто задумался: как мы учили голосового ассистента не перебивать людей

Wed, 08/19/2026 - 17:23

«Мой номер заказа... сейчас, секунду...» — и бодрое «Да, я вас понял, минуточку!» прямо в середину фразы.

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

Формулируется она так: понять, что человек в трубке закончил говорить, а не взял паузу. Ниже — про то, почему готовые VAD эту задачу не решают в принципе, что мы перебрали, прежде чем взяться за свое, и где у нас до сих пор не получается.

Дисклеймер: работаю в аутсорсинговом контакт-центре, мы несколько лет делаем свой голосовой стек — телефония, распознавание, ассистенты на LLM. Продукт не называю и ссылок не будет, статья про задачу.

Читать далее

Надёжность, устойчивость, доступность

Wed, 08/19/2026 - 17:21

Привычные термины становятся все более запутанными. Если раннее (до 2003 года) система ГОСТ еще была фундаментальна и системно выстроена (причем это были не переводы западных стандартов), то потом система государственной стандартизации стала резко деградировать.

Читать далее

ChatGPT не гуглит. У него свой поисковый робот, и с вашего сайта он берёт ровно 200 символов

Wed, 08/19/2026 - 17:20

Мы полгода собираем ответы нейросетей в базу и однажды заметили: два ответа ChatGPT на один и тот же вопрос, снятые в один день разными способами, ссылались на совершенно разные сайты. Полез разбираться в сыром потоке, который ChatGPT отдаёт браузеру, и нашёл там служебные карточки источников с пометкой о происхождении. Разобрал почти 1,9 миллиона таких карточек: у ChatGPT есть собственный поисковый робот, который даёт 97% всех источников, и про каждую страницу он хранит один замороженный кусок текста длиной 200 символов. В статье: как устроен этот робот, чем он отличается от покупной поисковой выдачи, что именно он вырезает с сайтов (спойлер: часто это код фильтра или текст рекламного блока), и что с этим делать владельцу сайта.

Читать далее

В 1С:ERP есть адресное хранение. Зачем тогда складу отдельная WMS?

Wed, 08/19/2026 - 17:12

Шесть лет занимаюсь складскими системами на платформе 1С: обследования, внедрения, миграции. Склады — от 5 000 до 40 000 м².

Вопрос из заголовка я слышу чаще любого другого, и задают его совершенно справедливо: в 1С:ERP (а также в УТ и КА) адресное хранение действительно есть, работает и закрывает заметную часть складских задач. Продавцы WMS на этот вопрос отвечают предсказуемо. Мне проще: бывают склады, которым я отвечаю «незачем».

Разбираю, что именно умеет адресное хранение в ERP, что к этому добавляет WMS и по каким признакам понять, по какую сторону границы находится конкретный склад.

Читать далее

Я инвестирую. А ты как хочешь

Wed, 08/19/2026 - 17:04

Есть удивительная вещь. Человек может двадцать лет получать зарплату и каждый месяц тратить почти всё, что заработал. И это почему-то не кажется ему рискованным.

В следующем месяце будет следующая зарплата. Потом ещё одна. А если зарплата станет больше — можно будет больше тратить. Так проходят годы, иногда десятилетия. При этом предложение регулярно откладывать небольшую часть дохода и постепенно превращать её в капитал почему-то воспринимается совсем иначе:

— Что откладывать, если и так мало денег.

— Биржа - это казино, управляемое жуликами!

— Скоро всё изменится, и акции будут стоить ноль!

— Рынок вот-вот рухнет!

Да, рынок упадёт.

Обязательно.

Недвижимость тоже когда-нибудь подешевеет. Золото может годами стоить дешевле, чем хотелось бы его владельцу. Валюта может обесцениться. Банк может обанкротиться, а государство может поднять налоги. И вообще, будущее имеет неприятную привычку не спрашивать нашего мнения.

Именно поэтому я инвестирую. Не потому, что знаю, что будет. А потому, что не знаю.

Читать далее

Одно лишнее if — и объект уезжает в кучу: как C2 решает, каким аллокациям не быть

Wed, 08/19/2026 - 16:50

Пара new в горячем методе может вообще не попасть в кучу — а после безобидного if внезапно вернуть аллокации обратно. Разбираемся, как C2 принимает такие решения, где ломается скалярная замена и как проверить всё это через JMH и диагностические флаги JVM.

Разобраться в JVM

README врёт: как я сделал open‑source линтер, который сверяет документацию с реальным репозиторием

Wed, 08/19/2026 - 16:30

README редко ломается в один момент.

Обычно он просто постепенно перестаёт соответствовать проекту: переименовали команду, перенесли файл, удалили .env.example, сменили package manager — а инструкция осталась прежней.

В итоге новый пользователь копирует команду из README и получает ошибку. Разработчик же часто узнаёт об устаревшей документации только после issue, сообщения коллеги или неудачного деплоя.

Мне стало интересно: можно ли автоматически находить хотя бы часть таких расхождений, не выполняя команды из README и не отправляя исходный код в LLM?

Так появился RealityLint — open‑source CLI, который статически сверяет проверяемые утверждения из README с реальным состоянием репозитория.

Читать далее

[Перевод] Математики до сих пор не уверены, как быстрее всего перемножать числа

Wed, 08/19/2026 - 16:30

Ученики начальной школы могут заучивать таблицу умножения однозначных чисел, но простого запоминания будет недостаточно, когда учитель задаст задачу на умножение трёхзначных чисел. Здесь требуется алгоритм: учеников учат выстраивать числа друг над другом и умножать каждую цифру нижнего числа на каждую цифру верхнего. На протяжении тысячелетий математики считали это самым быстрым способом умножения, пока в 1960 году 23-летний молодой человек не сделал шокирующее открытие, которое привело к загадке, остающейся неразгаданной до сих пор.

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

Чтобы понять суть этого «узкого места», обратите внимание на то, как «школьный» алгоритм справляется с увеличением размера чисел. При умножении двух двузначных чисел выполняется четыре однозначных умножения. Если перейти к паре трёхзначных чисел, то потребуется девять однозначных умножений. Нагрузка растёт пропорционально квадрату количества разрядов (n², где n — количество разрядов в умножаемых числах). При анализе подобного алгоритма компьютерные учёные не измеряют скорость в секундах, поскольку она зависит от аппаратного обеспечения. Вместо этого они подсчитывают количество вычислительных шагов. Они также игнорируют второстепенные детали, такие как время, необходимое для переноса единицы при умножении. Когда числа становятся достаточно большими, эти низкоуровневые операции перестают иметь значение, поскольку их полностью затмевают более ресурсоёмкие операции. Информатики обозначают количество шагов с помощью так называемой нотации «большого O»: например, алгоритм, который учат в начальной школе, требует O(n²) шагов, что читается как «порядка n в квадрате». В общих чертах, если числа в два раза длиннее, для выполнения алгоритма требуется в четыре раза больше вычислительной работы. Если числа в тысячу раз длиннее, требуется в миллион (1 000 в квадрате) раз больше работы.

Читать далее

Зачем PyPI закреплять префиксы пакетов за организациями

Wed, 08/19/2026 - 16:28

Имя пакета в реестре часто оказывается первым сигналом того, что компоненту можно доверять. Разработчик видит название вроде google-cloud-storage, opentelemetry-sdk или apache-airflow-providers-slack раньше, чем открывает исходный код, и ожидает, что знакомый префикс указывает на известный проект. В PyPI это ожидание пока ничем не подтверждено: реестр формально не связывает общее начало имени с его владельцем, поэтому любой свободный вариант может зарегистрировать посторонний пользователь.

В конце июня 2026 года в Python‑сообществе приняли PEP 752 (мы писали об этом здесь). Он предлагает закреплять за организацией не отдельные имена, а префикс и все будущие проекты, которые ему соответствуют. Если PyPI реализует этот механизм, то пакет с именем вроде «google‑cloud‑new‑service» сможет опубликовать только та организация, которой принадлежит право на этот префикс или которой разрешили пользоваться этим правом. На первый взгляд, решение очевидное. Однако общий префикс не всегда означает, что все пакеты принадлежат одному издателю. Иногда он обозначает семейство официальных библиотек, а иногда экосистему сторонних дополнений. 

Меня зовут Артем Максимов, я отвечаю за аналитику продуктов в CodeScoring. Вместе с дата‑инженером Артемом Ивановым в этой статье мы разбираемся, какую проблему решает PEP 752, где проходит его граница и что нам показывает база данных CodeScoring.

Читать далее

Who's online

There are currently 0 users and 6 guests online.