Max Syabro and Stuff
238 subscribers
321 photos
41 videos
8 files
243 links
@syabro_chats в роли акына: что вижу то пою.
- Запускаю presync.io
- Web, tech, management.
Download Telegram
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
6
Когда что-то надо запустить локально и без докера несколько вещей в параллели приходится немношк решить как ты хочешь это делать.

Раньше использовал:
- 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 для типов, не хочу больше.

Выглядит идеально:

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
👍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)
Дебильный Apple не прислали (или я проебал) письмо о том, что у меня кончился Apple Developer Account.

А поскольку из российского аккаунта они убрали возможность оплатить, я теперь не могу оплатить.

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

Написал в саппорт, жду.

Посылаю лучи ненависти и поноса.

Если не починят, то буду под винду Presync делать.
1
https://www.youtube.com/watch?v=V_yIeYSh-Wo

Ух, иногда удивляюсь какие мегаштуки в моем окружении люди делали. А ты такой и не в курсе даже...

Демейк клипа The Chemical Brothers - Star Guitar в Super Mario

Леониду респект!
🔥4👍1😱1🤪1
😁2🤪1
LLM кодинг или куда все катится. Часть 1.

За последнее время я много работал со всеми, или почти со всеми, инструментами для кодинга с помощью 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. /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 - анализирует коммиты по таске (надо еще чтение плана добавить), генерит текстом "что сделано", создает комментарий в линеаре, закрывает таску.
Ауткам: закрытая таска с описанием что сделано
🔥31