[>]
Re: А что с эхой lor.opennet?
idec.talks
Andrew Lobanov(tavern,1) — shaos
2024-10-25 12:20:54
shaos> Чото тормозит она страшно последнее время - чем дальше, тем страшнее...
Да. Скоро будет переезд на новую кодовую базу. Если не случится ничего страшного, то буквально на выходных. Будет реактивная, с адаптивным фетчером и вот это вот всё.
[>]
Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — revoltech
2024-10-25 12:12:55
я не понимаю, зачем. если что-то где-то сглючит, качать придётся всё заново. поэтому и сделали разбивку на мелкие секции, скачал/записал, скачал/записал. но попробуй, я понятия не имею.
[>]
Re: Мея видо?
idec.talks
ahamai(blackcat, 2) — hugeping
2024-10-25 12:17:46
потому что это техническая переписка. ей не место в test, test это для тестов, а тут целая дискуссия, которую кто-то просмотрел. и её и надо было вести в talks а не в test. test для архивов бессмысленны и там непонятно, что где найдёшь. я эту дискуссию вообще просмотрел и попал на неё случайно. я вырезал 33 сообщения из test, чтобы их сохранить в общей эхе, чтобы не потерялись. вообще такие разговоры изначально должны были вестись в talks, зачем их чистить???
[>]
Re: Мея видо?
idec.talks
ahamai(blackcat, 2) — hugeping
2024-10-25 12:26:01
в смысле? я проверял repto, вроде всё работало.
shaos, проверь repto? если кривые, то вычищаем тему
[>]
Re: Мея видо?
idec.talks
ahamai(blackcat, 2) — hugeping
2024-10-25 12:28:51
> Так что даже не знаю. Попрошу только, всё-таки, принять общее решение и не заниматься кросспостом, хотя бы из тестовой эхи.
форвардинг в более подходящую эху - это нормальная фидошная практка. я вообще не понимал, про какие tii тут ведут речь, пока в эту тему на другой станции случайно не попал. и другие не поймут, какая-то беседа где часть там, часть тут. чтобы потом не остаться опять у разбитого архива, такие вещи нужно мержить. потому что тестовые эхи сохранять для истории смысла мало
[>]
Re: Мея видо?
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 12:39:56
ahamai> shaos, проверь repto? если кривые, то вычищаем тему
Вполне возможно что у тех десятка сообщений что я заблеклистил было все ок с repto (его не было), но это тупо создаёт десяток однострочных топиков в духе -- а, вот - заработало.
Чистить уже ничего не надо, я заблеклистил это. А на будущее видимо мне все таки придётся писать фильтр на fetch.
[>]
Re: Мея видо?
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 12:44:54
ahamai> форвардинг в более подходящую эху - это нормальная фидошная практка.
Я понимаю, тут просто конфликт "философий". Это неизбежно. Ты создаёшь "движуху" ради движухи. Это нормально, но мне эти сообщения о том что там как-то что то работает или не работает, и все эти "меня видо" - не нужны. Они не посвящены никакой теме. В фидо я ценил "тематичность", а не все эти флейм-конференции... Но если в фидо были модераторы, то тут... нет. Если бы я был модератором я бы сказал что есть pipe - пишите туда. Там флейм. А сам бы отписался бы :)
idec.talks вроде бы относится к всему что idec, но это же не тестовые сообщения? Увели беседу в idec.talk - спасибо shaos! А теперь снова вернули и все в помойку... Короче, ладно. Понятно что такие "конфликты" будут всегда. Я сам подумаю над политикой на своей ноде и не буду лезть дальше.
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — Andrew Lobanov
2024-10-25 12:46:14
AL> Удивительно. 9 лет у всех всё доходит, а у тебя нет. Может, надо что-то в фетчере поменять?
Наверное, мы о разных вещах говорим.
1. Фетчер по server-side слайсу качает 100 последних сообщений вечером.
2. За ночь в эхе появляется 103 сообщения.
3. Фетчер по server-side слайсу качает 100 последних сообщений утром.
Вопрос знатокам: увидит ли клиент те несчастные три сообщения?
AL> У тебя соединения платные или что?
У меня идеология не тратить вычислительные ресурсы там, где их можно не тратить. Пермакомпьютинг так называемый.
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 12:55:11
revoltech> 1. Фетчер по server-side слайсу качает 100 последних сообщений вечером.
revoltech> 2. За ночь в эхе появляется 103 сообщения.
revoltech> 3. Фетчер по server-side слайсу качает 100 последних сообщений утром.
revoltech> Вопрос знатокам: увидит ли клиент те несчастные три сообщения?
Я тебе советовал посмотреть как написан фетчер в ii-go. У тебя есть своё понимание, но оно не соответствует тому, как работает адаптивный фетч. Сил объяснять у меня нет. Скажу только, что забор индексов идёт "бинарно" (по одному id) начиная с 1 (2, 4, 8, 16, ...) пока не обнаружим те сообщения, которых у нас нет и тогда мы их все забираем. Ну или если мы дошли до какого-то лимита-ограничения, тогда переходим к старой схеме - забрать все.
[>]
Re: Мея видо?
idec.talks
Andrew Lobanov(tavern,1) — hugeping
2024-10-25 12:50:54
hugeping>> Слушай, ну зачем этот хаос. Я вот осознанно не фетчу idec.test. Без предупреждения.
hugeping>> Снимаю пока фетч и занимаюсь зачисткой.
hugeping> Фух. Зачистил. Оставил только один топик Re: Мея видно? так как он хотя бы с нормальными repto: выстраивается в одну тему.
hugeping> Вообще, я начал думать что нужны фильтры того, что от кого брать...
Все хотят огородиться от хаоса :)
[>]
Re: idec.test
idec.talks
Andrew Lobanov(tavern,1) — ahamai
2024-10-25 12:51:01
ahamai> shaos, почему с тебя idec.test не фетчится?
ahamai> ps. Ценность маленьких запросов понимаешь, когда фетчишь с spline :)
Я просто тормоз. Всё ок :)
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — Andrew Lobanov
2024-10-25 13:13:54
AL> Только если узел, внезапно, пишет в середину индекса, а не только в конец.
В общем, я понял, какой алгоритм до меня пытаются донести:
1. Делаем GET /x/features, чтобы проверить на предмет x/c и u/e. Если они имеются, то выполняем следующие пункты, если нет, скачиваем все айдишники через GET /u/e/имя.эхи и слайсим только на клиенте.
2. Делаем GET /x/c/имя.эхи, чтобы сравнить количество сообщений с локальным. Пишем разницу между полученным и локальным в diff.
3. Потом делаем GET /u/e/имя.эхи/-diff:diff и получаем список новых айдишников.
Так, что ли?
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 13:53:31
AL>> Только если узел, внезапно, пишет в середину индекса, а не только в конец.
revoltech> В общем, я понял, какой алгоритм до меня пытаются донести:
Алгоритм ii-go:
1) если есть поддержка слайсов то используем её. иначе - полный синк
2) n = 1
3) берем /u/e/эха/-n:1
4) это сообщение есть в базе? да - не нужен синк (goto 7)
5) n = n * 2
6) идём на 3
7) забираем сообщения от -n:n
Возможны гонки, например когда сообщение успеет добавиться (в конец) пока мы забираем текущее. Но на следующем fetch мы должны будем это заметить.
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 14:00:55
hugeping> 2) n = 1
Да, только вот этот шаг настраивается. То-есть там не 1 в реальности, а параметр limit. У меня это что то-вроде 15.
[>]
Re: Мея видо?
idec.talks
hugeping(ping,1) — Andrew Lobanov
2024-10-25 14:09:33
AL> Все хотят огородиться от хаоса :)
Я вообще сейчас подумал, наверное для меня лучшим решением было бы иметь две ноды.
1-я -- просто обычная idec нода без наворотов итд. без web морды.
2-я -- ii-go для блога, инстеда итд. с веб мордой
И синкать 2ю с 1й только по тематическим эхам. :) Вообще, надо откатываться к корням... сделать что ли чисто ii ноду... :) Нет, второй раз это не прокатит!
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — hugeping
2024-10-25 14:26:43
hugeping> Алгоритм ii-go:
hugeping>
hugeping> 1) если есть поддержка слайсов то используем её. иначе - полный синк
hugeping> 2) n = 1
hugeping> 3) берем /u/e/эха/-n:1
hugeping> 4) это сообщение есть в базе? да - не нужен синк (goto 7)
hugeping> 5) n = n * 2
hugeping> 6) идём на 3
hugeping> 7) забираем сообщения от -n:n
А зачем так сложно? Если нода умеет слайсы, то она, по идее, умеет и /x/c, который неубываемый. Тогда мы, сравнивая с количеством уже скачанных локально сообщений, знаем, сколько надо ещё запросить.
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — hugeping
2024-10-25 14:32:38
hugeping> Алгоритм ii-go:
hugeping>
hugeping> 1) если есть поддержка слайсов то используем её. иначе - полный синк
hugeping> 2) n = 1
hugeping> 3) берем /u/e/эха/-n:1
hugeping> 4) это сообщение есть в базе? да - не нужен синк (goto 7)
hugeping> 5) n = n * 2
hugeping> 6) идём на 3
hugeping> 7) забираем сообщения от -n:n
hugeping>
А почему бы просто не сравнить результат /x/c с тем количеством, что уже локально скачано?
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 14:48:58
revoltech> А почему бы просто не сравнить результат /x/c с тем количеством, что уже локально скачано?
Потому что в разных нодах могут быть особенности. Например блеклист - учитывается или нет в счётчиках? Нода может не хранить все сообщения, а только часть (последние 10000). Причём это может быть особенность как собственной ноды, так и той ноды с которой мы фетчим. Ну и другие ситуации, которые можно придумать. А хеши - надёжно.
[>]
Re: Мея видо?
idec.talks
shaos(spnet, 2) — ahamai
2024-10-25 14:40:06
Проверил каждое сообщение - там где есть repto оно ведет куда надо - на новую копию сообщения
Есть только одно сообщение с перепутанными полями (где сабж shaos) - его наверное можно заблеклистить
Как и одно с абракадаброй вместо текста…
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 14:50:03
hugeping> Ну и другие ситуации, которые можно придумать. А хеши - надёжно.
Чуть лучше, хранить счётчик на диске для конкретной станции - свой счётчик. Но тоже ненадёжно.
[>]
Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — revoltech
2024-10-25 14:53:52
Номер может остаться тот же когда скажем добавили 1 сообщение, но в то же время заблеклистили 1 из середины - поэтому идея с хешами списков хешей мне кажется более работоспособной
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — shaos
2024-10-25 15:05:58
shaos> Количество в общем случае не показатель - сообщения могут не только добавляться, но и удаляться
На этот счёт спецификация явно говорит, что счётчик может только увеличиваться. Лучше стянуть один-два уже существующих локально айдишника, чем потерять какие-либо.
Это как на стрелочных дайверских часах, где безель можно вращать только в направлении против часовой стрелки. Если случайно ударить обо что-то, он повернётся в направлении уменьшения интервала. Вынырнешь раньше, зато точно с запасом кислорода.
[>]
Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — revoltech
2024-10-25 15:10:24
> На этот счёт спецификация явно говорит, что счётчик может только увеличиваться.
Но на практике у всех разные номера для тех же самых эх...
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — hugeping
2024-10-25 15:21:04
hugeping> Потому что в разных нодах могут быть особенности. Например блеклист - учитывается или нет в счётчиках? Нода может не хранить все сообщения, а только часть (последние 10000).
Если верить документации с гитхаба idec-net, то всё это не должно уменьшать счётчик. Сообщение добавилось — инкрементировали. Сообщение удалилось — счётчик не трогаем.
[>]
Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-25 15:22:31
> Но вред файлэх в чём?
1. Там передаётся нетекстовая информация т.е. через терминал уже не будет работать
2. Функционально файл из файлэхи это просто забирание файла по HTTP - зачем городить лишние абстракции?
3. Сейчас (на таверне) оно используется в основном только для раздачи порнухи и пиратских книг...
[>]
Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — revoltech
2024-10-25 15:37:46
в ii-php уменьшается
технически это немножко сложно его неуменьшать
это если хранить по простому в файлах
а если в SQL то там можно просто max(index) выдавать и он всегда будет расти (но фактически сообщений будет меньше)
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — shaos
2024-10-25 15:49:53
shaos> в ii-php уменьшается
Ну, это печально. Получается, спецификации оно не соблюдает. Соответственно, в клиентах вся завязанная на счётчики логика тоже идёт лесом.
Придётся и у себя откатить. Или перепилить на нечто подобное алгоритму из ii-go, посчитав накладные расходы.
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 16:00:34
shaos>> в ii-php уменьшается
revoltech> Ну, это печально. Получается, спецификации оно не соблюдает. Соответственно, в клиентах вся завязанная на счётчики логика тоже идёт лесом.
У меня тоже, наверное, не соблюдается в полной мере. И когда делал свою реализацию понял, что затачиваться на счётчики - потенциальная стрельба в ногу. К сожалению. На мой взгляд пример непродуманного элемента стандарта. Например, упал винт и ставишь всё заново. Откуда брать счётчик? Если у нас все базы данных зеркальные копии - то, вероятно, можно взять его у "соседа". Но рассинхронизация этих счётчиков между узлами с одинаковой эхой может произойти очень легко. К тому же, та другая нода скорее всего хранит последнее состояние моего счётчик у себя для проверки изменений при фетче. Короче, малейшие отличия в реализации и всё... А счётчик оказывается и не счётчиком сообщений и не счётчиком изменений...
Но! Главная мысль в другом. Даже если бы эта штука работала у всех одинаково и хорошо, она не решает ничего. Она просто позволяет сказать - стоит ли делать фетч или нет. Эту же вещь дают и слайсы, но надёжным способом. Важнее другая фича. А именно - да, нужно фетчить но фетчить не всё. Потому что в обычной ситуации в эхе всегда будут новые сообщения. Эту проблему тоже решают слайсы но только в режиме адаптивного фетча. Мне кажется адаптивный фетч - это вообще мое изобретение к которому я пришёл вынужденно. Все другие способы имели свои проблемы и нюансы. Но вот это "двоичное" сканирование истории - даёт хороший результат. Но.... сложно!
Конечно, сейчас хочется сказать - а давайте вернёмся и придумаем что-то более простое и надёжное и сделаем что-то среднее между ii и idec... Но боюсь, лишние потрясения нам не к чему.
[>]
Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — shaos
2024-10-25 15:55:13
Там ещё идея с подменой (amend) сообщений выглядит интересной - идеологически верная альиернатива редактированию старых мессаг...
[>]
Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — shaos
2024-10-25 15:58:21
хотя не - max(index) не будет работать т.к. индекс общий на все эхи
видимо надо запрещать удалять сообщения физически...
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — shaos
2024-10-25 16:03:30
shaos> хотя не - max(index) не будет работать т.к. индекс общий на все эхи
shaos> видимо надо запрещать удалять сообщения физически...
Идея с счётчиками работает ТОЛЬКО в условиях ii. Когда все базы одинаковы. Тогда ничего не надо городить и счётчик - полное число сообщений эхи, включая блеклист. Вот меня тоже давно грызёт мысль что нужно что-то упрощать. Но я боюсь что то менять. :)
[>]
Re: Полуневдимые эхи
idec.talks
doesnm(ping,55) — hugeping
2024-10-25 16:09:44
shaos>> хотя не - max(index) не будет работать т.к. индекс общий на все эхи
shaos>> видимо надо запрещать удалять сообщения физически...
hugeping> Идея с счётчиками работает ТОЛЬКО в условиях ii. Когда все базы одинаковы. Тогда ничего не надо городить и счётчик - полное число сообщений эхи, включая блеклист. Вот меня тоже давно грызёт мысль что нужно что-то упрощать. Но я боюсь что то менять. :)
Работает - не трогай?
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — doesnm
2024-10-25 16:17:34
doesnm> Работает - не трогай?
Тут скорее боязнь конфликтов и войны "стандартов". Всё-таки, стандартны - вторичны. Первичны - люди. Так то, по мне, нужен откат к идеям ii но с опытом полученным в idec.
И центральный вопрос, конечно, это стандартизованный способ фетча, без необходимости полного сливания индексов и без адаптивного фетча. Но для того чтобы начать думать, предлагать решения и обсуждать их -- нужно желание и осознание "проблемы". А я не уверен, что это случилось. В целом, меня устраивает как всё работает. :)
Ну и не всё так однозначно. Например, нужны слайсы или нет, если проблема фетча будет решена без них? Я бы сказал - не нужны! Но ведь действительно, бездисковый клиент мог бы пользоваться слайсами для "браузинга" сообщений! Так что рубить с плеча не стоит.
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 16:32:06
Я тут подумал и понял, что не могу предложить никакого другого варианта фетчинга. Кроме того, что сделал в ii-go (на основе слайсов). Опишу варианты, которые рассматривал.
1) Вариант с запросом "дай мне все, что позже такого-то хеша" не сработает так как порядок сообщений в базе может быть разным;
2) Вариант с хешом эхи как индикатором изменений - не решает проблему забирать не всё, а только часть. Да и предполагает хранить на диске или в базе последний хеш;
3) Вариант "дай мне всё, что пришло после такого-то времени", возможно, самый интересный. Но уже накладывает ограничения: синхронное время, необходимость делать выборку по времени итд
4) Вариант возвращать список id в обратном порядке. Идея в том что если я получаю список в обратном порядке я могу закрыть соединение в тот момент когда мне уже больше не надо. :) Но, как-то на хак похоже. А как вам? Не знаю... Нет красоты.
Получается, ничего проще слайсов и не сделать? :)
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 16:34:09
hugeping> Я тут подумал и понял, что не могу предложить никакого другого варианта фетчинга. Кроме того, что сделал в ii-go (на основе слайсов). Опишу варианты, которые рассматривал.
hugeping> 1) Вариант с запросом "дай мне все, что позже такого-то хеша" не сработает так как порядок сообщений в базе может быть разным;
Хотя, сработает. Если брать с разумным "запасом" на самом деле... Правда опять вопросы с блеклистами и удалениями могут быть.
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-10-25 17:12:03
shaos>> И кстати зачем родили IDEC если ii был такой уютненький и самодостаточный? ;)
revoltech> Да вот не знаю, кстати, мне пока что только расширение с list.txt полезным показалось.
Это было в ii.
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-10-25 17:26:17
AL>> Удивительно. 9 лет у всех всё доходит, а у тебя нет. Может, надо что-то в фетчере поменять?
revoltech> Наверное, мы о разных вещах говорим.
revoltech> 1. Фетчер по server-side слайсу качает 100 последних сообщений вечером.
revoltech> 2. За ночь в эхе появляется 103 сообщения.
revoltech> 3. Фетчер по server-side слайсу качает 100 последних сообщений утром.
revoltech> Вопрос знатокам: увидит ли клиент те несчастные три сообщения?
Зачем брать сто, а не то, чего у тебя нет?
AL>> У тебя соединения платные или что?
revoltech> У меня идеология не тратить вычислительные ресурсы там, где их можно не тратить. Пермакомпьютинг так называемый.
Внимание! Вопрос: какая у тебя OS и какое окружение? Пользуешься веб-браузером?
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — shaos
2024-10-25 17:26:24
>> Но вред файлэх в чём?
shaos> 1. Там передаётся нетекстовая информация т.е. через терминал уже не будет работать
Постоянно работаю с файлами в терминале.
shaos> 2. Функционально файл из файлэхи это просто забирание файла по HTTP - зачем городить лишние абстракции?
Транспорт может быть любым.
shaos> 3. Сейчас (на таверне) оно используется в основном только для раздачи порнухи и пиратских книг...
Не подписывайся. Вопрос был концептуальный, а не по конкретным фехам.
[>]
Стандарт
idec.talks
Andrew Lobanov(tavern,1) — All
2024-10-25 17:26:30
Итак, меня тут назначили главным по стандарту. Моё предложение такое: убрать фреки, убрать фэхи, убрать счётчики, оставить только e/, m/, u/e (со слайсами), u/m, u/point, u/push, list.txt, blacklist.txt. Остальное выпилить нафиг.
Вредоносные вещи, типа эх только для чтения, кармы и прочих извращений щитвеба не пущать.
Продумать систему наказаний поинтов (накопление плюсиков, перевод в "только чтения", отключение от эхи) на уровне стандарта.
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — Andrew Lobanov
2024-10-25 17:55:30
AL> Это было в ii.
А почему документация описывает это как IDEC-расширение?
AL> Внимание! Вопрос: какая у тебя OS и какое окружение? Пользуешься веб-браузером?
К сожалению, пользуюсь. К вопросу об ОС и окружении — Alpine Linux, X/Fluxbox.
[>]
Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-25 18:10:49
> Это было в ii.
А почему тогда list.txt и blacklist.txt перечисляется в /x/features?
curl -XGET http://idec.spline-online.ru/x/features
u/e
list.txt
blacklist.txt
x/file
x/small-echolist
x/caesium
x/c
О - кстати, а что такое x/small-echolist?
[>]
Re: Стандарт
idec.talks
hugeping(ping,1) — Andrew Lobanov
2024-10-25 18:34:43
AL> Итак, меня тут назначили главным по стандарту. Моё предложение такое: убрать фреки, убрать фэхи, убрать счётчики
Я тут понял, что если счётчики будут настоящими счётчиками сообщений (без требования не расти вниз), то совместно с слайсами они дают возможность писать клиента который не скачивает сообщения в базу а просто просматривает их онлайн. То-есть:
1) получили счётчики
2) нарисовали пагинатор
3) по мере "листания" пользователя - проходим сообщения слайсами
Если убрать x/c то будет неполнота. Короче я за то, чтобы счётчики стали настоящими.