RSS
Pages: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 53
[>] Мысли про возможное будущее IDEC
idec.talks
shaos(shaos, 2) — All
2021-12-21 08:13:05


Всем привет

Я познакомился в ii/IDEC только в августе этого года, стал изучать как оно всё устроено и наконец на днях, воспользовавшись открытой реализацией ii-php, поднял свой узел - теперь у меня есть несколько мыслей по возможному будущему этой системы (либо системы, которая может отпочковаться от этой системы, но будет оставаться совместимой со старым IDEC API):

1) Кроме base64 существует чуть более компактный способ представления бинарных данных в виде текста - это алгоритм ascii85, когда каждые 4 байта представляются 5-значным 85-ричным числом, где каждая "цифра" это символ от '!' до 'u', плюс буквы 'z' и 'y' несут особый смысл, кодируя четвёрки нулей и пробелов соответственно - в результате данные раздуваются не в 4/3=1.33 раз, как в случае base64 (или uue), а в 5/4=1.25 раз или меньше, что как минимум на 6% компактнее. Можно немного развить ascii85 для кодирования произвольных бинарных данных, назвав новую систему кодирования скажем ascii85+ задействуя остальные неиспользованные символы: 'x' может кодировать четвёрку 0xFF (это может помочь при кодировании прошивок ПЗУ), 'w' - четвёрку 0x80 (это может помочь при кодировании 8-битных беззнаковых WAV-файлов), 'v' - пока может использоваться для детектирования ошибки, фигурные скобки { и } могут выделять закодированный бинарный блок в тексте (наличие явно заданного стартового символа упрощает парсинг, а наличие явно заданного терминатора поможет обрабатывать пограничные ситуации, когда концовка файла не влезает в 4 байта целиком), а ~ и | могут использоваться для каких-то особых случаев (см.ниже). Этот подход можно использовать для встраивания бинарных файлов в текст сообщений как вложений (аля ююки), указывая имя файла после втавки (чтобы клиент знал с чем этот файл надо есть и надо ли):
Посмотрите на эту весёлую картинку:
{Abhdhj!$^390+-
 ...
 Bhdbdfjg}=funny.gif
Старые клиенты будут показывать такие сообщения как текст, а новые клиенты могут получать такие сообщения даже со старых узлов и показывать картинки как картинки или файлы как вложения (ряд иконок внизу сообщения), которые можно сохранить на диск на стороне клиента.

2) Этот же ascii85+ можно использовать для уменьшения размеров бандлов на 6% сделав новый вызов в API - например /u/n/msgid/msgid/msgid... (вместо /u/m/... который может остаться для старых клиентов) - и результат работы этого вызова может выглядеть примерно так:
msgid:{!"#$%&'()*+,-...}
msgid:{0123456789...}
msgid:{ABcded...}
где в фигурных скобках будет ascii85+ сообщений (этот алгоритм не является url-safe, поэтому в других местах API где надо url-safe останется всё тот же base64url).

3) Идея, что msgid является хэшом сообщения, с моей точки зрения является в ii ключевой, поэтому редактировать сообщения, сохранённые узлом (а тем более переданные на другие узлы) ни в коем случае нельзя! Ведь это поменяет контент и хэш уже не будет совпадать! Если же контент константен, то всегда можно восстановить msgid по самому сообщению, если вдруг msgid оказался утерян. Кроме того на стороне клиента (либо другого узла после фетча) можно проверить целостность сообщения, посчитав его хэш и сверив с msgid - если оно не совпадает, то либо это старое сообщение (отредактированное на узле, где это можно было делать, или посчитанное в стародавние времена, когда хэши в ii считались иначе), либо подменённое или испорченное новое сообщение - можно просто подсветить такое сообщение особым образом на клиенте и читатель сам будет решать, что ему с таким сообщением делать.

4) Хэш msgid может быть не визуально рандомным как сейчас, а будет способным нести информацию о типе (или о версии) сообщения - например сервер принимая от клиента текстовое сообщения классического вида добавит в его список тэгов новый тэг trick/0 и посчитает хэш сообщения - елси хэш не начинается скажем с символа '0', то алгоритм инкрементирует значение в этом тэге (trick/1) и считает хэш ешё раз - если опять не стартует с '0', то инкрементируем ещё раз и т.д. пока хэш не станет начинаться с нуля (в среднем на подготовку "красивого" msgid должно уходить порядка 32 вычислений хэша - иногда меньше, иногда больше) - в этом случае все узлы точно будут знать, что все "новые" сообщения с msgid вида 0... являются новыми "обычными" сообщениями (чтобы отличить от старых сообщений с именами случайно начинающимися с 0 можно проверить наличие тэга trick в заголовке сообщения - если он есть, то это новый тип сообщения с возможными вложенными файлами). Если каждая точка системы точно знает, что это новое сообщение, то она также может проверить целостность сообщения пересчитав его хэш и сверив с msgid ( ведь новый стандарт должен будет явно запретить редактирование или подмену сообщения уже сохранённого узлом ; ). Старые узлы и клиенты будут передавать такие сообщения как самые обычные (если не запнутся на неизвестном тэге trick).

