TGViewer
Channel Public Channel
Max Syabro and a Slop Driven Development

Max Syabro and a Slop Driven Development

@syabro_notes

@syabro_chats в роли акына: что вижу то пою.
- Запускаю presync.io
- Web, tech, management.
Subscribers
959
Photos
515
Videos
51
Links
416

Showing posts older than #474 · Back to latest

Older Posts 19 shown
Post #473 398
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 - анализирует коммиты по таске (надо еще чтение плана добавить), генерит текстом "что сделано", создает комментарий в линеаре, закрывает таску.
Ауткам: закрытая таска с описанием что сделано
  • 🔥 3
  • ❤ 1
Post #472 397
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
Post #471 273
Post #470 242
  • 😁 2
  • 🤪 1
Post #469 242
  • 🔥 4
  • 👍 1
  • 😱 1
  • 🤪 1
Post #467 206
Дебильный Apple не прислали (или я проебал) письмо о том, что у меня кончился Apple Developer Account.

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

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

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

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

Если не починят, то буду под винду Presync делать.
  • ❤ 1
Post #466 203
Из интересного

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)
Post #465 222
https://store.steampowered.com/category/automation

В стиме тем временем фест моего источника дофамина - боброгейминга

боброгейминг — это такой стиль игр, где ты не задаёшь вопрос, зачем, ты просто строишь плотину. чем круче плотина, тем бобрее. вопросы о цели и значимости плотины вызывают у боброгеймеров недоумение.

вот же, плотина.

крутая.
  • 🔥 3
  • 😱 1
Post #464 272
Wails

Хоба, таури на го!

http://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
Post #463 251
Когда что-то надо запустить локально и без докера несколько вещей в параллели приходится немношк решить как ты хочешь это делать.

Раньше использовал:
- 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
Post #461 275
Я часто ищу чего послушать на https://everynoise.com вместо рекомендаций Spotify.

Гленн Макдоналд раньше работал в самом Spotify аналитиком, занимался тегами и жанрами. По сути, сайт — это база, которую он собрал во время работы. Его уволили в 2023 году, а с начала 2025 Spotify перешли на ML разметку, поэтому сайт уже не обновляется.

Но база все еще очень крутая. Можно найти что-то новое и странное, чего раньше не слышал. Ну или наковырять новое в плейлистах по любимым жанрам. Я оттуда брал синтвейв или неоклассику.

Примеры
- Russian Contemporary Classical
- Nordic Ambient
- Hypnotic Techno
- Irish Rebel Song
- Power Metal
- Melodic Metalcore
  • ❤ 6
Post #459 566
Когда заставили сделать test coverage > 90%
Post #458 261
Max Syabro and a Slop Driven Development У threads внезапно очень годный дизайн. Интересно сколько будет по времени запилить такой же нормальный ридер телеграмм каналов? Телегу делали олимпиадники. Самый адовый ад это когда размер текста подстраивается под размер медиа. Если в посте a.mp3 то и…
Ёбаные олимпиадники
  • 😁 1
Post #456 287
Effect
https://effect.website/

Странное, но может стоит того...
Выглядит как "давайте обмажем все Effect.pipe с кучей незнакомых вызовов".


const getTodo = (
id: number
): Effect.Effect<
unknown,
HttpClientError | TimeoutException
> =>
httpClient.get(`/todos/${id}`).pipe(
Effect.andThen((response) => response.json),
Effect.timeout("1 second"),
Effect.retry({
schedule: Schedule.exponential(1000),
times: 3
}),
Effect.withSpan("getTodo", { attributes: { id } })
)
Post #455 337
Немного драмы

В апреле 2025 Kujtim Hoxha сделал TermAI
Чуть позже к нему подтянулись Dax Raad и Adam (@adamdotdev). Предложили переименовать в OpenCode
и купили домен opencode.ai

В мае charm.sh предложили Kujtim фуллтайм работу и проект переходит к ним.
https://x.com/meowgorithm/status/1933593074820891062

Dax и Adam не одобрили и что-то пошло не так. Сделали свой форк.
Dax говорит что их где-то забанили, историю потерли.
https://x.com/thdxr/status/1933561254481666466

В итоге пока жаба и гадюка встречаются хуй знает какой из репо лучше и стоит юзать.

https://github.com/opencode-ai/opencode - оригинальный репо

https://github.com/sst/opencode - форк SST, который уже начали переписывать на TS или не начали. Хер понять тоже

Короче опенсорс это вам не тут.
X (formerly Twitter) Maybe: Christian Rocha (@meowgorithm) on X I’m the founder and CEO of Charm. There are claims circulating about OpenCode which are untrue, and I want to clarify what actually happened. In April, Kujtim Hoxha built a project called TermAI—an agentic coding tool built on top of Charm’s open source…
  • ❤ 2
Post #454 312
Зарелизили biome 2

https://biomejs.dev/blog/biome-v2/

Пишут что теперь можно tsc не юзать для проверки типов
В целом 1.Х было охуенно быстрое, а не еслинт
Рекомендую

PS а еще завезли кастомные правила
Biome Biome v2—codename: Biotype
  • 👍 1
  • 🔥 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →