Media is too big
VIEW IN TELEGRAM
Когда заставили сделать test coverage > 90%
Я часто ищу чего послушать на https://everynoise.com вместо рекомендаций Spotify.
Гленн Макдоналд раньше работал в самом Spotify аналитиком, занимался тегами и жанрами. По сути, сайт — это база, которую он собрал во время работы. Его уволили в 2023 году, а с начала 2025 Spotify перешли на ML разметку, поэтому сайт уже не обновляется.
Но база все еще очень крутая. Можно найти что-то новое и странное, чего раньше не слышал. Ну или наковырять новое в плейлистах по любимым жанрам. Я оттуда брал синтвейв или неоклассику.
Примеры
- Russian Contemporary Classical
- Nordic Ambient
- Hypnotic Techno
- Irish Rebel Song
- Power Metal
- Melodic Metalcore
Гленн Макдоналд раньше работал в самом Spotify аналитиком, занимался тегами и жанрами. По сути, сайт — это база, которую он собрал во время работы. Его уволили в 2023 году, а с начала 2025 Spotify перешли на ML разметку, поэтому сайт уже не обновляется.
Но база все еще очень крутая. Можно найти что-то новое и странное, чего раньше не слышал. Ну или наковырять новое в плейлистах по любимым жанрам. Я оттуда брал синтвейв или неоклассику.
Примеры
- Russian Contemporary Classical
- Nordic Ambient
- Hypnotic Techno
- Irish Rebel Song
- Power Metal
- Melodic Metalcore
❤6
Когда что-то надо запустить локально и без докера несколько вещей в параллели приходится немношк решить как ты хочешь это делать.
Раньше использовал:
- concurrently — все команды сразу передаются аргументами, без необходимости отдельного конфига.
- tmux — мощная штука, но начинает прорастать свитер
- Просто открывал несколько панелей терминала вручную (что надоедает), иногда с пердолингом через скрипты для управления Terminal/iTerm.
+ знаю про foreman/honcho с Procfile. А ну и древний parallel
Вчера наткнулся на mprocs. Выглядит как Tmux + concurrently вместе.
- YAML-конфиг для описания процессов.
- TUI
- Можно быстро запускать/останавливать процессы прямо из интерфейса.
Можно сразу передать все что надо запусть
А можно через конфиг:
Попробую потыкать, но пока туишное ничего не прижилось..
- Репозито: https://github.com/pvolok/mprocs
- Голова на ютубе о нем: https://www.youtube.com/watch?v=WHajHA2ilpE
Раньше использовал:
- concurrently — все команды сразу передаются аргументами, без необходимости отдельного конфига.
- tmux — мощная штука, но начинает прорастать свитер
- Просто открывал несколько панелей терминала вручную (что надоедает), иногда с пердолингом через скрипты для управления Terminal/iTerm.
+ знаю про foreman/honcho с Procfile. А ну и древний parallel
Вчера наткнулся на mprocs. Выглядит как Tmux + concurrently вместе.
- YAML-конфиг для описания процессов.
- TUI
- Можно быстро запускать/останавливать процессы прямо из интерфейса.
Можно сразу передать все что надо запусть
mprocs cmd1 cmd2
А можно через конфиг:
- name: frontend
cmd: npm run dev
- name: backend
cmd: ./manage.py runserver
Попробую потыкать, но пока туишное ничего не прижилось..
- Репозито: https://github.com/pvolok/mprocs
- Голова на ютубе о нем: https://www.youtube.com/watch?v=WHajHA2ilpE
🔥5
Wails
Хоба, таури на го!
https://wails.io
Я честно раст не осилил, гошечка кажется сильно проще особенно для каких-то простых шелл-лайк задач. Надо попробовать на замену электрона.
Круто то что из коробки сразу выдает либу (How Does It Work) для работы. На пресинке я писал свою обертку-генератор на vite для типов, не хочу больше.
Выглядит идеально:
и тип в
Какие-то упоротые даже терминал написали)
https://github.com/rlshukhov/wailsterm
Хоба, таури на го!
https://wails.io
Я честно раст не осилил, гошечка кажется сильно проще особенно для каких-то простых шелл-лайк задач. Надо попробовать на замену электрона.
Круто то что из коробки сразу выдает либу (How Does It Work) для работы. На пресинке я писал свою обертку-генератор на vite для типов, не хочу больше.
Выглядит идеально:
import { Greet } from "../wailsjs/go/main/App";
function doGreeting(name) {
Greet(name).then((result) => {
// Do something with result
});
}
и тип в
.d.ts
export function Greet(arg1: string): Promise<string>;
Какие-то упоротые даже терминал написали)
https://github.com/rlshukhov/wailsterm
wails.io
The Wails Project | Wails
Build beautiful cross-platform applications using Go
👍1🤔1
https://store.steampowered.com/category/automation
В стиме тем временем фест моего источника дофамина - боброгейминга
В стиме тем временем фест моего источника дофамина - боброгейминга
боброгейминг — это такой стиль игр, где ты не задаёшь вопрос, зачем, ты просто строишь плотину. чем круче плотина, тем бобрее. вопросы о цели и значимости плотины вызывают у боброгеймеров недоумение.
вот же, плотина.
крутая.
🔥3😱1
Из интересного
Super Loco World
https://store.steampowered.com/app/3109280/Super_Loco_World__Cozy_Train_Automation/
TLDR: transport tycoon есть у нас дома
UPD запросил рефанд. Игра про управление семафорами с херовым набором триггеров
Kazien
https://store.steampowered.com/app/2275490/Kaizen_A_Factory_Story/
Головоломка от выходцев из Zachtronics (SpaceChem, Shenzen I/O, TIS-100, Exapunks)
Super Loco World
https://store.steampowered.com/app/3109280/Super_Loco_World__Cozy_Train_Automation/
TLDR: transport tycoon есть у нас дома
UPD запросил рефанд. Игра про управление семафорами с херовым набором триггеров
Kazien
https://store.steampowered.com/app/2275490/Kaizen_A_Factory_Story/
Головоломка от выходцев из Zachtronics (SpaceChem, Shenzen I/O, TIS-100, Exapunks)
Дебильный Apple не прислали (или я проебал) письмо о том, что у меня кончился Apple Developer Account.
А поскольку из российского аккаунта они убрали возможность оплатить, я теперь не могу оплатить.
И второй охуенный момент то, что у неоплаченных аккаунтов нельзя сменить страну на нормальную, где есть кнопка оплатить.
Написал в саппорт, жду.
Посылаю лучи ненависти и поноса.
Если не починят, то буду под винду Presync делать.
А поскольку из российского аккаунта они убрали возможность оплатить, я теперь не могу оплатить.
И второй охуенный момент то, что у неоплаченных аккаунтов нельзя сменить страну на нормальную, где есть кнопка оплатить.
Написал в саппорт, жду.
Посылаю лучи ненависти и поноса.
Если не починят, то буду под винду Presync делать.
❤1
https://www.youtube.com/watch?v=V_yIeYSh-Wo
Ух, иногда удивляюсь какие мегаштуки в моем окружении люди делали. А ты такой и не в курсе даже...
Демейк клипа The Chemical Brothers - Star Guitar в Super Mario
Леониду респект!
Ух, иногда удивляюсь какие мегаштуки в моем окружении люди делали. А ты такой и не в курсе даже...
Демейк клипа The Chemical Brothers - Star Guitar в Super Mario
Леониду респект!
YouTube
Super Chemical Bros.
This video is a 8-bit remake of the official music video from Michel Gondry.
https://techcrunch.com/2025/07/17/anthropic-tightens-usage-limits-for-claude-code-without-telling-users/
Пидорасы, сэр
Пидорасы, сэр
TechCrunch
Anthropic tightens usage limits for Claude Code — without telling users | TechCrunch
Claude Code users have been hit with unexpectedly restrictive usage limits. The problems, many of which have been aired on Claude Code’s GitHub page, seem to be concentrated among heavy users of the service, many of whom are on the $200-a-month Max plan.
LLM кодинг или куда все катится. Часть 1.
За последнее время я много работал со всеми, или почти со всеми, инструментами для кодинга с помощью AI. Я не называю это вайб-кодингом, потому что проекты, над которыми я работаю, сложнее, чем просто блог или микроапп для айфона. И я не отпускаю контроль. Не могу. Никакого YOLO режима. Потому что вижу результат на выходе.
При большом количестве контекста LLM начинает путаться. Например перед коммитом тесты не проходят, и LLM говорит: «Ну, тесты не прошли, да и ладно, задача выполнена». Некоторые паттерны разработки меня не устраивают. Иногда тупо делает не то что нужно.
Поэтому я разделил разработку на несколько этапов. Для кодинга у меня есть несколько инструментов и команд. Они помогают разделить ответственность и уменьшить размер загружаемого контекста для AI. Основная проблема в том, что и Thinking и обычная модель похоже забивают контекст кодом при сканировании и прочими вещами которые не нужны на следующих этапах.
И я пришел к тому что лучше будет разделить роли, как в команде:
• project-менеджер, который создает задачу и описывает ее с точки зрения ценности
• тимлид или staff инженер, который берет задачу и накидывает драфт по архитектуре;
• разработчик, который делит задачу на атомарные куски и разрабатывает их в TDD-подходе.
Сейчас у меня все реализовано через команды. Но чем больше я полирую эти команды и добавляю соломки там, где Claude начинает ошибаться, тем больше понимаю, что нужна оркестровка в виде отдельного скрипта. Claude нередко начинает выполнять то, что от него не требуется. Например, когда он вызывает Gemini для анализа файловой структуры изменений, не нужно выполнять команды типа git diff или cat - они инжектятся в баш промптвыполнения Gemini. И я очень явно в начале команды пишу не выполнять эти их. Скотина Claude все равно выполняет git diff и иногда даже заменяет сам контекст в команде Gemini.
Таким образом нужна оркестрация и какой-то флоу через скрипт питоне-жс-вотевер. Там где все прибито гвоздями. Ибо на верхнем уровне это какой-то уровень стейт машины с шагами.
А подключать ллм уже в местах где он непосредственно нужен.
За последнее время я много работал со всеми, или почти со всеми, инструментами для кодинга с помощью AI. Я не называю это вайб-кодингом, потому что проекты, над которыми я работаю, сложнее, чем просто блог или микроапп для айфона. И я не отпускаю контроль. Не могу. Никакого YOLO режима. Потому что вижу результат на выходе.
При большом количестве контекста LLM начинает путаться. Например перед коммитом тесты не проходят, и LLM говорит: «Ну, тесты не прошли, да и ладно, задача выполнена». Некоторые паттерны разработки меня не устраивают. Иногда тупо делает не то что нужно.
Поэтому я разделил разработку на несколько этапов. Для кодинга у меня есть несколько инструментов и команд. Они помогают разделить ответственность и уменьшить размер загружаемого контекста для AI. Основная проблема в том, что и Thinking и обычная модель похоже забивают контекст кодом при сканировании и прочими вещами которые не нужны на следующих этапах.
И я пришел к тому что лучше будет разделить роли, как в команде:
• project-менеджер, который создает задачу и описывает ее с точки зрения ценности
• тимлид или staff инженер, который берет задачу и накидывает драфт по архитектуре;
• разработчик, который делит задачу на атомарные куски и разрабатывает их в TDD-подходе.
Сейчас у меня все реализовано через команды. Но чем больше я полирую эти команды и добавляю соломки там, где Claude начинает ошибаться, тем больше понимаю, что нужна оркестровка в виде отдельного скрипта. Claude нередко начинает выполнять то, что от него не требуется. Например, когда он вызывает Gemini для анализа файловой структуры изменений, не нужно выполнять команды типа git diff или cat - они инжектятся в баш промптвыполнения Gemini. И я очень явно в начале команды пишу не выполнять эти их. Скотина Claude все равно выполняет git diff и иногда даже заменяет сам контекст в команде Gemini.
Таким образом нужна оркестрация и какой-то флоу через скрипт питоне-жс-вотевер. Там где все прибито гвоздями. Ибо на верхнем уровне это какой-то уровень стейт машины с шагами.
А подключать ллм уже в местах где он непосредственно нужен.
🔥5👍2😁1
LLM кодинг или куда все катится. Часть 2
Мои команды для CC
1.
Ауткам: задача в линеаре с требованиями
2.
Ауткам: Комментарий в линеаре с планом.
3.
Ауткам: .local/plan-TSK-123-todo .md. Храню локально в md потому что МСР не умеет обновлять комментарии; cli который я поставил тоже
4.
Ауткам: каждый шаг - коммит. Ибо как уже выше ловлю на "Тесты не прошли да и хуй с ним, давай коммитить, я сделяль". В общем ссу давать доступ на коммит и быстро смотрю что там нахуевертили. Плюс у меня electron - там надо тестить руками. Мне один баг кросссистемный (app-front) чинило долго.
5.
Ауткам: закрытая таска с описанием что сделано
Мои команды для CC
1.
/linear-create - собрать контекст от меня, подумать с гемини. Ауткам: задача в линеаре с требованиями
2.
/linear-plan - взять задачу из линеара, рассказать мне как понял, далее вместе с гемини собрать архитектуру и общий план как задача будет выполнена. С аппрувом от меня. Сохраняет промежуточное в маркдауне.Ауткам: Комментарий в линеаре с планом.
3.
/linear-todo - из плана и задачи разработать пошаговый план выполнения. Каждый шаг атомарный + четкий DoDАуткам: .local/plan-TSK-123-todo .md. Храню локально в md потому что МСР не умеет обновлять комментарии; cli который я поставил тоже
4.
/linear-code - получит весь контекст из линеара, чекнуть есть ли туду и начинать делать кодить по одной задаче из туду.Ауткам: каждый шаг - коммит. Ибо как уже выше ловлю на "Тесты не прошли да и хуй с ним, давай коммитить, я сделяль". В общем ссу давать доступ на коммит и быстро смотрю что там нахуевертили. Плюс у меня electron - там надо тестить руками. Мне один баг кросссистемный (app-front) чинило долго.
5.
/linear-finish - анализирует коммиты по таске (надо еще чтение плана добавить), генерит текстом "что сделано", создает комментарий в линеаре, закрывает таску.Ауткам: закрытая таска с описанием что сделано
🔥3❤1
LLM кодинг или куда все катится. Часть 3.
Я сейчас использую 3 инструмента:
- Claude Code - основной архитектор, оркестратор и наиболее бесящий. Он же дергает Gemini CLI
- Gemini - субагент для анализа кодовой базы, проверки ченжсета, проверки на SRP и всякого такого.
- Github Copliot - для точечного редактирования файлов. Ну и всего $10
Сначала идея была в том чтобы ждать, пока Claude слоупоком загрепает что-то там в системе, можно послать его в Gemini, у которого гораздо больше размер контекста. На presync.io, на котором я сейчас обкатываю все эти команды, я говорю юзать
Например:
Чуть позже когда я начал использовать эту связку, я понял (но это не точно), что тут есть интересный сайд-эффект. Субьективно начинает работать какой-то метод утенка.
Claude объясняет Gemini, что ему нужно узнать, и потом получает назад результат. И мне кажется что получаемый outcome гораздо более четкий и предсказуемый. Плюс Claude не захламляет свой контекст анализом и грепом кучи файлов, которые дальше не нужны там.
PS В инструкции ниже очень важная строка
Гугловцы как обычно отличаются умом и сообразительностью и не дают досутп gemini ни к каким вызовам внешних тулов при
PSS Спизжено с https://www.reddit.com/r/ChatGPTCoding/comments/1lm3fxq/gemini_cli_is_awesome_but_only_when_you_make/
Я сейчас использую 3 инструмента:
- Claude Code - основной архитектор, оркестратор и наиболее бесящий. Он же дергает Gemini CLI
- Gemini - субагент для анализа кодовой базы, проверки ченжсета, проверки на SRP и всякого такого.
- Github Copliot - для точечного редактирования файлов. Ну и всего $10
Сначала идея была в том чтобы ждать, пока Claude слоупоком загрепает что-то там в системе, можно послать его в Gemini, у которого гораздо больше размер контекста. На presync.io, на котором я сейчас обкатываю все эти команды, я говорю юзать
--all_files. И не нужно ждать пока СС по одному файлу что-то там родит.Например:
Ask gemini how the app dowloads installation files and how it's being triggered on the frontend
Чуть позже когда я начал использовать эту связку, я понял (но это не точно), что тут есть интересный сайд-эффект. Субьективно начинает работать какой-то метод утенка.
Claude объясняет Gemini, что ему нужно узнать, и потом получает назад результат. И мне кажется что получаемый outcome гораздо более четкий и предсказуемый. Плюс Claude не захламляет свой контекст анализом и грепом кучи файлов, которые дальше не нужны там.
PS В инструкции ниже очень важная строка
!IMPORTANT MUST NOT ANY COMMANDS TO PROVIDE ANY CONTEXT TO GEMINI
Гугловцы как обычно отличаются умом и сообразительностью и не дают досутп gemini ни к каким вызовам внешних тулов при
gemini -p. Поэтому учитываем что он умеет только читать файлы. На запись, вызов баша он падает.PSS Спизжено с https://www.reddit.com/r/ChatGPTCoding/comments/1lm3fxq/gemini_cli_is_awesome_but_only_when_you_make/
❤3😁1