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

И кастомный клиент мне кажется мог бы решить эту проблем
👍2😁2
2🔥1
Знаете как называется опытный кофаундер?

Скуфаундер!
😁4
Аларма! Делюсь мудростью поколений вайбкодеров!

Чтобы меньше заебываться со вводом одного и того же можно добавить свои кастомные команды на что угодно.

В кодинге с AI (cursor/claude/copilot) можно задавать свои файлы с правилами (.cursor/, CLAUDE.md, .copilot/)

А в них можно писать то что тебя заебывает делать и назначить на это дело alias команды.

Например первая команда их моего CLAUDE.md. Говорим $CM и АИ начинает готовить коммит. Можно добавить по вкусу чтобы обмазался линтерами или тайпчеком вместо прекоммита.


- $CM: generate commit message, show me, after I approve, attach all changed files, commit it.
To generate message run diff, get latest commits (exclude develop branch), get branch name. Commit format is `TYPE: PS-1234 - <description>`.
Type is one of FEAT, BUGFIX, CHORE, DOCS, REFACTOR, TESTS, STYLE.
XX-1234 is the task number extracted from the branch name.
Generate a commit message based on the diff and the latest commits. Less is more. One line only.
Don't mention tests if it's not TESTS commit.
After generating the commit message calculate message lines count, it must be exactly 1 line.
👍42
3🤯1
Обход пейволов на всяких блумбергах

https://archive.md

Alexey Shcherbak

чем архив конечно хорош так это то что работают даже вот так - ни протокола ничего удалять не надо
archive.is/https://www.bloomberg.com/news/articles/2025-06-12/gamestop-ceo-cohen-says-company-s-future-is-in-trading-cards
Как минимум, это красиво!

https://github.com/bensadeh/tailspin
6
https://github.com/supermacro/neverthrow

Минималистичная обёртка для безопасной работы с ошибками.
Вместо try/catch — Result<Ok, Err>, как в Rust

Учитывая что питоновских except OnlyThisException в жс-е нет. Ну и вообще когд получается как-то проще.


import { ok } from 'neverthrow'

const myResult = ok({ myData: 'test' }) // instance of `Ok`

myResult.isOk() // true
myResult.isErr() // false

...


const myResult = err('Oh noooo')

const multiply = (value: number): number => value * 2

const unwrapped: number = myResult.map(multiply).unwrapOr(10)



PS На основном проекте заколхозил это очент давно, как-то прошло мимо, может перейти...
2
Зарелизили biome 2

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

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

PS а еще завезли кастомные правила
👍1🔥1
Немного драмы

В апреле 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 или не начали. Хер понять тоже

Короче опенсорс это вам не тут.
2
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 } })
)
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