RSS
Pages: 1 ... 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 ... 62
[>] Re: Разбор idec №2
idec.talks
shaos(spnet, 2) — revoltech
2024-11-01 10:19:54


Вот чего я родил - всем сестра'м по серьга'м как говорится :)
elseif ($opts[0] == 'u' and $opts[1] == 'e') {
	$work_options=array_slice($opts, 2);
	$aecho = [];
	$aoff = [];
	$alen = [];
	$lim = 0;
	$count = 0;
	foreach ($work_options as $work) {
		if(is_numeric($work)) {
			if($lim >= 0) die("error: unexpected single number");
			$lim = intval($work);
			if($lim < 0) die("error: unexpected negative number");
		} elseif(strpos($work,".")!==false) {
			if($lim < 0) die("error: missing lim value");
			array_push($aecho,$work);
			if($lim > 0) {
				array_push($aoff,-$lim);
				array_push($alen,$lim);
			} else {
				array_push($aoff,NULL);
				array_push($alen,NULL);
			}
			$count = $count + 1;
		} elseif(strpos($work,":")!==false || strcmp($work,"all")==0 || strcmp($work,"last")==0) {
			if($lim != 0) die("error: slice can not be used with lim");
			if(strcmp($work,"all")==0) {
				$a = 0;
				$b = 0;
			} elseif(strcmp($work,"last")==0) {
				$a = -1;
				$b = 1;
			} else {
				$numbers=explode(":", $work);
				$a = intval($numbers[0]);
				$b = intval($numbers[1]);
			}
			for($i=$count-1;$i>=0;$i--) {
				if(!is_null($aoff[$i])) break;
				$aoff[$i] = $a;
				$alen[$i] = $b;
			}
		} elseif(strcmp($work,"lim")==0) {
			$lim = -1;
		} else die("error: wrong arguments");
	}
	$buffer = "";
	for($i=0;$i<$count;$i++) {
		$echo = $aecho[$i];
		if($aoff[$i]==0 && $alen[$i]==0) {
			$slice = $access->getMsgList($echo); // NULL, NULL
		} else {
			$slice = $access->getMsgList($echo, $aoff[$i], $alen[$i]);
		}
		if (count($slice) > 0) {
			$buffer.=$echo."\n".implode("\n", $slice)."\n";
		} else {
			$buffer.=$echo."\n";
		}
	}
	echo $buffer;
}
тут тебе и стандартный ii, и со слайсами в конце [-]N:M как в IDEC, и со слайсами внутри (между именами эх) как я предлагал ранее, и можно писать last вместо -1:1, и можно писать all внутри если в конце стоит last или какие другие нумера (типа /u/e/echo.1/all/echo.2/echo.3/last если надо только последнее сообщение для последних двух эх и всё для первой), и можно после каждой эхи писать, как предлагал revoltech, и даже lim/N в начале пройдёт как у Ромы (правда при этом уже нельзя будет слайсы воткнуть), а вот от msgid и далее делать неохота ибо оно криво будет работать т.к. порядок может быть чуть разный на разных нодах...

[>] Re: Разбор idec №2
idec.talks
revoltech(spnet, 4) — ahamai
2024-11-01 10:31:19


ahamai> я не помню, есть echo_flt в том коде, но это вообще неважно.

Важно. Поскольку это уже не три строчки.

ahamai> лишнего оно не запросит а на неккоректное просто упадёт.

А надо, чтобы не падало, а игнорировало такие имена.

ahamai> оформление полиси, соглашений, стандартов и прочего - это вообще не технология.

Ну дык. Без чёткого ТЗ результат всегда ХЗ.

ahamai> Я не добавил фразу "как эту задачу решают программист и непрограммист"

Непрограммисты (хотя ХЗ, что ты в это слово вкладываешь) обычно в такие вещи просто не лезут.

ahamai> я, например. не программист

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

[>] Re: Разбор idec №2
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-11-01 10:24:30


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

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

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

Там не только кривой код кривой подход ещё. В идеальном случае, единственно верной реакцией на некорректный запрос должна быть ошибка. Это правильная практика.

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