5) Тип сообщения 1... может обозначать закодированный бинарный файл, когда в теле сообщения нет текста, а сразу идёт блок ascii85+ {...}. При посылке такого сообщения отправляющий клиент может задать новое ключевое слово @crc32:0xFFFFFFFF для указания контрольной суммы, которая при сохранении сообщения будет вставлена узлом в строку тэгов в виде .../crc32/0xFFFFFFFF и которую принимающий клиент может проверить после восстановления файла. Размер такого сообщения по понятным причинам будет ограничен - может быть даже придётся уменьшить текущий лимит 87кб до 32кб, чтобы эта реализация была совместима с ограниченными размерами памяти недокомпьютеров, которые могли бы участвовать в работе сети - в этом случае размер самого большого бинарного файла, который можно таким способом отправить, будет составлять порядка 26кб. Старые узлы и клиенты будут показывать такие сообщения как обычные текстовые.

6) Тип сообщения 2... может обозначать составной объект, когда ранее отправленные сообщения типа 1... на самом деле являются кирпичиками, из которых строится большое сообщение. В теле такого сообщения могут перечисляться как блоки {}, так и ссылки на внешние сообщения типа 1:
~1gjkwui4iuwqrezD56az
~1ui4iuwqrezD56azFejs
~{......}|это вставка блоба ascii85+ (комментарий после | до конца строки)
~1uwqrzFejsDSGFeekjkd|это ссылка на другой объект, который должен быть вставлен при сборке
{....}=666.bin|это объявление именованного блоба (без вставки)
~666.bin
~666.bin
~666.bin|это вставка копии именованного блоба (всего 3 копии подряд)
в примере выше показано как можно повторять несколько раз бинарный кусок, объявленный в том же сообщении (666.bin). Такой тип бинарного сообщения снимает любые ограничения на размер передаваемого объекта, который перед передачей может быть порублен на кусочки. При отправке такого сообщения также может быть использовано ключевое слово @crc32, которое как и в предыдущем случае будет вставлено узлом в строку тэгов при сохранении. Старые узлы и клиенты будут показывать такие сообщения как обычные текстовые (как в примере выше). В случае реализации сообщений 1 и 2 типов на уровне сети для передачи бинарных данных отпадёт необходимость в поддержке файлэх, которые выглядят несколько неестественно применительно к ii (например они не приспособлены для пересылки через последовательные каналы передачи данных, в то время как все остальные подсистемы IDEC представлены в текстовом виде и могут быть использованы через интерфейс терминала).

7) В будущем при отправке сообщения от поинта узлу к ключевым словам можно будет добавить ещё и подпись @sign:0xFF...FF по алгоритму скажем HMAC-RIPEMD-160-96 (с одним секретным ключом известным отправляющей и принимающей стороне), если достаточно удостовериться в валидности посланного от поинта на свой узел (узел должен знать секретный ключ поинта - точно также как сейчас он знает пароль) и далее при сохранении сообщения на узле (после проверки валидности) такую подпись можно опустить, либо (в будущем) по алгоритму Ed25519 (с публичным и секретным ключами), если требуется проверка достоверности сообщения в пределах всей сети на любом узле и любом клиенте (это более тяжёлая реализация, которая требует наличия двух алгоритмов SHA512 и Curve25519, а также способов передачи публичных ключей всех активных участников сети на все вовлечённые узлы) - в этом случае sign/0x... переедет в строку тэгов для проверки достоверности послания в любой точке сети (и также для проверки целостности данных вместо CRC32), а старые узлы и клиенты просто будут игнорировать этот тэг, как неизвестный.

8) Когда сеть разрастётся, возможно придётся отказаться от хранения всех сообщений на каждом узле (в идеале - когда все фетчат всех) - узлы могут быть разбиты на группы (с избыточностью) для хранения разных наборов объектов (скажем в зависимости от значений 2го и 3го символа в msgid). Существуют разнообразные алгоритмы распределённых хэшей, которые можно применить в данном случае для поиска объектов по хэшу (msgid) на сети ненадёжных узлов. В этом случае сеть можно будет использовать как распределённое хранилище подписанных объектов, которые можно будет задействовать при построении распределённых сайтов, мультиплеерных игр, криптовалют и т.д. Для старых узлов можно предусмотреть механизм, когда они подписываются на специальные скрытые эхи, в которые будут транслироваться копии объектов по группам - в этом случае эти узлы будут продолжать работать в старой парадигме IDEC, но в то же время они будут полезными в рамках новой распределённой сети объектов, раздавая сохранённые на них объекты при необходимости по запросу.

Shaos

[>] Re: Мысли про возможное будущее IDEC
idec.talks
Andrew Lobanov(tavern,1) — shaos
2021-12-21 17:41:54


shaos> Всем привет

shaos> Я познакомился в ii/IDEC только в августе этого года, стал изучать как оно всё устроено и наконец на днях, воспользовавшись открытой реализацией ii-php, поднял свой узел - теперь у меня есть несколько мыслей по возможному будущему этой системы (либо системы, которая может отпочковаться от этой системы, но будет оставаться совместимой со старым IDEC API):

Предложения весьма занимательные, но с моей точки зрения теряется главное примущество idec - дубовость.

Есть ли смысл в осмысленных msgid, если мы всегда практически бесплатно можем прочитать теги?

Когда доползу до компа, постараюсь ответить более развёрнуто.

[>] Re: Мысли про возможное будущее IDEC
idec.talks
ake(ping,30) — shaos
2021-12-21 18:34:00


Касательно рассуждений о хэше для сообщений, пришла мысль, что IDEC это практически контентно-адресуемая сеть и можно как-то прикрутить её к IPFS (или наоборот) для хранения сообщений.

> Хэш msgid может быть не визуально рандомным как сейчас, а будет способным нести информацию о типе (или о версии) сообщения

Мне кажется такую функциональность проще реализовать в виде варианта запроса индекса, который будет возвращать (кроме идентификатора и закодированного сообщения) строку с тегами, либо отдельным суффиксом у ID. Правда, хранение метаданных в ссылке напоминает костыль в gopher, когда префикс в URL определяет то, как клиент будет отображать полученное содержимое.

[>] Re: Мысли про возможное будущее IDEC
idec.talks
shaos(tavern,34) — Andrew Lobanov
2021-12-22 01:38:43


> Предложения весьма занимательные, но с моей точки зрения теряется главное примущество idec - дубовость.

Ну с годами idec уже не такой дубовый стал и совсем не маленький, как у вас тут принято считать ;)

> Есть ли смысл в осмысленных msgid, если мы всегда практически бесплатно можем прочитать теги?

Не бесплатно. Чтобы посмотреть тэги, надо найти и прочитать сообщение. Если оно одно, то может и не долго, а если в списке их тысячи?. А так мы по списку можем видеть что есть что (ну разве что с вероятностью 1/64 это может быть "false positive", пришедший от старых нод или взятый из старых архивов, у которого случайно msgid начинается с 0).

[>] Re: Мысли про возможное будущее IDEC
idec.talks
shaos(tavern,34) — ake
2021-12-22 01:47:34


> Касательно рассуждений о хэше для сообщений, пришла мысль, что IDEC
> это практически контентно-адресуемая сеть...

Ну по сути так оно и есть :)

> ...и можно как-то прикрутить её к IPFS (или наоборот) для хранения сообщений

А зачем прикручивать, если IDEC по сути вполне годится на роль "downsized IPFS"? ;)
Самая первая версия IPFS v0.1 появилась в феврале 2015, а самая первая версия ii v0.1 - в марте 2014. Получается IPFS это "upsized ii" :)
А так внутри IPFS есть "Distrubuted Hash Map", который есть последний пункт моих мыслей применительно к IDEC :)
И как над IPFS появилась криптовалюта Filecoin, над IDEC может в перспективе появится IDECoin и всё забурлит и запенится ;)
Шутка...

>> Хэш msgid может быть не визуально рандомным как сейчас, а будет способным нести информацию о типе (или о версии) сообщения
> Мне кажется такую функциональность проще реализовать в виде варианта запроса
> индекса, который будет возвращать (кроме идентификатора и закодированного
> сообщения) строку с тегами, либо отдельным суффиксом у ID. Правда, хранение
> метаданных в ссылке напоминает костыль в gopher, когда префикс в URL определяет
> то, как клиент будет отображать полученное содержимое.

Ну вот чтобы не хранить метаданные как отдельный костыль я и предлагаю честно поиграть с хэшом, чтобы он нёс в себе тип (или если хотите "версию" - как адрес в биткоине например).

[>] Re: Мысли про возможное будущее IDEC
idec.talks
shaos(tavern,34) — shaos
2021-12-22 02:18:44


Несколько комментариев к моему изначальному сообщению.

- Чтобы исключить кривотолки и неправильные реализации, надо явно прописать алгоритм создания хэша, который реализован в ii-php и iing (и скорее всего в старом ii, судя по статистике использования символов в хэшах архивных сообщений), чтобы недвусмысленно было написано, что 2 небуквоциферных символа в base64 надо заменять на A (большую) и z (маленькую), а то сейчас в документации написано "for example A and Z" и новые реализации пытаются следовать документации, получая несовместимые решения (ii-go).

- При поддержке вложений в новоявленном формате ascii85+ чтобы отличить их скажем от исходника на языке Си или JSON-а в начале сообщения можно добавить ключевое слово @attach за которым будет идти число включений и сервер будет убирать это в строку тэгов сохранённого сообщения например .../attach/3 будет означать, что по ходу сообщения должно встретиться 3 вложения в формате ascii85+ (правда это означает, что в этом же сообщении не может встретится кусочек программы на C/C++/Java или JSON, хотя можно добавить правило парсинга, что между ==== и ==== искать вложения ненадо)...

[>] Re: Мысли про возможное будущее IDEC
idec.talks
Andrew Lobanov(tavern,1) — shaos
2021-12-22 05:09:30


>> Предложения весьма занимательные, но с моей точки зрения теряется главное примущество idec - дубовость.
shaos> Ну с годами idec уже не такой дубовый стал и совсем не маленький, как у вас тут принято считать ;)

Реализация всё ещё пишется за несколько часов :) Да и не повод дальше усложнять. Давай пойдём моим любимым путём: какие проблемы ты решаешь? :)

>> Есть ли смысл в осмысленных msgid, если мы всегда практически бесплатно можем прочитать теги?
shaos> Не бесплатно. Чтобы посмотреть тэги, надо найти и прочитать сообщение. Если оно одно, то может и не долго, а если в списке их тысячи?. А так мы по списку можем видеть что есть что (ну разве что с вероятностью 1/64 это может быть "false positive", пришедший от старых нод или взятый из старых архивов, у которого случайно msgid начинается с 0).

С моей точки зрения этот false positive с такой высокой вероятностью ломает всю затею. А найти и прочитать сообщение в общем случае это O(1). Другое дело, что в зависимости от конкретной платформы и конкретной реализации в абсолютных величинах это может быть долго. Я догадываюсь куда именно ты клонишь.

[>] Re: Мысли про возможное будущее IDEC
idec.talks
Andrew Lobanov(tavern,1) — shaos
2021-12-22 05:09:30


shaos> Несколько комментариев к моему изначальному сообщению.
shaos> - Чтобы исключить кривотолки и неправильные реализации, надо явно прописать алгоритм создания хэша, который реализован в ii-php и iing (и скорее всего в старом ii, судя по статистике использования символов в хэшах архивных сообщений), чтобы недвусмысленно было написано, что 2 небуквоциферных символа в base64 надо заменять на A (большую) и z (маленькую), а то сейчас в документации написано "for example A and Z" и новые реализации пытаются следовать документации, получая несовместимые решения (ii-go).

ii-go это анархическая реализация. Взять хоть редактирование сообщений :)

shaos> - При поддержке вложений в новоявленном формате ascii85+ чтобы отличить их скажем от исходника на языке Си или JSON-а в начале сообщения можно добавить ключевое слово @attach за которым будет идти число включений и сервер будет убирать это в строку тэгов сохранённого сообщения например .../attach/3 будет означать, что по ходу сообщения должно встретиться 3 вложения в формате ascii85+ (правда это означает, что в этом же сообщении не может встретится кусочек программы на C/C++/Java или JSON, хотя можно добавить правило парсинга, что между ==== и ==== искать вложения ненадо)...

Есть ли смысл в таких аттачах? Тело сообщения не должно превышать 64КБ. Может проще аттачи распространять по отдельной схеме, и хэши на аттачи кидать в теги собщения? :)

[>] Re: Мысли про возможное будущее IDEC
idec.talks
shaos(tavern,34) — Andrew Lobanov
2021-12-22 07:54:13


> Реализация всё ещё пишется за несколько часов :)

Это далеко не так ;)

> Да и не повод дальше усложнять.

Это небольшие инкрементальные улучшения, которые могут вывести IDEC на орбиту современных технологий ;)

> Давай пойдём моим любимым путём: какие проблемы ты решаешь? :)

Ну для начала - добавляет бинарных данных в рассылки.

> С моей точки зрения этот false positive с такой высокой вероятностью ломает всю затею.

Ну почему? Есть разница 100% сообщений надо вычитать, чтобы отфильтровать из них бинарные объекты или 1.56%? ;)

> А найти и прочитать сообщение в общем случае это O(1).

Скорее O(n)...

[>] Re: Мысли про возможное будущее IDEC
idec.talks
shaos(tavern,34) — Andrew Lobanov
2021-12-22 08:02:49


> Есть ли смысл в таких аттачах? Тело сообщения не должно превышать 64КБ.

Есть смысл, если надо заслать что-то маленькое вместе с сообщением (бинарь программки например, или заархивированный исходник).

> Может проще аттачи распространять по отдельной схеме, и хэши на аттачи кидать в теги собщения? :)

и это тоже можно сделать ;)

ну или по классике - в теле письма писать URL на ii-объект:

ii://1KpcmGrc9pUtZQ6Puv1z

[>] Re: IDEC identity
idec.talks
shaos(tavern,34) — Difrex(mobile)
2021-12-22 09:14:47


По поводу общих поинтов - PGP/GPG тяжеловат потому как многообразен - надо что-то одно широко известное выбрать и поддержать, но только цифровую подпись - без шифрования (которое в IDEC по-моему противопоказано), например можно взять отданный в общенародное достояние алгоритм Ed25519, существующий уже 10 лет и не подпадающий ни под какие патенты - в нём есть 32-байтовый публичный ключ и 64-байтовый секретный ключ (половина из которого это копия публичного ключа). Публичные ключи распространяются по всем узлам и клиентам (например посредством специальной эхо-конференции от имени пользователя как поинта своего узла) и идентифицируют глобальных пользователей (которые всё также могут оставаться поинтами на своих узлах). К сообщению подписанному цифровой подписью Ed25519 цепляется 64-байтовя signature (в строке тэгов после тэга signature/ например как 128-символьная шестнадцатиричная строка либо как 103-символьная строка в кодировке BASE32 либо как 86-символьная строка в кодировке BASE64URL, либо как 80-символьная строка в кодировке ASCII85 где символ / подменён скажем на | - хотя наверное надо таки использовать BASE64URL как родной способ кодирования бинарных данных в IDEC). Чтобы проверить валидность сообщения, по имени пользователя (msgfrom) берётся его публичный ключ (предварительно распространённый) и по телу сообщения проверяется его цифровая подпись, чтобы удостовериться, что письмо не подменено или не подписано поддельным ключом.

Подробнее про внедрения Ed25519: https://ianix.com/pub/ed25519-deployment.html

P.S. Правда надо ещё придумать процедуру восстановления identity если секретный ключ утёк или утрачен, а узел с которого пользователь изначально идентифицировался более не существует (т.е. пользователь не может перепослать новый публичный ключ со старого узла, а должен сделать это с другого узла где сисоп каким-то образом должен удостовериться, что это тот же самый человек, что идентифицировался ранее со старого более недоступного узла - например изначально вместе с публичным ключом должен был быть распространён адрес емейл, который ни в коме случае не должен быть скомпрометирован или что-то типа этого).

[>] Re: Предложения или "Как нам обустроить idec?"
idec.talks
ake(ping,30) — Andrew Lobanov
2021-12-22 18:22:03


Добавил на своей ноде.

На клиенте:
Чтобы отправить сообщение кому-то, отправляем его в эху mailto.{имя ноды}.{номер поинта}. Например, mailto.ake.100
Чтобы прочитать свои входящие, указываем для получения ноду mailfor.{строка авторизации}.

В интерфейсе ноды:
Входящие - http://gears.headake.win/idec/ui2/directmail/inbox
Отправить сообщение - http://gears.headake.win/idec/ui2/directmail/send (адрес вводится в обычном формате "nodename, 123")

