Решил попробовать нашумевший дистрибутив Omarchy Linux и понять — за что же его все так хвалят.
И сразу столкнулся с тем, что поддержки русского языка в полной мере нет в интерфейсе. Да, локаль можно перевести и доустановить нужное, но сами меню, плагины — не имеют переключения интерфейса на русский язык.
Поэтому сначала я начал доустанавливать всё руками, а потом собрал всё в скрипты.
Читать далееПривет, Хабр! Меня зовут Антон Алексеев, я ML Ops-инженер в Авито.
В этой статье я разберу, почему существующий PaaS — отличный инструмент для веб-сервисов, но плохо подходит для ML/LLM-Inference, и с какими похожими проблемами сталкиваются крупные компании, у которых те же задачи.
Также расскажу, почему было принято решение не дорабатывать PaaS под Inference, а строить отдельную Inference-платформу на базе готового open-source ядра, и почему этот путь оказался предпочтительнее.
Читать далееAI-ревьюер для GitLab, который проверяет не отдельный merge request, а всю задачу сразу, во всех сервисах, которые она задела. И почему для этого понадобился агент, а не анализ diff через API.
Читать далееЗнаете ли вы игру в «Точки»? Это игра на тетрадном листе в клетку. Двое игроков ставят точки разных цветов на пересечениях клеток и стараются окружить точки соперника. В школе я сыграл в неё немало партий, часто выигрывал и радовался, когда попадался сильный противник.
После универа я начал работать разработчиком и хотел запрограммировать алгоритм для игры в «Точки», но у меня не получилось. Тогда стал смотреть в сторону обучения нейросети, но не знал, с чего начать. Я понимал, что для обучения нейросети нужно огромное количество сыгранных партий, и не понимал, где мне их взять.
Потом я узнал про нейросети для игры в Го, которые генерируют данные для обучения, играя множество партий сами с собой. Решил попробовать такой же подход для «Точек». Обучил нейросеть и сделал небольшое приложение, в котором с ней можно сыграть. Теперь на поле 20×20 она меня обыгрывает.
Когда понял, что нейросеть уже неплохо играет, подумал: почему бы не выложить игру в Steam? И выложил — Just Dots. Я ещё не сделал всё запланированное, но уже можно скачать демо (бесплатно), поиграть и попробовать победить ИИ.
Здесь расскажу, как я учил ИИ-соперника, как после одного из улучшений бот стал играть сильнее, а нейросеть на его партиях — учиться хуже, и почему сделать простого соперника оказалось не так-то просто.
Читать далееЯ делаю Dungeon Cult — игру про строительство и управление подземельем. Механически она растёт из Dungeon Keeper, а визуально уходит в Лавкрафта: культисты, глубоководные, щупальца, живая архитектура и всё такое. Начинался проект как игра на веб‑странице, а затем переехал в Unreal Engine 5. Расскажу, как попытка сделать одного рабочего гуля превратилась в конвейер 3D‑персонажей с ИИ‑агентами.
Читать далееПутём byte-matching декомпиляции был реконструирован исходный код на Delphi 2007 для игры Космические Рейнджеры HD: Революция. Он собирается в исполняемый файл, идентичный оригинальному, т. е. по определению сохраняет всё поведение игры. Это не официальный релиз исходников, а реконструкция — практически все внутренние символы в коде (переменные, функции) имеют новые названия.
Размер кодовой базы: примерно 230 тысяч строк Delphi Pascal, и чуть больше тысячи строк оригинальных ассемблерных вставок на x86.
Дополнительно доступны:
Привет, Хабр!
Меня зовут Илья, я работаю в Группе Rubytech в департаменте информационной безопасности, и в этой статье расскажу, как мы сильно упростили себе жизнь, сделав сброс пароля мультиплатформенным. Если вы вдруг в вашей компании планируете что-то подобное — вам пригодится. А если просто интересно, как все это устроено — добро пожаловать под кат.
Читать далееГод назад мы с другом делали интернет‑магазин для его девушки. Она модель, и у неё была совместная линейка одежды с одним брендом. Нужны были каталог, лукбук, страница о ней и промо‑баннеры под каждую новую коллекцию. Каталог сделали на WooCommerce, а главную, лукбук и баннеры я сверстал в Elementor. Чтобы было быстрее, вставил вёрстку в HTML‑виджеты, подогнал стили, и всё выглядело ровно так, как задумывали. Передал доступы и забыл.
Через пару недель она пишет: «кажется, я сломала сайт». Выходила новая коллекция, она хотела поменять текст на баннере, открыла виджет, увидела там кучу div‑ов и аккуратно поправила пару строк. Заодно случайно стёрла один закрывающий тег. Половина главной съехала, подвал оказался посреди лукбука.
Винить её не за что. Elementor мы и выбрали для того, чтобы она меняла баннеры и тексты сама, мышкой, без нас. А я отдал ей конструктор, внутри которого лежит обычный HTML. Формально это Elementor, а по сути та же ручная вёрстка.
Читать далееПривет! На связи Boost for Java. Развиваем DBML Diagram — open source плагин для IntelliJ IDEA и других совместимых IDE на платформе IntelliJ. Он строит ER-диаграмму рядом с открытым .dbml-файлом: меняете описание таблиц и связей — превью обновляется прямо в редакторе. Построение диаграммы работает локально, без отправки схемы во внешний сервис.
В этой статье покажем возможности версии 0.1.0, пользу работы со схемами прямо в IntelliJ IDEA и устройство плагина. Отдельно расскажем о планах интеграции с dbdiagram.io для публикации локальных изменений в общую схему.
Проект открыт: будем рады предложениям, примерам проблемных схем и участию в разработке.
Плагин в JetBrains Marketplace · Исходный код на GitHub
Читать далееМногие слышали об оптоволокне и знают, что оно представляет собой магистральные каналы передачи данных (если хотите разобраться, как работает оптоволокно, вот отличный ликбез). По отповолокнам, проложенным по дну океанов, ежедневно прокачиваются Зетабайты гифок с котиками и AI слопа, а вероятность передать бит с ошибкой держиться на уровне 10^-10, т.е. один ошибочный бит (даже не байт) на 1 Гб данных. Естественно потребность в высокой скорости соединения неулонно растёт и для оптоволокна повился свой аналог закона Мура, гласящий, что скорость передачи удесеряется каждые 4 года. В этом цикле статей мы поговорим о том, есть ли предел скорости передачи данных для оптоволокна, попробуем его оценить и можно ли этот предел достигнуть на практике.
Читать далееИИ-агент может получить имя, роль и доступ к рабочим каналам. Но чем больше он похож на коллегу, тем легче забыть, что его результат нужно проверять. Разбираемся, как компании встраивают агентов в работу и где возникают риски.
Имя в Slack, собственная роль в команде и задачи, которые агент выполняет без постоянных напоминаний. ИИ-системы постепенно переходят из режима помощника в роль цифрового сотрудника. Это меняет не только способ делегировать задачи, но и то, как люди проверяют результат и распределяют ответственность.
Читать далееРаньше ботов писали руками на Python или других языках. Но многие пользователи не были профессиональными разработчиками, и для них появились специальные Nocode конструкторы ботов. Проблемой No/Lowcode конструкторов является жесткая структура, ограничивающая вариативность создаваемого приложения. Все изменилось с появлением нейросетей. LLM позволяют написать бота буквально в один промпт, причем сделать его именно таким, каким хочет пользователь, без рамок и ограничений классического SaaS-конструктора.
В статье я расскажу о нашем решении класса AI App Builder, которое имеет специальный режим создания ботов.
Читать далееВ июле агенты OpenAI вышли из тестовой песочницы, добрались до интернета и взломали инфраструктуру Hugging Face. Никто из сотрудников им этого не поручал. Агенты решали тренировочные задачи и пришли к выводу, что ответы проще найти у Hugging Face, чем вывести самим.
29 сентября некоммерческая организация Legal Advocates for Safe Science and Technology (LASST) подала против OpenAI иск в Высший суд Сан-Франциско. Это первый иск, в котором компанию пытаются привлечь к ответственности за действия её автономных агентов. Позиция истца простая: разработчик не может уйти от последствий, сказав, что «это сделал ИИ».
Под катом: что известно об инциденте, чего требует истец, насколько убедителен аргумент «агент действовал сам» и что из этой истории стоит вынести тем, кто запускает агентов у себя.
Читать далееОткрытое ядро поддерживает семейство процессоров Эльбрус: e4c, e8c, e1c+, e8c2, e12c, e16c, e2c3 и e8v7.
Обновление в архитектурно-зависимой части включает в себя:
В состав драйверов вошли улучшения подсистем IOMMU, I2C/I3C, GPIO, I2S, QDMA, SMI, Hantro, VC9000D, IMGtec и др.
Скачать можно на сайте для разработчиков в разделе «Загрузки»: https://dev.mcst.ru/download/.
Также доступны для скачивания исходные тексты ядра Linux 5.10, компилятор и кросс-компилятор lcc-1.31.05.
Думаю, многие инди‑разработчики сталкивались с ситуацией: делая небольшую игру в Godot, вам хотелось просто взять кисточку и нарисовать грязь, мох или потёртости прямо поверх 3D‑модели в самом редакторе движка. Нужно добавить немного грязи по краям — и начинается: уходим в Blender / 3D Coat / тяжёлый Substance Painter, текстурируем, печём маски, экспортируем, возвращаем в движок, смотрим во вьюпорте, находим косяк, повторяем. Для продакшен‑ассета это нормальный пайплайн, для прототипа или маленькой инди‑игры — непомерно дорого по времени.
К тому же, мне посчастливилось (или не очень) быть обладателем довольно‑таки старенького ПК прямиком из 2008 года, а это, на минутку, Core 2 Duo E8400, 6 GB RAM DDR2 (расширенные из 2 GB, потому что иначе выжить невозможно, хах), ATI Radeon HD Series 4600. Использование таких программ, как Substance, для меня невозможно в принципе (если только не ковырять какие‑то совсем древние версия, в работоспособности которых с данной конфигурацией я тоже не уверен), Blender выше версии 2.79 открывается только с программной эмуляцией Mesa3D, что делает его непригодным для комфортного использования.
В итоге мой арсенал — Cinema 4D R21, 3DS Max для особых случаев, Blender с костылями — только на крайний случай в качестве комбайна.
Также проблема в том, что версии Godot выше 4.4.1 я не могу запускать физически — новые сборки требуют поддержки от процессора инструкций AVX (и, вероятно, SSE4.2), коих у меня нету, а существующие решения для Godot часто либо предназначены для новых версий Godot (4.5/4.6+), либо слишком громоздки, либо вовсе сломаны (как VPainter, оставшийся в эпохе Godot 3).
Читать далее...Каждый день я почти с религиозным постоянством отправляюсь на долгую прогулку в ближайший парк. Там множество разных видов деревьев, весной постоянно сменяют друг друга ароматные цветы, а воздух наполнен энергичным птичьим пением. Но обычно на этом чувственные впечатления и заканчиваются. Как бы сильно я ни испачкал обувь, домой я, как правило, возвращаюсь с чистыми руками.
Однако исследования показывают, что, возможно, стоит протянуть руку и прикоснуться к деревьям, кустарникам и почве, мимо которых я обычно прохожу. Мира Грёнроос, эколог и исследователь влияния природы на здоровье из Финского института окружающей среды, в рамках эксперимента просила людей в течение 20 секунд растирать руками почву, торф и мох. Она обнаружила, что количество и разнообразие микробов на их коже увеличивалось даже после того, как участники ополаскивали руки водопроводной водой. «Невооружённым глазом руки выглядели чистыми, — говорит она, — но изменения были огромными».
Мысль о том, что на нашей коже станет больше бактерий, может показаться не слишком привлекательной. Но когда рядом живёт богатое разнообразие микроорганизмов, они сдерживают друг друга и помогают защищать нас от более опасных, патогенных бактерий. Всё больше исследований показывает, что контакт с природными материалами, такими как почва и растения, — простой способ увеличить микробное разнообразие кожи, причём это полезно не только для самой кожи, но и для иммунной системы.
Двадцать секунд — совсем недолго. Я вполне мог бы во время прогулки остановиться и прикоснуться к коре дерева или присесть на траву. Однако, по словам Грёнроос, чем дольше контакт, тем лучше: в её эксперименте «микробиота кожи очень быстро возвращалась примерно к тому состоянию, в котором находилась до этого». Результаты позволяют предположить, что длительный или частый контакт кожи с природой способен заметно изменить процессы, происходящие на нашей коже и внутри организма.
Читать далееДолгое время мне казалось, что сильное дизайн‑решение должно говорить само за себя. Если сценарий логичный, интерфейс понятный, состояния продуманы, а решение опирается на исследования — зачем дополнительно его «продавать»? Но когда я оказалась в продуктовой команде, а не на проектах фриланса, оказалось, что качество самого макета — только часть задачи.
Вторая часть — объяснить команде, почему решение выглядит именно так, какую проблему оно решает и что произойдёт, если сделать иначе.
И для меня здесь есть несколько важных выводов.
Читать далееК сожалению, история нашего вида наполнена множеством трагических событий глобального масштаба: войны, природные катаклизмы, пандемии. Одним из таких событий является пандемия чумы, названная «Черная смерть», забравшая жизни десятков миллионов людей в Европе в период с 1346 по 1353 год. Однако, эти несколько лет являются лишь пиком распространения чумы. Повторные вспышки продолжались вплоть до XIX века. Ученые из Эстонского научного агентства провели масштабное исследование древних ДНК, в ходе которого была установлена хронология распространения, мутации и всплесков чумы протяженностью в 400 лет. Какие данные были использованы в анализе, что именно они показали, и как полученные сведения могут помочь в современной эпидемиологии? Ответы на эти вопросы мы найдем в докладе ученых.
Читать далееif roc_auc < 0.85: exit 1 — примерно так выглядит quality gate почти в каждом ML-пайплайне, который мне попадался. В обычном CI то же самое — количество проблем в Sonar и код выхода тестов.
Я видел, как приложение проходило весь пайплайн, выкатывалось в прод, и через 2 часа бизнес срочно требовал отката из-за неработоспособности важного функционала.
Зелёная галочка не значит «модель хорошая» — это знают, в общем-то, все. Только пайплайны почему-то до сих пор собирают так, будто никто об этом не слышал. Гейт в таком виде похож на суд, который выносит оправдательный приговор по показаниям одного свидетеля. И никто не спрашивает, откуда свидетель взял свою цифру.
Дальше семь способов, которыми гейт пропускает брак в прод. Там будет и утечка между train и test, и старый добрый || true в .gitlab-ci.yml. По каждому посмотрим реальный кейс с цифрами.
Читать далееПоговорим о процессе, когда разработкой полностью занимается ИИ. Постараемся разобраться как перемещается ограничение системы при полной автоматизации конкретных этапов. Мы не будем разбираться как лучше, мы попробуем рассмотреть разные варианты использования агентных систем, не углубляясь в детали самой разработки. Только процессы. Только ограничения. Только разработка.
Читать далее