Обновить
1024K+

Open source *

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

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

SD Studio: свой Midjourney на своей видеокарте с LLM-помощником

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

Сперва — откуда взялась идея?

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

Сейчас это не проблема — нейросетей куча, особенно для генерации изображений. Но есть минусы: на платных сервисах можно хорошо так разориться, особенно для пет-проекта. Есть решение — Stable Diffusion, генерировать на своей видеокарте.

Первые шаги с Stable Diffusion

Для работы с локальным SD есть несколько инструментов. Взял первый и, наверное, самый популярный — Automatic1111. Сгенерировал — получил полную фигню. Начал читать, что пишут. Оказывается, уже создано огромное количество предобученных моделей и LoRA для добавления тех функций, что модель не умеет. Результат стал сильно лучше.

Дальше — промпты, то есть текстовое описание того, что мы должны получить на итоговом изображении. Там тоже есть свои рекомендации. Модель не читает мысли пользователя, ей нужно более точно и в понятном ей виде предоставить описание. Дополнительно разбираемся с настройками генерации — samplers, steps и т.д. Всё осуществимо, но получаем другую проблему: для генерации одной картинки мы очень долго подбираем все эти значения и тексты.

Первая автоматизация

Чтобы упростить процесс, я сделал следующее. Для наполнения контента в игре есть админка — обычный CRUD на Symfony. Дополнительно в отдельной папке лежат файлы со всем лором книги/игры.

В итоге я создал два провайдера. Первый — для общения с локальной LLM, которая по нужному запросу берёт необходимый контент из папки с лором и составляет корректный промпт для SD. Второй — для SD, где заданы предварительные настройки: используемая модель, LoRA и вместе с промптом всё это отправляется в SD, и мы получаем итоговую картинку. Несколько попыток, потому что с первого раза вряд ли получим нужное. Получаем более-менее адекватный результат и идём в Photoshop — убрать лишнее, сжать и т.п.

Читать далее

Новости

Робот, способный создать себя сам. Режим «Инженера» в робототехнике

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

Скажите роботу «настрой манипулятор» — и он напишет драйвер сам. Звучит как фантастика из тех самых фильмов 80-х и 90-х, но мы уже реализовали это в OpenGrall. Рассказываю, как работает режим Инженера и почему последнее слово всегда остаётся за человеком

Читать далее

Когда онбординг длится 2 месяца — День 1: Убрать хаос

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

Итак, вы нашли своего идеального кандидата. Возможно, он даже очень силён, но спустя 2 месяца всё ещё не вышел на ожидаемую продуктивность. Более того, вы заметили, что производительность команды только снизилась, потому что другие инженеры тратят время на онбординг нового человека.

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

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

Почему?

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

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

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

В идеале это помогает сократить время онбординга: команда меньше тратит время на повторяющиеся объяснения, новый человек быстрее выходит на самостоятельность, а сама система становится понятнее не только новичку, но и тем, кто давно в ней работает.

Читать далее

Мой опыт установки Sentry self-hosted

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

Привет! Меня зовут Даниил Ткаченко, я веб‑разработчик в ИТ‑компании «Активика». В статье я поделюсь опытом развёртывания Sentry self‑hosted для высоконагруженного проекта. Несмотря на обилие материалов по SaaS‑версии, актуальных гайдов по self‑hosted‑установке почти нет — особенно с учётом современных требований к производительности и отказоустойчивости.

Мы столкнулись с рядом проблем: нестабильностью на базовом хостинге, отсутствием перехвата HTTP‑ошибок и быстрым заполнением диска. Под катом разберу каждую проблему, покажу код решений и дам рекомендации для тех, кто планирует развернуть Sentry самостоятельно.

Статья будет полезна разработчикам и DevOps‑инженерам без опыта работы с self‑hosted Sentry.

Читать далее

Wordstat API в Yandex Cloud Search API: разбор endpoints, подводные камни, минимальный Python wrapper (2026)

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

Понадобилась мне семантика - не в смысле «один раз глянуть Wordstat в браузере», а программно, чтобы прогонять по 50-100 фраз в день и складывать результаты в свою базу. Контекст: веду контент-маркетинг для агентства разработки чат-ботов BotKraft, статьи под Яндекс Нейро. Веб-Wordstat для такого объёма не вариант - копировать вручную из таблички полдня. Direct API - слишком дорогой вход: нужен рекламный аккаунт, отдельный OAuth, у меня этого не было и заводить ради одного метода не хотелось.

Случайно полез в новые сервисы Yandex Cloud AI Studio (там сейчас живёт YandexGPT) и обнаружил, что Wordstat теперь есть в Search API v2 - отдельным сервисом без зависимости от Direct. Доступ - обычный API-ключ из AI Studio, тот же что и для YandexGPT. По сути в один клик получаешь ещё и доступ к семантике.

Подключал, по дороге собрал коллекцию граблей. Этим и поделюсь.

Читать далее

LOTIS, «Шпионка» и кризис среднего возраста

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

Я в свои NN-лет решаю вопросы с кризисом среднего возраста просто: получаю второе высшее в театральном. Поскольку учусь я очно с толпой милых зумерш, то волей неволей заразился их вайбом.

В одно время между парами по актерскому и сценречью у нас образовался перерыв в несколько часов, и зумерши притащили небезызвесную игру «Шпион». Реализована она была на минималках даже для web-а из 90-х: нужно было внести список играющих, а потом передавать смартфон по кругу для получения персональной инфы. Интерфейс текстовый.

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