Реквизиты для тестов
Адрес пользователя: ake, 5
Строка авторизации: jfmq66fj6e

Адрес пользователя: ake, 6
Строка авторизации: 7uyoxz2fj4

О грустном - клиентах и разных подводных граблях.

В IDEC mobile отправка сообщений работает (хоть и требует финта ушами, вроде захода в любую эху и изменении поля в форме), а с получением сложнее - имя эхи приводится к нижнему регистру (и да, я проверил, это описано в стандарте), в отличие от строк авторизации, у которых таких ограничений нет (можно, конечно, кодировать строку в base32, но это отдельный уровень костыльности). В caesium чуть лучше - получение сообщений работает, для отправки нужен такой же трюк с вызовом редактора в любой эхе и исправлением её имени.

[>] Re: Предложения или "Как нам обустроить idec?"
idec.talks
vvs(ping,12) — ake
2021-12-22 19:33:39


И всё-таки, зачем кому-то и дальше усложнять idec?

Если его существующие возможности не устраивают, то почему не взять что-то готовое? Это выглядит, как попытки изобрести велосипед. В чём тут может быть выигрыш? Нет, ну если просто очень хочется написать что-то своё, то вопросов нет. Не подумайте, что я кого-нибудь отговариваю - мне просто не понятны мотивы.

Кто-нибудь смотрел для сравнения, например, https://public-inbox.org/README.html ? Это очень простой механизм, который использует готовые решения и протоколы для всего. Например децентрализованная сеть там за счёт Git. К тому же оно используется самими разработчиками Git. Кто-то может оценить, в чём возможные преимущества реализации этих же функций на idec заново?

[>] Re: Предложения или "Как нам обустроить idec?"
idec.talks
shaos(tavern,34) — ake
2021-12-22 20:43:51


base32 это большие буквы и некоторые цифры - уж лучше обычный hex тогда

а так вроде всё логично :)

[>] Re: Предложения или "Как нам обустроить idec?"
idec.talks
shaos(tavern,34) — vvs
2021-12-22 20:46:44


И всё-таки, зачем кому-то в прошлом захотелось усложнить ii? ;)

[>] Re: Предложения или "Как нам обустроить idec?"
idec.talks
vvs(ping,12) — shaos
2021-12-22 21:07:52


shaos> И всё-таки, зачем кому-то в прошлом захотелось усложнить ii? ;)

Если бы знал, то не спрашивал бы. Философия, стоящая за idec, для меня не вполне понятна. Я просто пользуюсь тем, что есть, для чисто практических целей.

Сам я никогда не делаю ничего сверх необходимого. Правда мои личные потребности могут кого-нибудь очень удивить, но я никогда и не претендовал на их объективную сущность :)

[>] Re: Предложения или "Как нам обустроить idec?"
idec.talks
hugeping(ping,1) — shaos
2021-12-23 09:02:58


shaos> И всё-таки, зачем кому-то в прошлом захотелось усложнить ii? ;)

Я лично считаю, что расширения нужно вводить только тогда, когда они нужны позарез.

Например, насколько я помню, одна из проблем -- необходимость для синхронизации сливать всегда все индексы. Да, это просто, но как-то уж очень перебор. Слайсы это исправили.

Но я, естественно, не претендую на какой-то значимый голос в сообществе. Мой анархичный ii-go на данный момент меня полностью устраивает. И если при внедрении расширений, наследие будет работать как и работало -- вообще замечательно. На своей ноде я вряд ли буду делать что-то дополнительное, но с интересом понаблюдаю за движухой.

[>] Re: Мысли про возможное будущее IDEC
idec.talks
hugeping(ping,1) — shaos
2021-12-23 09:11:45


>> Реализация всё ещё пишется за несколько часов :)

shaos> Это далеко не так ;)

ii подмножество idec. Если речь про ii, то всё-ещё так. :)

[>] Re: Предложения или "Как нам обустроить idec?"
idec.talks
hugeping(ping,1) — ake
2021-12-23 09:23:44


ake> Добавил на своей ноде.

ake> На клиенте:
ake> Чтобы отправить сообщение кому-то, отправляем его в эху mailto.{имя ноды}.{номер поинта}. Например, mailto.ake.100
ake> Чтобы прочитать свои входящие, указываем для получения ноду mailfor.{строка авторизации}.

У меня были похожие вещи на старой ноде (на основе iing). У меня было понятие виртуальной эхи. Фактически, через них можно было делать любой запрос. Например, получить личные сообщения, делать поиск по содержимому итд. На текущей ii-go личку сделал проще. Сообщения шлются в эху .private (вообще, эхи с . у меня считаются специальными) и дальше при заборе этой эхи учитывается, что именно можно отдавать юзеру. Решение делается на основе поля To. Там кажется можно даже групповую переписку организовывать, но я сейчас не помню. Но если написать в личку All, то услышат все (через личку). :) Естественно, забор . эх нужен авторизированный. Емнип, /u/point/ расширен для этого.

Но главный вопрос в другом. Как наладить хождение почты между узлами? И тут возникает масса интересных вопросов... Начиная от адресации, маршрутизации и заканчивая вопросами как долго хранить эту переписку транзитным узлам. Ну итд. И тогда я подумал, а так ли нужна эта фича? Мне вот достаточно лички в пределах моего ресурса.

[>] Re: Предложения или "Как нам обустроить idec?"
idec.talks
ake(ping,30) — hugeping
2021-12-23 19:37:43


> Естественно, забор . эх нужен авторизированный. Емнип, /u/point/ расширен для этого.

