RSS
Pages: 1 ... 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ... 53
[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — shaos
2024-10-25 05:27:25


Это всегда было

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — shaos
2024-10-25 05:57:59


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

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — ahamai
2024-10-25 06:22:56


Действительно:
a45cdfa3 (user            2014-04-01 19:19:03 +1100  9) @route('/list.txt')
a45cdfa3 (user            2014-04-01 19:19:03 +1100 10) def list_txt():
a45cdfa3 (user            2014-04-01 19:19:03 +1100 11)     response.set_header ('content-type','text/plain; charset=utf-8')
08c516db (user            2014-04-06 00:06:51 +1100 12)     lst = api.load_echo(False)[1:]
08c516db (user            2014-04-06 00:06:51 +1100 13)     if request.query.n:
08c516db (user            2014-04-06 00:06:51 +1100 14)         return '\n'.join([t[0] for t in lst])
08c516db (user            2014-04-06 00:06:51 +1100 15)     else:
08c516db (user            2014-04-06 00:06:51 +1100 16)         return '\n'.join(['%s:%s:%s' % t for t in lst])
08c516db (user            2014-04-06 00:06:51 +1100 17) 

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — ahamai
2024-10-25 06:30:15


да - хэш надёжнее, но действительно придётся хранить хеши для каждого узла

вобчем я наверное сделаю у себя вызов GET /x/h/echo.1/echo.2 по аналогии с GET /x/c/echo.1/echo.2

ну и GET /list.txt?h=1 заодно тоже можно поддержать ;)
idec.talks:1699:hsh/wHerzeypz8j1d8tviSRh
blcat.local:6:hsh/kAIYYMMc5DWK0FJhsW64
retro.talks:62:hsh/bahvlLwAzK2ArGHvXWat
bot.habr.rss:157:hsh/dwqigyrvKJQURxn88dwq
lor.opennet:127:hsh/12hqQwDfGoRXxD5ILIfj
ru.humor.14:817:hsh/4GxIyw2R69G75LlwnG0r
lor.gold:47:hsh/f4BQcuDnC7LTwzQHZ42k
linux.14:919:hsh/k8AiOJGrmMm1Q30W0Stz

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — shaos
2024-10-25 06:04:07


> например для ретроклиентов, которые по собственной ограниченности не могут принять многомегабайтный список хешей в один присест - идём кусочками от начала до конца

Вообще не понимаю, можно какой-то конкретный пример. Зачем брать кусками список? И мегабайт хэшей - это 49000 сообщений. Вообще не могу представить юзкейс.

> допустим надо взять последние 5 хешей из retro.talks:
> /u/e/retro.talks/-5:5
> в данном случае смещение отрицательное - значит считаем с конца ну и после двоеточия количество

я всё равно не могу понять, зачем это может быть нужно кроме юзкейса "запросить n последних сообщений". Я в слайсах не разбираюсь, там вечно массив 20 может быть или 19, или 20, или 21, у меня и постраничного вида нет, потому что у меня и реверс и разбирать это я с ума сойду. Вот это я сделать не смогу, мне слишком нудно разбираться. Достаточно было одного крайнего случая "н последних сообщений", это гораздо проще кодить и на клиенте, и на сервере. Мой lim прозрачен для вообще любых клиентов, какие существовали в истории, если кто-то не хочет тянуть 49000 файлов. А по факту в txt клиенте у меня уже ограничение на запрос только 100 последних мессаг. Средств для больших эх никогда не задумывалось потому что изначально, и это была часть концепции, не должно было быть больших эх.

> по идее "жобавляется" всегда в конец, а из середины только удаляется (блеклистается) и если брать частями, то наверное надо брать с перехлёстом на 1, чтобы точно ничего не удалилось на границах блоков пока ты их вычитываешь...

ну если бы я делал фетчер, я бы ещё штук 5 сверху проверял, на всякий случай. и раз в день полная проверка списка.

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — shaos
2024-10-25 06:08:11


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

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — shaos
2024-10-25 06:09:21


