Сообщения в idec.talks

Re: Неожиданное наблюдение

Ответ на сообщение
hugeping> Драматизировать тоже не стоит.
А кто владелец репы idec-net? Он здесь есть? Он способен привести документацию в адекватный и недвузначно трактуемый вид?

* Раз GET /list.txt всегда был в ii, надо его описать в базе, а не в расширениях.
* Раз айдишники в виде волшебного шопопало до сих пор проскакивают, надо указать, что алгоритм их генерации рекомендован. И указать правила замены на A-z, которые все ноды между собой понимали бы.
* Раз счётчики де-факто могут убывать, надо убрать ту приписку «Важно: параметр неубывающий».

Ну и так далее. В общем, привести теоретическую базу к тому, как оно всё на самом деле функционирует. Чтобы новые авторы клиентов (а тем более серверов) не путались в этих трёх соснах как минимум.

Я могу выложить свою (англоязычную) доку где-то здесь. Либо в english.talks, либо в какуюто новую эху. Там сейчас базовый ii без расширений по факту. Есть желание привлечь нексовских, гоферистов, джеминистов и прочих активистов смолнета к этой теме, но для начала неплохо было бы довести документацию до удобоваримого вида без разночтений.
revoltech to hugeping (2024-10-27 15:48:52) [ссылка]

Re: Неожиданное наблюдение

Ответ на сообщение
hugeping> Ну, хочется видеть idec другим -- никто не мешает разрабатывать свои варианты...
Жаль при этом происходит дробление сообществ на всё более мелкие части...
tuple to hugeping (2024-10-27 15:46:42) [ссылка]

Re: Неожиданное наблюдение

Ответ на сообщение
revoltech> Sad but true. Хотя мне, наверное, было бы достаточно корректно работающего ii. Просто по ходу дела выяснилось, что это ближе к мифу или оксюморону.
Драматизировать тоже не стоит. Я помню, когда делал для микроконтроллера клиента gemini тоже сталкивался с "разночтением" стандарта. Точно сейчас не помню, но кажется это было связано с относительными ссылками или что-то вроде того. Но это не мешает gemini быть живым.

Да, x/c похоже мало кто соблюдает в буквальном смысле. Но в остальном, я не вижу особых отклонений от стандарта. Ваши желания того, чтобы msgid совпадал с хешем сообщений -- никогда не было требованием. Как правильно тут писал Рома, иногда мы даже заполняли недостающую часть "заполнялками" итд. Хеш - это просто естественный способ создать уникальный идентификатор.

Все реализации, которые живы на данный момент обмениваются друг с другом вполне себе нормально. Ну, хочется видеть idec другим -- никто не мешает разрабатывать свои варианты...
hugeping to revoltech (2024-10-27 15:17:00) [ссылка]

Re: Неожиданное наблюдение

Ответ на сообщение
tuple> IDEC протокол нужен только для обсуждения IDEC-реализаций.
Sad but true. Хотя мне, наверное, было бы достаточно корректно работающего ii. Просто по ходу дела выяснилось, что это ближе к мифу или оксюморону.
revoltech to tuple (2024-10-27 13:36:01) [ссылка]

Re: Стандарт

Ответ на сообщение
shaos> Ну вот поэтому все редакции "особых" сообщений должны идти как отдельные записи в списке хешей
Это слишком сложно и нецельно. Ладно, я тогда не буду развивать тему. Существующий стандарт хотя бы какая-то твердая почва
hugeping to shaos (2024-10-27 13:31:24) [ссылка]

Re: Стандарт

Ответ на сообщение
Всё сделал - проверяй :)
shaos to ahamai (2024-10-27 13:24:27) [ссылка]

Неожиданное наблюдение

Ответ на сообщение
IDEC протокол нужен только для обсуждения IDEC-реализаций.
tuple to revoltech (2024-10-27 13:14:54) [ссылка]

Re: Стандарт

Ответ на сообщение
> Понимаешь, у всех у нас своё "особенное" понимание. Я считаю что ii следует понимать просто как распространение текстовых сообщений. Что ИМЕННО в этих текстовых сообщениях - не наше дело. Кто-то считает, что это "мессенджер", кто-то - форум, а кто-то в блогах пишет....
Ну вот поэтому все редакции "особых" сообщений должны идти как отдельные записи в списке хешей (причём корректно посчитанных) - протокол ii будет честно доставлять их все (вдруг мы захотим откатиться), НО отдельно могут идти системные сообщения для некоей CMS внутри которых неким айдишникам кирпичиков (которые не меняются) будут ставится в соответствие хэши новых редакций - вобщем как-то так
shaos to hugeping (2024-10-27 13:14:37) [ссылка]

Re: Стандарт

Ответ на сообщение
shaos> а почему бы и не добавлять также как в хттп?
shaos>
shaos> /u/point/pauth/tmsg
shaos>
shaos> \n и забираем ответ
shaos>
shaos> или там ограничение на длину запроса?...
Нет, как раз в нексе в спецификации ([1]) ограничения на запрос нет, можно и так и по тому же порту. По NPS ([2]) идиоматичнее просто.

Но, в принципе, да, можно и портом 1900 по предложенному тобой варианту обойтись, наверное.

[1]: https://nightfall.city/nex/info/specification.txt
[2]: https://nightfall.city/nps/info/form.txt
revoltech to shaos (2024-10-27 13:12:25) [ссылка]

Re: Стандарт

Ответ на сообщение
а почему бы и не добавлять также как в хттп?

/u/point/pauth/tmsg

\n и забираем ответ

или там ограничение на длину запроса?...
shaos to revoltech (2024-10-27 13:05:48) [ссылка]

Re: Полуневдимые эхи

Ответ на сообщение
> ну и /x/h/echo.1/echo.2 по аналогии с /x/c/echo.1/echo.2 сдедал, например
> ====
> > curl https://sprinternet.io/iii/x/h/retro.talks/idec.talks
> retro.talks:mWbHlTgoAaE1IaEoubCR
> idec.talks:4dBW6db3TdOmYzbdZAg5
> ====
После того как предыдущее сообщение добавилось стало так :)
retro.talks:mWbHlTgoAaE1IaEoubCR
idec.talks:KCAVqaCJCot0ByQVlWg5
shaos to shaos (2024-10-27 12:52:01) [ссылка]

Re: Полуневдимые эхи

Ответ на сообщение
Всё сделал - проверяй :)
/list.txt остался как был
/list.txt?h=1 подставляет hsh/хэш вместо дескрипшинов и имеет "алиас" /listhsh.txt
ну и /x/h/echo.1/echo.2 по аналогии с /x/c/echo.1/echo.2 сдедал, например
> curl https://sprinternet.io/iii/x/h/retro.talks/idec.talks
retro.talks:mWbHlTgoAaE1IaEoubCR
idec.talks:4dBW6db3TdOmYzbdZAg5
тут без префикса hsh/
shaos to shaos (2024-10-27 12:50:31) [ссылка]

Re: Стандарт

Ответ на сообщение
hugeping>>> JOHemYNZRC8Uo9QwAYQU:1
hugeping>> Тогда такой вариант. Всё как было, но если сообщение отредактировано то в u/e/ придёт вот такая строка с доп ревизией (после :). Эту ревизию можно зашивать в теги самого сообщения и хранить в базе.
hugeping> Гм. На практике, редактирование сообщения - добавление новой записи в бд. Так что тут не все так просто.
Да нет, вроде нормально... Редактирование сообщения - это выпуск msgid с новым полем rev. Это на усмотрение ноды как именно отразить это в бд. В ii-go это дописывание новой инфы которая "перекрывает" старую. В sql это может быть тупо запись в бд. Требовать чтобы запись добавилась в конец запроса u/e наверное нецелесообразно.
hugeping to hugeping (2024-10-27 12:39:40) [ссылка]

Re: Стандарт

Ответ на сообщение
hugeping>> JOHemYNZRC8Uo9QwAYQU:1
hugeping> Тогда такой вариант. Всё как было, но если сообщение отредактировано то в u/e/ придёт вот такая строка с доп ревизией (после :). Эту ревизию можно зашивать в теги самого сообщения и хранить в базе.
Гм. На практике, редактирование сообщения - добавление новой записи в бд. Так что тут не все так просто.
hugeping to hugeping (2024-10-27 12:34:00) [ссылка]

Re: Стандарт

Ответ на сообщение
shaos> опиши подробнее как по нексу планиуешь работать - я подниму сервачок :)
Ну геты с порта 1900 точно так же, как в хттп (просто путь в сокет, \n и забираем ответ), а посты по порту 1915 — каноничная NPS-форма такова:

cat < /u/point
[auth_string]
[base64_message]
.
EOF
revoltech to shaos (2024-10-27 12:05:45) [ссылка]

Re: Стандарт

Ответ на сообщение
AL> Твой клиент не работает с твоей нодой?
Моей ноды ещё не существует.
AL> Что повышает надёжность передачи на нестабильном канале.
Каким образом, если проверка целостности по msgid, как мы выяснили, идёт лесом, а проверка целостности самого списка в эхе сейчас вообще отсутствует?

