Инструменты программиста
13.1K subscribers
1.62K photos
155 videos
4 files
1.96K links
Полезные инструменты для программистов — бесплатные и платные

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Регистрация в перечне РКН: https://tprg.ru/mX0S
Download Telegram
25 июня приглашаем на бесплатный вебинар от MWS Cloud Platform всех, кто работает с облаками:
🔘Развеем мифы, разберём лучшие современные подходы и инструменты;
🔘Обсудим интеграцию в процессы, консистентность, точечное восстановление и безопасность. Поговорим о плюсах нативных облачных инструментов;
🔘Проведём демо в MWS Cloud Platform и ответим на ваши вопросы.

Зарегистрируйтесь, чтобы не пропустить!

📎 25 июня в 14:00 МСК

✔️ Зарегистрироваться

Это #партнёрский пост
Please open Telegram to view this post
VIEW IN TELEGRAM
💯32
EchoBird — менеджер ИИ-инструментов, который заменяет десяток установочных скриптов

Если вы ставили Claude Code, Codex CLI или локальную LLM на новую машину, знаете боль: у каждого инструмента свои зависимости, ключи и пути. EchoBird сводит это в одно окно. Это open-source лаунчер на Rust + Tauri для Windows, macOS и Linux: он сканирует систему, устанавливает агентов, чинит сломанные зависимости и запускает локальные модели через llama.cpp, vLLM и SGLang.

В центре Model Nexus: единое место для API-ключей, моделей и протоколов OpenAI / Anthropic. Новый инструмент добавляется через plugin.json, без правки кода приложения. У автора edison7009 проект уже набрал 2200 звёзд на GitHub и 112 релизов; актуальная версия v5.2.7.

Подробнее в обзоре на Tproger.
1🔥1
sem — семантический контроль версий поверх Git: диффы на уровне функций и классов, а не строк. Релиз v0.10.1 вышел 11 июня, 2,7 тысячи звёзд.

Обычный git diff показывает изменившиеся строки, а sem отвечает на вопрос «какие сущности я поменял»: видно, что переписана конкретная функция, переименован класс, добавлен аргумент.

Что внутри:
🔘диффы по сущностям: функции, классы, переменные;
🔘семантический blame — история конкретной функции, а не строки;
🔘анализ влияния: что зависит от изменённого кода;
🔘26 языков через tree-sitter;
🔘работает поверх обычного Git, отдельного хранилища не требует.

Авторы целятся в связку с кодящими ИИ-агентами: агенту проще понять «изменилась функция parse_config», чем диф из 40 строк. Но и для ревью человеком entity-уровень читается заметно легче.

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

https://github.com/Ataraxy-Labs/sem

Язык: Rust. Лицензия: Apache-2.0.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
epiq — issue-трекер, который живёт прямо в Git-репозитории: задачи хранятся рядом с кодом, синхронизируются через обычный git push и работают офлайн. Релиз v0.6.20 от 3 июня, на этой неделе проект собрал обсуждение на Hacker News.

Что внутри:
🔘kanban-доска прямо в терминале, с фильтрами, тегами и исполнителями;
🔘vim-подобное управление;
🔘задачи хранятся как журнал событий: изменения только добавляются, поэтому конфликтов при слиянии почти не бывает;
🔘путешествия во времени — можно посмотреть состояние доски неделю или год назад;
🔘MCP-сервер из коробки, чтобы задачами управляли ИИ-агенты.

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

https://github.com/ljtn/epiq

Язык: TypeScript. Лицензия: MIT.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
mise v2026.6.10 — свежий релиз менеджера версий, окружения и задач, написанного на Rust. Релиз от 14 июня, на GitHub больше 29 тысяч звёзд.

Если коротко, mise заменяет зоопарк из nvm, pyenv, rbenv и им подобных: ставит нужные версии языков и утилит по файлу mise.toml, там же держит переменные окружения и задачи проекта. Совместим с плагинами asdf, но написан на Rust и без шелл-прослойки на каждый вызов.

Что в релизе:
🔘 короткая запись { default = "vim" } для переменных в секции [env]: значение подставляется, только если переменная пустая или не задана;
🔘 распаковка .7z-архивов заработала и на Unix, не только на Windows, плюс защита от path traversal при извлечении;
🔘 mise x, run и env теперь вычищают из PATH устаревшие записи, прилетевшие из замороженного снимка окружения (терминалы IDE, обёртки CI, окружения ИИ-агентов), из-за которых подхватывалась не та версия инструмента;
🔘 починен бесконечный цикл mise x в WSL, когда папка виндовых шимов оказывалась видна по пути внутри /mnt/c;
🔘 при включённом env_shell_expand синтаксис ${VAR:-default} приведён к POSIX-семантике.

Пригодится тем, кто гоняет проекты на разных стеках и устал держать отдельный менеджер версий под каждый язык, а также тем, кто ловил «не ту версию» в терминале IDE или в CI.

Язык: Rust. Лицензия: MIT.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Homebrew добрался до мажорной версии 6.0 — пакетный менеджер для macOS и Linux, релиз от 11 июня. На GitHub больше 48 тысяч звёзд.

Главная тема релиза — безопасность установки. Homebrew давно ругали за то, что формула при сборке может делать в системе почти что угодно; в шестёрке вокруг этого закрутили песочницу.

Что внутри:
🔘 песочница теперь запрещает чтение домашней директории целиком, кроме каталогов самого Homebrew — формула при сборке не дотянется до ваших ключей и конфигов;
🔘 добавлена команда настройки песочницы, чтобы включить и проверить изоляцию;
🔘 разделение доверия: bundle-формулы и сторонние tap'ы из недоверенных источников обрабатываются строже, с явным подтверждением;
🔘 по умолчанию используется внутренний API для метаданных формул и кэшей — установка стартует быстрее;
🔘 ужесточили работу с редиректами tap'ов и очисткой недоверенных формул.

Пригодится всем, кто живёт на Homebrew: мажорное обновление с упором на изоляцию сборки стоит поставить, особенно если ставите формулы из сторонних tap'ов.

Язык: Ruby. Лицензия: BSD-2-Clause.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Forwarded from Типичный программист
Интерпретатор Wasm, который одновременно доказывает свою правоту

Talos не разделяет код, который запускает WebAssembly, и код, который описывает её правила. В одном репозитории на Lean 4 одни и те же определения выполняют Wasm-инструкции и служат основой для рассуждений о них.

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

Код лежит на GitHub.
Forwarded from Типичный программист
Кто-то завернул антидетект-браузер в REST API, чтобы ИИ-агенты ходили в сеть без шума

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

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

Репозиторий на GitHub.
👍1
ImHex — hex-редактор, который бережёт глаза при ночном реверсе

ImHex нацелен на реверс-инженеров и программистов, которым приходится разглядывать бинарники допоздна. Главная заявка: не только удобная работа с байтами, но и интерфейс, который не выжигает сетчатку к 3 часам ночи.

Если вы копаетесь в файловых форматах, анализируете прошивки или отлаживаете протоколы, проверьте, насколько здесь удобнее классического hex-редактора. Упор на визуальную подачу данных может снизить усталость при долгих сессиях. Исходники лежат на GitHub, можно скачать и потрогать руками.
❤‍🔥11💯1
FTXUI — терминальный UI на C++ без мук ncurses

Писать консольный интерфейс на C++ обычно означает либо возню с ncurses, либо самодельную обвязку поверх escape-последовательностей. FTXUI предлагает другой путь: UI описывается в функциональном стиле, а не вяжется из виджетов вручную.

У проекта уже 10,3k звёзд, 596 форков и 909 коммитов. Это не хобби-наработка на один вечер. Рядом с исходниками лежат примеры, документация и сборка через CMake и Bazel.

Если вы когда-нибудь хотели свой htop, файловый менеджер в консоли или красивый конфигуратор, стоит заглянуть ради примеров и архитектуры.
👍1
NetWatch — сетевой монитор в терминале, который читает зашифрованный трафик

Большинство сетевых утилит отвечают на один вопрос: кто ест трафик. NetWatch идёт дальше, он разбирает протоколы на проводе, называет процесс за каждым соединением и следит за признаками заражения. Свежий релиз v0.25.8 вышел 20 июня, на GitHub около 2,1 тысячи звёзд.

Что внутри:
🔘чтение зашифрованного трафика, который вы контролируете: направляете SSLKEYLOGFILE приложения в NetWatch и видите расшифрованную сессию TLS 1.3 прямо в терминале, без прокси и подмены сертификата;
🔘отпечатки JA4: каждое рукопожатие TLS или QUIC сворачивается в стабильный отпечаток, по нему узнаёшь конкретного клиента или конкретную малварь, даже когда трафик шифрован;
🔘детекторы из коробки: маячки управляющего сервера, сканирование портов и туннелирование через DNS, критичный алерт сам замораживает запись инцидента;
🔘привязка соединения к процессу через ядерный eBPF-зонд, который точно знает, какая программа открыла сокет; где eBPF недоступен, есть запасной путь;
🔘разбор протоколов до уровня приложения: TLS, QUIC, HTTP, DNS, SSH и ещё десяток, со сборкой TCP-потока, так что в соединении читается домен api.github.com и его отпечаток JA4, номер порта уже вторичен.

После старта программа сбрасывает привилегии и запирается в песочнице Landlock: инструмент, который разбирает враждебный трафик, физически не дотянется до ваших ключей и /etc/shadow.

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

https://github.com/matthart1983/netwatch

Язык: Rust. Лицензия: MIT.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
Forwarded from Типичный программист
VibeUI собрал 92 промпта, чтобы нейросеть выдавала интерфейсы, а не абстракцию на белом фоне

Если вы хоть раз просили нейросеть сверстать форму входа, то знаете: результат либо разъезжается, либо кнопка улетает за экран. VibeUI — подборка из 92 промптов под конкретные UI-паттерны: авторизация, прайсинг, hero-секции, bento-сетки и ещё несколько типовых блоков. Каждый промпт идёт вместе с примером раскладки: split-screen, карточка по центру, минимальная одноколонка или вход через соцсети первым делом.

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

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

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

Реклама. ООО «Дюк Технологии», ИНН 5027308419, erid: 2W5zFGjkNL9

@prog_tools
3👍2
Penpot — опенсорсный дизайн-инструмент, который дружит с кодом

Penpot это открытая альтернатива Figma, которую делают с прицелом на разработчиков: макеты описываются понятиями вёрстки, а из любого элемента достаётся готовый CSS. Версия 2.16.0 вышла 11 июня, на GitHub больше 53 тысяч звёзд.

Что приехало в 2.16.0:
🔘рендеринг через WebGL в статусе беты, включается в настройках пользователя;
🔘дизайн-токены прямо во вкладке дизайна: числовые поля теперь принимают токен на месте, без отдельной панели;
🔘дублирование цветовых и типографических стилей;
🔘процент прозрачности виден прямо на значениях цвета в библиотеке;
🔘очистка направляющих артборда из контекстного меню;
🔘индикатор загрузки при импорте и экспорте файлов.

Чем Penpot интересен разработчику помимо рисования: режим Inspect отдаёт SVG, CSS и HTML для любого элемента, раскладки строятся на Flex и Grid как в реальной странице, есть REST API, вебхуки, плагины и MCP-сервер для связки с ИИ-инструментами. Развернуть можно у себя через Docker или Kubernetes, либо работать в облаке.

Пригодится тем, кто строит дизайн-систему, проектирует интерфейсы и хочет, чтобы макет сразу превращался в код.

https://github.com/penpot/penpot

Язык: Clojure и JavaScript. Лицензия: MPL-2.0.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Forwarded from Типичный программист
Homebrew 6.0 не доверяет сторонним taps, пока вы не согласитесь

Если вы ставили пакеты через Homebrew, сторонний tap мог нести произвольный Ruby-код. В 6.0 эта схема сломалась: теперь сторонние репозитории должны явно получить trust, прежде чем что-то установить. Мелочь, но она закрывает большую дыру в цепочке поставок.

Песочница на Linux теперь включена по умолчанию — через Bubblewrap, как на macOS последние десять лет. Плюс brew vulns проверяет установленные пакеты по открытой базе уязвимостей OSV, а brew install и brew upgrade стали спрашивать перед запуском. Мне кажется, это именно тот случай, когда ломать обратную совместимость ради безопасности — правильный выбор.

Подробности.
1💯1
Pathway — Python-фреймворк для потоковой обработки данных на Rust-движке

Pathway даёт писать на Python пайплайны реального времени: чтение из источника, преобразования, запись в приёмник, а тяжёлая часть считается Rust-движком. Тот же код работает и на пакетных данных, и на бесконечном потоке. Релиз v0.31.1 вышел 12 июня, на GitHub больше 62 тысяч звёзд.

Этот релиз почти целиком про новые коннекторы к базам:
🔘pw.io.elasticsearch.read читает индекс Elasticsearch: своего механизма отслеживания изменений у него нет, поэтому коннектор опрашивает и сверяет пересечение соседних запросов, чтобы ни одна строка не потерялась и не пришла дважды;
🔘pw.io.clickhouse.write пишет в ClickHouse по нативному протоколу, в двух режимах: поток изменений с колонками time и diff либо снапшот текущего состояния в ReplacingMergeTree;
🔘pw.io.mysql.read делает полноценный захват изменений через бинлог MySQL: сначала снимок таблицы, потом непрерывная доставка вставок, обновлений и удалений;
🔘расширили чтение Iceberg, теперь декодируются все примитивные типы, включая date, time, uuid, fixed и decimal;
🔘у коннекторов Postgres добавили набор проверок на старте, чтобы кривая конфигурация падала понятной ошибкой ещё до молчаливой потери строк.

Пригодится дата-инженерам, которые строят аналитику и ETL реального времени и устали склеивать поток из десятка разных коннекторов вручную.