у меня это так было сделано

https://github.com/gk11-ru/ii-elp/blob/master/run.py#L24

[>] Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — shaos
2024-10-25 06:57:21


shaos> ну и GET /list.txt?h=1 заодно тоже можно поддержать ;)

Эх, лучше бы поддержали POST /u/m, тогда не пришлось бы по куче мелких запросов при перефетче делать.

А то тут предложили многопоточность, но я ориентируюсь в том числе и на одноядерное железо. И, конечно, вопроса оптимизации (а оптимизация ≠ скорость) многопоточность при выгребании сообщений не решает — всё равно при полном перефетче будет гоняться куча метаданных и создаваться куча TCP-соединений неизвестно с какой целью.

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — ahamai
2024-10-25 06:59:54


> Вообще не понимаю, можно какой-то конкретный пример.

Например ZX Spectrum с сетевой карточкой Spectranet - у этого компа 48КБ ОЗУ только, но т.к. Spectranet использует бейсик (который в ПЗУ прошит в первых 16КБ) у которого есть свои переменные и ещё экран занимает 6912 байт ОЗУ т.е. под буфера останется 32КБ или даже меньше...

> у меня и постраничного вида нет

ну может у кого-то есть, ну или будет ;)

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — revoltech
2024-10-25 07:01:07


> Эх, лучше бы поддержали POST /u/m, тогда не пришлось бы по куче мелких запросов при перефетче делать.

это тоже можно

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — ahamai
2024-10-25 07:02:59


ok - попробую для начала list.txt?h=1

[>] Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — hugeping
2024-10-25 07:11:15


hugeping> Нет.

Вполне достаточный ответ.

hugeping> А слайсы решают проблему больших индексов.

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

Мой юзкейс — зашёл утром, запустил tiifetch.tcl или нажал на кнопочку Fetch all echos в tiix, клиент докачает изменения всех эх за ночь и в течение дня дофетчиваю только новое содержимое конкретно интересующих эх, вручную жмякая на Fetch this echo при необходимости. За это время в них может собраться куда больше 100 сообщений, и в случае слайсинга ещё на серверной части до клиента они уже не дойдут никогда.

Поэтому придерживаться базового протокола мне пока кажется более разумным, только вот с выгребанием по /u/m надо что-то решать. 12 айдишников на запрос — слишком мало, а многопоточность всё равно не решает проблему с кучей TCP-соединений и HTTP-метаданных.

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — revoltech
2024-10-25 07:14:01


кстати у меня апач - у него тоже ограничение на 256 символов в урле?

[>] Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — shaos
2024-10-25 07:18:24


shaos> это тоже можно

Это было бы здорово. С любым ударением на этом слове.

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — shaos
2024-10-25 07:25:33


гугол говорит 8192

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — shaos
2024-10-25 07:17:39


> Например ZX Spectrum с сетевой карточкой Spectranet - у этого компа 48КБ ОЗУ только, но т.к. Spectranet использует бейсик (который в ПЗУ прошит в первых 16КБ) у которого есть свои переменные и ещё экран занимает 6912 байт ОЗУ т.е. под буфера останется 32КБ или даже меньше...

зачем тебе там список сообщений, если ты там и одно сообщение не отобразишь? :)

для таких вещей вообще абсолютно кастомные гейты надо делать, а не стандартные средства

ps. блин, опять потерялся текст про спектрум в коробке из под обуви, интересно в какую эху я его запульнул в итоге... в рухуморе14 нет

[>] Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — shaos
2024-10-25 07:33:48


shaos> гугол говорит 8192

Да, в теории 389 айдишников туда поместятся. Всё равно маловато, но лучше, чем по 12 группировать.

Может, сделаю в stations.txt напротив каждой урлы поле, которое указывает максимальное количество адишников. Мол, если не знаем, ставим 12.

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — ahamai
2024-10-25 07:40:40


> зачем тебе там список сообщений, если ты там и одно сообщение не отобразишь? :)

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

