Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

«Зачем платформа, если есть Kafka?» Отвечаю честно, включая ту часть, где вы правы

Время на прочтение21 мин
Охват и читатели6.7K

Привет, Хабр! Меня зовут Виктор Овчинников, я руковожу продуктовым направлением «Интеграционная платформа» в «Диасофт». Той самой Digital Q.Integration, которую вы имеете полное право не покупать.

Под каждой моей статьей появляется один и тот же комментарий. Слова разные, смысл один: зачем вообще нужна интеграционная платформа, если есть Kafka, брокер сообщений? Один сервис положил сообщение, второй забрал. В чем, собственно, проблема?

Раньше я отвечал в комментариях каждому, потом понял, что проще ответить сразу всем. И заодно признать неприятное: в изрядной части случаев этот комментарий справедлив. Хорошая новость в том, что за годы разговоров с коллегами из других компаний у меня накопилась приличная коллекция возражений против меня самого. Это архитекторы, аналитики, руководители разработки — люди, которые платформу не продают. Часть этих разговоров я тут перескажу, кое‑где даже дословно.

Дальше будет про то, где проходит граница между брокером и платформой, почему ее так трудно нащупать, почему настоящая причина «самописа» вообще не техническая и что во всей этой истории изменил ИИ. По последнему пункту спойлер: ничего хорошего.

Читать далее

Может ли ИИ самостоятельно разобраться в проекте Siemens TIA Portal? Опыт разработки OpennessLLM

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.4K

Когда я только начал применять языковые модели в работе с TIA Portal, всё выглядело довольно привычно. Копируешь в чат фрагмент SCL-кода, описываешь задачу, получаешь объяснение или готовую функцию. Иногда результат можно использовать почти без изменений, иногда приходится долго уточнять контекст.

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

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

Чтобы получить полезный ответ, приходится вручную искать связанные блоки, копировать их в чат, объяснять структуру проекта, передавать сообщения компилятора, а затем снова возвращаться в TIA Portal за очередным фрагментом информации.

В какой-то момент у меня возник простой вопрос: почему модель вообще должна ждать, пока я принесу ей очередной блок? Можно ли дать ей возможность самостоятельно изучить проект TIA Portal, найти нужный код, проверить свои предположения и подготовить изменения?

Так появился OpennessLLM.

Читать далее

Проекты внедрения ИИ‑агентов. Есть ли отличия от «классических» проектов автоматизации и организационных изменений?

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели6.4K

Здравствуй, Хабр!

Давно хотел поделиться своими мыслями и изысканиями на тему: «Чем внедрение ИИ‑агентов в бизнесс‑процессы организаций отличается от всего, что мы привыкли делать раньше, внедряя информационные системы».

И вот, когда индекс ИИ‑хайпа от @anti_agi вышел на плато, а Билл Гейтс сообщает нам, что мы не готовы к эпохе ИИ — по‑моему, самое время это сделать!

Читать далее

Обратимый процесс теплообмена между двумя брусками с разными температурами

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7K

В термодинамике большую роль играет отличие между обратимыми и необратимыми процессами. Идеальный цикл Карно включает в себя обратимый изотермический процесс превращения теплоты в работу. Его возможность обеспечивается тем, что предполагается бесконечно малая разность температур между источником теплоты и рабочим телом. С другой стороны, теплообмен между двумя телами с разными температурами является необратимым процессом, что подчеркивается во всех учебниках термодинамики. В этом случае переход к медленному процессу при стремлении времени к бесконечности не помогает, процесс остается необратимым. Энтропия системы, состоящей из двух тел с разными температурами, по мере передачи теплоты возрастает.

В. А. Зорич в книге ‘Математические аспекты классической термодинамики‘ предложил задачу, которая показывает, как при сохранении формулировки Клаузиуса 'Теплота не может переходить само собой (без компенсации) от более холодного тела к более тёплому' можно провести обратимый теплообмен между двумя брусками с разными температурами. Никогда не предполагал, что такое возможно. Конечно, предложенный процесс невозможен практически, но предлагаемая концептуальная модель дает новый взгляд на теплообмен.

Читать далее

Ваш исполняемый файл — это база данных SQLite

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели13K

Последние несколько лет я, похоже, одержим двумя темами: а) Nix в качестве инструмента для исследования новаторских идей, требующих возможностей перестройки мира; б) замена ELF на SQLite в качестве формата исполняемых файлов. Возможно, вы заметили, что эти две идеи хорошо сочетаются друг с другом.

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

Одним из результатов этого исследования стал инструмент sqlelf, позволяющий декларативно исследовать файл ELF при помощи SQL. [Я написал статью arXiv:2405.03883, которую мне не удалось опубликовать]. SELECT name FROM elf_symbols вместо возни с readelf и grep. Это оказалось на удивление просто благодаря использованию виртуальных таблиц для ELF, однако мне всё равно было интересно исследовать формат файлов ELF. Но всё же я понимал, что можно сделать нечто гораздо большее.

Меня всё не покидала эта мысль, а в свете прогресса LLM мне показалась привлекательной идея исследовать эту тему глубже. В частности, мне было любопытно, что будет, если мы заменим ELF на SQLite в качестве формата исполняемых файлов?

Не просто «база данных, описывающая исполняемый файл», а реальный файл, с которым можно сделать chmod +x и запустить его.

Читать далее

Неочевидное влияние искусственного интеллекта на интеллект людей

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели6.9K

Не раз был свидетелем того, как малый ребёнок 2–3 лет играет в смартфоне, а родитель рядом беззаботно занимается своими делами. Говорить о том, что такой ребёнок с высокой вероятностью будет испытывать проблемы со зрением, обучаемостью, мышлением не буду — это индивидуально. Прямо сейчас наблюдаю проблему, по моему мнению, более глобальную и серьёзную.

Ещё совсем недавно модели искусственного интеллекта с трудом писали складной текст. А совсем недавно выпуск одной из последних версий был отложен из‑за угрозы компьютерной безопасности банков США. Но буквально за несколько месяцев он (ИИ) стал настолько хорош, что людей стали увольнять тысячами: программистов, дизайнеров, секретарей, писателей, переводчиков и многих других. То, что заменяет человека в ряде отраслей занятости. А те, кто остаются или остались, сетуют на то, что работа перестала быть творческой и приносить наслаждение.

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

Какое же при этом влияние оказывает искусственный интеллект на ментальную сферу?

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

Участников разделили на три группы. Одна использовала искусственный интеллект в качестве помощника, другая использовала поисковую систему, а третья — только свои умственные возможности.

Читать далее

Майнинг по‑тихому: 4 млн в год. Как все устроено. Налог на майнинг в России

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели12K

Реально ли майнить в плюс в России? На чем майнят биткоин в 2026 году?
Белый майнинг — невыгодная схема для наивных или рабочая математика?

Реальный кейс, подробные расчеты.

Читать далее

Регрессивные JPEG

Время на прочтение4 мин
Охват и читатели7.1K

Одно из удобных свойств файлов JPEG заключается в том, что в них можно опционально сохранять первыми низкочастотные компоненты. Это означает, что частично скачанное изображение будет отображаться в низком разрешении, а не обрезаться снизу.

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

FF DA - Маркер "начало скана"

00 0C - Поле длины в big endian (12 байт); включает и свою длину

03 - Количество каналов в скане (3)

01 - Глобальный id первого включённого канала

00 - Индекс 1 таблицы Хаффмана (DC: 0, AC: 0)

02 - Глобальный id второго включённого канала

10 - Индекс 2 таблицы Хаффмана (DC: 1, AC: 0)

03 - Глобальный id третьего включённого канала

10 - Индекс 2 таблицы Хаффмана (DC: 0, AC: 0)

00 - Начальный коэффициент DCT (DC)

00 - Конечный коэффициент DCT (тоже DC)

01 - Точность: половинная, предыдущие данные отсутствуют.

f8ad 512d d3f1 cd96 - Зашифрованные кодом Хаффмана коэффициенты DCT

bcb0 58df 53d5 5d97 [...и так далее]

В него включён самый низкочастотный коэффициент (DC-компонент) преобразования Фурье для всех трёх цветовых каналов.

В качестве трёх цветовых каналов вместо привычного RGB используется YCbCr. Яркость (Luminance, Y) отделена, потому что должна иметь высокое качество, а цвета можно передавать кое-как и они всё равно будут выглядеть неплохо.

Читать далее

Анимации в терминале — это сложно (иногда)

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели6.8K

Не так давно я на ровном месте занялся написанием библиотеки на Go (spinq) для, казалось бы, тривиальной задачи — спиннера, который гарантированно не будет ломаться при конкурентных записях в stderr и stdout.

Все началось с того, что я писал вообще другой код — консольную утилиту для запуска тестов. И захотел прикрутить туда спиннер. Но не просто спиннер, а такой, что позволил бы использовать оба потока вывода — stderr и stdout, без риска оставить артефакты на экране. Более того, во время анимации мне нужно иметь возможность показывать на экране отчеты по завершившимся тестам, не откладывая это все до конца запуска/остановки спиннера. И так уж почему‑то получилось (спойлер: потому что не слишком просто, иногда совсем невозможно и мало кому нужно), что я не смог найти библиотеку, которая бы мне подошла.

Читать далее

Вставай, Василий: как мы отобрали у пульта право поднимать гуманоида

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели6.6K

Может ли робот встать по голосовой команде, если производитель это запретил?

Гуманоид Walker Tienkung поднимается на ноги только с физического пульта: короткое нажатие кнопки будит моторы и проводит самодиагностику, а длинное — ровно секунда удержания — поднимает из нулевой позы в стойку. Мы решили отдать весь этот путь голосу и быстро упёрлись в проблему: наши программные «нажатия» система молча игнорировала, а переход «встать» оказался заблокирован намеренно — команда принималась без ошибки, но робот не реагировал.

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

Читать далее

Юридическому отделу тоже нужен Service Desk. Но никто в этом не признаётся

Время на прочтение3 мин
Охват и читатели5.3K

Для ИТ-департамента управлять заявками в единой системе — привычная история. Service Desk помогает обрабатывать обращения, расставлять приоритеты и соблюдать SLA. Но поток запросов есть не только в ИТ. В юридический отдел также приходят заявки: через почту, мессенджеры, звонки и личные обращения. Но для них чаще всего используют ручную маршрутизацию. Часть задач теряется, дублируется или зависает, а руководителю приходится восстанавливать общую картину вручную.

Читать далее

Встречаем RTX PRO 6000 BSE: достойная ли это альтернатива H100 NVL по производительности, качеству и цене

Время на прочтение10 мин
Охват и читатели9.2K

Графический ускоритель NVIDIA RTX PRO 6000 Blackwell Server Edition в сравнении с более распространенными H100 интересен прежде всего аппаратной поддержкой NVFP4 — четырехбитного формата весов с двухуровневым масштабированием, представленного в 2025 году. Как переход моделей на NVFP4-квантизацию влияет на производительность? Что и при каких профилях нагрузки с учетом этого перехода окажется предпочтительней — ускоритель нового семейства Blackwell или старый знакомый H100?

Меня зовут Алексей, я инженер по разработке ПО искусственного интеллекта в YADRO. В ходе статьи я получу подробные ответы на эти вопросы, а помогут в этом YADRO G4208P G3 — производительные серверы для задач ИИ, машинного обучения и глубокой аналитики. В один такой сервер я установлю четыре RTX PRO 6000, в другой — восемь H100 NVL. Оценивать буду на моделях различного размера и архитектуры: Qwen3.6-27B (dense), Qwen3.6-35B-A3B (MoE) в форматах FP8 и NVFP4, а также DeepSeek-V4-Flash в форматах Mixed FP4 и NVFP4. Использую vLLM в сценариях offline и server — vLLM 0.23.0 для Qwen, vLLM 0.26 для DeepSeek-V4-Flash — а также Docker-image на основе nvidia/cuda:13.2.0-cudnndevel-ubuntu22.04.

Читать далее

Мои впечатления о WAIC 2026: роботы, AI for Science и китайский взгляд на будущее ИИ

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.9K

Привет, Хабр! Меня зовут Алена, я занимаюсь исследованиями в области искусственного интеллекта и геномики в AIRI. В июле мне удалось побывать на World Artificial Intelligence Conference 2026 в Шанхае — одной из крупнейших мировых площадок, объединяющих научные исследования, индустриальные разработки и самые разные практические применения ИИ. Поездка оставила множество впечатлений, которым хочу с вами поделиться.

Читать далее

Ближайшие события

Modbus Connector: как я написал свой отладчик Modbus-шины, потому что существующие меня не устроили

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели9.3K

Написал свой отладчик Modbus-шины — Modbus Connector. Существующие инструменты не устроили: одни умеют только master, другие живут только в Windows, третьи платные, а я работаю на macOS.

Три режима в одной программе: master, slave, sniffer

Плюс живые графики, алармы со звуком, сканер адресов, snapshot diff «было/стало», лог в CSV/JSONL и шаблоны устройств из коробки.

Сборки под macOS / Windows / Linux. Код открытый (MIT)

Читать далее

PRACT-120 — бенчмарк для оценки ИИ‑чатов

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.4K

Когда выбираешь ИИ‑чат для работы, многие первым делом открывают таблицы бенчмарков: MMLU, GPQA, HumanEval, LMSYS Arena. Цифры полезные. Результаты в них отвечают на вопрос, насколько сильна сама модель этого чата, но ни один из этих тестов не показывает, насколько силен чат в целом, ведь чат — это не просто модель. Чат это гораздо больше — совокупность инструментов, обвязка, поиск в интернете, память и контекст чата, и многое другое, собственно, то самое из‑за чего люди и выбирают тот или иной чат для работы или жизни.

Так вот, практически ни один из бенчмарков выше не отвечает на вопрос, что получит человек в браузере. Получит ли он поиск по свежим источникам? Загрузку PDF и работу с ним, или хотя бы его качественный анализ? Или ответ только по закрытой базе, с цитатой страницы? Или редактирование нативного Word файла, который откроется у юриста? Может быть Excel с живыми формулами, который откроется у финансиста, и будет ли он отредактирован?

Читать далее

Как я перешёл на локального агента Pi и 100+ не тупых локальных токенов в секунду или Счёты 4.0

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.5K

Год назад я делал доклад в Фонде развития Интернет‑инициатив по рискам использования облачных моделей. В тот момент полноценной замены на локальном железе не было, но за этот год мир изменился и Счёты 4.0 уже доступны каждому. Что это такое, как их бесплатно получить и научиться работать — читайте в этой статье.

Читать далее

Почему я выбрал LibGDX для разработки игр на Java в 2026 году

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.9K

Большая часть моей профессиональной карьеры связана с Java и бэкенд‑разработкой: сервисами, базами данных, интеграциями, многопоточностью и проектированием систем. Но в какой‑то момент мне снова захотелось делать продукт, результат работы которого можно увидеть не только в логах и ответах API, но и непосредственно на экране.

Так я вернулся в геймдев и начал разрабатывать собственные игровые проекты. Мне был нужен инструмент для 2D‑игры с версиями для Android и браузера, который позволил бы сохранить общий код, не прятал бы происходящее за визуальным редактором и не заставлял бы отказываться от привычной Java‑экосистемы.

В итоге я выбрал libGDX.

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

В этой статье расскажу, что именно мне дал libGDX, какую часть кода действительно удалось сделать общей и где кроссплатформенность закончилась.

Читать далее

Находки в опенсорсе: мир питона за август 2026

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели13K

Всем привет, вот и заканчивается лето :(

Мой прошлый дайджест неожиданным образом зашел, а значит - людям такое интересно. В августе было много новых интересных PEP’ов (например, PEP 805: Safe Parallel Python), которые я поревьюил, было много новых релизов, было много новых опенсорс проектов чуваков из нашего сообщества, пару интересных подкастов и множество другого интересного!

С меня как всегда статья без нейрослопа и ИИ, с вас как всегда интересные комментарии и лайки! Но немного нейрослопа я все же добавил в некоторые свои проекты. Но осторожно и с пользой для всех.

Погнали смотреть, что у нас в питоне происходило!

Читать далее

Как я перестал платить за macOS-минуты: перенос iOS-сборки с GitHub Actions на Xcode Cloud, с цифрами

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели5.6K

Одна минута macOS-раннера в GitHub Actions стоит десять минут Linux. Я перенёс iOS-сборку Flutter-приложения в Xcode Cloud: с ~45 оплачиваемых минут на релиз до 6, без .p12 и профилей в секретах, с тремя shell-скриптами вместо 90 строк YAML. Внутри — схема тегов ios/v* и android/v*, настройки Xcode Cloud, которые молча сжигают compute-часы, и таблица семи падений первого живого прогона — ни одно из них не было ошибкой миграции. Плюс чек-лист и открытый скилл, который из этого вырос.

Читать далее

Сколько страниц на SPA, или Как мы реализовали динамический краулер

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели6.4K

Всем привет! Я Владимир Гринчуков, в Positive Technologies мы с командой PT BlackBox разрабатываем сканер безопасности. На вход он получает URL приложения, а после сканирования возвращает список уязвимостей. Как и любой анализ чёрным ящиком, он работает по простому принципу: сначала собирает поверхность атаки — список всех эндпойнтов приложения, их методов и параметров, — а потом ищет на них уязвимости. Сбор поверхности — это непростая задача, в решении которой мы набили много шишек.

Компонент, который обходит приложение и фиксирует все входные точки, называется краулер — это неотъемлемая часть DAST‑инструментов. Концептуально он работает очень просто: открыть страницу, найти все ссылки, перейти по ним и повторить, пока ссылки не закончатся. Чтобы быть пригодным для сканера уязвимостей, он, помимо основной функциональности, должен ещё отвечать требованиям воспроизводимости, автономности, конечности и скорости.

Такой краулер называют статическим, и на практике его часто не хватает. 

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

Читать далее