Короче, я забодался и Рома идёт лесом со своим странным нытьём. Ходить с ним кругами смысла нет, полезной нагрузки в его сообщениях нет, наезды и истерики в его сообщениях есть. Ну и нафейхоа? Пока добавил в цезий кривой и косой, но механизм твитов. Доработаю и выдам на суд общественности.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Разбор idec №2
idec.talks
revoltech(spnet, 4) — shaos
2024-11-01 10:40:05


shaos> Вот чего я родил

«...А глянешь — мамочка моя! Эт чё? О чём? А набуя?» ©
Не, прочесть-то можно (хотя да, этот код напомнил, почему я пых терпеть не могу), но вот это как раз тот уровень сложности, от которого я стараюсь держаться подальше. Могу в отдельном сабже сделать разбор сего шындевра. Но у меня в ноде такого не будет точно.

shaos> а вот от msgid и далее делать неохота ибо оно криво будет работать т.к. порядок может быть чуть разный на разных нодах...

Такого, кстати, быть не должно.

[>] Re: Разбор idec №2
idec.talks
shaos(spnet, 2) — revoltech
2024-11-01 10:54:14


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

Это сложность по твоему? Это наоборот лёгкость и непринуждённость :)

> Такого, кстати, быть не должно.

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

[>] Re: Разбор idec №2
idec.talks
doesnm(ping,55) — revoltech
2024-11-01 10:56:04


revoltech> Если брать продвинутый шелл вроде bash или oksh, всё можно сделать непосредственно в нём, кроме самой отдачи по TCP. Я, блин, гофер-клиента на чистом баше не так давно делал (Bopher-NG), вопрос только, что это решает.

Отдачу сделать по CGI (читерство), а вместо nc взять /dev/tcp (фича баша)

+++ Никто не знает, как правильно. Так зачем же выдумывать правила?

[>] Re: Разбор idec №2
idec.talks
doesnm(ping,55) — shaos
2024-11-01 11:03:08


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

Кстати у меня тоже самое. Я думал это прикол ping

+++ Никто не знает, как правильно. Так зачем же выдумывать правила?

[>] Re: Разбор idec №2
idec.talks
revoltech(spnet, 4) — doesnm
2024-11-01 11:13:50


doesnm> Отдачу сделать по CGI (читерство), а вместо nc взять /dev/tcp (фича баша)

Да что ж везде одни теоретики... /dev/tcp только для клиентских соединений работает. Сервер сугубо на нём не сделаешь.

[>] Re: Test emoji
idec.talks
revoltech(spnet, 4) — tuple
2024-11-01 11:14:28


tuple> 🙄😬🧒👩‍🚀🙆‍♀️👩‍👦‍👦👩‍👦👒🤷‍♀️👩‍❤️‍💋‍👩🧛‍♀️☝️👻💂‍♀️🤫🍉🍰🥣🥡🍨🍢🏣

А почему не в idec.test?

[>] Re: Разбор idec №2
idec.talks
shaos(spnet, 2) — doesnm
2024-11-01 11:19:03


Возможно revoltech берёт сообщения Ромы прямо с blcat.ru и отвечает на них через меня, а я опрашиваю blcat.ru уже после, соответствено у меня ответы появляются раньше вопросов и затем это распространяется везде, кто берёт idec.talks с меня...

[>] Re: Test emoji
idec.talks
shaos(spnet, 2) — revoltech
2024-11-01 11:19:36


А вот этого сообщения у меня ещё нет :)

[>] Test emoji
idec.talks
tuple(ping,54) — All
2024-11-01 11:07:58


🙄😬🧒👩‍🚀🙆‍♀️👩‍👦‍👦👩‍👦👒🤷‍♀️👩‍❤️‍💋‍👩🧛‍♀️☝️👻💂‍♀️🤫🍉🍰🥣🥡🍨🍢🏣

[>] Re: Разбор idec №2
idec.talks
shaos(spnet, 2) — shaos
2024-11-01 11:27:12


