Инструменты программиста
13.6K subscribers
1.55K photos
140 videos
4 files
1.82K links
Полезные инструменты для программистов — бесплатные и платные

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

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

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

Регистрация в перечне РКН: https://tprg.ru/mX0S
Download Telegram
Локальный инструмент для очистки Gmail — без подписок и без отправки данных на внешние серверы. Всё происходит через Gmail API на своей машине.​

Что умеет:
🔘Bulk delete по отправителю (показывает, кто больше всего спамит)
🔘Массовая отписка от рассылок в один клик
🔘Mark as read для тысяч писем разом
🔘Фильтры по возрасту (7/30/90 дней), размеру (1/5/10 MB) и категориям (Promotions, Social, Updates)​

Под капотом FastAPI + uv, есть Docker-образ. Batch requests обрабатывают по 100 писем за один вызов API, так что даже большие ящики чистятся за минуты.​

История проекта забавная: автор — junior dev, написал первую версию за день буквально одним файлом, просто для себя. Выложил на Reddit, собрал 600+ звёзд — и теперь активно переписывает всё по-человечески, добавляет тесты и нормальную структуру. В комментариях попросили фильтр по размеру — добавил на следующий день.​

Код в репо, там же инструкция по получению API-ключа и настройке. Или есть видео-инструкция. А дальше просто клонируем репо и docker compose up -d. На видео демо.

@prog_tools
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Помните XKCD #2347 про башню зависимостей, которая держится на проекте «какого-то чувака из Небраски»? Один разработчик решил реализовать эту метафору на практике и написал StackTower — инструмент, который рисует башню из зависимостей любого пакета.​

Подаём на вход пакет из PyPI, npm или crates — получаем визуализацию, где блоки реально стоят друг на друге. Чем глубже зависимость в графе, тем она ближе к основанию. Есть два стиля рендеринга: чистый и hand-drawn в духе XKCD.​

Самое интересное — под капотом оказалась NP-hard задача. Чтобы блоки не пересекались, нужно найти правильный порядок узлов в каждом слое. Автор прошёл путь от брутфорса через PQ-деревья и барицентрическую эвристику до комбинированного алгоритма с branch-and-bound. Подсчёт пересечений рёбер свёлся к подсчёту инверсий через дерево Фенвика — O(E log V) вместо O(E²).​

Бонусом идёт «Nebraska Guy Ranking» — алгоритм находит мейнтейнеров, на которых держится вся башня. Чем глубже пакет и чем меньше у него мейнтейнеров, тем выше скор.​

Быстрый старт
go install github.com/matzehuels/stacktower@latest

# Парсим зависимости fastapi, например
stacktower parse python fastapi -o fastapi.json

# Рендерим что получилось
stacktower render fastapi.json -t tower -o fastapi.svg


Написано на Go, код на гитхабе.

@prog_tools
42
Forwarded from Типичный программист
Летим зимовать ✈️

Когда холодает, айтишники пакуют чемоданы, а мы разыгрываем ваучер на 50 000 рублей в Островке.

Поехать к морю или остаться среди снежных пейзажей — выбирайте сами!

Чтобы участвовать, нужно оставить любую реакцию под этим постом и подписаться на каналы ниже:

😎 Типичный программист
🐸 Библиотека программиста
🟢 Ostrovok! Tech

Теперь осталось нажать на кнопку участия под этим постом и вы в игре!

Итоги подведём 12 декабря. Победителя выберем с помощью бота. Подробнее с правилами можно ознакомиться здесь.

Всем удачи!

Участников: 27
Призовых мест: 1
Дата розыгрыша: 19:00, 12.12.2025 MSK (4 дня)
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Forwarded from Типичный программист
Карты прямо в консоли заказывали?

Что только не встретишь, когда ищешь интересный контент. Вот попалась тулза, которая позволяет просматривать карты OpenStreetMap прямо в консоли. Называется она MapSCII и собрана на Node.js, для рендера использует ASCII-символы. Причём эта штука поддерживает зум, навигацию и управляется мышкой.

Я не знаю зачем это вам в реальной жизни, но выглядит необычно. Попробуйте сами по ссылке.
3👾1
ebook2audiobook — self-hosted конвертер, который берёт epub/pdf/mobi и генерирует полноценную аудиокнигу с главами, метаданными и обложкой. Под капотом несколько TTS-движков на выбор: XTTSv2, Bark, VITS, Fairseq, YourTTS, Tacotron2 .

Главные фишки:
🔘Voice cloning — можно скормить аудиофайл с голосом (свой или чей-то) и модель будет читать этим голосом
🔘1110+ языков — включая русский, поддержка через Fairseq
🔘Автоматическое разбиение на главы — лучше всего работает с epub/mobi
🔘Веб-интерфейс на Gradio — не нужно возиться с CLI
🔘Минимальные требования — 4GB RAM, работает на CPU (медленно) или GPU (почти realtime на NVIDIA)

Как запустить:
git clone https://github.com/DrewThomasson/ebook2audiobook.git
cd ebook2audiobook
./ebook2audiobook.sh # Linux/Mac
# или ebook2audiobook.cmd на Windows

Откроется веб-интерфейс на localhost:7860. Есть готовый Docker-образ с поддержкой GPU.

Выходные форматы: m4b (с главами), mp3, flac, wav, ogg. Проект активно развивается — 13.9k звёзд, 22 контрибьютора.

Репо на гитхабе, на видео демо.

@prog_tools
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🆒7👍3🔥2
EyesOff — приложение для macOS, которое следит через веб-камеру и предупреждает, когда кто-то подглядывает в ваш экран.​

Написано на Python + PyQt, модель распознавания лиц крутится локально — ничего не уходит в облако. Есть три режима оповещения: попап на экране, системная нотификация или автозапуск любого приложения (можно настроить блокировку экрана).​

Автор написал подробный разбор как тренировал модель детекции. Интересный момент: он оптимизировал accuracy не в среднем, а конкретно для mid-range дистанции (~1-2 метра) — именно там обычно стоят любопытные коллеги.​

Из ограничений: пока детектит просто лица в кадре, а не направление взгляда. То есть если человек в кадре, но смотрит в сторону — всё равно сработает. Автор обещает доработать в следующих версиях.​

Для параноиков в опенспейсах и коворкингах — самое то.

@prog_tools
This media is not supported in your browser
VIEW IN TELEGRAM
🔥4🤷‍♀1🤔1
Если вы всегда хотели посмотреть, как выглядит rm -rf в корне от рута, но боялись даже близко что-то подобное набирать, то вот вам скрин.

Теперь только форматировать и ставить ОС с нуля.
💔12
ChartDB — open-source редактор ER-диаграмм, который работает без подключения к базе. Выполняете один SQL-запрос (Smart Query), копируете JSON-результат в интерфейс — и получаете визуализацию схемы. Пароль от базы не нужен.​

Как это работает: Smart Query — это один большой SELECT по системным таблицам, который вытаскивает метаданные: таблицы, колонки, типы, связи, индексы. Результат в JSON вставляешь в ChartDB — он рисует диаграмму. Поддерживает PostgreSQL, MySQL, SQLite, MariaDB, MSSQL, ClickHouse и CockroachDB.​

Что добавили в последних версиях:

🔘DBML-редактор — можно редактировать диаграмму напрямую через DBML-синтаксис, изменения синхронизируются в обе стороны

🔘Areas — логические области для группировки таблиц по доменам, плюс фильтрация по этим областям

🔘Oracle — полная поддержка с v1.13

🔘Cloudflare D1 — импорт через wrangler CLI

🔘Enums и composite types для PostgreSQL с экспортом в DDL

Из комментариев:
народ сравнивает с dbdiagram-io и DBeaver. Разница в том, что DBeaver — это полноценный клиент для работы с базой, а ChartDB заточен именно под визуализацию схем. По сравнению с dbdiagram-io — ChartDB self-hosted и бесплатный.

Деплой через Docker одной командой:
docker run -p 8080:80 ghcr.io/chartdb/chartdb:latest


Репо на GitHub, на картинке пример визуализации.

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