Рубрика «open source» - 11

Апскейлить одно изображение с помощью Real‑ESRGAN несложно: передать файл модели, дождаться обработки и сохранить результат. С видео всё становится заметно интереснее.

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

Именно из этой задачи вырос UltraFrame AI — бесплатное Windows‑приложение с открытым исходным кодом для пакетного апскейлинга видео и изображений.

Читать полностью »

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

Так появился Kadr — открытый (GPL-3.0) многодорожечный видеоредактор на Electron + React + TypeScript: GPU-композитинг на WebGL2, WYSIWYG-экспорт, локальное распознавание речи, программируемая моушн-графика на React — и настоящая интерактивная сессия Claude Code в панели рядом с превью, подключённая к живому проекту через MCP.

Читать полностью »

Я много работаю с кодинг‑агентами в Claude Code. В какой‑то момент поймал себя на том, что не представляю, на что уходят токены. Счёт в конце месяца есть, а из чего он складывается, непонятно. Написал небольшую утилиту, которая читает то, что Claude Code и так пишет на диск, и раскладывает расходы по статьям. То, что она показала, мне не понравилось.

Вывод ledgent report ‑redact

Всем привет! Недавно я написал свою систему сборки - Take (C++17, без внешних зависимостей если не считать один header only TOML‑парсер). Идея простая: взять привычную модель Make (именованные цели, зависимости между ними, шелл команды), но выкинуть табы, $@/$< и прочую магию синтаксиса Makefile, а вместо этого настраивать всё через обычный .toml‑файл.

Получилось вот так:

default = "build"

[vars]
CXX   = "gcc"
FLAGS = "-O2 -Wall -Wextra"
OUT   = "msin"

[build]
desc = "Build msin"
run  = [  "${CXX} ${FLAGS} -Iinclude src/main.c src/functions.c -o ${OUT}",
]

[install]
desc = "Install msin (sudo or su)"
run  = [  "install -d /usr/local/bin",  "install -m 755 ${OUT} /usr/local/bin/msin",
]

[clean]
desc = "Clean build"
run  = ["rm -f ${OUT}"]

Читать полностью »

Всем привет! В апреле я создавал сервис для логирования серверов в Discord. Моя идея была максимально простой: бот отвечает за отслеживание событий и запись логов в базу данных, а веб-интерфейс отображает их.

Первоначально я задумывал делать это через связку MySQL c ботом на Python и сайтом на PHP. Такая задумка работала и вышла в свет 11 февраля 2025 года. Но все оказалось не так гладко как я думал. 4 апреля проект получил обновление 2.0 где были мелкие исправления и редизайн веб-интерфейса.

Читать полностью »

Всем привет! Наверное, как и многие обитатели Хабра, весной я попал под волну сокращений. Погрустив над текущей ситуацией на рынке, решил попробовать себя в open‑source. В конце концов, есть запас денег, отсутствуют (тьфу‑тьфу‑тьфу) ипотеки/кредиты, да и всегда хотелось почувствовать себя частью чего‑то большего, что ли. Спустя пару месяцев, у меня получилось стать мейнтейнером в небольшой ML‑библиотеке, о чём и хочу сегодня рассказать.

Привет!)

Периодически хочется почитать книги с ноутбука, особенно в дороге. Но у «Яндекс Книг» есть только мобильные приложения и сайт, а отдельного клиента для Windows нет. Через браузер читать можно, пока есть нормальный интернет, однако в поезде или за городом этот план иногда заканчивается одновременно с мобильной сетью.

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

Читать полностью »

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

Что я решил сделать, рассказываю дальше.

Читать полностью »

Я не начинал с идеи написать «убийцу JavaScript». Честно говоря, такие заявления обычно только мешают думать.

Сначала была гораздо более скромная мысль: мне нравится Go, мне нравится его простота, типизация и ощущение предсказуемого инструмента. Но когда дело доходит до интерактивного веб‑интерфейса, почти неизбежно оказываешься в другой вселенной: JavaScript, Node.js, сборщики, плагины, отдельная модель компонентов, отдельная экосистема.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js