Вопросы могут быть самыми разными: Это на улице или в помещении? Это для детей или взрослых? Можно ли на этом ездить? Это едят? И т. д.

«Шпион», при всей кажущейся его простоте забавлял нас много дней. Но мне, как айтишнику со стажем большим, чем те, с кем я учусь, было дико видеть, как для игры, явно претендующей на сетевую, нужно передавать чей-то смартфон из рук в руки. Так получилось, что я в это время активно работал над своим LOTIS, о котором писал здесь уже. И вот в какой-то из вечером я сделал сетевого шпиона, чем несказанно удивил своих коллег, будущих актеров. Заодно и протестировал LOTIS в режиме чата.

Читать далее

Код под копирку: как выжить разработчику в эпоху вайб-кодеров и AI-агентов

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

"Я выложил библиотеку на GitHub в четверг. В пятницу её клонировал AI-агент, а в субботу конкурент запустил идентичный SaaS." Такое будущее если еще и не наступило, но уже возможно очень скоро. Мы вошли в эру «вайб-кодинга», где софт пишется по наитию промптами, а скорость копирования превысила скорость осмысления. Встаёт неудобный вопрос: если вас могут повторить за сутки, стоит ли вообще публиковать код и пытаться строить продукт?

Читать далее

Пишем свой SQL query builder на Python: DSL, кеширование в Redis и защита от инъекций

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

Объектный построитель SQL-запросов без ORM и моделей. Позволяет писать сложные SQL-запросы в виде цепочек Python-методов (table[‘person’].filter(…).join(…).get()) и получать результат в виде списка словарей. Под капотом — параметризованные запросы для защиты от инъекций, продуманная система кеширования с инвалидацией по таблицам (in-memory и Redis), поддержка синхронного и асинхронного кода из коробки. Для тех случаев, когда ORM избыточна, а сырой SQL небезопасен.

Читать далее

Shrek Linux: кастомизируем Kubuntu для любителей «Шрека»

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

Ох уж этот мир свободного ПО! Хотите создавать проекты, которые покорят мир? Пожалуйста. Хотите просто развеяться и проверить, где же предел гибкости Linux? Этим можно заниматься сколько угодно.

Хотите конкретный пример? Их есть у меня, причем один из них совсем свежий. Шринукс, или Shrek Linux, появился буквально пару дней назад. Это полноценная операционная система с нескучными обоями, где буквально каждая деталь отсылает к мультфильму про болотного огра. К слову, создатель не стал ограничиваться парой обоев — он погрузил в атмосферу Шрека все, что только можно было кастомизировать.

Читать далее

Zed 1.0: эпоха Electron-редакторов — всё

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

Вчера вышел Zed 1.0. Пять лет работы, миллион с лишним строк на Rust, публичная превьюшка, которой ежедневно пользовались сотни тысяч разработчиков, и вот команда Zed Industries во главе с Натаном Собо запостила релиз 29 апреля 2026 года. Я лет пятнадцать живу в IDE от JetBrains. Пробовал VS Code. Пробовал Cursor. Гонял code-server на удалённой виртуалке. Ничего не приживалось. Zed прижился, и релиз 1.0 — нормальный повод объяснить, почему.

Если коротко: больше десяти лет любой «новый» редактор кода — это всё тот же продукт в новой обёртке. Обёртка зависит от того, что продают сегодня: AI, коллаборация, темы, новый вендор. А под обёрткой Electron. Тот же Chromium на каждое окно, тот же JavaScript на критическом пути исполнения, тот же RSS, к обеду уходящий в гигабайты. Sublime Text держал планку нативных редакторов все 2010-е, но это был закрытый продукт одного автора, без нормальной коллаборации и без AI истории. Zed стал первым за последние десять лет убедительным опенсорс-редактором с GPU-ускорением и AI на борту, который пересобрали с нуля и без всякого браузера под капотом. С релизом 1.0 эта ставка наконец сыграла.

Читать далее

Man pages, которыми хочется пользоваться: как сделать их удобными

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

Man-страницы часто остаются главным способом разобраться с CLI-инструментом, но в реальной работе быстро найти нужную опцию или пример бывает непросто. В статье разберем практичные приемы, которые делают такую документацию удобнее: сводки опций, группировка по сценариям, шпаргалки, примеры, таблицы и нормальная навигация в HTML-версиях. Всё на примерах Git, rsync, strace, curl, OpenBSD и GNU.

Перейти к статье

Open source-экосистемы — как Сбер развивает GigaChain

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

Мне удалось пообщаться с Константином Крестниковым @Rai220, управляющим директором и техлидом команды GigaChain, которая занимается агентными системами и разработкой SDK для GigaChat в Сбере. Константин глубоко погружен в развитие экосистемы вокруг GigaChat, поэтому разговор получился подробным, богатым на примеры и управленческие инсайты.

Читать далее

Скульптурные кейкапы: зачем клавише своя геометрия

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

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

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

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

Читать далее

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

Вся ваша жизнь помещается в 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 мин
Охват и читатели6K

Третья статья из серии. Предыдущие: манифест до первой строчки кода и итерация 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.4K

Недавно я задался вопросом: можно ли организовать полноценный 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. Про сам релиз уже написали все, поэтому не будем повторяться — и посмотрим на релиз с другой стороны.

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

Читать далее
1
23 ...