Дышать или не дышать? Как я написала библиотеку и Telegram-бота для мониторинга воздуха в Ташкенте

Доброго времени суток, уважаемые хабровчане! Я живу в Ташкенте.
Как превратить беспокойство о качестве воздуха в полезный Open Source проект?

Веб-сервис для хостинга и разработки IT-проектов

Доброго времени суток, уважаемые хабровчане! Я живу в Ташкенте.
Как превратить беспокойство о качестве воздуха в полезный Open Source проект?

В этой статье мы рассмотрим, как использовать нейросети для описания кода через VS Code и как вносить изменения в описание в репозитории с помощью MCP-сервера GitHub.

Появилась необходимость перенести уже установленный ghost cms на другой vps, на котором уже установлена FASTPANEL. Вдохновившись статьей "Установка Ghost на сервер под управлением ispmanager", я подумал, что это будет просто. На деле же оказалось несколько сложнее.
Конечно можно установить в docker контейнер и не париться с панелью. Но я решил остановиться на варианте без контейнеризации. В этой статье у меня был 1 чистый сервер на котором был установлен ghost cms без докера. Второй сервер уже в работе с установленной FASTPANEL.
Начнем пожалуй с бэкапов.

GitHub только что анонсировал изменения в ценообразовании Actions. Ранее GitHub Actions имел бесплатный control plane. Это означало, что если вы использовали GitHub Actions, но запускали задачи вне GitHub-hosted runners — будь то ваши собственные машины или в вашем собственном AWS аккаунте — вы ничего не платили GitHub за эти минуты; вы платили только за вычислительные ресурсы. Теперь подход изменился. Команда Spring АйО подготовила перевод анонса команды Github.

Когда я закончил работать над проектом ecosyste-ms/package-manager-resolvers, мне стало интересно, какой алгоритм разрешения зависимостей использует сервис GitHub Actions. Когда вы записываете в файл рабочего потока uses: actions/checkout@v4, то объявляете зависимость. GitHub её разрешает, скачивает и исполняет. Так работает управление пакетами. Я же решил отправится в кодовую базу runner, чтобы увидеть весь этот процесс изнутри. И открытия, скажу я вам, оказались весьма тревожными.

После создания примерно десятка Telegram-ботов я понял, что архитектура, конфигурации и маршрутизация повторяются из проекта в проект. Готовых актуальных решений для Spring Boot я не нашёл. Поэтому разработал собственный Telegram Bot Spring Boot Starter: с прозрачным пайплайном, набором готовых компонентов и возможностью гибкой кастомизации.
В статье я расскажу, какие проблемы он решает, как устроен внутри, как его использовать и почему он оказался намного удобнее обычных self-made конфигураций.

Поиск работы часто превращается в бесконечный скроллинг по Telegram-каналам: десятки уведомлений, тонны сообщений, чтение длинных описаний вакансий, попытки понять, подходит ли это тебе. А ведь Telegram — один из самых популярных источников свежих предложений о работе, особенно в IT, маркетинге и фрилансе. Но вручную фильтровать всё это — сплошная потеря времени. Здесь на помощь приходят современные технологии: машинное обучение, которое может анализировать текст лучше, чем человек, и автоматизировать процесс.
Именно из этой идеи родился JobStalker — Telegram-бот, который мониторит публичные каналы с вакансиями, фильтрует их с помощью модели машинного обучения, оценивает релевантность и сохраняет подходящие варианты в удобной базе данных. Всё это с веб-интерфейсом для настройки и просмотра результатов. Проект полностью open-source, и вы можете развернуть его на своём ПК или сервере.

Привет, на связи Ксюша, миддл-разработчик Surf. Миддлом я стала недавно. Когда я пришла в компанию, я, конечно, знала, что такое Git. Ну, по крайне мере, я так говорила.
Как-то я, по чистейшей случайности, разумеется, перезаписала чужую ветку. А потом потратила часов 6, чтобы вернуть всё «как было». Благо, помог наш лид, который показал, что делать.
Так я и поняла, что Git — совсем не плохое слово из трёх букв. И теперь несу для всех, кто точно так же начинает свой путь в Git, подробную и понятную инструкцию работы с ним. Го разбираться.

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

Self-hosted AI-платформа на Docker: N8N, Ollama, Open WebUI, Qdrant, Whisper. Автоустановка, 152-ФЗ. Разбор архитектуры, benchmark топовых моделей декабря 2025 (DeepSeek-R1, Llama 3.3, Qwen 2.5), метрики на CPU/GPU, расчёт TCO.

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

