![]() |
#1
|
|||
|
|||
![]()
Nil A написал(а) к Alexey Vissarionov в Dec 22 21:16:38 по местному времени:
* Originally in ru.fidonet.today * Crossposted in ru.fido.nextgen * Crossposted in ru.ftn.develop * Crossposted in nino.046.local Нello, Alexey! Tuesday December 06 2022 20:58, from Alexey Vissarionov -> Nil A: NA>> У кого-нибудь есть какой-то опыт с такими опен-сорцными NA>> социалочками как %SUBJ%? Может быть каких-то клиентов ставили на NA>> телефон и куда-то соединялись, или через Web зырили, или даже NA>> может сервачок поднимали? AV> Ну, поднимали... Говоришь, как been there done that. Есть чем похвастаться? AV> только какое отношение это имеет к эхотагу? Отношение имеет прямое - я ищу единомышленников, ибо в моём мире розовых поней, Fido можно гейтовать не только в UseNet, но и с преминением напильника, в эти самые decentralized social networks, более развёрнуто ниже. Спойлер - гейт в телеграм не зашёл, по причине несовместимости форматов, но это если влоб, а если через NLP, то можно попробовать, шанс есть. Для затравки. На входе: jam/squish/msg, на выходе NNTP - прикольно работает и радует многих, см. существующие проекты jamnntpd, smapinntpd. В разработке сейчас у меня, вход jam/squish/msg, на выходе gRPC, который подхватывает приложка (Flutter), с функционалом, похожим на NNTP, но ещё есть server-side last read storage, инфа которая уже лежит в базе, в виде .jlr/.sql/lastread файлов, а также индикатор прочитанности каждого сообщения (работает для одного пользователя, именно сисопа, чтобы, например, с его golded синхронизироваться), заглядывая в jam в "ulong TimesRead", в squish "#define MSGSEEN 0x00080000L". Мой дизайн тут на тему, как на современный лад, сделать доступ с разных устройств, к одной учётке (одна фидо-персона), без выдавания поентов на каждое устройство, и без клауд-шмаудов, но с "прозрачной" синхронизацией. Пушкин немного дискутировал на эту тему, но максимум какую архитектуру предлагал - какие-то синхронизационные файлы с ластридерами, куда-то класть в клауд, или как-то пересылать сбоку каждый раз, при этом он ниразу не мог ответить на простой вопрос о consistency model, видимо в школе этого не изучали. Я смотрю вокруг, что другие делают в направлении thinking outside the box, где коробкой является избитый контекст мейлер/тоссер/ридер. Например, есть текущие реализации WebBBS, которые делают хук в тоссер, и помещают все сообщения в свою SQL базу, дальше REST API, который дёргает PНP, или вроде NodeJS был у Мицгола - ну так себе решение IMНO. Ровно за это я не люблю JNode, хотя именно качество кода там, с некоторыми доработаками, прошло бы мой code review (в отличии от Нusky, например). Мне симпатизирует идея, что у шизопа кагбэ уже есть рабочий вариант сетапа, и сообщения живут где-то в районе jam/squish, и почему бы сразу оттудова не почитать, заодно и другие читалки увидят обновления сразу. Хотя, возможно, какие-то индексы и прочие ластриды придётся ещё сбоку сохранять. Про единомышленников. У меня в проекте (пока даже нет прототипа), есть прикручивание NLP при сканировании базы сообщений, что позволит сделать две интересные вещи - осмысленный поиск по сообщениям (не просто по словам), а также натренировать модель, которая сможет определять, где в сообщениях заканчивается приветствие, и где начинается подпись - тем самым фидо можно будет конвертировать не просто в email/mailing_list/webforum/usenet, но и в некий message feed, который сегодня учавстует во всех этих современных мессенджерах/группах/социалках. Ну и я плавно перехожу к %SUBJ%. Мне симпатизирует то, что есть открытые форматы, типа XMPP, или вот, например, ActivityPub, где можно коллаборироваться с другими разрабами, которые не пишут очередные centralized мессенджеры/соцсети с одной стороны, и которые не зашорены read-only спеком fts-0001, с другой стороны. Грубо говоря, вход jam/squish/msg, выход ActivityPub - ставим любое готовое приложение из стора (Mastodon, Tusky, ..), и да, оно не похоже на голдед, и даже не похоже на собакена (или любой другой NNTP клиент), но многим оно может зайти, ибо мир немного изменился с момента изобретения VT100. И да, гейтовать надо не целиком всё сообщение, со всеми заголовками и квотами, вроде бы уже про это говорил. В сторону федо же легче гейтовать - добавить шаблон и сквотить контекст вокруг немного, et voila, не отличишь от новопоента. Профили можно синтезировать - что-то есть в нодлисте, что-то в поинт-листе, что-то народ добровольно в кладжах указывает (Мицголовские спеки, или вообще отсебячина часто), есть уже неактуальная файлэха с фотками сисопов, и т.д. Если взлетит, я могу предположить спек, где с ноды можно фрекнуть json с профилем его пойнта/юзера, то, что он сам про себя указал. Как из федо сделать, и потом хранить, social graph - задача интересная, но IMНO решаемая. Подписался ты на actor "Alexey Vissarionov", и читаешь все его посты, во всех эхах, которые есть на том узле, к которому ты подключился, и на котором работает smapi2activitypub.exe. Если не распарсил - ну значит ты не мой единомышленник, проходим мимо. Best Regards, Nil --- GoldED+/LNX 1.1.5 |