Обновить
1024K+

Open source *

Открытое программное обеспечение

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

Вся ваша жизнь помещается в 4000 клеток. Добавим GitHub‑коммиты, среднюю продолжительность жизни и 21 фактор смертности

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

Всем привет! У человека в среднем около 4000 недель жизни. Четыре тысячи. Если нарисовать каждую неделю как маленькую клеточку — вся ваша жизнь поместится на один экран. Вот прям вся. От рождения до смерти. Мне 37 — значит примерно 1900 клеток уже закрашены, а оставшиеся… ну, это мы ещё посчитаем.

Эта концепция не моя и не новая — но на днях она всплыла в одном бизнес‑чате. Товарищ скинул скриншот из бота который как раз рисует такой grid. Закрашивает прожитые недели, оставляет пустые те что впереди. Красиво, минималистично, грустно. И я спросил: «А тебя это не тревожит?»

Читать далее

Как я добавил в браузерного AI-агента поддержку MCP за вечер

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

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

Вы когда-нибудь разговаривали с AI, и он в ответ на просьбу «открой Яндекс» писал вам: «Вот ссылка: https://yandex.ru»?

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

Проблема в том, что большинство LLM-приложений — это просто болталки. Они генерируют текст, но не могут сделать что то полезное. А что, если бы AI мог управлять браузером? Открывать страницы, делать скриншоты, выполнять JavaScript?

В этой статье я расскажу, как добавил в проект n0x поддержку MCP (Model Context Protocol) — и научил AI-агента открывать сайты по команде «открой …».

Читать далее

Итерации 1–3 прошли как по рельсам. Итерация 4 убила ветку — и это хорошо

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

Третья статья из серии. Предыдущие: манифест до первой строчки кода и итерация 0 — скелет и первый вебхук.

Я обещал публиковать честно: и где всё идёт по плану, и где разбиваешься о реальность. Вот статья про и то, и другое.

Три итерации — ровно. Четвёртая — ветка feat/iter-4 удалена, откат на main. Причина не в технических проблемах. Причина в том, что я наконец честно посмотрел на то, что построил, и понял: модель диалога слабая.

Читать далее

Android, iOS и немного Python: подходит ли Kivy для реальных кроссплатформенных задач?

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

Привет, меня зовут Саша, я ведущий специалист технической поддержки по услугам ИБ. Однажды я решил, что мне обязательно нужен свой пет-проект, ну или как минимум какое-то хобби, которым можно заниматься в свободное время. 

Первым делом на ум, конечно же, пришло программирование. Создать небольшое приложение «для себя» можно не погружаясь в тонкости работы языков и фреймворков, а для старта – это именно то, что нужно. 

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

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

 Давайте вместе разберемся — что же такое Kivy?

Читать далее

Запускаем DeepSeek-V4 (1.6T) на «калькуляторе»: SVD-трансмутация, Identity Theft и гаражный MLOps

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

Что делать, если у вас есть 1.6-триллионная модель и видеокарта из прошлого десятилетия? Пока корпорации покупают H100 фурами, мы используем SVD-трансмутацию и архитектурный Identity Theft, чтобы запустить DeepSeek-V4 на бесплатном инстансе Kaggle. Инструкция по сборке Мутанта внутри.

Читать далее

Senior на бумаге, Junior в рантайме: как я тестировал локальные LLM на 120B параметров в Greenfield-проекте

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

Недавно я задался вопросом: можно ли организовать полноценный agent dev loop (то есть, цикл разработки агентов), используя только локальные модели? Идея заманчивая — гонять агента по задачам бесконечно, не оглядываясь на счета от OpenAI или Anthropic и не переживая за утечку кода.

Чтобы проверить это, я выделил кластер и столкнул лбами три тяжеловеса из мира open source. Спойлер: архитектурно они все — Senior-разработчики, но когда дело доходит до docker-compose up, начинаются проблемы.

Читать далее

Ubuntu 26.04 LTS: на что смотреть перед миграцией с 24.04

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