Проиндексируем фото-видео архив для поиска на человеческом языке простыми фразами. Фраза: «новогодний праздник» найдет все фото и видео связанные с новым годом. В этом нам поможет Qwen3-VL и Qdrant.
...А заодно добавим поиск по лицу.

Попросили Claude Code CLI сделать AI-чатбот для нашей платформы. Через 4 часа получили рабочее решение: контекстно-зависимый виджет, база знаний на markdown, эскалация в Telegram, автоматический сбор багов. Работает в production, выложили в open source.
GitHub
Лицензия: MIT

Мы живём во времена AI-бума. ИИ упрощает ресёрч информации, визуализирует первые идеи дизайнеров, которые попадают в референсы, и пишет код. Некоторые даже говорят: «скоро разработчики станут не нужны», а «ИИ-агенты будут идеально писать код по промпту «хочу красиво» и т.д.
До этого «скоро» ещё далеко, но это не повод не использовать ИИ-агентов в автоматизации различной рутины. Например, в написании платёжных интеграций для POS-терминалов в разных странах. Передать ИИ-агентам такую задачку — не очень просто, но у нас получилось! Сегодня расскажем, как мы это сделали.

По мере роста компании поток обращений распределяется по разным каналам — почте, мессенджерам, формам на сайте — и быстро превращается в хаос. Мы начали искать HelpDesk, который можно развернуть у себя, без внешних сервисов и ограничений по лицензии.
Подходящих проектов оказалось немного: часть давно не обновляется, часть сложна в установке, а многие используют лицензии, которые затрудняют коммерческое применение. Анализ десятков репозиториев показал, что современных permissive-лицензированных HelpDesk-платформ почти нет.
Была у меня папка на диске C под названием Python. В ней я держал свои проекты. Со временем надоело каждый раз вручную создавать папку для нового проекта, потом вручную создавать стартовый файл app.py. Это одно и то же действие снова и снова. В какой то момент я зае***ся сильно устал, хотелось просто нажать одну кнопку и получить готовую структуру без рутины. Решил автоматизировать
Здарова Хабровчане, на связи King Triton. Ловите мое очередное бесполезное творение PythonProjectManager (далее PPM)
PPM это небольшое приложение на Python. Сделано на PyQt6. Задача простая. Создавать проекты быстро, без лишних движений, с удобным доступом к ним
Привет, Хабр! В качестве пет-проекта для работы с API и базами данных решил написать своего бота-ассистента. Идея простая: прокси к OpenAI, но с нюансами: хотел разобраться, как работать с относительно новой внутренней валютой Telegram Stars, реализовать собственную систему промокодов и админку без использования громоздких фреймворков, оставаясь на библиотеке telebot (pyTelegramBotAPI).

Когда инфраструктура насчитывает тысячи хостов, ручное управление превращается в источник нестабильности. Становится невозможным гарантировать единое состояние систем, своевременно обновлять конфигурации и быстро реагировать на инциденты. Особенно остро это ощущается в масштабах 9000+ рабочих станций, где даже малейшая ошибка масштабируется мгновенно.
Для централизованного и безопасного управления такой инфраструктурой используется связка Puppet и GitLab CI/CD. Эта комбинация позволяет автоматизировать весь цикл: от написания конфигурации до её контролируемого применения на каждом узле.
В основе подхода — принцип постепенного внедрения изменений: сначала изменения тестируются в безопасной среде, где можно экспериментировать без риска, потом — раскатываются на небольшую группу хостов (канареечное тестирование), чтобы посмотреть, как они поведут себя в реальных условиях. И только если всё прошло гладко — обновление отправляется на весь флот.

Откройте любой пулл‑реквест в проекте с любой «чистой архитектурой» и вы скорее всего увидите не обсуждение бизнес‑логики, а срач. «Это нельзя класть в UseCase, это логика домена!», «Зачем тут еще один DTO, мы же просто поле прокидываем!», «Этот интерфейс не нужен, у нас никогда не будет другой реализации!». Полагаю, очень много людей с таким сталкиваются.
Эта статья — о том, почему архитектура из спасения превратилась в тонны говнокода. И, что самое главное, — как прекратить этот хаос и, наконец, начать просто писать код, который работает, а не «следует всем концепциям».

Привет! Недавно наткнулся в GitHub на репозиторий Evolution API — open-source решение для работы с WhatsApp через API. Заинтересовался, решил протестировать и сразу понял, что это отличная альтернатива официальному WhatsApp Business API, который требует верификации бизнеса и стоит денег.
Развернул Evolution API на своем VPS, настроил интеграцию с n8n, и получил полноценный инструмент для автоматизации работы с WhatsApp. В этой статье поделюсь своим опытом установки и настройки — весь процесс занял около часа, включая подключение к WhatsApp и создание простого рабочего автоответчика.