Это вторая часть статьи Путеводитель по чужим STL, возможно будет и третья про разные трюки-хаки с контейнерами, как наберется материал.
Стандартная библиотека плюсов оказалась почти непригодной для игровой разработки и поняли это практически сразу, как попытались её использовать. Крупнейший на тот момент издатель Electronic Arts стал самым известным примером реализации стандартной библиотеки для разработчиков игр (но конечно же были и другие, менее именитые), и силами команд нескольких студий под руководством Paul Pedriana это было претворено в жизнь.
Корни EASTL уходят в Maxis к 1998-му году, когда Пол работая над SimCity 3000, выступал на GDC с докладом «High Performance Game Programming in C++» про кастомные контейнеры, стоимость вызовов и замеры производительности. Единой EASTL тогда ещё не было, но подход, из которого она потом выросла, виден уже там.
До консолидации, даже внутри одной студии, могли существовать несколько параллельных STL-реализаций, разработанных под разные игры, платформы и инструменты. Рискну предположить, что самой полной была реализация от Maxis, как одной из ведущих студий, а в других командах были поменьше, каждая со своими допущениями.
Он же в статьях и докладах упоминал, что EASTL была синтезом практик из этих внутренних вариантов, а не работой одного человека с нуля, и в основе большой EASTL лежит коллективный опыт нескольких инженерных команд, даже если формальным автором финальной публичной версии и статьи остался он один. Конкретные имена соавторов отдельных модулей (аллокаторов, фиксированных контейнеров и т.д.) указаны в репо, но слава досталась Полу.
Читать далееВ наше время радиолюбители вызывают у обывателей в лучшем случае недоумение, а в худшем — стремление сначала набить морду, а после сдать это шпионское отродье в соответствующие органы на опыты. А уж когда кто‑то приходит в управляющую компанию и просит пустить его на крышу, чтобы поставить там антенну... В общем, тем, кто не озаботился установкой антенн в более спокойное время, приходится использовать партизанские решения. Одна из таких антенн — удочка длиной 7–8 метров с проложенным вдоль нее проводом, закрепленная перпендикулярно стене дома на балконе или стене. Провод этот используется либо как четвертьволновой штырь, либо тот или иной вариант диполя, запитываемого с конца. В качестве противовеса используется ограждение балкона или проложенные вдоль стены провода. Эффективность подобных эрзац‑антенн, конечно, невелика, но что делать, в эфире работать хочется. И даже они позволяют проводить интересные связи.
В этой статье я расскажу про свою антенну, ее характеристики и особенности и подниму вопрос ее элементарной грозозащиты.
Читать далееЗа неделю команда бенчмарка Design Arena выпустила два разбора моделей, возглавивших ее дизайн-лидерборды: разбор GPT-5.6 Sol, флагмана OpenAI, и свежий разбор Kimi K3 от китайской Moonshot AI. Исследователи заглянули внутрь генераций и рассуждений моделей и показали, как именно те научились "вкусу". Выяснилось, что универсального рецепта нет: две модели пришли к хорошему дизайну противоположными путями, а третья — прошлый лидер GLM 5.2 — своим, третьим.
Читать далееПосле очередного зимнего сезона, с облегчением отключив отопление, я сказал себе: "Ну, всё! Так больше нельзя!" И принялся за автоматизацию и мониторинг.
Далее очень много картинокВы разбили Angular‑приложение на ленивые модули, включили production‑сборку и всё равно получили main.js весом почти 2 МБ. Причина часто скрывается в общих модулях, тяжёлых зависимостях и импортах, которые мешают tree‑shaking.
В статье разберём, как найти лишний код в бандле и действительно сократить время загрузки приложения.
Читать далееВ предыдущей статье о ГОЭЛРО я писал о программе «А»: прежде чем строить новые мощности, план предусматривал восстановление и реконструкцию существовавшего энергохозяйства. Сначала вернуть основанию работоспособность — и лишь затем возводить на нём новое. Исторически эта часть плана действительно называлась программой «А»; такое описание приводит, в частности, Минэнерго России.
В автоматизации эту последовательность постоянно пытаются перепрыгнуть. Компании хотят сразу перейти к целевой архитектуре, единому информационному пространству, сквозным процессам, искусственному интеллекту и управлению на основе данных. Но нередко выясняется, что под будущей системой пока нет основания: бизнес не договорился, какой процесс строит, кто им владеет, какие данные считать достоверными и какой результат вообще должен измениться после внедрения.
За двадцать с лишним лет в ИТ я наблюдал эту ситуацию с разных сторон. Начинал программистом 1С, руководил ИТ розничной сети, был партнёром-интегратором, участвовал в крупных проектах замены зарубежных корпоративных систем российскими решениями, а затем оказался на стороне заказчика и стал принимать работу других интеграторов.
По обе стороны баррикады спор обычно формулируют одинаково: кто должен диктовать автоматизацию — бизнес или ИТ?
Я всё больше думаю, что это неправильный вопрос.
Бизнес должен иметь последнее слово в вопросах «зачем» и «что»: какую проблему решать, какого эффекта добиваться, чем пожертвовать и какие изменения считать приоритетными. ИТ отвечает за «как»: архитектуру, данные, технологические ограничения, интеграции и жизнеспособность будущего решения.
Читать далееНедавно я зарегистрировал fluxcast.dev и понял, что основной домен простаивает без дела. Рассказываю, как я написал свой реестр бесплатных поддоменов на Python через PR на GitHub и с какими подводными камнями DNS, Cloudflare и Git столкнулся.
Читать далееВ предыдущих статьях я разбирал J-space, открытый Anthropic: почему их интерпретация неполна, почему аналоги J-space появляются на микромоделях под давлением объективных причин, а не эмерджентно от размера модели, и почему найденный ими вектор эквивалентен понятию знака у Выготского.
За рамками остались два вопроса: возможен ли метазнак — знак, объединяющий несколько базовых, — и в чём суть самоописания, репорта нейросети.
Эта статья о них.
Читать далееВозможно ваш ИИ-агент работает уже давно не только на вас. Сегодня хочу поделиться интересными кейсами, когда агенты доставляли проблем бизнесу, который им слишком доверял, а также на исследование, доказавшее, что базовые политики безопасности агента не спасают, если атака сложнее лобой промпт-инъекции.
Читать далееВ исходном orders.csv было 11 строк. До BI-витрины дошло 7, а валовая сумма 4720.30 после применения бизнес-правил превратилась в 2200.30 выручки. Четыре строки не исчезли: каждая попала в rejects с конкретной причиной.
На этом небольшом примере покажу весь путь данных через RAW, STG, CORE и MARTS. Разберём, где меняются строки и суммы, как пережить повторную доставку файла и какие проверки позволяют доверять итоговому дашборду. Внутри MinIO, Postgres и Airflow.
Читать далееСобираю воспроизводимого AI-ассистента, который помнит историю диалогов и разворачивается одной командой
Читать далееВ прошлой статье мы разбирали, как сделать работу ИИ-агента предсказуемее: зафиксировать требования в спецификации с помощью Specification-Driven Development (SDD), до реализации описать ожидаемое поведение тестами по Test-Driven Development (TDD), а готовый результат проверить и передать отдельному субагенту на ревью.
У такого подхода есть цена.
Подготовка спецификации, написание тестов до кода и отдельное ревью требуют времени разработчиков. Возникают два вопроса: сколько контроля нужно конкретной задаче и когда затраты на него окупаются?
Полагаться только на свои ощущения в таких вопросах очень опрометчиво. В одном из экспериментов разработчики считали, что ИИ ускорил их примерно на 20%. Замеры показали обратное: с ИИ они работали на 19% медленнее.
В статье считаем полную стоимость работы с ИИ-агентом: разбираем, что уже измерено, сколько времени человек тратит на проверку и почему разным задачам нужен разный уровень контроля.
Что показывают эксперименты, если читать их целиком
Заголовки об ИИ в разработке противоречат друг другу: «на 55% быстрее», «на 19% медленнее», «на 26% продуктивнее». Результаты расходятся, потому что исследования проводились в разных условиях и измеряли разные показатели.
Для сравнения я выбрал работы с доступными первоисточниками, описанной методологией и измеримыми результатами. Исследование пул-реквестов стоит отдельно от контролируемых экспериментов: оно показывает, как агенты используются на практике, но не позволяет установить причины полученных результатов.
Читать далееЭто третья статья серии о том, почему акустика, которая хорошо измеряется, может плохо звучать. В первой части мы выяснили, что АЧХ суммирует энергию не спрашивая, вовремя ли та пришла. Во второй — что комната добавляет к звуку копии и резонансы, и провели границу честности эквалайзера: ниже частоты Шрёдера он чинит физику, выше — только график.
Сегодня отправимся в самые низкие частоты спектра, где пересекаются темы предыдущих статей. Бас — это частоты, на которых колонка ещё не закончилась, а комната уже началась, и где одно-единственное конструктивное решение — каким образом нагрузить динамик — определяет характер звука сильнее, чем всё остальное железо вместе взятое.
После перестановки и наведения порядка в комнате моя система впервые за годы зазвучала собранно — и, как это всегда бывает, новая расстановка только подчеркнула фундаментальную недостачу. Описать словами мое разочарование весьма непросто, ведь там, где бас ещё оставался — у самой настройки порта, — с ним вдобавок было что-то не так. Если раньше баса было много, но он был абсолютной кашей, то теперь стало отчетливо слышно, как бочка ударника набирала вес, но теряла резкость удара: щелчок и тело ноты будто расходились во времени.
Кривая АЧХ там, у частоты настройки, ничего дурного не показывала — а слух показывал; у меня уже было правило на этот случай, ещё с прошлых стараний: если график в порядке, а слух недоволен, надо смотреть на время.
Читать далееПервое объявление Telegram Ads проверяли три дня. Следующие могли оставаться на модерации уже девять–десять. Пока одна часть кампании собирала данные, другая всё ещё ждала запуска, а заранее подготовленный медиаплан постепенно терял актуальность.
Одновременно выяснилось, что каналы про бизнес и финансы приводят аудиторию из другой географии. Рассказываю, как мы перестраивали тесты, почему не стали ускорять расход бюджета повышением CPM и по каким признакам оставляли площадки в кампании.
Как проходил запускВ Linux с давних пор киллерфичей была возможность централизованного управления (поиск, установка, удаление, обновление, разрешение зависимостей) софтом при помощи пакетных менеджеров (apt, yum, pacman и т.д.).
Однако существует большое количество интересных и полезных программ, которые распространяются разработчиками либо через собственный сайт, либо через релизы на GitHub, либо в виде статического бинарника, либо вообще исключительно в исходниках (при этом под той же Windows у того же проекта часто есть нормальный инсталлятор с автопроверкой обновлений).
Когда таких программ накапливается достаточное количество, их сопровождение превращается в настоящий цирк.
Я решил для себя этот вопрос создав собственный apt репозиторий.
Читать далееВ июле вышла новая версия OpenFB - открытой среды исполнения для IEC 61499, позволяющая вести разработку на python. OpenFB предназначена для разработки и интеграции приложений компьютерного зрения и ML алгоритмов в АСУ ТП.
В статье рассмотрен пример включения базовых алгоритмов компьютерного зрения в систему управления.
Читать далееНекий комментатор скормил ИИ мои посты про обучение школьников цифре на макетке, и иишница в частности ответило: “Высокий порог входа для части школьников. Проект предполагает понимание базовых вещей: что такое бит, такт, сдвиговый регистр, перенос, семисегментный индикатор”.
Это конечно ерунда полная. Школьники знают про арифметический перенос из того что их учили складывать столбиком числа во втором классе. Такт - это просто период между миганиями лампочки на модуле тактового генератора. Сдвиговый регистр они понимают по движению лампочек которое отображает его содержимое. А семисегментный индикатор они могут прощупать втыканием провода в пины идущие к каждому из светодиодов.
Но предоставим слово самим школьникам. Я сделал видео, но которых попросил трех школьников показать что они выучили и смогли смастерить после двух-трех сессий на викенды. Некоторые проекты они делали при мне, некоторые дома. Младшему, Матвею, дома помогал отец, но на одном из видео Матвей паяет проект при мне, на видео - так что это довольно чистый эксперимент:
Читать далееВо время погружения в процессы производства, о которых шла речь в первой статье, от руководства прилетел интересный вопрос: «А можно как-то посчитать, сколько на самом деле работает наше оборудование (в контексте ленточных пил) в смену? Может, повесим умные камеры для анализа?»
Спойлер: посчитать получилось и в разы дешевле чем по любым умным камерам! Причем в процессе удалось оцифровать работу не только ленточных пил, но и ряд другого оборудования. Будут: гипотеза, макетирование и прототипирование, создание платы и производство (PCB), микропрограмма, workflow n8n и планы на будущее. Самое важное, что нужно помнить, обращая производство в цифру — что нам это дает.
Читать далееПосле выхода Battlefield 6 разработчики постепенно развивают игру крупными сезонными обновлениями. Стартовавший 21 июля 4-й сезон стал одним из самых масштабных: возвращаются морские сражения, появляется новая карта Tsuru Reef, а позднее игроков ждут знаковая для франшизы карта Wake Island, режимы в духе классических Battlefield и кроссовер с кинофраншизой Top Gun. Разберемся, что изменилось в игре и стоит ли сейчас присоединяться к боям.
Читать далееПривет, Хабр! Меня зовут Влад Лундышев, мне 23 года, я учусь в онлайн-магистратуре ИТМО в партнёрстве с Яндекс Практикумом на направлении «Фронтенд-, бэкенд-разработка и ИИ-решения» и параллельно работаю Python-разработчиком. Если бы несколько лет назад меня спросили, что самое сложное на пути в IT, я бы ответил: изучить язык программирования и алгоритмы, освоить сложный стек. Сейчас я думаю иначе. Самым сложным оказалось найти первую работу, научиться взаимодействовать с командой и выстроить систему развития, которая не приводит к выгоранию. В этой статье я расскажу, какие подводные камни встретились мне на пути и что я бы посоветовал себе самому несколько лет назад.
Читать далее