23 апреля Canonical выпустил Ubuntu 26.04 LTS — Resolute Raccoon. Про сам релиз уже написали все, поэтому не будем повторяться — и посмотрим на релиз с другой стороны.

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

Читать далее

OptimaOS: архитектура Rust-ядра, которое загружается на реальном железе

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

Центральная идея: одно ядро, runtime-профили

Проблема, которую решает OptimaOS — фрагментация через форкинг. Android — форк Linux. Embedded-дистрибутивы — форки с кастомными патчами под каждый SoC. AI-стеки — отдельные кодовые базы. Каждый форк — это отдельный security-аудит, отдельная команда и свой накапливающийся регресс.

Читать далее

Fast Atomic Flow: PHP 8.4, Swoole, NATS, Go и Закон Табуна

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

Как переезд в деревню, рефакторинг жизни и парное программирование с DeepSeek привели к созданию демо на Swoole, NATS и Go. Без купюр и без пони.

🐎 В галоп!

SSH по требованию: что умеет socket activation и почему я перестал держать туннели открытыми

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

Привет, Хабр! К написанию статьи меня подтолкнуло знакомство с механизмом socket activation в Linux, на который я случайно наткнулся и не смог пройти мимо. Технология старая, но заслуживает большого внимания, а моя статья раскрывает одно из множества потенциальных практических применений — создание SSH-туннеля по требованию.

Читать далее

Вышел DeepSeek V4. Почему это очень плохо для США?

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

DeepSeek V4 Pro — это 1,6 триллиона параметров, mixture of experts (MoE), 49 млрд активных параметров и контекст в 1 миллион токенов. V4 Flash — рабочая лошадка: 284 млрд параметров суммарно, 13 млрд активных. Обе модели обучены примерно на 33 трлн токенов. На агентских бенчмарках кода, MMLU Pro, GPQA Diamond, SWE-bench Verified — V4 рядом с Opus 4.7 и GPT-5.5. Немного отстаёт, но совсем немного.

Вот в чём дело.

Большинству задач не нужен абсолютный frontier. Компании не решают сложнейшие научные задачи — они ведут бизнес. Представьте: вы CEO, смотрите на GPT-5.5 по $30 за миллион выходных токенов, на Opus 4.7 по похожей цене — и тут DeepSeek в разы дешевле, open source, его можно дообучать, хостить где угодно, контролировать точечно. Математика очевидна.

Здесь и начинается проблема.

Читать далее

Linux 7.1: отказ от прошлого и подготовка к новому железу

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

Linux 7.0 вышел совсем недавно, а в разработке уже следующая версия. В 7.1 сейчас довольно четко видно два направления. С одной стороны, разработчики продолжают вычищать код, который тянется еще со времен железа конца прошлого века. С другой — параллельно закладывают основу под новое поколение процессоров, видеокарт и специализированных GPU. Релиз 7.1 ожидается примерно в середине июня 2026 года, если все пойдет по стандартному циклу. Давайте разберемся, что там происходит и к чему это все ведет.

Читать далее

Итерация 0 закрыта: от спеки до «Привет» в боте

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

Короткий апдейт. Первая статья была про спеку и архитектуру до первой строчки кода — вот что произошло дальше.

В первой статье я пообещал: следующий пост — когда появится работающий код, вебхук ответит «Привет», событие запишется в базу. Обещание выполнено.

Читать далее

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

StaticECS — Bitmap Entity Component System

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

За десятилетия существования ECS сложились два фундаментальных способа хранить компоненты: архетипы (Unity DOTS, Flecs, Bevy) и sparse sets (EnTT, LeoECS). Каждый из них несёт структурные ограничения, которые не устраняются оптимизацией реализации — они вытекают из самой модели данных.

StaticEcs — третья модель. Она основана на инвертированном иерархическом битовом индексе: не сущности хранят маски своих компонентов, а компоненты хранят битовые карты сущностей. Фильтрация запроса — это побитовое AND, обрабатывающее 64 сущности за одну инструкцию CPU. Добавление или удаление компонента меняет один бит и не перемещает никаких данных.