На http://ii.blcat.ru/idec.talks правильный порядок - значит blcat берёт сообщения с меня чаще, чеми я с него, а revoltech по-видимому читает сразу всех и часто - я просто вижу его ответы раньше т.к. он мой поинт и отвечает через меня...

[>] Re: Test emoji
idec.talks
shaos(spnet, 2) — tuple
2024-11-01 11:28:34


На ii-php всё видно :)

Надо игру какую-нить заварганить пошаговую...

[>] Re: Разбор idec №2
idec.talks
doesnm(ping,55) — revoltech
2024-11-01 11:25:19


doesnm>> Отдачу сделать по CGI (читерство), а вместо nc взять /dev/tcp (фича баша)
revoltech> Да что ж везде одни теоретики... /dev/tcp только для клиентских соединений работает. Сервер сугубо на нём не сделаешь.

Я же сказал что сервер по CGI

+++ Никто не знает, как правильно. Так зачем же выдумывать правила?

[>] Re: Test emoji
idec.talks
doesnm(ping,55) — revoltech
2024-11-01 11:26:00


tuple>> 🙄😬🧒👩‍🚀🙆‍♀️👩‍👦‍👦👩‍👦👒🤷‍♀️👩‍❤️‍💋‍👩🧛‍♀️☝️👻💂‍♀️🤫🍉🍰🥣🥡🍨🍢🏣
revoltech> А почему не в idec.test?

Его на ping-е нет

+++ Никто не знает, как правильно. Так зачем же выдумывать правила?

[>] Re: Тест скорости фетча (+потеряшки)
idec.talks
shaos(spnet, 2) — tuple
2024-11-01 11:46:44


Если кому интересно вот разница в траффике между HTTPS и HTTP ответами на один и тот же запрос с моей ноды:

HTTPS:
24.130.121.38 - - [01/Nov/2024:00:36:38 -0700] "GET /iii/x/h/bot.habr.rss/lor.opennet HTTP/1.1" 200 3977 "-" "curl/7.64.0"

HTTP:
24.130.121.38 - - [01/Nov/2024:00:38:43 -0700] "GET /iii/x/h/bot.habr.rss/lor.opennet HTTP/1.1" 200 216 "-" "curl/7.64.0"

Как можно видеть HTTPS лишние 3.5КБ передаёт соответственно для HTTPS лучше большие и редкие запросы делать, а вот для HTTP наверное лучше много мелких, чтобы сервер быстрее отрабатывал.

[>] Re: Разбор idec №2
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-11-01 11:45:04


shaos>> а вот от msgid и далее делать неохота ибо оно криво будет работать т.к. порядок может быть чуть разный на разных нодах...
revoltech> Такого, кстати, быть не должно.

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

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Разбор idec №2
idec.talks
revoltech(spnet, 4) — shaos
2024-11-01 11:58:49


shaos> Возможно revoltech берёт сообщения Ромы прямо с blcat.ru и отвечает на них через меня

Я сейчас опрашиваю ноды в таком порядке: 1) https://sprinternet.io/iii, 2) https://hugeping.tk, 3) http://ii.blcat.ru, 4) http://idec.spline-online.ru. Соответственно, если его ответов на твоей и у пинга нет, то они выкачиваются и добавляются в локальную базу с ii.blcat.ru.

[>] Re: Разбор idec №2
idec.talks
revoltech(spnet, 4) — shaos
2024-11-01 12:02:45


shaos> а revoltech по-видимому читает сразу всех и часто

Не так уж и часто. У меня фетч чисто в ручном режиме по кнопке на данный момент. Но порядок чтения уже написал.

[>] Re: Test emoji
idec.talks
tuple(ping,54) — shaos
2024-11-01 11:44:22


shaos> Надо игру какую-нить заварганить пошаговую...

⬜️⬛️⬛️⬛️
⬜️⬜️⬜️⬛️
⬛️⬛️⬜️⬛️
⬛️⬛️⬜️⬛️
⬛️⬜️⬜️⬛️
⬛️🧑‍🏭⬛️⬛️
⬛️⬜️⬛️⬛️