> для таких вещей вообще абсолютно кастомные гейты надо делать, а не стандартные средства

если IDEC уже имеет все средства как часть стандарта, то зачем для него городить кастомные гейты?...

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — revoltech
2024-10-25 07:58:03


Кстати вопрос про POST в /u/m периодически поднимался, например вот тут ii://w6o5S9CleUqqm4Lgc8O9 (декабрь 2021) что так ни к чему и не привело - вот полное обсуждение:

https://tgistation.ru/echo/subj/8/%D0%9F%D1%80%D0%B5%D0%B4%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B8%D0%BB%D0%B8%20%22%D0%9A%D0%B0%D0%BA%20%D0%BD%D0%B0%D0%BC%20%D0%BE%D0%B1%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C%20idec%3F%22/

А куда делся ake кстати? Его сайт http://gears.headake.win/idec/ui2/ тоже пропал где-то в 2022 году:

https://web.archive.org/web/20220120232845/http://gears.headake.win/idec/ui2/

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — shaos
2024-10-25 07:56:09


> если IDEC уже имеет все средства как часть стандарта, то зачем для него городить кастомные гейты?..

Без гейта ты нормально не отобразишь ничего ни на zx spectrum ни на msdos, ни на atari st. Сначала научи их utf8 :)

Хочется хоть одно реальное применение слайсов, кроме "забрать последние сообщения"

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — revoltech
2024-10-25 07:57:09


У меня в фетчере то ли по 20 то ли по 40. Вся текущая сеть выкачивается довольно быстро.

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — ahamai
2024-10-25 07:57:32


На мобильном интернете

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — revoltech
2024-10-25 08:02:24


Операция атомарна, поэтому надо чтобы в случае чего она была проведена без сбоев, а то заново придётся качать

За 10 лет не помню проблем с текущим фетчем

[>] Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — shaos
2024-10-25 08:05:38


shaos> Кстати вопрос про POST в /u/m периодически поднимался, например вот тут ii://w6o5S9CleUqqm4Lgc8O9 (декабрь 2021) что так ни к чему и не привело - вот полное обсуждение

И там AL написал, что POST /u/m не решает ни одной проблемы. Как же не решает, если решает? Вот вам проблема: куча лишних соединений и метаданных, т.к. владельцы станций ограничивают длину GET-запросов, либо сознательно, либо оставляя дефолт на веб-сервере. С POST запрос будет всегда одним в идеале.

С тем же успехом можно на Gemini/Spartan перелезть полностью — там длина запроса 2048 символами ограничивается, если не ошибаюсь. В Nex и такого ограничения нет.

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — shaos
2024-10-25 08:06:15


Там у него была историческая эха ii.14 которой похоже больше нигде нету :(

https://web.archive.org/web/20211023211000/http://gears.headake.win/idec/ui2/channel/ii.14/

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — ahamai
2024-10-25 08:09:41


> Сначала научи их utf8 :)

А я уже - ещё в декабре 2021 :)

https://www.youtube.com/live/p20rd0bqZTs

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — revoltech
2024-10-25 08:15:21


Кросспостинг был изначально, но я от него сразу отказался, он создаёт больше проблем, чем решает. Он тут не нужен

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — revoltech
2024-10-25 08:22:26


Один запрос на тысячи сообщений. И если что то не докачается, качай всё заново. Поэтому секциями и качается.

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — revoltech
2024-10-25 08:24:40


7 пункт используется в elp. Жалею что не включил сразу.

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — shaos
2024-10-25 08:25:50


Она же есть в аликорновских архивах вроде?

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — revoltech
2024-10-25 08:29:53


> С тем же успехом можно на Gemini/Spartan перелезть полностью — там длина запроса 2048 символами ограничивается, если не ошибаюсь. В Nex и такого ограничения нет.

По хттп можно качать хоть с дискеты и вообще отовсюду, он есть везде.

Сегментирование запросов было введено специально. И я не вижу проблемы, я щас всю rulinux14 скачал за несколько секунд.

