Black-White Array (BWA) — это упорядоченная структура данных с амортизированным временем операций вставки/поиска/удаления и используемых участков памяти. Преимущества:
• Амортизированное время вставки/удаления/поиска сравнимое с реализацией BTree от Google;
• Низкое количество аллокаций памяти при операциях вставки - меньше давления на сборщик мусора, ниже фрагментация памяти;
• Массивы под капотом: данные лежат рядом, что улучшает кэшируемость процессором и скорость обхода/доступа к данным;
• Позволяет хранить элементы с одинаковыми ключами - не нужно использовать дополнительные структуры для группировки таких элементов;
• Низкий оверхед на хранение служебной информации - экономия памяти по сравнению с другими структурами данных;
• Удобен для вставки батчами;
• Простая сериализация и десериализация;
Представим, вы спроектировали многоплатную систему. Для надежности вы добавили резервирование и возможность замены модулей. В процессе работы один из модулей вышел из строя. Вы извлекайте его из шасси, устанавливайте на его место аналогичный, и.... вся система отключается. Что же произошло? Давайте разбираться как вставлять платы правильно.
Читать далееУ любой компании рано или поздно наступает момент, когда файлики и разрозненные Google Docs перестают тянуть реальность. Продукт усложняется, процессов становится больше, люди приходят и уходят — а знания живут в головах и чатах, а не в системе.
Читать далееКогда я решил сделать свою первую игру для Steam, я был максимально наивен. Мне приходили «крутые идеи», я загорался, начинал их продумывать… и довольно быстро упирался в тупик.
Со временем я понял, что в момент выбора идеи очень легко:
Мы все видели, как инструменты вроде ChatGPT справляются с самыми разными бизнес-задачами, автоматизируя практически всё подряд. И это правда — генеративный ИИ действительно способен выполнять широкий спектр задач, которые сейчас делают люди. Так зачем тогда заморачиваться с проектированием и запуском бизнес-процессов на основе стандартов автоматизации, придуманных 20 лет назад в совершенно другую технологическую эпоху? Почему не позволить бизнес-пользователям работать напрямую с ИИ и решать все на лету?
Короткий ответ: потому что эти стандарты по-прежнему остаются самыми мощными и эффективными способами оркестрации ИИ-агентов, обеспечения управления (governance) и выполнения процессов в масштабе предприятия.
В этой статье мы покажем, как BPMN становится универсальным языком для агентного ИИ, почему специализированные движки выполняют процессы эффективнее, чем сам ИИ, и как крупные компании уже запускают миллионы ИИ-оркестрированных рабочих процессов в продакшене.
Читать далееЭто перевод статьи Дэвида Плаксо, моего товарища по увлечению математикой кубика Рубика, преподавателя департамента математики Университета Джорджии (UGA). Дэвид задался необычным вопросом: можно ли взять математический узел, превратить его в пиксельную проекцию и собрать ее на поверхности кубика Рубика или биг-куба — например, кубика 9×9×9? Причём сделать это таким образом, чтобы результат был не просто корректным с точки зрения топологии узлов, но ещё и визуально привлекательным, то есть «фотогеничным» (photogenic) — именно такой термин предлагает использовать Дэвид.
В итоге получилась увлекательная смесь математики, теории узлов, пиксель-арта и механики кубика Рубика — статья под названием «Photogenic Knot Projections on n×n×n Rubik’s Cubes» («Фотогеничные проекции узлов на кубиках Рубика n×n×n»), которую Дэвид представил на ежегодной конференции по математике и искусству Bridges в 2022 году.
Читать перевод...Технологии искусственного интеллекта резко расширяют горизонты наших возможностей. Хотим мы того или нет, но применение больших языковых моделей скоро до неузнаваемости изменит все области человеческой деятельности. Нейромузыканты уже захватывают топы музыкальных чартов, а нейрохудожники пишут картины, выигрывающие награды на конкурсах искусства. Совсем скоро нейрописатели будут создавать целые литературные вселенные, по сложности превосходящие "Войну и Мир" Толстого, а нейрорежиссёры снимать по ним фильмы.
За последние шесть лет я опубликовал на Хабре порядка пятидесяти философских эссе на разные темы - о мире идей и математической вселенной, о сознании, об этике, о буддизме, о пространстве и времени и о многом другом. Моя подготовка к каждому эссе включает в себя чтение книг, работу с источниками, знакомство со всеми позициями по определённому вопросу, знакомство с критикой этих позиций, знакомство с историей развития философской мысли в области этого вопроса и многое другое. Сейчас, в годы бурного развития больших языковых моделей, я решил воспользоваться технологиями, чтобы автоматизировать часть этого процесса и сделать свой первый шаг в область нейрофилософии. И вот, что у меня получилось...
Читать далееХватит делать заметки, которые пылятся. Пора создать систему, которая действительно думает вместе с вами.
Я перепробовал все системы продуктивности. Базы данных Notion, которые превращались в цифровые кладбища. Доски Miro, которые выглядели впечатляюще, но никогда не помогали мне делать что-либо. Хаос Apple Notes. Всё по полной программе.
А потом что-то щёлкнуло. Я перестал пытаться создать лучшую систему заметок и начал строить кое-что другое: второй мозг, который действительно работает со мной.
Секрет? Сочетание локального, простого текстового формата Obsidian с возможностью Claude Code реально работать с вашими файлами. Не просто искать по ним. Не просто суммировать их. По-настоящему манипулировать, генерировать и улучшать их программно.
Вот система, которую я создал, и как вы можете построить свою.
Читать далееTelegram сегодня — это кладбище несбывшихся надежд.
Каждый день появляются сотни новых каналов, но подавляющее большинство из них так и остаются с 15–30 подписчиками, парой реакций и вечным ощущением, что ты пишешь в пустоту.
Давайте разберёмся, почему 90% новых каналов обречены так и остаться на отметке <50 подписчиков.
Читать далееНедавно в Марий Эл состоялась премьера балета «Снегурочка», где визуальные декорации были созданы с помощью ИИ: художник подготовил эскизы, а нейросети оживили их в динамичные проекции. Это показывает, как ИИ выходит за пределы цифрового контента и применяется для физических опытов — от сценических элементов до осязаемых объектов. Вдохновившись таким подходом, я решил протестировать полный цикл создания 3D-игрушки: от текстовой идеи до пластиковой фигурки жирафа. Но с акцентом на практичность — минимизируя ручной труд за счет ИИ, учитывая распространенные ошибки и глобальные тенденции.
В 2025–2026 годах мировые тренды в 3D-моделировании подчеркивают интеграцию AI для автоматизации дизайна и производства: от генеративных инструментов вроде Meshy AI и Tripo 3D, которые создают модели из изображений, до AI-оптимизации в CAD для снижения ошибок и ускорения итераций. Это делает процесс доступным не только для хобби, но и для прототипирования в разработке продуктов или образовании.
Читать далееЯ — сертифицированный технический интервьюер в EPAM. За плечами у меня около 800 проведенных интервью: от общих технических скринингов до финальных проектных этапов. Такая выборка позволяет видеть паттерны, которые скрыты от глаз обычного разработчика или менеджера. И мой главный вывод неутешителен: в текущих реалиях практически невозможно достоверно установить реальный уровень кандидата ни за одно интервью, ни за серию встреч.
Да, я знаю про опыт BigTech компаний. Они экспериментируют, устраивая марафоны из 4–5 секций подряд, пытаясь имитировать «реальный рабочий день». Но давайте будем честны: это имитация, которая не имеет ничего общего с реальностью. И вот почему.
1. Фактор нервозности и искажение реальности Интервью — это не работа, это экзамен под прицелом. У каждого своя степень стрессоустойчивости. Я видел десятки случаев, когда у кандидата буквально отключался мозг от того, что на него смотрят и комментируют каждую строчку кода. В спокойной обстановке этот человек может писать гениальные решения, но в режиме live-coding, когда интервьюер дышит в спину, он забывает синтаксис языка. И наоборот: есть люди с превосходными навыками самопрезентации, которые уверенно пишут плохой код, но делают это с таким видом, что джуниор-интервьюер ставит им «Strong Hire». Мы оцениваем не навык разработки, а навык прохождения интервью.
2. Разрыв между вопросами и реальными задачами Очень часто задания на интервью абсолютно оторваны от того, что человек будет делать на проекте. Классический пример: секция System Design. Это стандарт де-факто в бигтехе и крупных аутсорсерах. Мы просим кандидата спроектировать условный Uber или Instagram, обсуждаем шардирование баз данных и балансировку нагрузки. При этом человека рассматривают на роль Senior-разработчика, который ближайшие два года будет писать бизнес-логику в уже устоявшемся монолите или микросервисах. Ему никто не даст ничего проектировать с нуля. Возникает стойкое ощущение, что отделы найма просто усложняют процесс, чтобы продемонстрировать начальству свою «изобретательность» и важность, создавая искусственные барьеры там, где они не нужны.
Читать далееНе знаю как у вас, а у меня браузер позволяет иногда сохранить всю веб-страницу в этом формате для локального просмотра. И это удобнее — иметь один файл на страницу вместо html‑портянки с кучей разбросанных картинок и скриптов.
Но вообще‑то, CHM — это многостраничный формат, html‑версия и наследник стандартного файла справки HLP Windows 90-х — 00-х годов. И он может хранить в структурированном виде целый сайт или даже портал, с перекрёстными ссылками внутри.
Памятуя успешное использование локальной версии портала cppreference.com, я решил, почему бы не попробовать использовать такой же метод: упаковать доку в формате chm.
Читать далееВ последние дни внимание мировых СМИ приковано к событиям в Венесуэле. По данным издания The Wall Street Journal, в ходе одной из операций в воздушном пространстве страны было зафиксировано присутствие более 150 американских военных самолётов. Среди них находился и Boeing EA-18G Growler — реактивный самолёт, принцип действия которого заключается не в поражении людей, а в подавлении систем связи и управления противника.
Читать далееДоклады, митапы, семинары, вебинары... Привычная всем форма всех этих мероприятий — говорящая голова на фоне слайдов разной степени доступности.
Когда мы готовимся посетить очередное выступление, нас не оставляет небольшая, почти подсознательная надежда, что в этот раз всё будет по-другому, не по стандартной, давно знакомой схеме. Мы ждём, что вместо очередной полезной и практичной, но занудной лекции мы увидим и услышим что-нибудь яркое и захватывающее...
Читать далееКак только ты начинаешь углубляться в изучение баз данных, так сразу на горизонте возникают такие понятия как подзапросы, CTE, представления и временные таблицы. По опыту работы в университете заметил, что с этими темами у людей часто возникают проблемы и недопонимания. В частности больше всего путаницы вносит именно CTE.
Поэтому в этой статье я расскажу:
1. что такое CTE
2. зачем оно нужно
3. что такое рекурсивные СТЕ
4. чем СТЕ отличается от временных таблиц, представлений и подзапросов
5. как СТЕ может плохо сказаться на производительности
6. как использовать СTE в самом народном фреймворке Django
Использует SELECT со звёздочкой Макс - Lead Backend и автор YouTube-канала PyLounge. Поехали!
Читать далееКогда в продукте появляется LLM‑фича, спорить о качестве «на глаз» быстро становится дороже самой разработки: каждый новый промпт, ретривер или модель меняет поведение, а воспроизводимость улетучивается. В этой статье — прагматичный рецепт, как превратить оценку качества в инженерную процедуру: собрать небольшой датасет с фейлами, откалибровать LLM‑оценщиков под отдельные критерии и завести eval‑harness, который будет ловить регрессии при каждом изменении конфигурации.
Перейти к статьеРазработана программа с целью обучения и быстрого создания программ для управления робототехническими комплексами или электропреобразовательными установками. Программа представляет собой приложение для персонального компьютера (ПК) с операционной системой (ОС) Windows 10 и выше, разрядностью 64-бит, (версия 32-бит проверялась на Windows 7), позволяющее визуально создавать конфигурацию периферийных устройств микроконтроллеров (МК) STM8S103/STM8S105, что позволяет ускорить процесс создания “прошивки” для МК и (или) уменьшить количество ошибок при разработке. Программа по созданной визуально конфигурации, путем выбора из заданных альтернатив, ввода числовых значений и контроля правильности ввода (предупреждает об ошибках), формирует файлы проекта для программирования МК на языках C (с библиотекой SPL или программирование на уровне регистров) и Assembler (язык выбирается в настройках программы). Позволяет сохранить созданную конфигурацию в файл для использования в дальнейшем. Имеется необходимая справочная информация по МК, SPL, C упрощающая создание кода. Созданные файлы проекта можно перед отправкой в IDE редактировать в сразу этой программе.
Скачать программу Конфигуратор микроконтроллеров STM8S103/105.
Читать далееКогда вы начинаете делать UI и/или работать с текстом, вы почти сразу сталкиваетесь с проблемой: а как непосредственно задавать формат этого текста, куда подставлять данные, как прокидывать форматирование, а что делать с датами. Решение простое.
Берете язык из String.Format и жените его с Unity Inspector.
Читать далееПродолжаем знакомить читателей, молодых и немолодых специалистов в области наук о Земле, с новым перспективным стандартом работы с метаданными космической съемки, данными дистанционного зондирования Земли (ДЗЗ) и другими результатами космической деятельности (РКД).
В предыдущей статье мы рассмотрели предпосылки для рождения нового стандарта и причины его стремительного развития. Привели примеры наиболее успешного внедрения STAC в таких глобальных каталогах космических продуктов и сервисов как Microsoft Planetary Computer, Eurac Research и Copernicus Data Space Ecosystem.
Продолжим погружаться в принципы взаимодействия со STAC и его структурами данных.
Читать далее