Напишите ваше дальнейшее движение. :P

Вспомнил такую игрушку как https://rogule.com/

[>] Re: Разбор idec №2
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-11-01 11:51:36


doesnm>> Отдачу сделать по CGI (читерство), а вместо nc взять /dev/tcp (фича баша)
revoltech> Да что ж везде одни теоретики... /dev/tcp только для клиентских соединений работает. Сервер сугубо на нём не сделаешь.

Перечитай на что отвечаешь. Серверная часть на CGI, клиентская на /dev/tcp. Как раз то, что ты пишешь, и выходит. Ну блин.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Test emoji
idec.talks
Andrew Lobanov(tavern,1) — doesnm
2024-11-01 11:51:36


tuple>>> 🙄😬🧒👩‍🚀🙆‍♀️👩‍👦‍👦👩‍👦👒🤷‍♀️👩‍❤️‍💋‍👩🧛‍♀️☝️👻💂‍♀️🤫🍉🍰🥣🥡🍨🍢🏣
revoltech>> А почему не в idec.test?
doesnm> Его на ping-е нет

Так создай :)

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Рома порвался
idec.talks
Andrew Lobanov(tavern,1) — ahamai
2024-11-01 12:31:44


Не везде твит поставил. Нечаянно прочитал.

ahamai> За 10 лет каких то продвижений и изменений нет.

Изменения ради изменений. Ты бы классно вписался в современную IT-индустрию с такими подходами.

ahamai> И да, я 100% уверен, что я хотел сказать.

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

ahamai> Ибо умные люди притчами говорят, а глупые в них за частности цепляются, не видя целого.

Умные люди не путают причину и следствие. Если умные человек говорит притчами, это совсем не означает, что тот, кто говорит притчами, умён.

ahamai> Зато у вас новый стандарт будет. Ура!

Да. Выкинули хлам. И новый хлам затаскивать не будем. /lim тот же вещь совершенно глупая. Об этом я тебе и 10 лет назад писал, и сейчас писал, но ты слишком умён, чтобы понять. Про хешики для каких-то там разных индексов вообще говорить не хочется. Это сломается моментально. Но кто я такой, чтобы что-то объяснять такому могучему мудрецу?

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Рома порвался
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-11-01 12:31:44


ahamai>> Зато у вас новый стандарт будет. Ура!
revoltech> А старый (до IDEC) где почитать-то? Или опять в ИМХОдники будут тыкать?

Всё там же, где он лежит уже чёрт знает сколько лет. Ты же с ним сюда и приходил. Если ты про стандарт ii, то за этим к Роме. У него должен быть, ведь не может же быть такого, чтобы это великолепие да осталось без описания.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Рома порвался
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-11-01 12:31:44


ahamai>> Потому что вы не делали Дизайна проекта, принимая много решений "как поступить", а базируетесь на уже готовой реализации, когда те решения, которые есть, кажутся уже сами собой разумеющимися.
revoltech> С моей колокольни стороннего наблюдателя и имплементатора мне важны чётко документированные элементы протокола и как бы всё. С точки же зрения дизайна здесь, как говорится, есть два стула: либо ломаем вообще всю обратную совместимость и радикально упрощаем протокол (а упрощать и правда есть куда даже после выпиливания кучи эндпоинтов из стандарта), либо же проще оставить как есть, т.к. любые оптимизации ПРИ сохранении обратной совместимости приведут только к усложнению.

Мне начинает казаться, что Рома и правда подспудно хочет, чтобы его позорище в виде ii забыли и сделали нормально. Хотя, чтобы ii стал полезным, фактически, достаточно было добавить слайсы.

revoltech> А почему так криво задизайнили в 2014 — это уж точно вопрос не ко мне. Но сейчас это приходится принимать как данность. Или же ломать совместимость полностью и делать как следует. Но тогда это уже будет другая сеть.

