[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — shaos
2024-10-25 14:59:02
shaos> Ну это можно решить путём объединения эх в тематические группы (которые будут иметь смысл только на уровне узла и не будут задевать сам протокол) - например для временных или мелких эх может существовать тематическая группа unsorted…
Опять какие-то костыли :)
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-10-25 14:59:09
shaos>> Объясню - по мне так должна быть возможность программно вытянуть весь контент узла любому кто не есть админ узла (причём через веб можно возможности и поурезать т.к. вебом не только люди пользуются), а со скрытыми эхами такой возможности нет.
revoltech> Так, может, лучше тогда автоматизировать их добавление в list.txt, то есть сделать их НЕ скрытыми, вместо урезания полезной фичи?
Вот. Товарищ дело говорит!
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — shaos
2024-10-25 14:59:15
shaos> При наличии групп эх наверное можно таки дать возможность пользователям (с высокой кармой?) создавать новые публичные эхи в группе unsorted - эдакий crowd sourcing получится, но по умолчанию такие эхи должны будут быть скрыты от веба (хоть и будут перечислены в list.txt)..,
Божечки! Уже и карма. Куда катецо федо!
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — shaos
2024-10-25 14:59:26
shaos> Ну это издевательство над здравым смыслом когда одной рукой вы разрешаете декларировать поддерживаемые фичи через features, а другой запрещаете эти фичи расширять…
Я ничего никому не запрещаю и не разрешаю. Просто считаю отламывание фундаментальных фич вредительством.
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-10-25 14:59:33
shaos>> Это да :)
revoltech> Так всё-таки есть стандартный и поддерживаемый вариант, чтобы полный перефетч эхи делался не кучей мелких запросов по 12 айдишников из-за ограничений хттпшного гета на сервере, а чем-то более вменяемым? Или нет? В доках ничего, кроме GET /u/m, по этому поводу не нарыл.
Потому что только GET и есть.
[>]
Re: Ответ на всё сразу
idec.talks
Andrew Lobanov(tavern,1) — shaos
2024-10-25 14:59:39
shaos> Фуф, а я уж думал выяснится, что Лобанов - квадробер :)
Я сам думал уже кто же я. Квадробер, зацепер, видеоблоггер или, извиняюсь, рэпер. Но пронесло :)
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — iiii
2024-10-25 14:59:39
iiii> Я не понимаю, как это работает, я не знаю как запросить последние n сообщений и я не понимаю, зачем мне запрашивать кусок эхи не до конца, а посредине. Количество сообщений я считаю ненадёжным источником, можно удалить 1 и жобавить 1 и эха вроде не изменится. , в отличие от хэша. Я вообще при делании срезов не понимаю, что входит а что не входит. Поэтому у меня на станции нет постраничного вывода :)
/u/e/idec.talks/-100:100
заберёт последние 100 сообщений.
iiii> А lim совместим со всем, хоть с ii txt 0.1, меняется только строка в конфиге.
При этом будет работать и /lim/200/u/m и /lim/200/u/point?
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-10-25 15:20:45
hugeping>> А слайсы решают проблему больших индексов.
revoltech> Слайсы на сервере позволяют пропустить сообщения, только если действительно не гонять их каждые пять минут. А это действительно увеличит трафик и без того.
Только если узел, внезапно, пишет в середину индекса, а не только в конец.
revoltech> Мой юзкейс — зашёл утром, запустил tiifetch.tcl или нажал на кнопочку Fetch all echos в tiix, клиент докачает изменения всех эх за ночь и в течение дня дофетчиваю только новое содержимое конкретно интересующих эх, вручную жмякая на Fetch this echo при необходимости. За это время в них может собраться куда больше 100 сообщений, и в случае слайсинга ещё на серверной части до клиента они уже не дойдут никогда.
Удивительно. 9 лет у всех всё доходит, а у тебя нет. Может, надо что-то в фетчере поменять?
revoltech> Поэтому придерживаться базового протокола мне пока кажется более разумным, только вот с выгребанием по /u/m надо что-то решать. 12 айдишников на запрос — слишком мало, а многопоточность всё равно не решает проблему с кучей TCP-соединений и HTTP-метаданных.
У тебя соединения платные или что?
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — shaos
2024-10-25 15:20:45
shaos> Кстати вопрос про POST в /u/m периодически поднимался, например вот тут ii://w6o5S9CleUqqm4Lgc8O9 (декабрь 2021) что так ни к чему и не привело - вот полное обсуждение:
Потому что это не решает никаких реальных проблем на самом деле. Можно, и было бы даже красиво, отказаться от HTTP, гонять всё через сокеты прямо и вот это вот всё. Отказаться от мелких пакетов и гонять сразу многомегабайтные бандлы. Добавить аватарки, карму, модераторство и бэкдоры для товарища майора. Только зачем?
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — ahamai
2024-10-25 15:20:45
>> если IDEC уже имеет все средства как часть стандарта, то зачем для него городить кастомные гейты?..
ahamai> Без гейта ты нормально не отобразишь ничего ни на zx spectrum ни на msdos, ни на atari st. Сначала научи их utf8 :)
Тоже мне бином Ньютона, utf8 оттранслировать.
ahamai> Хочется хоть одно реальное применение слайсов, кроме "забрать последние сообщения"
Например, пагинация индекса в условиях малого объёма оперативной памяти.
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-10-25 15:20:46
shaos>> Кстати вопрос про POST в /u/m периодически поднимался, например вот тут ii://w6o5S9CleUqqm4Lgc8O9 (декабрь 2021) что так ни к чему и не привело - вот полное обсуждение
revoltech> И там AL написал, что POST /u/m не решает ни одной проблемы. Как же не решает, если решает? Вот вам проблема: куча лишних соединений и метаданных, т.к. владельцы станций ограничивают длину GET-запросов, либо сознательно, либо оставляя дефолт на веб-сервере. С POST запрос будет всегда одним в идеале.
Это ты уже писал. Не писал только почему это вдруг проблема.
[>]
Re: Полуневдимые эхи
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-10-25 15:20:53
ahamai>> Сегментирование запросов было введено специально.
revoltech> Чтобы создать новым поинтам затруднения с первым выкачиванием эх (а-ля блокчейн монеро)?
Новый поинт нажал кнопку "скачать" и скачал. Какие у него могут быть проблемы с первым выкачиванием эх? Или это у старлинка платное открытие нового соединения?
[>]
Re: А что с эхой lor.opennet?
idec.talks
Andrew Lobanov(tavern,1) — shaos
2024-10-25 15:20:54
shaos> Чото тормозит она страшно последнее время - чем дальше, тем страшнее...
Да. Скоро будет переезд на новую кодовую базу. Если не случится ничего страшного, то буквально на выходных. Будет реактивная, с адаптивным фетчером и вот это вот всё.
[>]
Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — Andrew Lobanov
2024-10-25 15:37:07
> При этом будет работать и /lim/200/u/m и /lim/200/u/point?
да, естественно, просто url сдвигается. lim, в отличие от хэшей, я использовал реально в конфигах клиентов. хотя щас у меня две ветки, 0.6 на фандейшне (активная) и 0.7 на пикнике (недоделанная), и я не перенёс эту фичу с 0.7 в 0.6, надо будет не забыть
[>]
Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — Andrew Lobanov
2024-10-25 15:40:29
> Вот. Товарищ дело говорит!
те или иные варианты discover, типа автодобавления, вроде были всегда, у меня вроде и серверы и клиенты с такой фичей были.
но тогда, если останется автосоздание эх другими, в интерфейсе будет бардак. можно просто принять какой-нибудь протокол типа /x/discover, который будет делать элементарное os.listdir('e'), у меня сейчас так gemini-сайт работает.
с другой стороны это надо только для архиваторов, ибо у нас у каждой станции свой набор эх, и это замечательно. :)
[>]
Re: Мея видо?
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 15:39:56
ahamai> shaos, проверь repto? если кривые, то вычищаем тему
Вполне возможно что у тех десятка сообщений что я заблеклистил было все ок с repto (его не было), но это тупо создаёт десяток однострочных топиков в духе -- а, вот - заработало.
Чистить уже ничего не надо, я заблеклистил это. А на будущее видимо мне все таки придётся писать фильтр на fetch.
[>]
Re: Мея видо?
idec.talks
ahamai(blackcat, 2) — hugeping
2024-10-25 15:46:25
я не мог удалять стартовые сообщения, потому что там могла пострадать ветка. но там таких сообщений было 3 из 33. я не вижу смысла это блеклистить, диалог нужен для истории и для понимания некоторых вещей в этом топике. я хотел вычистить некоторые, но потом решил взять весь топик, как есть, это 33 сообщения. я их блеклистить не буду.
[>]
Re: Мея видо?
idec.talks
hugeping(ping,1) — ahamai
2024-10-25 15:44:54
ahamai> форвардинг в более подходящую эху - это нормальная фидошная практка.
Я понимаю, тут просто конфликт "философий". Это неизбежно. Ты создаёшь "движуху" ради движухи. Это нормально, но мне эти сообщения о том что там как-то что то работает или не работает, и все эти "меня видо" - не нужны. Они не посвящены никакой теме. В фидо я ценил "тематичность", а не все эти флейм-конференции... Но если в фидо были модераторы, то тут... нет. Если бы я был модератором я бы сказал что есть pipe - пишите туда. Там флейм. А сам бы отписался бы :)
idec.talks вроде бы относится к всему что idec, но это же не тестовые сообщения? Увели беседу в idec.talk - спасибо shaos! А теперь снова вернули и все в помойку... Короче, ладно. Понятно что такие "конфликты" будут всегда. Я сам подумаю над политикой на своей ноде и не буду лезть дальше.
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — Andrew Lobanov
2024-10-25 15: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 15: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 15:50:54
hugeping>> Слушай, ну зачем этот хаос. Я вот осознанно не фетчу idec.test. Без предупреждения.
hugeping>> Снимаю пока фетч и занимаюсь зачисткой.
hugeping> Фух. Зачистил. Оставил только один топик Re: Мея видно? так как он хотя бы с нормальными repto: выстраивается в одну тему.
hugeping> Вообще, я начал думать что нужны фильтры того, что от кого брать...
Все хотят огородиться от хаоса :)
[>]
Re: idec.test
idec.talks
Andrew Lobanov(tavern,1) — ahamai
2024-10-25 15:51:01
ahamai> shaos, почему с тебя idec.test не фетчится?
ahamai> ps. Ценность маленьких запросов понимаешь, когда фетчишь с spline :)
Я просто тормоз. Всё ок :)
[>]
Re: Мея видо?
idec.talks
ahamai(blackcat, 2) — hugeping
2024-10-25 16:07:21
> Они не посвящены никакой теме.
что значит никакой. это тема про tii/tiix, я её и вывел для сохранения в историю. а то потом эти мессенджеры обгонят телеграм, а у нас опять архивы потеряны.
[>]
Re: Мея видо?
idec.talks
ahamai(blackcat, 2) — hugeping
2024-10-25 16:17:17
кстати, а зачем ты меня вообще фетчишь? :) мой аплинк shaos, мы меняемся с ним трафиком, и уже от него по идее он должен попадать в остальную сеть. типа чтобы сообщения быстрее доходили?
[>]
Re: Мея видо?
idec.talks
ahamai(blackcat, 2) — revoltech
2024-10-25 16:21:06
> Я на gopher://hoi.st обитаю, если что.
открыл в lynx, попытался перейти в веб, пишет "ошибка документа"
других gopher клиентов я не помню, бомбадила вроде умеет, но он вроде веб не умеет
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — Andrew Lobanov
2024-10-25 16: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
ahamai(blackcat, 2) — revoltech
2024-10-25 16:28:21
Капец там запросов, оверхед.
x/features вообще должна кешироваться, сервер не меняет серверное по каждый день, чтобы это постоянно запрашивать
2 и 3 вообще должны быть одним запросом, типа дай мне сообщения, начинающиеся с такого-то.
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 16: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
ahamai(blackcat, 2) — hugeping
2024-10-25 16:59:28
Зачем столько запросов? Это и лишняя нагрузка на сервер, и лишний трафик (хедеры, все дела). Почему не делать шаги типа 1, 16, ещё чёнить, всё, то есть более частые юзкейсы. или даже сразу начинать с 16. запрос вообще вещь дорогая, и их лучше минимизировать
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 17:00:55
hugeping> 2) n = 1
Да, только вот этот шаг настраивается. То-есть там не 1 в реальности, а параметр limit. У меня это что то-вроде 15.
[>]
Re: Мея видо?
idec.talks
hugeping(ping,1) — Andrew Lobanov
2024-10-25 17:09:33
AL> Все хотят огородиться от хаоса :)
Я вообще сейчас подумал, наверное для меня лучшим решением было бы иметь две ноды.
1-я -- просто обычная idec нода без наворотов итд. без web морды.
2-я -- ii-go для блога, инстеда итд. с веб мордой
И синкать 2ю с 1й только по тематическим эхам. :) Вообще, надо откатываться к корням... сделать что ли чисто ii ноду... :) Нет, второй раз это не прокатит!
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — hugeping
2024-10-25 17: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 17: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 17:48:58
revoltech> А почему бы просто не сравнить результат /x/c с тем количеством, что уже локально скачано?
Потому что в разных нодах могут быть особенности. Например блеклист - учитывается или нет в счётчиках? Нода может не хранить все сообщения, а только часть (последние 10000). Причём это может быть особенность как собственной ноды, так и той ноды с которой мы фетчим. Ну и другие ситуации, которые можно придумать. А хеши - надёжно.
[>]
Re: Мея видо?
idec.talks
shaos(spnet, 2) — ahamai
2024-10-25 17:40:06
Проверил каждое сообщение - там где есть repto оно ведет куда надо - на новую копию сообщения
Есть только одно сообщение с перепутанными полями (где сабж shaos) - его наверное можно заблеклистить
Как и одно с абракадаброй вместо текста…
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 17:50:03
hugeping> Ну и другие ситуации, которые можно придумать. А хеши - надёжно.
Чуть лучше, хранить счётчик на диске для конкретной станции - свой счётчик. Но тоже ненадёжно.
[>]
Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — revoltech
2024-10-25 17:53:52
Номер может остаться тот же когда скажем добавили 1 сообщение, но в то же время заблеклистили 1 из середины - поэтому идея с хешами списков хешей мне кажется более работоспособной
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — shaos
2024-10-25 18:05:58
shaos> Количество в общем случае не показатель - сообщения могут не только добавляться, но и удаляться
На этот счёт спецификация явно говорит, что счётчик может только увеличиваться. Лучше стянуть один-два уже существующих локально айдишника, чем потерять какие-либо.
Это как на стрелочных дайверских часах, где безель можно вращать только в направлении против часовой стрелки. Если случайно ударить обо что-то, он повернётся в направлении уменьшения интервала. Вынырнешь раньше, зато точно с запасом кислорода.
[>]
Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — revoltech
2024-10-25 18:10:24
> На этот счёт спецификация явно говорит, что счётчик может только увеличиваться.
Но на практике у всех разные номера для тех же самых эх...
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — hugeping
2024-10-25 18:21:04
hugeping> Потому что в разных нодах могут быть особенности. Например блеклист - учитывается или нет в счётчиках? Нода может не хранить все сообщения, а только часть (последние 10000).
Если верить документации с гитхаба idec-net, то всё это не должно уменьшать счётчик. Сообщение добавилось — инкрементировали. Сообщение удалилось — счётчик не трогаем.
[>]
Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-10-25 18:22:31
> Но вред файлэх в чём?
1. Там передаётся нетекстовая информация т.е. через терминал уже не будет работать
2. Функционально файл из файлэхи это просто забирание файла по HTTP - зачем городить лишние абстракции?
3. Сейчас (на таверне) оно используется в основном только для раздачи порнухи и пиратских книг...
[>]
Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — revoltech
2024-10-25 18:37:46
в ii-php уменьшается
технически это немножко сложно его неуменьшать
это если хранить по простому в файлах
а если в SQL то там можно просто max(index) выдавать и он всегда будет расти (но фактически сообщений будет меньше)
[>]
Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — shaos
2024-10-25 18:49:53
shaos> в ii-php уменьшается
Ну, это печально. Получается, спецификации оно не соблюдает. Соответственно, в клиентах вся завязанная на счётчики логика тоже идёт лесом.
Придётся и у себя откатить. Или перепилить на нечто подобное алгоритму из ii-go, посчитав накладные расходы.
[>]
Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 19:00:34
shaos>> в ii-php уменьшается
revoltech> Ну, это печально. Получается, спецификации оно не соблюдает. Соответственно, в клиентах вся завязанная на счётчики логика тоже идёт лесом.
У меня тоже, наверное, не соблюдается в полной мере. И когда делал свою реализацию понял, что затачиваться на счётчики - потенциальная стрельба в ногу. К сожалению. На мой взгляд пример непродуманного элемента стандарта. Например, упал винт и ставишь всё заново. Откуда брать счётчик? Если у нас все базы данных зеркальные копии - то, вероятно, можно взять его у "соседа". Но рассинхронизация этих счётчиков между узлами с одинаковой эхой может произойти очень легко. К тому же, та другая нода скорее всего хранит последнее состояние моего счётчик у себя для проверки изменений при фетче. Короче, малейшие отличия в реализации и всё... А счётчик оказывается и не счётчиком сообщений и не счётчиком изменений...
Но! Главная мысль в другом. Даже если бы эта штука работала у всех одинаково и хорошо, она не решает ничего. Она просто позволяет сказать - стоит ли делать фетч или нет. Эту же вещь дают и слайсы, но надёжным способом. Важнее другая фича. А именно - да, нужно фетчить но фетчить не всё. Потому что в обычной ситуации в эхе всегда будут новые сообщения. Эту проблему тоже решают слайсы но только в режиме адаптивного фетча. Мне кажется адаптивный фетч - это вообще мое изобретение к которому я пришёл вынужденно. Все другие способы имели свои проблемы и нюансы. Но вот это "двоичное" сканирование истории - даёт хороший результат. Но.... сложно!
Конечно, сейчас хочется сказать - а давайте вернёмся и придумаем что-то более простое и надёжное и сделаем что-то среднее между ii и idec... Но боюсь, лишние потрясения нам не к чему.