Ну то есть давай смоделируем ситуацию — обрыв соединения при фетче эхи. Этот обрыв может произойти во время:

1) скачивания списка айдишников в эхе (GET /u/e),
2) скачивания бандла (GET /u/m).

В случае номер 1, если обрыв произошёл до последнего известного нам айдишника, мы не знаем, что там между ними (последним известным нам и тем, где произошёл обрыв), поэтому всё равно придётся запрашивать тот же список заново, независимо от размера.

В случае номер 2, который на слабом канале критичнее, мы сравниваем список полученных сообщений со списком запрошенных и при несоответствии оных просто перекачиваем с последнего полученного (т.к. его тело могло быть выкачано не полностью). Изначальный размер бандла при этом значения также не имеет.

И это ещё с допущением, что само соединение установлено успешно. А чем нестабильнее канал, тем дольше устанавливается соединение. И накладные расходы на кучу мелких запросов в этом случае ещё сильнее влияют.
revoltech to Andrew Lobanov (2024-10-27 12:02:29) [ссылка]

Re: Полуневдимые эхи

Ответ на сообщение
AL> FTN у нас уже есть.
Сделать гейт в FTN
+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
doesnm to Andrew Lobanov (2024-10-27 11:50:53) [ссылка]

Re: Стандарт

Ответ на сообщение
hugeping> JOHemYNZRC8Uo9QwAYQU:1
Тогда такой вариант. Всё как было, но если сообщение отредактировано то в u/e/ придёт вот такая строка с доп ревизией (после :). Эту ревизию можно зашивать в теги самого сообщения и хранить в базе.
hugeping to hugeping (2024-10-27 11:49:45) [ссылка]

Re: Стандарт

Ответ на сообщение
shaos> лучше версионность делать иными средствами имхо - поверх и сбоку
Вот и проверку подлинности можно поверх и сборку. :)

Кроме шуток, да, я думал о "сбоку". Но тогда, получается, мы должны сначала получить id сообщений эхи. А потом, ревизии но в полном соответствии с id. И тогда непонятно вообще зачем 1й вызов? Ну то-есть оно может быть сбоку, да, но ответ всё равно будет включать в себя и id и rev. Ну например:

JOHemYNZRC8Uo9QwAYQU:1

Мне кажется редактирование сообщений неплохо в "базе" иметь, всё-таки.
> т.к. оно будет нужно только для очень особенного типа сообщений
Понимаешь, у всех у нас своё "особенное" понимание. Я считаю что ii следует понимать просто как распространение текстовых сообщений. Что ИМЕННО в этих текстовых сообщениях - не наше дело. Кто-то считает, что это "мессенджер", кто-то - форум, а кто-то в блогах пишет....
hugeping to shaos (2024-10-27 11:47:30) [ссылка]

Re: Стандарт

Ответ на сообщение
> Для слайсов количество вообще не обязательно.
т.е. ты предлагаешь каждый раз дёргать каждую эху с параметрами -1:1 чисто на всякий случай? ;)
> А какой смысл в этом многообразии?
эдакий A/B тест - кто что больше будет использовать, то прилипшим к стене и останется :)
shaos to Andrew Lobanov (2024-10-27 11:42:40) [ссылка]

Re: Стандарт

Ответ на сообщение
дык у него ещё нету ноды - тока клиент :)
shaos to Andrew Lobanov (2024-10-27 11:40:02) [ссылка]

Re: Стандарт

Ответ на сообщение
лучше версионность делать иными средствами имхо - поверх и сбоку т.к. оно будет нужно только для очень особенного типа сообщений - формирователей контента (я тоже недавно думал про что-то такое для управлением статическим веб-сайтом, который строится из кирпичиков, которые засылаются через ii)
shaos to hugeping (2024-10-27 11:38:52) [ссылка]

Re: Полуневдимые эхи

Ответ на сообщение
Да чо уж там - давайте распечатывать эхи на листах A4 и рассылать бумажной почтой...
shaos to doesnm (2024-10-27 11:33:48) [ссылка]

Re: Стандарт

Ответ на сообщение
hugeping> Да, я там сделал попытку предложить что-то (как мысленный эксперимент): ii://sZbskcy7huzEVJlsSDIF
hugeping> Вроде в таком варианте новые версии сообщения будут распространяться.
То-есть, основные мысли:
1) если видим что что-то на станции в этой эхе поменялось - всегда делаем полный фетч (адаптивный фетч в топку)
2) во время фетча учитываем не только id, но и ревизию сообщения. Всё это для простоты может быть частью msgid (но может и не быть)
hugeping to hugeping (2024-10-27 11:28:26) [ссылка]

