Local-first и децентрализация
spot становится уже рабочим инструментом. Вот уже не очень тривиальный рефак закоммитил. Вообще, такая фича - замена по AST - есть и в IDE JetBrains и, к примеру, в гугловских внутренних инструментах, но там мало кто пользуется. Я не пользовался. А вот spot…
Кстати, вдохновение для spot пришло от Russ Cox, автора гугловой тулзы, которая примерно это же делает (индекс триплетный, поиск только не AST, а регексами).
librdx
spot — git repo AST code search and replace
Replicated Data eXchange format C lib
❤3
Local-first и децентрализация
spot становится уже рабочим инструментом. Вот уже не очень тривиальный рефак закоммитил. Вообще, такая фича - замена по AST - есть и в IDE JetBrains и, к примеру, в гугловских внутренних инструментах, но там мало кто пользуется. Я не пользовался. А вот spot…
Не могу остановиться. spot ускоряет разработку spot. Сегодня это уже мультитул, который парсит 70 языков, считает диффы, всё мёржит, показывает файлы (с синтаксисом), ищет сниппеты кода, грепает, в том числе по регексам.
GitHub
beagle/spot at master · gritzko/beagle
Beagle - git-compatible revision control for modern workflows 🐕 - gritzko/beagle
❤5👍4
Update по Beagle https://replicated.wiki/blog/partIII
Вкратце: хаос CLI интерфейса git можно разложить на ортогональный базис. Для базиса позаимствована конвенция WWW: глагол + URI, GET/POST/PATCH/POST/DELETE и протокол-хост-путь-запрос-фрагмент. Таким образом можно выразить всё многообразие операций над репкой. Всё запоминается естественно, собственно что тут запоминать-то.
Получается таблица Менделеева для контроля версий.
Также отметим, что Beagle сейчас совместим с git по формату и протоколу. Ранее приходилось хранить AST деревья, которые git, понятно, хранить не может. Оказалось, если выбросить tree-sitter и использовать токенизаторы на ragel'е, то и с блобами можно работать.
Вкратце: хаос CLI интерфейса git можно разложить на ортогональный базис. Для базиса позаимствована конвенция WWW: глагол + URI, GET/POST/PATCH/POST/DELETE и протокол-хост-путь-запрос-фрагмент. Таким образом можно выразить всё многообразие операций над репкой. Всё запоминается естественно, собственно что тут запоминать-то.
Получается таблица Менделеева для контроля версий.
Также отметим, что Beagle сейчас совместим с git по формату и протоколу. Ранее приходилось хранить AST деревья, которые git, понятно, хранить не может. Оказалось, если выбросить tree-sitter и использовать токенизаторы на ragel'е, то и с блобами можно работать.
🔥2🌚2😐1
Тыкс. Beagle уже спокойно работает с проектами размера linux. Уж не скажу, считать ли linux большим, но он изрядный. То есть, может push/pull/commit/checkout побитно идентично.
Какой темп коммитов в самом бигле можно полюбоваться. Метод работы простой. Сперва порхающие кувалды с Клодом, а качество уже потом подтягиваю, в том числе используя малую механизацию.
В ближайшее время распишу, как работают команды get/put/post/patch и почему этого достаточно для всех ситуаций.
Какой темп коммитов в самом бигле можно полюбоваться. Метод работы простой. Сперва порхающие кувалды с Клодом, а качество уже потом подтягиваю, в том числе используя малую механизацию.
В ближайшее время распишу, как работают команды get/put/post/patch и почему этого достаточно для всех ситуаций.
GitHub
GitHub - gritzko/beagle: Beagle - git-compatible revision control for modern workflows 🐕
Beagle - git-compatible revision control for modern workflows 🐕 - gritzko/beagle
🔥15👍5❤2
Ретроспектива по ABC (Abstractionless C).
🔥2
Ещё про представление git-овых операций в системе координат HTTP/URI. По факту очень естественно получается, как для этого и придумали (в общем-то так и было, в HTTP в оригинале больше было задумано, чем то что сейчас используется).
И, собственно, коронный номер: как merge/rebase/squash/cherry-pick и другие случаи разложить на базис PATCH/POST.
И, собственно, коронный номер: как merge/rebase/squash/cherry-pick и другие случаи разложить на базис PATCH/POST.
🤔1
В целом, Beagle сейчас feature complete, 100KLoC, что заметно тоньше git, но по функционалу превосходит. Единственная заминка, что это я часто слышал раньше: "мы завайбили крутой проект, только нужно исправить пару багов". Потом не помню случаев, чтобы кто-то запостил "ура, всё исправили". Поэтому выстраиваю процесс, тикеты и прочее. Впрочем, это всё и другие пробовали.
Кто был в этой ситуации? Чем закончилось?
Кто был в этой ситуации? Чем закончилось?
"завайбили круто, только пару багов исправить" - чем закончилось?
Anonymous Poll
18%
пофиксили, зарелизили, деньги собираем
16%
ещё фиксим
21%
переписываем руками
19%
забросили
56%
пишу из дурки, всё хорошо
🥴2
Local-first и децентрализация
Мы на самом деле в очень интересное время живём, прямо в соответствии с китайским проклятием. Вот что считалось вершиной карьеры 5 лет назад? Работа в FAANG, то есть в этой самой engagement economy, которая видимо так уже всех задрала, что когда я открываю…
Эксперты осознали, что происходит. Ещё через годик и в прессе будет, а через два и правительство подтянется (запретят что-нибудь, вероятно). https://janrosenow.substack.com/p/pakistan-the-solar-revolution-nobody
Substack
Pakistan: the solar revolution nobody planned
The fastest distributed-solar rollout in the world happened almost entirely by accident.