Если вы устали от бесконечных тасок и созвонов, то мы приготовили для вас игру, которая поможет отдохнуть
А заодно проверить вашу способность быстро запоминать новую инфу. Переходите по ссылке и играйте в нашу «Меморину». И делитесь результатами в комментариях!
Играть тут: https://tprg.ru/J9ZW
А заодно проверить вашу способность быстро запоминать новую инфу. Переходите по ссылке и играйте в нашу «Меморину». И делитесь результатами в комментариях!
Играть тут: https://tprg.ru/J9ZW
Strix — ИИ-агенты, которые ищут и чинят уязвимости в коде
Strix: инструмент на базе ИИ-агентов, который находит уязвимости в приложениях и помогает их исправлять. Агенты анализируют код, выделяют проблемы и предлагают конкретные фиксы, которые можно сразу посмотреть.
Инструмент находится на стыке двух горячих тем: искусственного интеллекта и безопасности. Он может пригодиться, если вы хотите добавить автоматическую проверку кода на уязвимости в свой рабочий процесс и получать не только список проблем, но и варианты их исправления.
Если интересно посмотреть, как это работает на практике, загляните в репозиторий. Там примеры и документация.
Strix: инструмент на базе ИИ-агентов, который находит уязвимости в приложениях и помогает их исправлять. Агенты анализируют код, выделяют проблемы и предлагают конкретные фиксы, которые можно сразу посмотреть.
Инструмент находится на стыке двух горячих тем: искусственного интеллекта и безопасности. Он может пригодиться, если вы хотите добавить автоматическую проверку кода на уязвимости в свой рабочий процесс и получать не только список проблем, но и варианты их исправления.
Если интересно посмотреть, как это работает на практике, загляните в репозиторий. Там примеры и документация.
GitHub
GitHub - usestrix/strix: Open-source AI penetration testing tool to find and fix your app’s vulnerabilities.
Open-source AI penetration testing tool to find and fix your app’s vulnerabilities. - usestrix/strix
👍2
Когда MCP-сервер молча зависает или отдаёт агенту не то, смотреть некуда: стандартный MCP Inspector подключается к серверу как отдельный клиент и показывает свой трафик, а не тот, что реально шлёт ваш Cursor или Claude Code. mcpsnoop решает это как Wireshark: встаёт прозрачным прокси в настоящий канал и показывает живой поток JSON-RPC.
Что внутри:
🔘 оборачивает команду запуска сервера — mcpsnoop -- node build/index.js — и не вносит изменений в трафик;
🔘 подсвечивает зависшие и медленные вызовы и рассинхрон capabilities при хендшейке;
🔘 захваченный вызов можно переиграть против свежей копии сервера;
🔘 фильтры по инструменту, статусу, направлению и id, экспорт сессии в json, html или текст;
🔘 установка через go install, Homebrew или готовые бинарники, а команда mcpsnoop demo показывает всё без настройки.
Первый публичный релиз был в конце июня, версия v0.4.0 вышла 8 июля.
Пригодится тем, кто пишет и отлаживает собственные MCP-серверы и хочет видеть реальный трафик агента, а не искусственный из Inspector.
Язык: Go. Лицензия: MIT.
@prog_tools
Что внутри:
Первый публичный релиз был в конце июня, версия v0.4.0 вышла 8 июля.
Пригодится тем, кто пишет и отлаживает собственные MCP-серверы и хочет видеть реальный трафик агента, а не искусственный из Inspector.
Язык: Go. Лицензия: MIT.
@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Каждый раз, когда нужен ffmpeg, начинается один и тот же ритуал: гуглить флаги, собирать команду по кусочкам, молиться. Instagui превращает любой CLI-инструмент в локальную веб-форму одной командой.
Что внутри:
🔘 читает вывод --help инструмента, отправляет его Claude и получает JSON-схему опций, по которой рендерит форму на 127.0.0.1;
🔘 работает снаружи, без правок кода самого инструмента — в отличие от Gooey, которому нужен декоратор в Python-коде;
🔘 ffmpeg, yt-dlp и pandoc идут с готовыми схемами и работают сразу, без API-ключа;
🔘 схема кешируется после первого запуска, ключ нужен только на первое знакомство с новым CLI;
🔘 команды выполняются массивом аргументов без shell, поэтому инъекция через поля формы не проходит, а точная команда всегда показывается перед запуском.
Репозиторий появился 4 июля. Автор честно признаётся, что это его первый опенсорс-проект и основную работу под его наблюдением делал Claude Code.
Пригодится тем, кто раз в месяц вспоминает флаги ffmpeg или pandoc заново и хочет форму вместо man-страницы, не теряя видимости самой команды.
Язык: TypeScript. Лицензия: MIT.
@prog_tools
Что внутри:
Репозиторий появился 4 июля. Автор честно признаётся, что это его первый опенсорс-проект и основную работу под его наблюдением делал Claude Code.
Пригодится тем, кто раз в месяц вспоминает флаги ffmpeg или pandoc заново и хочет форму вместо man-страницы, не теряя видимости самой команды.
Язык: TypeScript. Лицензия: MIT.
@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
✍2
Forwarded from Типичный программист
mcpsnoop: Wireshark для MCP, который видит реальные вызовы инструментов
Официальный MCP Inspector подключается своим клиентом, поэтому он никогда не видит, что Cursor, Claude Code или Codex реально шлют серверу. Точка останова срабатывает только после прихода запроса, а значит не покажет вызов, который модель не сделала, или сделала с неправильными аргументами.
mcpsnoop сидит в настоящем пути данных. Оборачиваете команду сервера и наблюдаете каждый JSON-RPC кадр в терминале в реальном времени. Лично мне кажется, это удобнее, чем лазить по логам и гадать, почему инструмент молчит.
Репозиторий на GitHub.
Официальный MCP Inspector подключается своим клиентом, поэтому он никогда не видит, что Cursor, Claude Code или Codex реально шлют серверу. Точка останова срабатывает только после прихода запроса, а значит не покажет вызов, который модель не сделала, или сделала с неправильными аргументами.
mcpsnoop сидит в настоящем пути данных. Оборачиваете команду сервера и наблюдаете каждый JSON-RPC кадр в терминале в реальном времени. Лично мне кажется, это удобнее, чем лазить по логам и гадать, почему инструмент молчит.
Репозиторий на GitHub.
❤1
Forwarded from Zen of Python
Go-рутины в Python без async/await
Runloom экспериментально возвращает Python к простоте блокирующего кода: вызываете
Под капотом: hand-rolled ассемблерный context switch, work-stealing scheduler на C и netpoll. Цель: free-threaded Python 3.14t с выключенным GIL, когда один процесс действительно может загрузить все ядра, а не притворяться многопоточным.
Репозиторий на GitHub.
Runloom экспериментально возвращает Python к простоте блокирующего кода: вызываете
fiber(fn), пишете обычный recv/send или urlopen, а библиотека паркует задачу на сокете и переключает контекст. Никакого async def, никакого await — как до эпохи asyncio, но с миллионом лёгких потоков на всех ядрах.Под капотом: hand-rolled ассемблерный context switch, work-stealing scheduler на C и netpoll. Цель: free-threaded Python 3.14t с выключенным GIL, когда один процесс действительно может загрузить все ядра, а не притворяться многопоточным.
Репозиторий на GitHub.
✍2
Forwarded from GameDev: разработка игр
80% корпоративных программ геймификации ломаются на одном и том же месте
По данным AmplifAI, игровые кампании дают в среднем вовлечённость на 100–150% выше, чем классические подходы, а геймифицированный контент шерится в 12 раз чаще. При этом примерно 80% корпоративных программ геймификации не достигают целей. Спрос огромный, качество — низкое, а причина проста: делать это берутся не те люди.
В статье разбирают, как корпоративные клоны механик упускают баланс и контекст, и что делать, чтобы прогрессия не превращалась в цифровой пендель. Для геймдевелоперов это отличная ниша, где есть и деньги, и возможность применить свои скиллы на практике.
По данным AmplifAI, игровые кампании дают в среднем вовлечённость на 100–150% выше, чем классические подходы, а геймифицированный контент шерится в 12 раз чаще. При этом примерно 80% корпоративных программ геймификации не достигают целей. Спрос огромный, качество — низкое, а причина проста: делать это берутся не те люди.
В статье разбирают, как корпоративные клоны механик упускают баланс и контекст, и что делать, чтобы прогрессия не превращалась в цифровой пендель. Для геймдевелоперов это отличная ниша, где есть и деньги, и возможность применить свои скиллы на практике.
Forwarded from Zen of Python
GameDev: разработка игр
80% корпоративных программ геймификации ломаются на одном и том же месте По данным AmplifAI, игровые кампании дают в среднем вовлечённость на 100–150% выше, чем классические подходы, а геймифицированный контент шерится в 12 раз чаще. При этом примерно 80%…
Представьте: прошли игру на сайте и выиграли приз от бренда. Какой обрадует по-настоящему? 👇
Anonymous Poll
58%
Гаджеты: наушники, клавиатура, повербанк
53%
Мерч, который не стыдно носить вне дома
27%
Подписки на полезные или дорогие сервисы
27%
Курсы и книги
28%
Билет на конференцию или митап
52%
Что-то редкое, чего не купить за деньги
5%
Приз не важен — играю ради азарта
🌭2
Forwarded from Zen of Python
Репозиторий python-patterns: каталог паттернов, которые стоит выбирать с умом
В python-patterns собраны классические паттерны и идиомы Python — 42,8k звёзд, 7k форков и 896 коммитов. Сообщество использует его как шпаргалку, чтобы быстро вспомнить, как выглядит тот или иной подход в коде.
Авторы явно предупреждают: каждый паттерн несёт свои компромиссы, а выбирать нужно не по красоте реализации, а по ситуации. В Python это особенно актуально — язык сам даёт идиомы, от итераторов до менеджеров контекста, и часто проще использовать встроенное, чем городить фабрику.
Полезно сохранить на тот момент, когда вам хочется применить паттерн ради паттерна. Иногда достаточно обычной функции.
В python-patterns собраны классические паттерны и идиомы Python — 42,8k звёзд, 7k форков и 896 коммитов. Сообщество использует его как шпаргалку, чтобы быстро вспомнить, как выглядит тот или иной подход в коде.
Авторы явно предупреждают: каждый паттерн несёт свои компромиссы, а выбирать нужно не по красоте реализации, а по ситуации. В Python это особенно актуально — язык сам даёт идиомы, от итераторов до менеджеров контекста, и часто проще использовать встроенное, чем городить фабрику.
Полезно сохранить на тот момент, когда вам хочется применить паттерн ради паттерна. Иногда достаточно обычной функции.
👍1👏1
Разбор на Tproger: где пет-проект перестаёт быть кодом и начинает быть бизнесом. Внутри — про разницу между «ищу рынок под свой стек» и «решаю чужую проблему», про предпринимателя и менеджера как разные профессии, и про то, что продукт — артефакт, а бизнес — система, которая производит его без вас.
https://tproger.ru/articles/pochemu-vaw-pet-proekt-eshhyo-ne-biznes-a-vy-ne-predprinimatel
@prog_tools
https://tproger.ru/articles/pochemu-vaw-pet-proekt-eshhyo-ne-biznes-a-vy-ne-predprinimatel
@prog_tools
FixCSS: пишите CSS без исторических ошибок спецификации
FixCSS берёт исправленные имена свойств, значения и селекторы — и на лету превращает их в валидный CSS, который браузеры уже понимают. Например,
Библиотека опирается на опубликованный CSS Working Group список ошибок в дизайне CSS и убирает необходимость помнить, какие имена свойств появились только из-за обратной совместимости. Демо на CodePen и установка через NPM.
Где пригодится: можно писать CSS так, как он выглядел бы без компромиссов, а FixCSS позаботится о финальном выводе для продакшена.
FixCSS берёт исправленные имена свойств, значения и селекторы — и на лету превращает их в валидный CSS, который браузеры уже понимают. Например,
white-space: no-wrap он сконвертирует в white-space: nowrap.Библиотека опирается на опубликованный CSS Working Group список ошибок в дизайне CSS и убирает необходимость помнить, какие имена свойств появились только из-за обратной совместимости. Демо на CodePen и установка через NPM.
Где пригодится: можно писать CSS так, как он выглядел бы без компромиссов, а FixCSS позаботится о финальном выводе для продакшена.
👍1😭1
cpulse — терминальный дашборд, который показывает, почему завис
Compose сваливает логи всех контейнеров в один поток: когда стек не поднимается, приходится угадывать, какой сервис всё блокирует, и листать тысячи строк. cpulse рисует граф
Что внутри:
🔘 у каждого сервиса осмысленное состояние (blocked, starting, degraded при трёх и более рестартах), вычисленное из состояния контейнера, exit-кода и графа зависимостей;
🔘 режим
🔘 вкладки по сервису: логи, спарклайны CPU и памяти, зависимости, healthcheck с запуском probe прямо из интерфейса;
🔘 по проекту целиком: таймлайн запуска диаграммой Ганта, граф с условиями на рёбрах, диагностика;
🔘 авто-обнаружение всех контейнеров локального демона — новые стеки появляются без перезапуска;
🔘 init-контейнер, завершившийся с
Проект молодой: первый релиз 26 июня, к 13 июля уже v0.4.1. Ставится через brew или бинарником из релизов.
Пригодится тем, кто гоняет многосервисные compose-стеки и устал выяснять, какой из контейнеров держит остальные.
https://github.com/hyturing/compose-pulse
Язык: Go. Лицензия: MIT.
@prog_tools
docker compose upCompose сваливает логи всех контейнеров в один поток: когда стек не поднимается, приходится угадывать, какой сервис всё блокирует, и листать тысячи строк. cpulse рисует граф
depends_on деревом, следит за контейнерами в реальном времени и прямо называет корневую причину.Что внутри:
cpulse doctor без TUI: печатает корневую причину и находки, при критичных выходит с кодом 1 — встраивается в CI;exit 0, визуально отличается от упавшего; раньше это выяснялось только чтением логов.Проект молодой: первый релиз 26 июня, к 13 июля уже v0.4.1. Ставится через brew или бинарником из релизов.
Пригодится тем, кто гоняет многосервисные compose-стеки и устал выяснять, какой из контейнеров держит остальные.
https://github.com/hyturing/compose-pulse
Язык: Go. Лицензия: MIT.
@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
🙏1
Ghost: Postgres, который можно форкнуть под каждую задачу агента
Ghost — хостинг Postgres, который можно запустить, форкнуть и выбросить за секунды. Он даёт каждому агенту или задаче отдельную базу, чтобы эксперименты не трогали продакшн.
Установка: curl -fsSL https://install.ghost.build | sh. Дальше CLI и интеграция для ИИ-агентов (MCP): можно скопировать продакшн-базу в изолированную копию перед миграцией или генерацией кода. Если агент что-то сломает, удаляете окружение и берёте следующее.
Жёсткие лимиты расходов не дают счёту уйти в бесконечность. Подробнее про Ghost.
Ghost — хостинг Postgres, который можно запустить, форкнуть и выбросить за секунды. Он даёт каждому агенту или задаче отдельную базу, чтобы эксперименты не трогали продакшн.
Установка: curl -fsSL https://install.ghost.build | sh. Дальше CLI и интеграция для ИИ-агентов (MCP): можно скопировать продакшн-базу в изолированную копию перед миграцией или генерацией кода. Если агент что-то сломает, удаляете окружение и берёте следующее.
Жёсткие лимиты расходов не дают счёту уйти в бесконечность. Подробнее про Ghost.
Atuin: история команд, в которой видно начало и конец длинной строки
Atuin заменяет стандартную историю команд shell. Он хранит команды в базе, учитывает каталог и контекст запуска, ищет по всей истории и синхронизирует её между машинами.
В версии 18.17.1 длинные команды в TUI обрезаются посередине. На экране остаются начало команды и последние аргументы.
Заодно исправили:
🔘 порядок импорта истории из zsh и Nushell;
🔘 поиск по префиксу;
🔘 подключение собственных API-адресов к ИИ-функциям;
🔘 документацию по захвату вывода и MCP.
Язык: Rust
Лицензия: MIT
@prog_tools
Atuin заменяет стандартную историю команд shell. Он хранит команды в базе, учитывает каталог и контекст запуска, ищет по всей истории и синхронизирует её между машинами.
В версии 18.17.1 длинные команды в TUI обрезаются посередине. На экране остаются начало команды и последние аргументы.
Заодно исправили:
Язык: Rust
Лицензия: MIT
@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Нейросети удобно оценивают код, но нестабильны: один и тот же Go-файл может получить разные вердикты в разных прогонах
Repowise делает эту работу детерминированно — он анализирует здоровье Go-кода по синтаксическому дереву и истории коммитов.
Инструмент строит 23 показателя качества на парсере Tree-sitter и git-истории. Один и тот же коммит всегда даёт одну и ту же оценку, поэтому результат можно сравнивать между версиями без шума.
В отличие от универсальных метрик объектно-ориентированного кода, Repowise учитывает специфику Go: вложенность функций, дублирование, покрытие тестами и процессные сигналы — например, частую смену авторов одного файла. Для крупных репозиториев вроде Hugo это даёт стабильную картину рисков.
Если в проекте важна воспроизводимость оценок, такой подход поможет отслеживать деградацию и не гадать на нейросетях. Подробности о метриках в статье.
Repowise делает эту работу детерминированно — он анализирует здоровье Go-кода по синтаксическому дереву и истории коммитов.
Инструмент строит 23 показателя качества на парсере Tree-sitter и git-истории. Один и тот же коммит всегда даёт одну и ту же оценку, поэтому результат можно сравнивать между версиями без шума.
В отличие от универсальных метрик объектно-ориентированного кода, Repowise учитывает специфику Go: вложенность функций, дублирование, покрытие тестами и процессные сигналы — например, частую смену авторов одного файла. Для крупных репозиториев вроде Hugo это даёт стабильную картину рисков.
Если в проекте важна воспроизводимость оценок, такой подход поможет отслеживать деградацию и не гадать на нейросетях. Подробности о метриках в статье.
👍3😁1
Nushell 0.114.1: точнее проверяет типы прямо во время работы
Nushell — командная оболочка со структурированными данными. Её пайпы передают таблицы, записи и типизированные значения. JSON и CSV можно фильтровать командами оболочки без ручного разбора текста.
Версия 0.114.1 стабилизирует runtime annotations, которые недавно включили по умолчанию.
В патч вошли:
🔘 точные позиции ошибок при несовпадении типов;
🔘 исправленные типы closures, команд дат,
🔘 корректная передача именованных флагов через
🔘 возможность отключить проверки аннотаций для старых скриптов.
Язык: Rust
Лицензия: MIT
@prog_tools
Nushell — командная оболочка со структурированными данными. Её пайпы передают таблицы, записи и типизированные значения. JSON и CSV можно фильтровать командами оболочки без ручного разбора текста.
Версия 0.114.1 стабилизирует runtime annotations, которые недавно включили по умолчанию.
В патч вошли:
uname и input listen;run script.nu;Язык: Rust
Лицензия: MIT
@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🤔1
Любите игры на концентрацию и внимание?
Тогда «Меморина» — то что надо! Найдите все пары как можно быстрее и откройте все ачивки в нашей игре
Тогда «Меморина» — то что надо! Найдите все пары как можно быстрее и откройте все ачивки в нашей игре
eza 0.23.5: современный ls научился считать строки кода
eza расширяет возможности
В версии 0.23.5 завершили многолетний перенос командной строки на clap и добавили подсчёт строк кода с итоговой сводкой. В тесте авторов обход 635 ГБ исходников занял 4,5 минуты.
В релиз также вошли:
🔘
🔘
🔘 сводка по строкам и CSV-иконка;
🔘 обновлённые зависимости и новая минимальная версия Rust.
Язык: Rust
Лицензия: EUPL-1.2
@prog_tools
eza расширяет возможности
ls: показывает Git-статусы, дерево каталогов, иконки и метаданные файлов прямо в терминале.В версии 0.23.5 завершили многолетний перенос командной строки на clap и добавили подсчёт строк кода с итоговой сводкой. В тесте авторов обход 635 ГБ исходников занял 4,5 минуты.
В релиз также вошли:
--hyperlink=auto для ссылок в совместимых терминалах;--short-nix для компактных путей Nix;Язык: Rust
Лицензия: EUPL-1.2
@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
mise — менеджер рабочего окружения разработчика. Он хранит версии Python, Node.js, Rust и других инструментов, переменные среды и команды проекта в одном
В версии 2026.7.6 появились глобальные правила песочницы. Для запускаемых процессов можно запретить чтение, запись, сеть, доступ к переменным окружения или все права сразу. Ограничения начинают действовать после явной настройки.
В релиз также вошли:
🔘 отдельный стиль вывода для задач;
🔘 установка Flatpak-пакетов через Linux bootstrap;
🔘 воспроизводимые OCI-слои из локальных файлов;
🔘 диагностика программ, которые перекрывают shims mise в
🔘 доступ Aqua backend к приватным архивам GitHub через авторизованный API.
При обновлении стоит проверить CI:
Язык: Rust
Лицензия: MIT
@prog_tools
mise.toml, чтобы одинаково настраивать проект на разных компьютерах и в CI.В версии 2026.7.6 появились глобальные правила песочницы. Для запускаемых процессов можно запретить чтение, запись, сеть, доступ к переменным окружения или все права сразу. Ограничения начинают действовать после явной настройки.
В релиз также вошли:
PATH;При обновлении стоит проверить CI:
--quiet теперь сохраняет выбранный стиль вывода, а служебные переменные usage_* живут только внутри текущего запуска.Язык: Rust
Лицензия: MIT
@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Deno — среда для JavaScript и TypeScript, которая запускает код, управляет зависимостями, тестирует, форматирует и собирает приложения одним CLI.
Версия 2.9.2 развивает экспериментальный
В обновление также вошли:
🔘 прозрачность и управление непрозрачностью окон;
🔘 запуск framework build перед упаковкой desktop-приложения;
🔘 вывод ошибок старта собранной программы;
🔘 запуск инспектора сигналом
🔘 корректный подсчёт веток в отчётах покрытия;
🔘 форматирование inline-скриптов Astro как TypeScript;
🔘 пути для
Разработчики также ускорили Web Streams, передачу сообщений между workers и работу TLS-потоков, сократив лишние копирования буферов.
Язык: Rust и TypeScript
Лицензия: MIT
@prog_tools
Версия 2.9.2 развивает экспериментальный
deno desktop: веб-приложение можно упаковать в самостоятельную настольную программу с интерфейсом в системном webview. Инструмент теперь распознаёт React Router, включает HMR для Vite и Nuxt и запускает обновление через dev-сервер выбранного фреймворка.В обновление также вошли:
SIGUSR1;fmt, lint и bench в watch-режиме.Разработчики также ускорили Web Streams, передачу сообщений между workers и работу TLS-потоков, сократив лишние копирования буферов.
deno desktop пока считается экспериментальной функцией, поэтому формат и API ещё могут измениться. Остальные исправления входят в стабильный релиз 2.9.2.Язык: Rust и TypeScript
Лицензия: MIT
@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1