Обновить

Все потоки

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Графический ускоритель 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.4K

Написал свой отладчик 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 мин
Охват и читатели7K

Большая часть моей профессиональной карьеры связана с 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.5K

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

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

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

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

Читать далее

А что, если у Мэри есть брат?

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

В 1982 году австралийский философ Фрэнк Джексон предложил эксперимент, который настолько парадоксальный, что его до сих пор обсуждают сторонники физикализма, дуализма и теорий сознания по всему миру. Мэри — ученный, которая всю жизнь одна живёт в чёрно‑белой комнате. Она никогда не видела ни одного цвета, но знает о цвете абсолютно всё: физику света, длины волн, устройство сетчатки, работу нейронов — вообще все научные факты, которые можно узнать из книг и экспериментов.

Однажды Мэри выходит из комнаты и впервые видит красный цвет. Именно здесь возникает вопрос, который сделал этот эксперимент знаменитым: Получила ли Мэри новое знание?

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

Если сказать, что получает, значит физического описания знания недостаточно, но возникает вопрос: что именно она получила такого, чего не содержало полное физическое описание мира? Именно поэтому спустя сорок лет эксперимент остаётся парадоксом: каждый ответ рождает новый вопрос.

Эта статья рассматривает вопрос, чтобы поменялось, если бы у Мэри был брат Питер с симметричной ситуацией, который всю жизнь жил в деревне и видел красный цвет, но ничего о нем не знает, и он впервые заходит в комнату Мэри? Узнает ли Питер что‑то новое о красном?

Читать далее

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

Mentorpiece Vacy Index август 2026: Число вакансий по тестированию AI‑приложений растет третий месяц подряд

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

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

Читать далее

Как эволюционировала сеть доступа одного района: dial‑up, ADSL, 16 узлов, ETTH и 10G

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

Я пришёл в связь 1 декабря 2006 года, когда dial‑up ещё был нормой, а ADSL только начинал разворачиваться. За следующие годы районная сеть прошла путь от модемного пула и первого DSLAM до тысяч xDSL‑подключений, распределённых узлов доступа, VPN/MPLS, IPTV, FTTB/ETTH, DWDM и 10G. Эта статья — о том, как строилась и менялась эта сеть, и о людях, которые десятилетиями хранили её эксплуатационную память.

Читать далее

Когда все тесты зелёные, а баги едут в прод

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

ИИ легко генерирует тесты, которые проходят с первого раза — и именно поэтому им опасно доверять без проверки. В статье разбираем, откуда берутся «зелёные» тесты, пропускающие баги, почему покрытие мало говорит о качестве и какие подходы помогают проверять сами тесты на прочность.

Проверить тесты

vm5277: Java-синтаксис и ООП для 8-бит МК без оверхеда

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

Java-синтаксис на 8-битных микроконтроллерах? Без виртуальной машины?

Исторически в эмбеддеде правит Си. Но Си — это вечные malloc/free, утечки памяти, выходы за границы массива и дебаг с осциллографом.

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

Что под капотом:

Управление памятью: через Reference Counting (new без free и без Garbage Collector).

Полиморфизм интерфейсов: спрятан во Flash (без оверхеда в ОЗУ).

Типы данных: встроенный 16-битный примитив fixed (Q7.8) вместо тяжелого float.

Оптимизация: тотальный Dead Code Elimination (в прошивку идет только то, что реально вызвано).

Проект в стадии суровой Альфы. Код открыт на GitHub, десятки примеров (от мигания диодом до драйверов периферии).

Читать далее

Утёкшие горутины теперь ищет сборщик мусора. Проверил, где он молчит

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

В Go 1.27 профиль goroutineleak вышел из эксперимента: рантайм научился доказывать, что горутину уже некому разбудить. Собрал тулчейн из исходников, прогнал десяток программ и замерил, что детектор находит, где он молчит и во что обходится вызов.

Читать далее

Yandex BareMetal: организовать доступ к KVM и ничего не сломать

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

Плохо настроенные доступы к инфраструктуре могут стать причиной необратимых инцидентов: были случаи, когда буквально несколько обнаруженных сканером устройств BMC позволили скомпрометировать целое облако с 25 тыс. хостов.

Меня зовут Павел Пушкарёв, я разработчик сервиса по аренде выделенных серверов Yandex BareMetal. Мы с коллегами из Yandex Infrastructure создавали его для пользователей Yandex Cloud, опираясь на накопленный в Яндексе опыт работы с железом, и максимально переиспользовали лучшие практики. 

Читать далее

Миллион частиц на iPhone: строим аттрактор Лоренца на GPU с Metal

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

Привет! Я Максим Савченко, iOS-разработчик. Эта история началась с вопроса, как сделать живую форму в духе иконки Siri — и довольно быстро уехала в другую сторону: аттрактор Лоренца на сотнях тысяч, а потом и на миллионе частиц, где и расчёт, и отрисовка живут на GPU.

Вся схема держится на одной идее: состояние частиц на CPU больше не возвращается. Compute-шейдер читает один буфер, пишет в другой, render-pass сразу рисует результат, на следующем кадре буферы меняются местами.

В статье разбираю это по шагам: математика и выбор интегратора, ping-pong-буферы, compute/render-пайплайн, point primitives и additive blending. А в конце — GPU Frame Capture и замеры на физическом iPhone. Спойлер, который я сам не ожидал: RK4 в этой конфигурации оказался далеко не самым дорогим местом. Основная цена ушла в отрисовку и overdraw.

Если коротко: это не гайд «как нарисовать красивую картинку», а разбор того, зачем вообще лезть в Metal и где кадр упирается на реальном устройстве.

Читать далее