[>] Re: Полуневдимые эхи
idec.talks
shaos(spnet, 2) — ahamai
2024-10-25 08:38:22


неа

[>] Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — ahamai
2024-10-25 08:46:39


ahamai> По хттп можно качать хоть с дискеты и вообще отовсюду, он есть везде.

А для некса с гофером вообще ничего, кроме нетката/телнета (голого TCP), не нужно.

ahamai> Сегментирование запросов было введено специально.

Чтобы создать новым поинтам затруднения с первым выкачиванием эх (а-ля блокчейн монеро)?

ahamai> И я не вижу проблемы, я щас всю rulinux14 скачал за несколько секунд.

Сколько сообщений можно выкачать за один запрос у тебя на станции?

[>] А что с эхой lor.opennet?
idec.talks
ahamai(blackcat, 2) — All
2024-10-25 08:36:41


Сабж. Тяну с shaos, не обновлялась с 16 октября.

[>] Re: А что с эхой lor.opennet?
idec.talks
shaos(spnet, 2) — ahamai
2024-10-25 09:15:11


Я с таверны её беру

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — shaos
2024-10-25 09:11:47


Надо найти хоть кого то у кого есть архивы

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — ahamai
2024-10-25 09:12:38


Я кликнул difrex a на лоре но он не ответил

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — revoltech
2024-10-25 09:20:33


Идея в том, что есть и библиотеки, и средсва в системе, и можно с плмощью wget, cat и такой то матери в три строчки собрать простейший клиент.

Лимит на get у меня вроде тоже 8 кб

[>] Re: А что с эхой lor.opennet?
idec.talks
ahamai(blackcat, 2) — shaos
2024-10-25 09:25:54


У меня станция spline сейчас вообще не открывается

[>] Re: А что с эхой lor.opennet?
idec.talks
ahamai(blackcat, 2) — shaos
2024-10-25 09:30:58


Открысля. Да, эхи с ботами не обновляются.

[>] Re: А что с эхой lor.opennet?
idec.talks
shaos(spnet, 2) — ahamai
2024-10-25 09:36:40


Чото тормозит она страшно последнее время - чем дальше, тем страшнее...

[>] Re: А что с эхой lor.opennet?
idec.talks
ahamai(blackcat, 2) — ahamai
2024-10-25 09:43:06


Узнал об эхе test. Нифига вы там беседы беседуете, может конвертнуть избранное в talks для истории?

[>] Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — ahamai
2024-10-25 10:03:40


ahamai> Идея в том, что есть и библиотеки, и средсва в системе, и можно с плмощью wget, cat и такой то матери в три строчки собрать простейший клиент.

Намёк был на то, что есть транспорты ещё проще, чем HTTP. Например, Nex/NPS можно вообще описать парой коротких предложений:

1. Скачивание (Nex): отправляем путь и LF на TCP-порт 1900, забираем данные.
2. Постинг (NPS): отправляем путь и LF, опционально строку авторизации и LF, сами данные, LF, точку (.) и LF на TCP-порт 1915, забираем ответ.

Всё, это оба протокола. Дальше в Nex расписано, что рекомендуется делать на клиенте, если путь заканчивается на /, но к ii это уже можно не применять. Вместо LF можно использовать CRLF, как минимум существующие сервера это понимают.

Суть именно в простоте, даже на оф.сайте указано сверху, как через nc выгрести Nex-ресурс:

echo nps/info/form.txt | nc nightfall.city 1900 | less

С гофером, кстати, точно так же, только порт по умолчанию 70. Но нет, давайте городить огород с ненужными для ii HTTP-хедерами, лимитами на гет-запросы и контент-тайпами.

Если что, не осуждаю существующие подходы, просто не понимаю, почему бы опционально не сделать ещё проще.

ahamai> Лимит на get у меня вроде тоже 8 кб

Это типа «640 кб хватит всем»? :D Ну ладно, поставил тоже 389 на запрос. Как-нибудь попробую перефетч. А у остальных как? У пинга понятно, нжинкс и 12 сообщений на запрос максимум. А у spline-online и tgistation что?

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 10:26:47