https://github.com/pathwaycom/pathway

Язык: Python и Rust. Лицензия: BSL-1.1.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
just 1.54.0 — раннер команд проекта научился кэшировать рецепты

just это команд-раннер: складываете команды проекта в justfile и зовёте их коротко, just build вместо длинной строки. От make он отличается тем, что это именно запускалка рецептов, без системы сборки и без правил о зависимостях файлов по умолчанию. Релиз 1.54.0 вышел 23 июня, на GitHub больше 34 тысяч звёзд.

Главное в релизе — кэширование рецептов:
🔘рецепт со скриптом помечается атрибутом [cache], и тогда just пропускает повторный запуск, пока ключ кэша не изменился;
🔘ключ это BLAKE3-хеш сериализованного JSON с именем рецепта, аргументами и дополнительными полями; сам кэш лежит в папке .justcache рядом с justfile и в репозиторий не коммитится;
🔘[cache(inputs = ["lib.c", "main.c"])] добавляет в ключ хеши входных файлов, поэтому правка исходника даёт промах кэша и перезапуск, как зависимости в make;
🔘на записях кэша берутся файловые локи: при параллельном запуске с одним ключом рецепт отработает один раз, второй процесс подождёт и пропустит;
🔘флаг --no-cache отключает кэш целиком, а just --clean чистит его выборочно, по рецепту или по модулю.

Что ещё приехало в 1.54.0:
🔘атрибут [continue] продолжает рецепт, если команду прервали сигналом и она при этом успела завершиться успешно, по умолчанию это SIGINT, то есть Ctrl-C;
🔘set dotenv-command и --dotenv-command запускают команду и подгружают её вывод как env-файл, удобно для расшифровки секретов на лету, например через sops;
🔘аргументы рецепта теперь могут быть выражением, а не только литералом.

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

https://github.com/casey/just

Язык: Rust. Лицензия: CC0-1.0.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
💯2🔥1
VPS vs VDS vs виртуальный хостинг: что выбрать в 2026

Часто сервер выбирают по цене, а потом упираются в нехватку ресурсов, гибкости или поддержки. И почти никто не знает главного: VPS и VDS — это в большинстве случаев одно и то же, разница только в названии. Реально выбор идёт между хостингом (провайдер всё настроил, но конфигурация ограничена) и изолированным сервером с root-доступом.

В подборке 6 провайдеров под разные сценарии: от старта на виртуальном хостинге за ~123 рубля в месяц до VPS с зарубежными локациями. Внутри реальные цены, лимиты, условия по бэкапам, тестовым периодам и подсказки как сделать правильный выбор для своего случая.
LiteParse 2.4.0 — координаты слов и Markdown прямо в JSON

LiteParse переводит документы, в основном PDF, в структурированный JSON: текст, таблицы, координаты элементов на странице. Написан на Rust, но собирают биндинги под Python, Node.js, WASM и Docker. Релиз v2.4.0 вышел 30 июня, на GitHub уже больше 11 тысяч звёзд.

Главное в релизе:
🔘 в JSON можно включить word-level bounding box: координаты рамки для каждого отдельного слова на странице, а не только для блоков текста;
🔘 в page-level вывод добавили поле markdown, которое отдаёт содержимое страницы сразу в виде Markdown, без отдельного постпроцессинга;
🔘 обновление выкатили одновременно во всех формах поставки: crates и CLI, Python, Node.js, WASM и Docker-образ.

Пригодится тем, кто строит пайплайны обработки документов: OCR, импорт в CMS, подготовку данных для поиска.

https://github.com/run-llama/liteparse/releases/tag/crates-v2.4.0

Язык: Rust. Лицензия: Apache-2.0.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👎1👏1
fastfetch 2.65.2 — точнее считает память при ZFS и не будит спящий GPU

fastfetch — быстрая замена neofetch, которая выводит информацию о системе в терминал: ОС, ядро, память, видеокарта, логотип дистрибутива. Написан на C, на GitHub больше 23 тысяч звёзд. Версия 2.65.2 вышла 28 июня.

Что поправили:
🔘 модуль памяти больше не учитывает ZFS ARC cache при подсчёте занятой памяти на Linux, FreeBSD, NetBSD и SunOS: раньше при включённом ZFS цифра получалась завышенной;
🔘 модуль GPU перестал будить спящую дискретную видеокарту на ноутбуках с гибридной графикой, чтобы просто узнать её название;
🔘 определение скорости PCIe-линка теперь работает только в режиме driverSpecific;
🔘 исправлен краш при определении поддержки аппаратных кодеков на драйвере amdgpu.

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

https://github.com/fastfetch-cli/fastfetch/releases/tag/2.65.2

Язык: C. Лицензия: MIT.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM