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

Re: Разбор idec №2

Ответ на сообщение
ahamai> Можно вопрос. На каких вещах я настаиваю. Хоть на одной. Хоть на одной единственной,?
На изменении формата срезов, например. Как минимум на выносе оных из /u/e.

В моём варианте реализации /u/e (из 5 пунктов) нода, которая не умеет срезы, просто их проигнорирует как невалидное имя эхи, и отдаст все сообщения из запрошенных эх. Это так сложно?
revoltech to ahamai (2024-11-01 05:07:20) [ссылка]

Re: Рома порвался

Ответ на сообщение
Проблема собственно только в том что вы проблемы не видите. Только и всего.
ahamai to ahamai (2024-11-01 05:05:02) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
У меня тогда две. Там три строки понятного прозрачного кода.
ahamai to revoltech (2024-11-01 05:03:38) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
Можно вопрос. На каких вещах я настаиваю. Хоть на одной. Хоть на одной единственной,? Я ВООБЩЕ НИЧЕГО НЕ ПРЕДЛАГАЮ. НИЧЕГО. НИЧЕГО. Неужели это так трудно заметить? Я только разбираю кривой дизайн idec 10 летней давности. Всё. То есть это абсолютно всё. Как можно увидеть то, чего нет вообще, мне непонятно.
ahamai to revoltech (2024-11-01 05:02:23) [ссылка]

Re: Рома порвался

Ответ на сообщение
За 10 лет каких то продвижений и изменений нет. И да, я 100% уверен, что я хотел сказать. Ибо умные люди притчами говорят, а глупые в них за частности цепляются, не видя целого.

Зато у вас новый стандарт будет. Ура!
ahamai to Andrew Lobanov (2024-11-01 04:59:07) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
AL> ЗЫЖ А где посмотреть на ноду на шелле.
Могу сделать хоть на busybox sh (+ busybox nc + busybox sed, возможно), но зачем? Это будет лютый тормоз. Как и связка busybox awk + busybox nc.

Если брать продвинутый шелл вроде bash или oksh, всё можно сделать непосредственно в нём, кроме самой отдачи по TCP. Я, блин, гофер-клиента на чистом баше не так давно делал (Bopher-NG), вопрос только, что это решает.
AL> А то Рома бьёт себя пяткой в грудь
Это от неосиляторства инструментов, не более. Я вот довольно быстро согласился и с 40 айдишниками вместо 380, и с контекстным парсингом /u/e вместо ключ/значение, поскольку принципиально это мало что меняет (алгоритмически тут можно всё тотально упростить, но для этого надо отказаться от обратной совместимости, иначе смысла немного). Те же вещи, на которых настаивает Рома, предложены даже не с позиции оптимизации, а с позиции «лишь бы существующий кривой код не чинить». Противно.
revoltech to Andrew Lobanov (2024-11-01 04:50:23) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
ahamai> 1.
ahamai> > ВЕСЬ ЗАПРОС СПИСОК ЭХ
ahamai> > ПОЛУЧИЛИ СПИСКИ
ahamai> > ЕСЛИ ЕСТЬ ЛИМИТ, УСТАНОВИЛИ
ahamai> > становится
ahamai> > ПОЛУЧИЛИ СПИСОК ЭХ
ahamai> > ПРОВЕРИЛИ ПОСЛЕДНЮЮ
ahamai> > ЕСЛИ ЭТО СРЕЗ, ТО РАСПАРСИЛИ СРЕЗ
ahamai> > СОХРАНИЛИ ЛИМИТ
ahamai> > УДАЛИЛИ ПОСЛЕДНЮЮ ЭХУ
ahamai> > ПОЛУЧИЛИ СПИСКИ
ahamai> > УСТАНОВИЛИ ЛИМИТ, ЕСЛИ ЕСТЬ
Немного не так. Точнее, совсем не так. То, что ты написал — это манипуляция. «ЕСЛИ ЕСТЬ ЛИМИТ, УСТАНОВИЛИ» тоже не из одного пункта состоит, его тоже надо где-то взять и распарсить. Это раз. Два — «распарсили срез» — это одна операция. Правильнее было бы слегка иначе:

1. Получили список эх (сохранили путь, разделив его по /).
2. Взяли последнюю.
3. Если там есть двоеточие, сохранили всё до него в смещение и всё после него в лимит.
4. Удалили из списка ВСЕ невалидные имена эх (u и e тоже таковыми являются, не только слайс).
5. Выгребли списки из базы по уже установленному лимиту.

Пять шагов. Корректных.
revoltech to ahamai (2024-11-01 04:37:41) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
>> тут нет никаких "что-то ещё", либо эха либо msgid.
shaos> … либо мусор
shaos> Если нет проверки на то, что тебе не подсунули мусор, то это неработоспособное решение - как POC для запуска в песочнице для ограниченного круга лиц - годится, а для реальных применений в массах - нет…
Очень правильные слова.

ЗЫЖ А где посмотреть на ноду на шелле. А то Рома бьёт себя пяткой в грудь, а ноду на шелле не видать.
+++ Caesium/0.4 RC1
Andrew Lobanov to shaos (2024-11-01 03:43:17) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
ahamai> Какое, итить, неработоспособное решение, если оно работает. Сколько раз повторять, что /u/e/ это базовый фалбак и он должен быть простым и легко воспроизводимым, нигде не должно быть проверки в коде и в стандарте. Как работает твой конкретный фетчер, по барабану. Есть базовая реализация, эталонная. И она должна быть максимально простая. И она должна быть одна.
Где взять эталонную реализацию?
ahamai> Это базовый вопрос - НАХРЕНА ВЫ ЛЕЗЕТЕ В /U/E, ЕСЛИ ВЫ ТУПО ДАЖЕ НЕ ПОНИМАЕТЕ, ЧТО ЭТО И ЗАЧЕМ ЭТО НУЖНО???
Нахоена ты своими ii-ручонками лезешь в idec, если ты тупо даже непонимаешь что это и зачем это нужно?
ahamai> ну я читаю такую ахинею
Ты её пишешь. В больших количествах.
ahamai> и вижу люди тупо не понимают, о чём это вообще.
Да. Некоторые не понимают о чём idec. Застряли в 2014, на эхотаг не смотрят, лезут с какими-то левыми фичами.
>> а для реальных применений в массах - нет…
ahamai> для каких млять применений в каких млять массах. ii это реализация строго конкретной задачи. основным критерием этой задачи является максимальная простота. НИКТО, НИКТО МЛяТЬ В ЦЕЛОМ СВЕТЕ НЕ МЕШАЕТ ТЕБЕ НАВЕШИВАТЬ СВОИ НАВОРОТЫ. Ну оставь ты млять в покое /u/e, это лингва франка, это база, это долгими бессонными ночами вытачивалось, чтобы удалить всё лишнее и оставить только базу, из которой можно свинтить что угодно, хоть босфор, хоть улисс - и никто при этом не трогал /u/e. Когда человечество вымрет и останутся только ветки и палки, чтобы можно было быстро собрать /u/e, как базовый компонент. И ПОЭТОМУ ОН МЛЯТЬ ДОЛЖЕН БЫТЬ ОФОРМЛЕН, ПРОСТ И ОДНОЗНАЧЕН, чтобы любая макака могла написать его реализацию. Любая. На любом языке. С любым млять навыком. Не мусор собирала.
ahamai> И это млять не POC. Это и есть млять сама концепция сети. Нахрена переписывать базовый класс, наследуйся от него и потом пиши, как хочешь. А основные 4 стержня, которые работают в любых, любых млять условиях, они для того и сделаны такими простыми чтобы быть такими простыми. Без проверок, х..рок и прочей хрени. Обмен между нодами регламентируется ТОЛЬКО самими нодами. Могут хоть через git обмениваться и индексы по timestamp генерировать, это изначально была валидная версия обмена. Но помимо этого должна быть база, которая должна работать ВСЕГДА, ВЕЗДЕ, она должна быть МАКСИМАЛЬНО ПРОСТОЙ и МАКСИМАЛЬНО ВОСПРОИЗВОДИМОЙ. Поверх этого уже какие хошь расширения, это вообще пофиг, лишь бы клиент и сервер поддерживали. Но когда есть два стандарта на работу /u/e (один мой, другой неправильный (ц)) - это уже маразм.
Рома, иди проспись. Где ты увидел ii, млять. Это так печально, что интернетом пользуются те, кто так и не научился читать.
ahamai> Я смотрел старую переписку и кто какие фишки предлагал. Это могло быть перетряханием стандартов, какой из них стандартнее, уже тогда. Но я волевым решением отправил всех в лес и зафиксировал самую базовую базу, которая могла быть. Поэтому это всё и работает, поэтому и не было обсуждений стандартов а просто всё работало, а простота рекламировала эту технологию саму за себя. А потом /u/e взяли и изнасиловали.
Ты сделал слишком много ошибок в словосочетании "довели до ума мёртворождённое недоразумение".
+++ Caesium/0.4 RC1
Andrew Lobanov to ahamai (2024-11-01 03:43:17) [ссылка]

Рома порвался

Сабж. Опять. Ставлю на него твит, так как читать этот бессвязный поток сознания, оторванный от реальности, уже нет сил.
+++ Caesium/0.4 RC1
Andrew Lobanov to All (2024-11-01 03:43:17) [ссылка]

Re: Дополнения к стандарту

Ответ на сообщение
>> Ну и во-вторых, sf решает одну конкретную задачу, а слайсы - универсальны. Слайсы делают возможным адаптивный фетч и онлайн просмотр.
ahamai> То, что называется слайсы, у меня называется lim. Сделано одной строчкой кода. Совместимо вообще со всем, не ломает /u/e/, и даже клиенты, которые понятия не имеют о lim, могут им пользоваться.
Только твой lim решает совершенно другую задачу. Ты попробуй прочитать хотя бы черновик стандарта. То, что ты видишь единственное применение слайсам, не означает, что существует только оно.

Ну или я не понимаю как работает твой lim. Как им получить индекс эхи с 20 сообщения по 30?
ahamai> Адаптивный фетчинг это оверинжиниринг, программирование ради программирования, он вообще не даёт гарантий, в станциях где нет формальных эх а сортировка идёт по timestamp, могут быть вкинуты старые сообщения и такой фетчинг их не увидит. В нормальных условиях я вообще не вижу проблем гонять полные эхи, ибо только они дают полную гарантию. Для экономии трафка можно использовать ?h, его использование в гейтовании с shaos сократило дневной трафик с 12 мб до 2.
Если узел отдаёт индекс с сортировкой по времени сообщений, то его надо снимать с фетчинга, потому что это как минимум хулиганство. Как отдача полного индекса решает проблему выкинутых сообщений вообще непонятно.
>> В общем, попытки решить какие-то несуществующие проблемы и навязать какие-то свои оценки. Чего я боялся, то и происходит. Лебедь рак и щука.
ahamai> Проблема была в проектировании. Некорректном дизайне. В сломе того, что просто работало и было простым, как три копейки, ради решения несуществующих проблем и каких-то непонятных смен стандарта, которые ничего не дают, кроме экономии трафика, которой тоже нет, потому что у тебя либо постоянные новые запросы, новые коннекции, новые строчки в логе сервера и так далее, да там tcp фреймы больше сожрут чем трафика сэкономится :)
Кто о чём, а Рома снова о том, что idec это не ii. Потому и не ii, что ii имел фундаментальные проблемы в дизайне.
ahamai> Забавно, я посмотрел архив старых эх - я постоянно из протокола что-то выкидывал, пока не остались /e /m /u/e /u/m, и всё это не достигло предельной простоты. А щас только что-то добавляют. Да сколько угодно. Но не надо лезть в /u/e.
В твой ii никто не лезет. Ты можешь взять хоть ii-0.3 и работать с idec. Но и ты в свою очередь не лезь в idec. Постоянно добавляют, это одни только слайсы. Если у тебя от них пригорает, просто не используй их. Нет, мы будем изобретать несовместимые со стандартом велосипеды.

Я даже больше скажу, никто не мешает фетчить ii в idec. Фетчер может не использовать слайсы вполне.
ahamai> Это база из баз, фейлбек из фейлбеков, он должен быть простым, примитивным, кодиться за три строчки кода на любом языке и быть единой везде.
Он никогда не кодился за три строчки даже на петухоне. Я твою референсную реализацию читал.
ahamai> Расширяйте как хотите, но расширяйте отдельные методы, без x/feaures и прочего фиг пойми зачем, может нода работать по новому - запрашиваем, не может - фэлбэчимся на старое.
Рома, закопай уже стюардессу. Сабжа не будет. По крайней мере в стандарте. В плане обмена мой черновик останется без изменений. Изменения будут только в сопроводительном тексте для устранения неоднозначностей.

Кто что для своих фантазий сделает у себя не имеет значения пока он соблюдает стандарт.
+++ Caesium/0.4 RC1
Andrew Lobanov to ahamai (2024-11-01 03:43:16) [ссылка]

Re: Дополнения к стандарту

Ответ на сообщение
AL>> 10+ лет качаем по 40. Полёт нормальный.
revoltech> Ну а мне откуда было это знать? Нигде о 40 не было написано. А tgi уже на 13 посылает куда подальше, например.
Готовый софт уже делал так. Всё на гитхабе есть - бери и смотри, раз уж начал своё писать.
AL>> Хорошо. Я укажу в стандарте 40. Все, кто качает больше или предоставляют меньше, не соблюдают стандарт.
revoltech> Ну вот так бы сразу.
Договорились.
+++ Caesium/0.4 RC1
Andrew Lobanov to revoltech (2024-11-01 03:43:16) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
>> А здесь не согласен. Здесь прав товарищ AL, который говорит, что поведение остаётся прежним, нужно только подкорректировать логику парсера. Ну, типа, старые /u/e никуда не деваются, нужно только посмотреть, есть ли двоеточие в последнем элементе и привет.
ahamai> это полностью ломает единость формата. /u/e должна быть везде, и должна реализовываться в 3 строках. у неё не должно быть расхождений, не надо в /u/e добавлять парсеры, /u/e должна быть единой и быть везде. все остальные расширения - отдельно.
В рамках idec она везде. То, что ты не соблюдаешь стандарт - исключительно твоя проблема.
+++ Caesium/0.4 RC1
Andrew Lobanov to ahamai (2024-11-01 03:43:16) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
ahamai> вот /lim/ совместима с любыми существующими клиентами, просто меняешь url в конфиге и всё.
Праада она не решает задач слайсов. И делает адаптивный фетчинг удобным. Зато в отдельном неймспейсе ага.
+++ Caesium/0.4 RC1
Andrew Lobanov to ahamai (2024-11-01 03:43:16) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
ahamai> Я вообще не про это. Я про то, что не надо было трогать протокол, который для трогания совсем не предназначался. В чём проблема была вместо проверки x/feautures всяких просто использовать новый, а при отказе - фэлбекаться? Ну самый же очевидный дизайн. Зачем там, где всё было предельно просто, зачем-то совершенно ненужно это усложнять?
Будь последовательным. Твой ii никто не трогает. Просто на его основе сделали нечто другое. Всё строго по твоим заветам из 2014-го. А то сперва ты говоришь одно, потом приходишь и вдруг оказывается, что то, что ты говорил, не имеет значения. Почему тогда то, что ты говоришь сейчас, вдруг должно иметь значение? Завтра ты опять переобуешься и снова будешь делать вид, что ты не говорил того, что говоришь сегодня.
+++ Caesium/0.4 RC1
Andrew Lobanov to ahamai (2024-11-01 03:43:16) [ссылка]

Re: Разбор idec

Ответ на сообщение
>> Откуда оно там возьмётся?
ahamai> http://ii.blcat.ru/u/e/blcat.test/-100:100
А в телеграм такой запрос вообще ничего делать не станет.