Re: Стандарт

Ответ на сообщение
> Не в первый и, думаю, не в последний раз, кого-то посещают мысли об нецелевом использовании идентификаторов.
И каждый раз приходит суровый Andrew Lobanov и ставит фантазёров на место :)
shaos to Andrew Lobanov (2024-10-27 11:26:46) [ссылка]

Re: Стандарт

Ответ на сообщение
опиши подробнее как по нексу планиуешь работать - я подниму сервачок :)
shaos to revoltech (2024-10-27 11:24:27) [ссылка]

Re: Полуневдимые эхи

Ответ на сообщение
doesnm>>> Го дропнем base64
AL>> Предлагаю отказаться от HTTP, base64, списков и переделать всё на актбаунды.
doesnm> Поддерживаю
FTN у нас уже есть.
+++ Caesium/0.4 RC1
Andrew Lobanov to doesnm (2024-10-27 11:22:15) [ссылка]

Re: Стандарт

Ответ на сообщение
AL>> Ты бы хоть иногда из крупных городов куда-то выезжал. Слайсы позволяют мне использовать IDEC в деревне, где интернет настолько нестабилен, что без слайсов можно просто забить на эти ваши эхи и общение в них.
revoltech> Внезапно, я сам в селе. Интернет спутниковый.
Это что-то на богатом.
AL>> Просто сделай новый транспорт. Там уже можно считать хоть точку в конце, хоть любую другую метку как частью протокола транспортного уровня, а не ii/idec.
revoltech> Сделаю. Клиент tii (а конкретнее — компонент tiifetch), собственно, уже поддерживает выкачивание по гоферу, нексу, спартану и джемини. Не на чем только это всё потестить покамест.
Твой клиент не работает с твоей нодой?
AL>> Почему?
revoltech> А кто её передаст, точку эту?
Твоя нода на новом транспорте?
AL>> Для этого вообще никакой протокол не нужен. Просто паковать всю станцию в бандл и сразу отдавать клиенту. Ну и что что там несколько сотен мегабайт? Зато всё и клиент сам разберётся что ему надо, а что нет.
revoltech> Вот для первого выкачивания такая опция не помешала бы. Иначе ему придётся качать те же несколько сотен мегабайт, но маленькими фрагментами.
Что повышает надёжность передачи на нестабильном канале.
AL>> Мы и определились и отказались от максимализма.
revoltech> Вместе с минимализмом.
Всё так. От крайностей одни неприятности.
+++ Caesium/0.4 RC1
Andrew Lobanov to revoltech (2024-10-27 11:22:01) [ссылка]

Re: Стандарт

Ответ на сообщение
>> shaos> Проблему большого траффика когда тянется всё подряд без оглядки
>> Эту проблему прекрасно решают слайсы.
shaos> Ну будут решать ещё лучше, когда необходимость дёргания будет решаться не по количеству сообщений в эхе, а по хешу т.к. например в ii-php количество сообщений это реальное количество сообщений в эхе и в /list.txt, и в /x/c (т.е. оно может не только расти, но и уменьшатся, и даже оставаться неизменным когда убавилось столько же сообщений сколько и добавилось, но этого никто не заметил т.к. сравнивают номера).
Для слайсов количество вообще не обязательно.
>> Ну и не лучше ли вынести это в отдельный ендпоинт вместо хаченья list.txt?
shaos> Обычный /list.txt останется как был, а для хешей я пока делаю на выбор:
shaos> /list.txt?h=1
shaos> /listhsh.txt
shaos> и по аналогии с /x/c будет /x/h но вместо количества сообщений там будут хеши
А какой смысл в этом многообразии?
+++ Caesium/0.4 RC1
Andrew Lobanov to shaos (2024-10-27 11:21:47) [ссылка]

Re: Стандарт

Ответ на сообщение
AL> Не в первый и, думаю, не в последний раз, кого-то посещают мысли об нецелевом использовании идентификаторов. Я тоже предвзято отношусь к редактированию сообщений, но исключительно потому, что это ломает обмен. Получается, что на разных узлах лежат разные версии одного и того же сообщения.
Да, я там сделал попытку предложить что-то (как мысленный эксперимент): ii://sZbskcy7huzEVJlsSDIF

Вроде в таком варианте новые версии сообщения будут распространяться.
hugeping to Andrew Lobanov (2024-10-27 11:09:53) [ссылка]