Будет. И Рома снова придёт со своим нытьём про ii.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Рома порвался
idec.talks
Andrew Lobanov(tavern,1) — ahamai
2024-11-01 12:31:44


ahamai> Потому что вы не делали Дизайна проекта, принимая много решений "как поступить"

То есть, ты принимал много решений чтобы сделать ii с его родовыми травмами? Ну что я могу сказать... Тут ты больше себя очерняешь, чем нас.

ahamai> Разговор на ту тему, что мне интересно, вас вытянуть не удалось, вы сразу переходите на совсем другую, мне неинтересную, и которая вообще ничё не даёт. Впрочем, в текущем статусе стандарт вообще ничего не даёт.

Тебе интересно ii. Но это не эхотаг.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Рома порвался
idec.talks
Andrew Lobanov(tavern,1) — ahamai
2024-11-01 12:31:44


>> Если у тебя это не так, чини ноду.
ahamai> я не могу починить референсную ii 0.3, которая является базовым и законченным стандартом ii, потому что она осталась в 2014 году

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

ahamai> ps. проблема не в /u/e

Да. Проблема в ii 0.3.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Извините
idec.talks
Andrew Lobanov(tavern,1) — All
2024-11-01 12:31:45


Сабж. Почитал и понял, что проще везде Рому в твит добавить, чем читать эту галиматью. Превратил эху в помойку и рад. Видимо, воссоздаёт привычную среду.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Рома порвался
idec.talks
revoltech(spnet, 4) — Andrew Lobanov
2024-11-01 13:21:34


AL> Всё там же, где он лежит уже чёрт знает сколько лет. Ты же с ним сюда и приходил. Если ты про стандарт ii, то за этим к Роме.

Да я уже запутался. Наверное, про стандарт ii. Короче, про то, что было до ребрендинга в IDEC и появления той доки на гитхабе.

AL> У него должен быть, ведь не может же быть такого, чтобы это великолепие да осталось без описания.

Ну надеюсь. А то если окажется, что вместо описания остался только кривой референсный код, то совсем печаль.

[>] Re: Разбор idec №2
idec.talks
hugeping(ping,1) — ahamai
2024-11-01 13:45:04


Рома, не нервничай. У меня 3й день подряд мигрень, но я решил немного пояснить ситуацию, не влезая в детали. Как ты предложил. Но по существу! Мой ответ частично обращён к твоим другим сообщениям.

# Про дизайн и простоту ii

Я прекрасно понимаю твои доводы о простоте и сам практикую решения проблем "не в лоб". Это действительно круто, когда проблему можно "обойти" не решая её вообще. Plan9, кстати, отличный пример этого подхода. Я пришёл к этому не сразу, но когда так понял - сразу начал с радостью практиковать. На работе и в быту. И про питон + падения некорректных данных я тоже нормально отношусь. Мы пишем "чистые (сейчас не в терминах ФП)" функции при этом. А контролируемое падение питона (да ещё в рамках веб-фреймворка, например) это, обычно, не является проблемой безопасности.

Поэтому я лично пытался придумать что-то, что было бы так же просто как базовый ii, но всё-таки решало те проблемы, которые мне бы лично хотелось бы решить.

# Проблемы "базового" ii

Собственно это и есть краеугольный момент. Либо мы воспринимаем особенности ii проблемами либо нет. Я согласен, можно проявить аскетичность, смирение и "вложить" себя в базовый ii который предполагает:

- полный фетч;
- архивирование и "бегучесть" эх.

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

# Обсуждаемые изменения стандарта idec

Обсуждаемые изменения стандарта - в основном, реакция на взгляд со стороны о двусмысленных моментах. Андрей выкинул из текущего idec то, что посчитал лишним. Так что это упрощение. А то, что было неточно сформулировано - сформулировал. Речь вроде бы и не шла о "принципиально новом" стандарте. То-есть, мера хаоса была уменьшена, не революционно, но тем не менее. В этом и есть его ценность.

# Новый стандарт

Вот. А теперь самое интересное. Есть чистый стол. Есть ii. Есть упрощённый idec. И дальше развилка.