Ну, у меня ключевая идея была как раз в том, что если нам нужно авторизоваться для получения данных, то мы просто дописываем строку авторизации к идентификатору эхи (или сообщения) и не надо вводить никаких новых методов. Нет большой разницы, в плане наличия данных в запросе, обращаемся мы к специальному /u/private/myauth/secret.echo или к стандартному /u/e/myauth.secret.echo. Только с ограничением на имена эх промахнулся.

Без разницы, как это реализовано внутри - генерирует нода такие индексы динамически или честно форвардит входящие.

[>] Re: Предложения или "Как нам обустроить idec?"
idec.talks
shaos(tavern,34) — hugeping
2021-12-24 06:56:57


> ... если при внедрении расширений, наследие будет работать как и работало -- вообще
> замечательно. На своей ноде я вряд ли буду делать что-то дополнительное, но
> с интересом понаблюдаю за движухой.

Это самая правильная позиция :)

Главное не ломать совместимость со старыми версиями нодов/клиентов

[>] Re: Мысли про возможное будущее IDEC
idec.talks
shaos(tavern,34) — hugeping
2021-12-24 06:58:03


> ii подмножество idec. Если речь про ii, то всё-ещё так. :)

ii более несуществует - есть только idec ;)

и он чуть более сложный...

[>] Re: Актуальный нодлист
idec.talks
shaos(tavern,34) — shaos
2021-12-24 07:12:14


А кстати небыло мыслей сделать специальный вызов в API, который возвращал бы uplinks?
Типа /fetches.txt
http://idec.spline-online.ml/;idec.talks/linux.14/lor-opennet.17/develop.16/plan.9/zx.spectrum;15
https://.....;something.something;60
Ну и было бы неплохо иметь возможность через API спросить у нода как он называется, а то я сейчас не вижу как по http://idec.spline-online.ml понять, что это tavern

И после этого можно будет строить топологию сети автоматически :)

[>] Re: Актуальный нодлист
idec.talks
Ordos(tgi,1) — shaos
2021-12-24 10:31:59


Вот кстати здравая мысль. И фича полезная и ничего не ломает. Я - за.

[>] 2022
idec.talks
shaos(shaos, 2) — All
2022-01-02 04:23:09


Всех обитателей IDEC сети поздравляю с Новым 2022-м Годом! Желаю IDEC в новом году разростись до немыслимых размеров и подмять под себя ну скажем всех Спринтеристов (и даже частично Синклеристов), а если получится, то и ещё кого-нибудь в придачу ;)

[>] Re: Предложения или "Как нам обустроить idec?"
idec.talks
Andrew Lobanov(tavern,1) — ake
2022-01-21 09:32:52


ake> Добавил на своей ноде.

Это, безусловно, замечательно. А теперь как наладить отправку сообщения поинтом твоего узла поинту моего узла? :)

Внутри одного узла вообще не проблема личку сделать, но смысла в ней не очень много получается.

[>] Нодлист
idec.talks
Andrew Lobanov(tavern,1) — All
2022-01-24 05:31:03


Не прошло и двух месяцев, как я собрал актуальный нодлист.

Лежит в таверне на публичных фреках. Налетай!

P.S.: Доступен через веб-интерфейс http://idec.spline-online.ml/ без регистрации и SMS.

[>] Re: Нодлист
idec.talks
Ordos(tgi,1) — Andrew Lobanov
2022-01-25 13:37:05


Тогда спешу сообщить, что через пару дней станция tgi переезжает на домен tgistation.ru.

Не суть какое событие, но для порядка отписать обязан.

[>] Re: Мысли про возможное будущее IDEC
idec.talks
Andrew Lobanov(tavern,1) — shaos
2022-02-04 10:18:13


>> Реализация всё ещё пишется за несколько часов :)
shaos> Это далеко не так ;)

Ну если начинать наворачивать вебинтерфейс, то да. Но чисто обмен и хранение пишется часа за 4 +-. По крайней мере на ЯВУ :)

>> Да и не повод дальше усложнять.
shaos> Это небольшие инкрементальные улучшения, которые могут вывести IDEC на орбиту современных технологий ;)

Пока не понял как :)

>> Давай пойдём моим любимым путём: какие проблемы ты решаешь? :)
shaos> Ну для начала - добавляет бинарных данных в рассылки.

Какие проблемы решает добавление бинарных данных в рассылки? :)

>> С моей точки зрения этот false positive с такой высокой вероятностью ломает всю затею.
shaos> Ну почему? Есть разница 100% сообщений надо вычитать, чтобы отфильтровать из них бинарные объекты или 1.56%? ;)

А надо фильтровать?

>> А найти и прочитать сообщение в общем случае это O(1).
shaos> Скорее O(n)...

Сдаётся мне, что это зависит от реализации. Например, в цезии формат простой, заточенный на линейное чтение базы сообщений. Тут O(n), согласен. А если хотя бы по сообщению на файл, то уже всё таки O(1).

[>] Re: Мысли про возможное будущее IDEC
idec.talks
Andrew Lobanov(tavern,1) — shaos
2022-02-04 10:18:16


>> Есть ли смысл в таких аттачах? Тело сообщения не должно превышать 64КБ.
shaos> Есть смысл, если надо заслать что-то маленькое вместе с сообщением (бинарь программки например, или заархивированный исходник).

А есть такая необходимость? Ведь есть файлэхи :)

[>] Re: Мысли про возможное будущее IDEC
idec.talks
shaos(tavern,34) — Andrew Lobanov
2022-02-19 08:49:47


