Обновить

Все потоки

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

Как быстро собрать полезный инструмент: транскрибатор видео с помощью вайб‑кодинга

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

После рабочих встреч часто остаются записи. В моем случае это записи Яндекс Телемоста.

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

У меня часто бывает такой сценарий: нужно передать программисту контекст по задаче. Можно скинуть запись встречи и написать: «посмотри, пожалуйста». Но человеку придется самому смотреть видео, искать важные места, понимать, где обсуждение, где решение, где задача.

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

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

Первую рабочую версию получилось собрать через Codex примерно за 30 минут.

Читать далее

Два в одном: шумоподавление и дереверберация в реальном времени

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

Привет, Хабр! Меня зовут Захар Кондауров. Сегодня я хочу поделиться опытом разработки легковесной real-time модели шумоподавления и дереверберации, над которой я работал в рамках проектов Инженерно-математической школы НИУ ВШЭ и VK под руководством Ивана Бескровного, руководителя команды звуковых технологий VK Видео.

Большинство исследований в speech enhancement часто ограничиваются только шумоподавлением, хотя современные архитектуры потенциально позволяют решать более продвинутые задачи, например, совместное шумоподавление и дереверберацию. Это обусловлено тем, что бенчмарков, ориентированных на шумоподавление, значительно больше, чем на другие искажения аудиосигнала, как и моделей для сравнения. Кроме того, далеко не все решения обучены на full-band аудио с частотой дискретизации 48 кГц, в основном только на 16 кГц — это сильно уменьшает диапазон частот в аудиосигнале.

Модель, которая одновременно подавляет шум и выполняет дереверберацию для full-band аудио, позволит устройствам с ограниченным количеством ресурсов обрабатывать речевой сигнал локально, уменьшая нагрузку на серверы и задержку ответа системы. Зачастую задачи шумоподавления и дереверберации решают последовательно разными нейронными сетями. Универсальная модель уменьшит количество используемой памяти и время обработки сигнала.

Перейдем к эксперименту

Iron Core. Часть 3: Бессмертная командная строка

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

Публикуем перевод третьей статьи из серии (первая часть, вторая), посвящённой информационным технологиям в авиаперевозках. Сегодня поговорим о режиме командной строки системы Amadeus, работа в которой опирается на язык, созданный для телетайпов. Этот язык до сих пор обеспечивает огромный процент бронирований билетов во всём мире — как тех, что выполняются различными агентствами, так и тех, что делаются посредством GDS.

Читать далее

Диалоговые потоки в агентном ИИ: чему нас научила эксплуатация таких систем в промышленном масштабе

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

Недавно CrewAI представила экспериментальную возможность Conversational Flows как способ найти баланс между детерминированной логикой и рассуждением на основе ИИ в агентных системах. Это действительно важная архитектурная задача. Хочу поделиться тем, чему мы научились, создавая и эксплуатируя именно такие системы в промышленной среде — для корпоративных заказчиков из банковского сектора, телекома и других строго регулируемых отраслей.

Читать далее

Галактика Трансформера

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

На Хабре уже опубликовано достаточно материалов о необходимости контроля и ограничения ИИ-моделей (alignment!). У широкой публики чувство тревожности от этих призывов уже притупилось. Тем острее была моя реакция на публикацию Станислава Львовского «Они говорящие» в сетевом журнале «Дискурс»

Позвольте представить автора, тем более, что за его творчеством я слежу много лет. Мне Станислав Львовский был известен прежде всего как литработник — поэт, переводчик поэзии, прозаик, критик. Многие его помнят в качестве сетевого журналиста, шеф-редактора порталов OpenSpace и Colta. Не все знают, что Станислав Львовский — серьезный исследователь (магистратура в Шанинке и докторская степень в Оксфорде). Никакие регалии ничего не гарантируют, но для меня репутация автора создает повышенные ожидания от чтения его текстов, в отличие от блогеров, подкастеров, ютуберов с многомиллионной аудиторией. Кроме прочего Станислав Львовский одним из первых начал эксперименты с ИИ-моделями, включая MidJourney и Suno, оставляя следы этого своего трипа в разных сетевых изданиях, а хронику этих публикаций в социальных сетях.

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

Статья появилась после выступления Львовского 15 мая 2026 года с примерно этим текстом в лондонском книжном магазине Idiot Books. В анонсе этого выступления было сказано: «AI — самое важное, что случилось с культурой после появления письменности». 

Читать далее

Книга: «Black Hat Bash. Нестандартные решения для хакеров и пентестеров»

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

Привет, Хаброжители! Я хочу рассказать вам о новинке издательства Spint Book.

Дистрибуция вредоносных пакетов

В системах Linux используются такие установщики пакетов, как DEB (Debian) и RPM, в зависимости от дистрибутива. Эти установщики интересны тем, что позволяют упаковать собственные файлы, и, если вам удастся убедить кого-то установить разработанный вами вредоносный пакет, вы сможете встроить бэкдор в целевую систему. В следующих разделах мы рассмотрим систему упаковки DEB, а затем создадим пакеты, содержащие вредоносный код.