1) мне достаточно ii
2) мне достаточно idec
3) я могу сделать лучше

Ты можешь мне сказать где ты? Вроде бы ты на пп1, но при этом я вижу в твоих сообщения обсуждения решений тогоже sf, h которые вроде бы демонстрируют что то из пп3.

Ну так возьми и предложи, связанным текстом непротиворечивый стандарт, который по твоему мнению достаточен.

Я лично могу сформулировать несколько вариантов:

1) ii с полным фетчем но с надёжным механизмом проверки изменений в эхах узла (это то, что у тебя hash эх
2) ii с возможностью забирать n последних сообщений (это твой lim и/или sf)
3) ii с отдачей списка msgid в обратном порядке (моя идея)

Каждая из них мне не нравится по своим причинам:

1) Необходимостью хранить счетчики/хеши/что угодно - мой шкурный интерес. Я тоже иногда люблю экстремальную простоту. Приемлемо, но не прекрасно.

2) Невозможно "чётко" подобрать лимит такого захлёста. Сколько надо ставить чтобы и разброс порядка не влиял и интенсивность чата? 100? А если сисоп уехал в круиз а за пол года его отсутствия пришло 10000 пользователей? Нет, не надёжно.

3) Вроде всё четко технически (читаем и обрываем связь когда считаем нужным) но.. Есть элемент хака.

Текущий idec в терминах простоты мне тоже НЕ НРАВИТСЯ, но! Я НЕ МОГУ придумать лучше и так, чтобы были решены те недостатки, о которых я говорю. И вот слайсы, достаточно просты и их таки решают! И этот адаптивный фетч который ты называешь оверинженирингом, для меня это вынужденный шаг. Другого пути я просто не вижу. Если хочу избавиться от полного фетча и при этом иметь надёжность которая позволила бы мне бросить ноду и не следить за ней год (хотя бы и гипотетически)

В общем, давай конструктивно. Дружно. Корректно! (Мою ноду дети читают!) Предлагай решения если есть что предложить дополнительно или скажи, что тебя устраивает ii в чистом виде, но тогда и не нервничай. Дай нам двигаться своим путём.

[>] Re: Рома порвался
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-11-01 13:58:02


AL>> Всё там же, где он лежит уже чёрт знает сколько лет. Ты же с ним сюда и приходил. Если ты про стандарт ii, то за этим к Роме.
revoltech> Да я уже запутался. Наверное, про стандарт ii. Короче, про то, что было до ребрендинга в IDEC и появления той доки на гитхабе.

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

Идея указывать слайс для каждой эхи тоже была. Но была отметена. Уже и не помню почему. Единственное, что страдает с общим слайсом, это чувство прекрасного. Технологически он работает. А адаптивный фетчинг близок к красивому решению.

AL>> У него должен быть, ведь не может же быть такого, чтобы это великолепие да осталось без описания.
revoltech> Ну надеюсь. А то если окажется, что вместо описания остался только кривой референсный код, то совсем печаль.

Скорее всего, так и есть. Но надо спрашивать Рому.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Рома порвался
idec.talks
revoltech(spnet, 4) — Andrew Lobanov
2024-11-01 14:34:14


Я там в revoltech.local (у Шаоса) пофантазировал на тему, как можно было бы весь протокол упростить, не будь необходимости держать обратную совместимость с ii/IDEC. Причём там и файлэхи тоже в общую структуру прекрасно ложились бы, например.

Но сначала актуальный стандарт IDEC реализую в ноде своей, а потом уж посмотрим. Так что там, 40 мессаг на запрос устаканили, больше дополнений к доке не будет, можно приступать к запилу?

[>] Re: Рома порвался
idec.talks
Andrew Lobanov(tavern,1) — revoltech
2024-11-01 15:02:39


revoltech> Я там в revoltech.local (у Шаоса) пофантазировал на тему, как можно было бы весь протокол упростить, не будь необходимости держать обратную совместимость с ii/IDEC. Причём там и файлэхи тоже в общую структуру прекрасно ложились бы, например.