> Ну если начинать наворачивать вебинтерфейс, то да. Но чисто обмен и хранение пишется часа за 4 +-. По крайней мере на ЯВУ :)

Там мелочей всяких больше, чем на 4 часа, ну да ладно - не суть...

> Какие проблемы решает добавление бинарных данных в рассылки? :)

Ну сообщение становится самодостаточным (если приаттаченные файлы маленькие и влезают вместе с текстом сообщения в лимит)

> А есть такая необходимость? Ведь есть файлэхи :)

Не все узлы подписаны на все файлэхи и глобального поиска по идентификатору нет ;)

> А надо фильтровать?

Ну если будут сообщения разного типа, то да

[>] ii-txt-0.9.tar.gz
idec.talks
oldpc(ping,11) — All
2022-05-04 17:34:51


Текстовый клиент, который не так давно отметил своё восьмилетие (первый из существующих клиентов) обновился до версии 0.9

* поддержка загрузки некоторых эх с других станций
* нумерация файлов в каталоге 0001.txt вместо 1.txt

Размер архива вырос на 55 байт :( и теперь составляет 3911 байт. Поддерживается python от 2.4 до 2.7.
(разные версии тестировались на первом пентиуме с Debian Sarge, Etch, и OpenBSD 4.2, 5.0 и др.)
(это сообщение создаётся на третьем пентиуме, правда с новейшей OpenBSD 7.1)

ii-txt-0.9.tar.gz

[>] Mira station
idec.talks
Andrew Lobanov(tavern,1) — All
2022-06-24 06:46:23


Восстановлена связь с сабжем. По техническим причинам в таверну не ходили сообщения с 9 апреля.

Сисопы, имеющие станцию Мира в аплинках, проверьте связь. Пока что она шлёт мусор на запросах несуществующих эх. У себя я обнаружил запрос несуществующих ifiction.15 и python.15.

+++ Caesium/0.4 RC1

[>] Saluton (Привет!)
idec.talks
Andrew Lobanov(tavern,1) — All
2022-08-27 18:19:46


Рад сообщить, что в таверне появился клуб эсперантистов. Заходите в eo.klubo -- поболтаем :)

+++ Caesium/0.4 RC1

[>] Re: Mira station
idec.talks
shaos(shaos, 2) — Andrew Lobanov
2022-09-18 17:59:30


У меня чото ни с сабжем, ни с idec.spline-online.ml связи нету :(
В живых вижу только 3 узла IDEC (ну кроме моего):
https://dynamic.lessmore.pw
https://club.hugeping.ru
https://tgistation.ru

[>] Re: Mira station
idec.talks
shaos(shaos, 2) — shaos
2022-09-18 20:40:56


на lessmore и ping каким-то чудом появляются мои сообщения отправленные с моего узла shaos :)

получается кто-то кроме spline-online.ml фетчит http://shaos.net:8085/ii-point.php?q=/

либо tavern сейчас живёт по другому адресу и продолжает меня фетчить и раздавать другим?...

[>] Re: Новый узел IDEC http://shaos.net:8085
idec.talks
shaos(shaos, 2) — shaos
2022-09-18 23:57:51


Спешу сообщить, что мой заокеанский узел IDEC всё ещё существует!

Сегодня я добавил второй путь забирания эх через lessmore т.к. существующий адрес tavern не работает как минимум с 14 июля 2022 года (если пойти туда через браузер, то оно редиректит на какие-то списки ссылок). Несмотря на то, что старый адрес tavern не работает, он как будто-то бы продолжает забирать у меня сообщения по старому списку (я сегодня добавил у себя эху idec.test и её в том списке нет). Во всяком случае всё, написанное мной в idec.talks ушло в сеть и появилось как минимум на узлах lessmore и ping.

Список эх, которые я забираю извне:
	["idec.talks", "Сеть IDEC, её работоспособность и софт"],
	["idec.test", "Тестовые сообщения"],
	["lor-opennet.17", "RSS с сайтов linux.org.ru, opennet.ru"],
	["develop.16", "Программирование"],
	["linux.14", "Эха для линуксоидов"],
	["plan.9", "ОС Plan 9"],
	["zx.spectrum", "Speccy и совместимые компьютеры"],

Список локальных эх:
	["z80.coding", "Программирование процессора Z80"],
	["580.vm80a", "Программирование процессора КР580ВМ80А (i8080)"],
	["nedopc.1801", "Обсуждение компьютера nedoPC-1801"],
	["pdp.11", "Обсуждение архитектуры PDP-11 и совместимых машин"],
	["robby.lang", "Программирование на языке Robby"],
	["balanced.ternary", "Обсуждение троичной уравновешенной системы счисления"],
	["english.talks", "Speak English"],
	["silicon.valley.local", "Локальная конференция Кремниевой Долины"],
	["sprinter.computer", "Общие обсуждения компьютера Sprinter"],
	["sprinter.software", "Обсуждение программного обеспечения компьютера Sprinter"],
	["sprinter.hardware", "Обсуждение аппаратного обеспечения компьютера Sprinter"],
	["sprinternet.io", "Обсуждение сети для компьютера Sprinter"],
	["circuits.cc", "Эха про сайт circuits.cc"],
	["nedopc.org", "Эха про сайт nedopc.org"],
	["shaos.net", "Эха про сайт shaos.net"]

Короткий линк веб-интерфейса моего узла: http://idec.shaos.net

Могу взять благоразумных пойнтов - пишите на me@shaos.net ;)

Shaos