Обратите внимание: при установке ПО в Linux по умолчанию требуются root-привилегии; обычный пользователь не может выполнять команды, такие как dpkg -i имя_пакета или rpm -i имя_пакета, если только ему явно не предоставлены повышенные права на данные утилиты.

Читать далее

Моды к компьютерным играм: творчество или нарушение

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

В 2016 году разработчик под псевдонимом DoctorM64 выпустил AM2R — фанатский ремейк Metroid II для Game Boy, над которым работал девять лет. Через сутки после релиза он получил официальное уведомление от Nintendo о нарушении авторских прав и был вынужден закрыть загрузку​. Nintendo направила более 500 аналогичных уведомлений о прекращении нарушений​. При этом другие крупные издатели — Bethesda, Valve, Paradox — не только терпят моды, но и создают для них инструменты.

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

Читать далее

Гарантия кончилась вчера, а сервер сгорел сегодня

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

Считаем, сколько компании теряют на просроченной поддержке, и при чём тут штрафы 152-ФЗ — от 3 до 15 млн ₽, а при повторе до 500 млн.

Читать далее

Если я в чем‑то и опытнее всех, так это в активном поиске работы

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

В свое время я выбрал не самую востребованную специальность.

И когда я слышал, что другим пишут надоедливые рекрутеры, я удивлялся и не верил.

Сейчас, спустя годы, и ко мне рекрутеры иногда сами выходят на связь (ничего себе). Но тогда, в начале, работу я не выбирал, а выцарапывал. В то время я довольно быстро закрыл глаза на качество откликов и включил количество.

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

Читать далее

Low-code IT-экосистема для управления розничной сетью. Часть 1

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

Розничная сеть нередко растёт быстрее, чем её управляемость. Чем больше торговых точек и сотрудников, тем сложнее понимать, в каком статусе задача, кто за неё отвечает и как контролировать исполнение. Поэтому в какой-то момент фрагментированной автоматизации становится недостаточно, требуется единая ИТ-инфраструктура. В этой статье разбираем опыт крупной торгово-производственной компании. 

Читать далее

Modbus-датчик от подключения до Grafana без написания кода — только конфиги

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

Типичная история при работе с промышленными датчиками выглядит примерно так. Есть RS485- датчик, нашли документацию с картой регистров. Написали Python-скрипт, который раз в 10 секунд опрашивает Modbus, парсит регистры и пишет строчку в CSV. Через неделю скрипт падает — оказывается, что порт занят другим процессом, или systemd не поднял его после перезагрузки, или датчик не ответил три раза подряд и скрипт завис в ожидании. Чиним, причесываем, добавляем watchdog. Потом понимаем, что CSV — плохая идея и надо куда-то писать данные нормально. Этот путь знаком многим в промышленной инженерии, но есть и другой. 

Читать далее

Борис Чёрный: уроженец Одессы и создатель Claude Code

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

Бориса Чёрного эвакуировали в США совсем маленьким, примерно в четыре годика. В этом смысле он немного похож на Брина, которого увезли из Москвы в шестилетнем возрасте. Обе семьи бежали от нищеты, чтобы обеспечить детям надежду на светлое будущее в стране, где реально каждый талантливый паренёк может своим умом заработать миллион или миллиард долларов.

Читать далее

Голь на выдумку хитра

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

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

Читать далее

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

Попробуйте решить кроссворд и выиграть мерч Selectel. Третья рубрика открыта

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

Привет, Хабр! На связи команда Selectel. Старожилы наверняка помнят ИT-кроссворд, который мы проводили в 2023 и 2024 годах. Тогда в течение нескольких дней вы отвечали на сотни вопросов и боролись за призы. Пришло время повторить онлайн-соревнование и провести третий сезон ИТ-кроссворда.

Все вопросы в этом году объединены одной темой — AI и ML. Но не переживайте, если не разбираетесь глубоко в этих направлениях: задания будут разной сложности, а каждая рубрика посвящена отдельной подтеме. В этот раз вас ждут более 100 вопросов о моделях ИИ, истории AI и ML, безопасности и железе для ML-инфраструктуры.

Под катом — краткие правила участия и вопросы к третьей рубрике. Знатоки, которые наберут за ответы наибольшее количество баллов, получат эксклюзивный мерч Selectel и бонусы на аренду серверов.

Читать далее

GigaChat 3.5 — меньше, быстрее, сильнее

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

Салют, Хабр!

Сегодня мы выкладываем в open source GigaChat 3.5 Ultra — нашу новую 432B-модель. В этом релизе мы впервые для нашей линейки масштабировали собственную гибридную архитектуру на сотни миллиардов параметров, ускорили инференс и усилили модель в коде, агентных сценариях и сложных областях.

GigaChat 3.5 Ultra компактнее прошлого флагмана: 432 млрд параметров вместо 700 млрд у GigaChat 3.1 Ultra. Но это не компромисс «меньше, зато дешевле»: за счёт новых данных, обновлённого рецепта обучения и архитектурных изменений модель стала сильнее, а также эффективнее по памяти и скорости генерации.