В статье разбираю, как устроена эта архитектура, чем она отличается от архетипов и sparse sets, и что даёт на практике.

Читать далее

Как я добавил llama.cpp бэкенд в CosyVoice3 и ускорил инференс в 2.6x

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

CosyVoice3 — одна из лучших open source TTS моделей, но LLM-часть на PyTorch работает медленно. Я добавил llama-cpp-python бэкенд с GGUF квантизацией — RTF упал с 1.17 до 0.45, ускорение 2.6x на T4. Установка одной командой, никакого Docker.

Читать далее

Сломал руку, купил Pixel 10, возненавидел Gboard и написал свой офлайн-голосовой ввод для Android на GigaAM v3

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

Написал полностью офлайновый голосовой ввод на русском для Android. Никаких серверов, подписок и привязок к аккаунтам. За распознавание отвечает открытая нейросеть GigaAM v3 от Сбера: модель зашита прямо в APK, работает без интернета и отлично расставляет знаки препинания.

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

Стек: GigaAM v3 + sherpa-onnx (NNAPI / CPU) + крошечный детектор речи Silero VAD. Требования: Android 13+, ARM64. Исходники открыты (MIT).

Читать далее

Auto AI Router: высокопроизводительный прокси-роутер для LLM API на Go

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

Auto AI Router — лёгкий прокси-роутер на Go, который принимает запросы в формате OpenAI API и прозрачно распределяет их между несколькими провайдерами и ключами с балансировкой нагрузки, защитой от банов и контролем RPM-лимитов.

Читать далее (многобукав)

Yggdrasil-ng: как я переписал Yggdrasil на Rust за 3.5 дня и неделю фиксил один баг

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

В прошлой статье я разобрал, как устроена сеть Yggdrasil. Теперь - про Yggdrasil-ng: рерайт с Go на Rust за 3,5 дня, неделя на один баг в пяти строках, новые фитчи (включая CKR - VPN через mesh), и мобильный клиент, в котором перенос работы с TUN внутрь Rust дал прирост скорости почти в десять раз. В статье бонус - новое приложение, которое вам понравится ;)

Попасть в сети

LxBox: переносим опыт singbox-launcher в Android

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

Привет. Полгода назад я выложил singbox-launcher — десктопный GUI для управления ядром sing-box. По фидбеку стало понятно: идея зашла, людям удобно собирать и отлаживать конфиги на ноутбуке, а потом переносить их на роутеры и другие сетевые устройства. Подробнее о десктопной версии я писал на Хабре.

Пару слов для тех, кто не в контексте. Есть небольшой класс кроссплатформенных сетевых ядер, которые умеют гибкую маршрутизацию трафика и поддерживают современный набор протоколов: WireGuard, VLESS, SOCKS5, Shadowsocks, Hysteria2, TUIC и так далее. Sing-box в этом списке — не самый раскрученный, но для меня он оказался наиболее интересным: быстрая эволюция, внимание к деталям, чистый код, живое общение мейнтейнеров с пользователями, классно организованный по логике конфиг.

Довольно быстро стали приходить запросы на Android-порт. Первое время казалось, что это будет прямое переиспользование десктопного кода. На практике сценарии потребления на мобильных оказались сильно другими: другой UX, другой lifecycle, Doze и background-лимиты, OEM-специфика, ограниченный экран, другие ожидания от автозапуска и обновлений. В итоге пришлось переписать практически всё с нуля.

Результат этой работы — LxBox, и сегодня я хочу рассказать, чем он отличается от существующих Android-клиентов и как устроен изнутри.

Читать далее

Open WebUI (с веб-поиском) + llama.cpp

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

Когда я решил использовать веб-поиск в OpenWebUI результат оказался бесполезным. Гайд по настройке, чтобы получать хоть сколько-то приемлемый результат найти не удалось ни на русском, ни на английском. Поэтому решил собрать всё что удалось найти в этой статье.

Читать далее