[>] Re: Нодлист
idec.talks
Ordos(tgi,1) — Ordos
2022-03-11 07:56:31


Ordos> Тогда спешу сообщить, что через пару дней станция tgi переезжает на домен tgistation.ru

Как обычно и бывает, вклинились обстоятельства. Поэтому процесс немного увеличился - вместо пары дней переезд занял полтора месяца.

[>] Re: Mira station
idec.talks
Ordos(tgi,1) — shaos
2022-09-19 11:37:41


Да. С таверной как-то всё грустно. Может ещё очнётся когда-нибудь. Пока отключил.

[>] Re: Новый узел IDEC http://shaos.net:8085
idec.talks
shaos(shaos, 2) — shaos
2022-09-19 17:27:24


Сегодня подключил забирание с tgistation.ru эх idec.talks и zx.spectrum

[>] Re: Mira station
idec.talks
Andrew Lobanov(tavern,1) — shaos
2022-09-20 10:30:55


shaos> на lessmore и ping каким-то чудом появляются мои сообщения отправленные с моего узла shaos :)
shaos> получается кто-то кроме spline-online.ml фетчит http://shaos.net:8085/ii-point.php?q=/
shaos> либо tavern сейчас живёт по другому адресу и продолжает меня фетчить и раздавать другим?...

this.

Я просрал домен, как всегда. Так что таверна живёт сейчас по адресу idec.spline-online.tk :)

+++ Caesium/0.4 RC1

[>] Re: Новый узел IDEC http://shaos.net:8085
idec.talks
Andrew Lobanov(tavern,1) — shaos
2022-09-20 10:30:55


shaos> Спешу сообщить, что мой заокеанский узел IDEC всё ещё существует!

И это ура! Я уж думал, что всё -- ты пропал с радаров, а мониторить состояние сети в данный момент времени не особо есть когда. Так что очень рад, что ты с нами.

+++ Caesium/0.4 RC1

[>] Re: Mira station
idec.talks
Andrew Lobanov(tavern,1) — Ordos
2022-09-20 10:30:55


Ordos> Да. С таверной как-то всё грустно. Может ещё очнётся когда-нибудь. Пока отключил.

Хех. Похоже, я отпал от основной сети. Надо Петра спрашивать :)

+++ Caesium/0.4 RC1

[>] Велосипедостроительство
idec.talks
Andrew Lobanov(tavern,1) — All
2022-09-20 10:35:00


Я немного отовсюду пропал в последнее время - новая работа, много забот и очень мало времени. Надеюсь, скоро это всё устаканится. Пока же занимаюсь сабжем.

Итак, почти закончил godec (нехитрое название да) - библиотеки, реализующей протокол idec на go.

Следующим шагом будет создание нового фетчера на базе этой библиотеки, реализация хранилища (скорее всего на базе postgresql) сообщений, создание узла без веб-интерфейса и, собственно, завершающим шагом будет создание нового веб-интерфейса таверны.

После того, как начинка таверны будет полностью переписана, очень хочется переписать Цезий, но тут пока нет никаких заделов на будущее. Может, это будет более навороченный консольный клиент, а может и более-менее современный клиент с графическим интерфейсом.

После всей этой эпопеи планирую написать таки новый репозиторий instead-games.ru, но это уже для другой эхи и фиг знает когда будет :)

+++ Caesium/0.4 RC1

[>] Re: Mira station
idec.talks
shaos(shaos, 2) — Andrew Lobanov
2022-09-20 15:52:16


> Я просрал домен, как всегда. Так что таверна живёт сейчас по адресу idec.spline-online.tk :)

Привет - всё понятно теперь :)
Поправил настройки у себя, чтобы забирало по правильному адресу

[>] Таверна поломалась
idec.talks
Ordos(tgi,1) — All
2022-10-24 08:36:22


Собственно сабж. Пару дней уже как.

[>] Re: Таверна поломалась
idec.talks
Ordos(tgi,1) — All
2022-10-24 09:02:31


Поторопился отписаться. Уже работает.

[>] Изменения по tgistation.ru
idec.talks
Ordos(tgi,1) — All
2022-10-27 10:10:04


Изменения по tgistation.ru. Может кому интересно будет.

Поменялся дизайн web-морды в лютый минимализм без картинок, js и прочего. В результате сайт неплохо себя показывает даже в текстовых браузерах.

Прикручен сбор новостей с хабра. Не всех, в основном, низкоуровневое программирование, микроконтроллеры и т.п.

Открыта свободная автоматическая регистрация без почт и sms. Надеюсь спаммеры не заведутся :)

Идут раздумья по поводу реализации приватных бесед. Для начала хотя бы в пределах одной станции. Пока думаю использовать это для общения и взаимодействия с ботами. Мне кажется это сильно бы расширило полезность сети как таковой.

[>] Re: Изменения по tgistation.ru
idec.talks
shaos(shaos, 2) — Ordos
2022-11-13 05:34:13


Проверил уменьшение окна браузера - прямоугольник с текстом масштабируется в соответствии с размером окошка и это очень хорошо! Значит будет работать в моём недобраузере на ретрокомпах без глюков (единственный глюк это убегание линейки минусов за пределы рамки, если окно браузера становится слишком узким) - можно заменить на тэг <hr>? Он должен работать в текстовых браузерах тоже :)

P.S. Feed показывает лишь 10 последних сообщений и листать никак - можно исправить? ;)

P.P.S. И содержимое эх не посмотреть - раньше вроде можно было не?

P.P.P.S. Надо настроить забирание bot.habr.rss себе :)

Pages: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 53