Интересно? Добро пожаловать под кат.

Читать далее

Как я делал компактную библиотеку для создания приложений с графическим интерфейсом на языке C++. Часть 3

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

Это третья статья из цикла статей о создании компактной кросс‑платформенной библиотеки для разработки приложений с графическим интерфейсом на языке C++ — Frenchie. Для тех, кто привык изучать исходный код самостоятельно, репозиторий с исходным кодом библиотеки можно найти по ссылке. В данном материале я продолжу рассказывать про ту часть библиотеки, которая управляет состоянием контекстного окна и отслеживает связанные с ним события.

Цель всего цикла материалов — дать представление о том, как устроены подобные проекты, начиная от открытия контекстного окна и управления его состоянием, заканчивая рисованием графических примитивов. Надеюсь, что весь цикл материалов окажется полезным как для тех, кто начинает свой путь в разработке приложений с графическим интерфейсом, так и для опытных разработчиков.

Читать далее

Точно ли здесь нужен `any`? 13 сценариев из TypeScript-код-ревью — от `unknown` до границы приложения

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

Красная волнистая линия под строкой раздражает, и самый быстрый способ её убрать — дописать any, as или !. Компилятор замолкает, сборка зеленеет, PR уходит дальше. Вот только ошибка никуда не делась: она переехала из редактора в рантайм, поближе к пользователю.

За годы ревью — чужого кода и своего — я привык читать эти три символа как сигнальную лампочку. Они почти всегда отмечают место, где тип не описан, а выключен. Иногда это осознанный и оправданный выбор. Гораздо чаще — способ не разбираться прямо сейчас, счёт за который приходит позже и другому человеку.

Поэтому на code review я задаю не привычное «как затипизировать, чтобы TypeScript замолчал», а обратный вопрос:

Что именно я здесь отключаю — и правда ли без этого нельзя?

Веду frontend-команду, много времени провожу в чужих диффах, и про any, as и ! у нас постепенно сложился небольшой свод договорённостей для review. Из него и выросла эта статья: 13 сценариев, которые складываются в один короткий фильтр. Для каждого есть пара «плохо → хорошо» и рабочий пример на TypeScript 6 — всё можно потрогать в playground (он написан на React, но сами приёмы относятся к TypeScript в целом). Разберём any и unknown, сужение и type guards, satisfies, as const, оператор ! и валидацию данных на границе.

Главная мысль:

Типы — это проверяемые обещания о данных. any, а также необоснованные as T и !, позволяют компилятору принять такое обещание без доказательства. Если тип неизвестен — это unknown и сужение; если известен, но невиден компилятору — это guard, валидация или контролируемый инвариант, а не слепое утверждение.

Читать далее

От WordPress-сайта до $220 000 в месяц: как два друга сделали сервис для музыкантов и заработали $1,8 млн

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

Когда говорят про SaaS, чаще всего представляют продукты для бизнеса: системы учета, аналитики или автоматизации бизнеса.

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

Сегодняшняя история как раз про такой проект.

Михаил и его партнер Дмитрий запустили сервис музыкальной дистрибуции для независимых артистов. За несколько лет они прошли путь от WordPress-сайта, собранного практически без понимания того, как строятся SaaS-продукты, до компании с двумя инвестиционными раундами, командой из 30 человек и выручкой около $220 000 в месяц.

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

Читать далее

Общая информация о принципе действия Joomla 6. Жизненный цикл Приложений Joomla

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

Как работает ядро Joomla 6 на уровне Приложения (Application)? Сколько видов Приложений на самом деле есть в Joomla и в чём между ними разница? Какой жизненный цикл каждого Приложения Joomla, включая роутинг, диспетчеризацию и события плагинов? На эти и другие вопросы попытается дать ответ эта статья, опирающаяся на кодовую базу Joomla 6.1.0. Также в статье хронология вызова триггеров плагинов в разных сценариях.

👉 Бонус для любопытных читателей: а вы знали, что Joomla можно использовать в качестве daemon-процесса?

Читать многотекст

Как нейроответ Яндекса выбирает источники: прогнал 60 запросов через Search API и посчитал, что как

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

Наш любимый доходяга Яндекс частенько показывает вверху выдачи готовый ответ и ссылается в нём на три‑четыре сайта. При этом по такому же запросу в обычной выдаче сотни, а то и тысячи страниц. Позвольте спросить, по какому такому принципу нейроответ отбирает из этих сотен именно те самые избранные, которые собирают весь куш? Я решил проверить свои (бестолковые) гипотезы на реальных данных.

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

Сразу про масштаб. Это одна ниша и всего 60 обращений, так что на вселенскую истину я не претендую, хотя очень хотелось бы. Но даже на таком объёме картинка получилась на удивление устойчивой, пусть и не такой, как мнение Греты Тунберг обо всём на свете.

Читать далее