Да, если цель — "опасное общение", есть способы проще и старше: комментарии, pastebin, shared google docs, торренты, IRC и т.д. Фидонет тоже жив и отлично передаёт шифрованные сообщения.
Но Macaroni не про "самый практичный способ спрятать сообщения". Это про велосипед на коленке, который едет. И на него любой желающий может поставить треугольные колёса вместо квадратных, потому что архитектура позволяет. На экзистенциальный вопрос "зачем" у меня ответа нет.
Да, commit messages как storage — это красивая степень извращения, согласен.
Но я специально оставил сообщения файлами. Для Macaroni важнее не оптимальность git storage, а переносимость .macaroni/ как обычной структуры данных. Её можно форкнуть, скопировать, положить в другой repository, прочитать через Contents API, забрать архивом, перенести между GitHub/GitLab/Gitea/Forgejo/GitVerse — и сам protocol от этого не меняется.
Если сообщение живёт в commit message, commit становится сразу всем: envelope, storage unit, audit log, thread model и delivery mechanism. Это смешнее, но сильнее связывает чат с конкретным поведением git-host API и историей git. А главное — там уже начинает пропадать необходимость в прослойке в виде HTML-файла, и проект концептуально разваливается.
В текущей модели commit — просто транспортная история. Сегодня один message на commit, завтра batch, retry, squash, storage branch, другой provider — .macaroni/ всё равно остаётся .macaroni/.
Файлы тупее, зато эта тупость переносимая.
А вот идея “любой публичный CRUD с CORS как message bus” — да, это отдельная прекрасная бездна. Тут уже не git as chat, а “комментарии на чём угодно как transport layer”. И это, возможно, даже страшнее.
Я после реализации мессенджера уже несколько дней размышляю над сайд-эффектами, которые порождает такой класс приложений. Там натурально ящик Пандоры.
Изначально шутка была вообще "да мы прямо в репозитории гитхаба чат устроим в пулл реквесте", но это неудобно масштабировать. А файловая структура дает невероятную гибкость, и позволяет бесшовно переносить чат между репозиториями хоть форком, хоть копипастом.
Ну у гитхаба уже есть рейт лимиты, особенно публичные.
Ну гит вообще как CRUD API недооценен.
Да, если цель — "опасное общение", есть способы проще и старше: комментарии, pastebin, shared google docs, торренты, IRC и т.д. Фидонет тоже жив и отлично передаёт шифрованные сообщения.
Но Macaroni не про "самый практичный способ спрятать сообщения". Это про велосипед на коленке, который едет. И на него любой желающий может поставить треугольные колёса вместо квадратных, потому что архитектура позволяет. На экзистенциальный вопрос "зачем" у меня ответа нет.
Да, commit messages как storage — это красивая степень извращения, согласен.
Но я специально оставил сообщения файлами. Для Macaroni важнее не оптимальность git storage, а переносимость
.macaroni/как обычной структуры данных. Её можно форкнуть, скопировать, положить в другой repository, прочитать через Contents API, забрать архивом, перенести между GitHub/GitLab/Gitea/Forgejo/GitVerse — и сам protocol от этого не меняется.Если сообщение живёт в commit message, commit становится сразу всем: envelope, storage unit, audit log, thread model и delivery mechanism. Это смешнее, но сильнее связывает чат с конкретным поведением git-host API и историей git. А главное — там уже начинает пропадать необходимость в прослойке в виде HTML-файла, и проект концептуально разваливается.
В текущей модели commit — просто транспортная история. Сегодня один message на commit, завтра batch, retry, squash, storage branch, другой provider —
.macaroni/всё равно остаётся.macaroni/.Файлы тупее, зато эта тупость переносимая.
А вот идея “любой публичный CRUD с CORS как message bus” — да, это отдельная прекрасная бездна. Тут уже не git as chat, а “комментарии на чём угодно как transport layer”. И это, возможно, даже страшнее.
Я после реализации мессенджера уже несколько дней размышляю над сайд-эффектами, которые порождает такой класс приложений. Там натурально ящик Пандоры.
Мне это нужно для создания энтропии. Задача выполнена, и это на самом деле было очень смешно.
Изначально шутка была вообще "да мы прямо в репозитории гитхаба чат устроим в пулл реквесте", но это неудобно масштабировать. А файловая структура дает невероятную гибкость, и позволяет бесшовно переносить чат между репозиториями хоть форком, хоть копипастом.