Ну я Шаоса, вроде, не тяну. Если кто-то транзитом протащит, затащу к себе.

revoltech> Но сначала актуальный стандарт IDEC реализую в ноде своей, а потом уж посмотрим. Так что там, 40 мессаг на запрос устаканили, больше дополнений к доке не будет, можно приступать к запилу?

Ну... На самом деле, я ещё думаю, что есть смысл выкинуть e/ и m/ :)

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Рома порвался
idec.talks
hugeping(ping,1) — Andrew Lobanov
2024-11-01 15:11:56


AL> Ну... На самом деле, я ещё думаю, что есть смысл выкинуть e/ и m/ :)

m/ постоянно использую для отладки. Удобно. Про e/ сходу не могу вспомнить.

[>] Re: Рома порвался
idec.talks
Andrew Lobanov(tavern,1) — hugeping
2024-11-01 15:45:57


AL>> Ну... На самом деле, я ещё думаю, что есть смысл выкинуть e/ и m/ :)
hugeping> m/ постоянно использую для отладки. Удобно. Про e/ сходу не могу вспомнить.

Ну m/, по размышлению, мне тоже кажется полезным. Даже просто взять и получить сообщение с помощью curl это удобно. А вот e/ никогда не видел, чтобы использовали. Разве что на заре ещё ii был клиент на баше и dialog, который был онлайн-клиентом и использовал как раз e/ и m/, если мне не изменяет память. Хотя, по факту, разделить строчку и декодировать base64 на баше всё равно просто.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: Рома порвался
idec.talks
revoltech(spnet, 4) — Andrew Lobanov
2024-11-01 16:35:04


AL> Ну... На самом деле, я ещё думаю, что есть смысл выкинуть e/ и m/ :)

Согласен.

[>] Re: Рома порвался
idec.talks
shaos(spnet, 2) — Andrew Lobanov
2024-11-01 18:02:19


> Ну я Шаоса, вроде, не тяну.

Ну как не тяну? Тянешь, но по старому списку эх 2021 года и по старому адресу…

[>] Re: Рома порвался
idec.talks
shaos(spnet, 2) — shaos
2024-11-01 18:35:30


TOP10 VISITORS:

[1] Facebook point=0 web=1027 up=22.9MB (33%)
[2] 176.109.111.x point=46 web=0 up=16.7MB (24%) <--- tavern (2/hr)
[3] 92.63.98.x point=70 web=0 up=5.9MB (8%) <--- tgi (3/hr)
[4] Google point=42 web=480 up=5.7MB (8%) <--- Google (2/hr)
[5] 145.224.100.x point=115 web=1 up=5.0MB (7%) <--- 145.224.100.x (5/hr)
[6] Amazon point=0 web=83 up=4.1MB (5%)
[7] 95.165.9.x point=135 web=2 up=3.3MB (4%) <--- ping (6/hr)
[8] 217.197.116.x point=150 web=0 up=2.7MB (3%) <--- blackcat (6/hr)
[9] 24.130.121.x point=35 web=58 up=2.0MB (2%) <--- spnet (1/hr)
[10] 172.56.42.x point=0 web=35 up=0.2MB (<1%)

TOTAL TRAFFIC: 68MB

[>] Re: Разбор idec №2
idec.talks
hugeping(ping,1) — hugeping
2024-11-01 18:35:41


Подумал тут ещё... Хочу добавить. Может какой-то мозговой штурм начнётся. Но это все в рамках некоторого "потенциально нового" ii-подобного протокола. idec3 :)

Адаптивный фетч тоже не 100% надёжен. Но ненадёжен по-другому. Речь о той точке алгоритма, когда мы останавливаемся. Когда видим что такое сообщение у нас есть и начинаем фетч. Это лучше чем жёсткий лимит, но всё-ещё не абсолютно надёжно.

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

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

2) Выборка, основанная на времени.

Вроде бы Рома делал такое когда-то, может ошибаюсь. Запрос вида: дай мне сообщения которые пришли с такого-то времени (время - ну пусть секунды эпохи unix в utc).