revoltech> И там AL написал, что POST /u/m не решает ни одной проблемы. Как же не решает, если решает? Вот вам проблема: куча лишних соединений и метаданных

Каких метаданных и почему куча соединений? Если ты работаешь последовательно - то это несколько подряд идущих get запросов, а не куча параллельных соединений. Если же ты хочешь скорости, то да - потоки. Но это вообще говоря две независимые вещи. Например, запуск отдельных фетчеров на каждый узел. И да, многопоточность не связана с наличием свободных процессоров. Там нагрузки практически нет, вопрос не в утилизации мощности вычислительной, а в "съедании" времени ожидания TCP.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 10:28:25


revoltech> У пинга понятно, нжинкс и 12 сообщений на запрос максимум.

У меня нет веб сервера. Насчёт 12 сообщений, интересный вопрос. Это проверено? Я посмотрю, может быть это можно настроить в go библиотеке.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — hugeping
2024-10-25 10:44:07


revoltech>> У пинга понятно, нжинкс и 12 сообщений на запрос максимум.

hugeping> У меня нет веб сервера. Насчёт 12 сообщений, интересный вопрос. Это проверено? Я посмотрю, может быть это можно настроить в go библиотеке.

В общем, откуда инфа про 12? Запрос ввёл сейчас раза в два больше - не вижу ограничений. Или это опять, поэтическое преувеличение?

[>] Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — hugeping
2024-10-25 10:46:39


hugeping> У меня нет веб сервера. Насчёт 12 сообщений, интересный вопрос. Это проверено? Я посмотрю, может быть это можно настроить в go библиотеке.

А, значит, с tgi перепутал. Пардон. Изначально тестил на обоих.

[>] Re: Полуневдимые эхи
idec.talks
revoltech(spnet, 4) — hugeping
2024-10-25 10:54:56


hugeping> Каких метаданных и почему куча соединений?

Даже если отбросить всю низкоуровневую тряхомудию с установкой TLS-соединения и проверкой сертификатов при HTTPS, каждый HTTP-запрос — это статусы, заголовки Accept, Content-Type, Content-Encoding и т.д. Тут, как ни крути, оверхед будет существенным при большом количестве мелких запросов. Поэтому тело запроса укрупнять смысл имеет в любом случае.

P.S. Да, ещё раз пардон, перепроверил — то у tgi только 12 сообщений за раз можно выгрести. У остальных 389, у тебя вообще лимит 10000 вроде хавает без проблем. Правда, spline-online не тестил, он и так еле живой сейчас.

[>] Re: Полуневдимые эхи
idec.talks
hugeping(ping,1) — revoltech
2024-10-25 11:10:28


revoltech> P.S. Да, ещё раз пардон, перепроверил — то у tgi только 12 сообщений за раз можно выгрести. У остальных 389, у тебя вообще лимит 10000 вроде хавает без проблем. Правда, spline-online не тестил, он и так еле живой сейчас.

Кстати, это соответствует "рекомендованному" буферу в 8к. Как раз ~380 id-шников. 12 сообщений это, конечно, маловато даже по меркам "обычного" веба.

[>] Re: Полуневдимые эхи
idec.talks
ahamai(blackcat, 2) — revoltech
2024-10-25 11:18:26


Это понятно, но меня http полностью устраивает по ресурсоёмкости, распространённости везде и для всего, веб-фреймворков для него.

Ну и есть всякие плюшки типа минимальной гарантии доставки (content-len, или если что-то пошло не так, брякнулись с ошибкой и клиент понял что ошибка). Плюс опциональное gzip сжатие, существующее с лохматых годов. Правда, сейчас py3 фетчер не поддерживает gzip сжатие, py2 и ii-txt на py2 поддерживают. Сейчас глянул, у меня на сервере не включён gzip для text/plain, включил.

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

Pages: 1 ... 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ... 53