Зачем в ii отсылать запросы idec?
+++ Caesium/0.4 RC1
Andrew Lobanov to ahamai (2024-11-01 03:43:15) [ссылка]

Re: Разбор idec

Ответ на сообщение
>> Ты хочешь в срезе получить нецелое количество сообщений? Зачем тебе точка в срезе? Типа, -12.5:12.5?
ahamai> если точка в срезе, то старый софт будет воспринимать это не как непонятный msgid и падать с ошибкой его запросить, а как пустую эху и просто игнорировать. двоеточие можно уронить, 12..12. или нарисовать ху^W самолётик 12.:.12. это мелочи, но мелочи это именно то, что отделяет плохой дизайн от хорошего, когда всё предусмотрено заранее.
Хороший дизайн это когда несуразные запросы не отрабатывают. Если ты пишешь наивный код это всегда будет плохой дизайн. Приведённые тобой запросы просто не будут работать даже в таверне, а там самый старый idec-софт.

Я не очень понимаю почему ты обход кривых запросов считаешь хорошим дизайном.

Как ii отработает /u/e/idec.talks/vfAqnGW9yupgQFEFzDk5 ? И почему?
+++ Caesium/0.4 RC1
Andrew Lobanov to ahamai (2024-11-01 03:43:15) [ссылка]

Разбор idec №3

Ещё вопросы. Оказывается, нет возможности брать определённое количество сообщений из каждой эхи (я думал, это там было изначально). Это, оказывается, не нужно. Логично, в расширении, которое было сделано специально для экономии трафика, нет средств для экономии трафика. Тогда зачем нужен запрос, получающий количество сообщений в конкретных эхах? Что он даёт, для чего он, кто все эти люди.

На вопрос "где архив, где посмотреть сообщения за какой-то год" говорят "архив не нужен, эхи для общения". Это IRC для общения, а формат сохранения сообщения предусматривал их сохранение. Если это для общения, зачем тогда вообще нужны эхи на кучу тысяч сообщений, почему их не trunc-ать со старостью. То есть, в архив выгрузить эху нельзя, но старые сообщения хранить будем. Но будем рекомендовать их не выкачивать. Зачем делать распученые эхи, таская архивы, которые и не архивы вовсе. То есть, взяли идею "каждая эха это законченная капсула, которая или в активной работе или в архиве", потом сделали из неё чатилку, потом сделали средства бороться с оверхедом, которые это породило, сейчас надо бороться с последствиями последствий. Когда всё изначально работало ровно так, как задумано. Шарман.

Окей, если это средство общения, то зачем нужен стандарт. ДЛЯ КОГО он нужен? Что он стандатизирует. Что он декларирует: idec это чатилка или idec это для хранения сообщений на века или idec это для экономии трафика. Это разные вещи, а чатилка и на века вообще противоположные. Стандарт должен быть не для отношения нода-нода, тут вообще никогда стандарта не было, в этом и смысл гибкости сети, стандарт нужен был для написания новых клиентов и новых серверов. И он должен был давать что-то. Когда /u/e бывает и таким, и таким, это не стандарт. Когда возникает вопрос "если есть разное количество сообщений в эхах и надо их взять" и ответ "не нужно" - это не стандарт, есть механизм срезов но он неясен непосвящённому (мне, например, до сих пор неясен). И это в сети, которая была простой и элегантной. А этот неявный и грубый хак вообще неэлегантен - это именно хак. Я хочу чтобы непосвящённому объяснили про адаптивный фетч, чтобы он понял. Я, например, не понял. Про "сравнение двух списков и взятие элементов из одного, которого нет в другом" я могу объяснить даже пробегающей мимо кошке. Это основа дизайна сети и от неё все пляшет, поэтому это стандарт. А так, для каких софтописателей это стандарт, чтобы трём пользователям между собой общаться? А нафига вам стандарт-то нужен, сами не можете договориться?
ahamai to All (2024-11-01 01:23:38) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
и работает он точно так же, и выдаёт то, что ожидается. он просто не знает, что живёт в виртуальном окружении, где всё по 100, и все эхи держат только 100 последних сообщений.
ahamai to ahamai (2024-11-01 00:29:45) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
это простая смена эндпоинта:

где было прописано http://ii.blcat.ru/u/, будет написано http://ii.blcat.ru/lim/100/u/

какая разница где эндпоинт задан? он всё равно записан в конфиге, и туда можно написать как первую строку, так и вторую. с запросом ровно ничего не делается, он ровно такой же. /list.txt, только эндпоинт другой
ahamai to shaos (2024-11-01 00:19:52) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
> http://ii.blcat.ru/lim/100/list.txt
А это не изнасилование запроса /list.txt? ;)
shaos to ahamai (2024-11-01 00:05:45) [ссылка]

Re: голдификация вестей

Ответ на сообщение
ёпт, там с пробелами беда. но в любом случае, это гораздо читаемее, чем было изначально.
ahamai to ahamai (2024-10-31 23:43:50) [ссылка]

голдификация вестей

голдифицировал ябическую тему "Вестям Linux не нравится". На это ушло несколько недель, исправления адского форматирования, перевода с транслита. Из более 200 сообщений выбрал в итоге 89. Думаю, другие выбранные темы будут попроще.

глянуть можно здесь: http://ii.blcat.ru/rr/lor.gold/Ct8espwtEvwcPsbg9bTU

ну или тянуть lor.gold с меня :)
ahamai to All (2024-10-31 23:41:14) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
> если бы создатели сетевых протоколов всецело доверяли друг другу, то интернет бы давно умер…
если бы все протоколы были одинаковые, они были бы не нужны, достаточно было бы одного

ps. в чём понятие "получил кривые данные - падай" является доверием?? как раз доверием является "ну у нас тут мусор, но мы попытаемся его как-то разобрать, вдруг там эха". нет, бандл должен быть валидным, иначе это не бандл. всё. все вопросы к ноду, выдающему невалидные данные, ты не обязан их пропускать
ahamai to shaos (2024-10-31 23:34:40) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
если бы создатели сетевых протоколов всецело доверяли друг другу, то интернет бы давно умер…
shaos to ahamai (2024-10-31 23:15:22) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
> А вдруг не игнорят? Там ведь может быть только либо ii/ok, либо repto/msgid если там не ii/ok то это должно быть repto - где написано что там может быть мусор? :)
парсинг сообщения это вообще другая тема, с запросом сообщений не связанная

а вообще, ii/ok там только для того, чтобы в любом случае не было пустой строки, которая где-нибудь может отфильтроваться.
ahamai to shaos (2024-10-31 22:57:59) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
> которые не понимающие их станции игнорят
А вдруг не игнорят? Там ведь может быть только либо ii/ok, либо repto/msgid если там не ii/ok то это должно быть repto - где написано что там может быть мусор? :)
shaos to ahamai (2024-10-31 22:40:08) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
> Каких нахрен доверенных узлов?
таких же как в фидо
> Оно всё в интернет торчит голыми жопами - кто-то напишет сырой клиент который при переполнении чего-нибудь где-нибудь зашлет тебе дамп своей памяти вместо корректного запроса и чо?
это некорректный url. он на этапе сервера отвалится. если url похож на корректный, то ты должен сформировать бандл. если хоть одна малейшая ошибка - ты падаешь. это очевидно. ты не должен пытаться анализировать некорректные данные, если узел, с которого ты фетчишь даёт некорректные данные, это 100% проблема этого узла. всё. зачем анализировать некорректные данные?
ahamai to shaos (2024-10-31 22:35:52) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
> Ты качаешь с доверенных узлов по предварительной договорённости.
Каких нахрен доверенных узлов? Оно всё в интернет торчит голыми жопами - кто-то напишет сырой клиент который при переполнении чего-нибудь где-нибудь зашлет тебе дамп своей памяти вместо корректного запроса и чо?
shaos to ahamai (2024-10-31 22:30:11) [ссылка]

Re: Разбор idec №2

Ответ на сообщение
хотя нет, чёт там всего много :)
ahamai to ahamai (2024-10-31 22:04:49) [ссылка]