Да, тогда мы немного завязаны на время, но это вроде бы окончательно решает всё. Или нет?

Что думаете?

[>] Re: Разбор idec №2
idec.talks
tuple(ping,54) — hugeping
2024-11-01 18:41:38


hugeping> Но это все в рамках некоторого "потенциально нового" ii-подобного протокола. idec3 :)

Стоило прийти в idec, как его уже хоронят :)

[>] Re: Разбор idec №2
idec.talks
hugeping(ping,1) — tuple
2024-11-01 18:42:42


tuple> Стоило прийти в idec, как его уже хоронят :)

Не надо вбросов! Давай по существу.

P.S. Ipv4 тоже хоронят давно, но что-то никак. :)

[>] Re: Разбор idec №2
idec.talks
hugeping(ping,1) — hugeping
2024-11-01 18:50:13


hugeping> Что думаете?

Продолжаю рассуждать. sf=hash становится надёжной, если только мы после последнего фетча запоминаем hash последнего сообщения которое зафетчили и сохранили. Возможно, о таком режиме Рома и говорил, но я до сих пор воспринимал sf=hash совсем по другому. Так что пишу это, если вы тоже воспринимали это по другому...

Так что sf=hash так же надёжна как и время, если мы после каждого фетча успешного записываем hash последнего взятого сообщения для этой ноды.

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

[>] Re: Разбор idec №2
idec.talks
shaos(spnet, 2) — hugeping
2024-11-01 19:34:13


Если сохранять хеш последнего принятого сообщения для КАЖДОЙ опрашиваемой ноды, то тогда да - имеет право на жизнь. По идее оно может собой заменить хеш списка сообщений для эхи (мой /x/h или /list.txt?h=1) т.к. список не может расти изнутри - только с конца...

[>] Re: Разбор idec №2
idec.talks
shaos(spnet, 2) — hugeping
2024-11-01 19:37:13


Время ненадёжно т.к. сообщения приходят так как приходят из-за особенностей роутинга и последовательности фетчинга, а вовсе не в хронологическом порядке, и старое сообщение вполне может внезапно "всплыть" выше по списку чем более новые ответы на него (см. беседу revoltech с Ромой).

[>] Re: Разбор idec №2
idec.talks
shaos(spnet, 2) — shaos
2024-11-01 19:46:23


Выше по списку в ленте сообщений где сверху показаны последние сообщения, а в списке хешей эхи оно естественно будет ниже по списку...

[>] Re: Разбор idec №2
idec.talks
hugeping(ping,1) — shaos
2024-11-01 19:48:13


shaos> Если сохранять хеш последнего принятого сообщения для КАЖДОЙ опрашиваемой ноды, то тогда да - имеет право на жизнь. По идее оно может собой заменить хеш списка сообщений для эхи (мой /x/h или /list.txt?h=1) т.к. список не может расти изнутри - только с конца...

Он не то чтобы его заменяет, а решает бОльшую задачу - sync только новых сообщений. При этом /x/h не нужен, так как решена более общая задача. Но хеши надо хранить для всех эх всех нод с которых мы фетчим...

[>] Re: Разбор idec №2
idec.talks
hugeping(ping,1) — shaos
2024-11-01 19:48:45


shaos> Время ненадёжно т.к. сообщения приходят так как приходят из-за особенностей роутинга и последовательности фетчинга, а вовсе не в хронологическом порядке, и старое сообщение вполне может внезапно "всплыть" выше по списку чем более новые ответы на него (см. беседу revoltech с Ромой).

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

[>] Re: Разбор idec №2
idec.talks
shaos(spnet, 2) — hugeping
2024-11-01 21:10:22


А ну это сейчас вообще никем не фиксируется

[>] Re: Разбор idec №2
idec.talks
hugeping(ping,1) — shaos
2024-11-01 21:28:54


shaos> А ну это сейчас вообще никем не фиксируется

Гм. Действительно, как-то я не подумал об этом. :)

Pages: 1 ... 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 ... 62