forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.FTN.DEVELOP

Ответ
 
Опции темы Опции просмотра
  #11  
Старый 13.02.2024, 09:01
Dmitry Protasoff
Guest
 
Сообщений: n/a
По умолчанию QWK

Dmitry Protasoff написал(а) к Nil A в Feb 24 04:41:46 по местному времени:

Нello, Nil!

Tuesday February 13 2024 07:21, you wrote to me:

DP>> Для отработки технологий.

NA> Zone7 вон что-то тестируют. Робот там отвечает на письма даже.

Я с Вардом обсуждал - там был не вопрос зоны, а неговности и неумения в PR.

NA> На формат msgid есть стандарт fts-0009. Так же есть требование, чтобы
NA> он не повторился в течении 3х лет. Причем, не сказано, чтобы в одной
NA> эхе не повторился, а именно от станции.

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

NA> Смотрим в стандарт и пишем в соответствии. Кто делает msgid от time(),
NA> то создаёт дупы, когда роботы в одну секунду постят несколько
NA> сообщений. В хаски сделано хранение серийника в файле, который
NA> лочится. Решение удовлетворяет требованиям.

У нас в Фидо замечено, что одна и та же нода выдает одинаковые msgid. И что с этим делать?

DP>> Вот тебе левонет - делай там что хочешь.

NA> Типа пиши скрипты, прозванивай всех с любой частотой, и никто не
NA> зааноится? ;-)

Как договоритесь ;)

NA> Он намучился с покупкой и прошивкой Floppy to USB конвертера. Там

А что там мучаться то? У меня работает много лет подряд.

NA> разные прошивки внутри, для разных машин, станков, где ещё флопики
NA> были.

Значит ему не повезло :)

Best regards,
dp.

--- GoldED+/LNX 1.1.5-b20230304
Ответить с цитированием
  #12  
Старый 13.02.2024, 09:31
Nil A
Guest
 
Сообщений: n/a
По умолчанию MSGID

Nil A написал(а) к Dmitry Protasoff в Feb 24 08:08:36 по местному времени:

Нello, Dmitry!

Tuesday February 13 2024 04:41, from Dmitry Protasoff -> Nil A:

NA>> Zone7 вон что-то тестируют. Робот там отвечает на письма даже.
DP> Я с Вардом обсуждал - там был не вопрос зоны, а неговности и неумения
DP> в PR.

Z7C вменяемого тогда не было?

NA>> На формат msgid есть стандарт fts-0009. Так же есть требование,
NA>> чтобы он не повторился в течении 3х лет. Причем, не сказано,
NA>> чтобы в одной эхе не повторился, а именно от станции.
DP> Однако он повторяется, причем часто в тот же день. А чтобы что-то
DP> добавлять - так это уже не по стандарту.

Обожди, в стандарте под серийник выделили 8 hex чисел.
Щас математику включу, значит это 8 * 4 = 32 битное число. В беззнаковое 32битное целое число может вместиться до 2^32 = 4,294,967,295 значений.
В сутках у нас 606024=86400 секунд. Итого, 4294967296 / 86400 = 49710 msg/sec надо постить чтобы uint32 overflow.
Нуууу... чё могу сказать. Офигенный у вас там левонет, если вы такими объёмами шарашите.

NA>> Смотрим в стандарт и пишем в соответствии. Кто делает msgid от
NA>> time(), то создаёт дупы, когда роботы в одну секунду постят
NA>> несколько сообщений. В хаски сделано хранение серийника в файле,
NA>> который лочится. Решение удовлетворяет требованиям.
DP> У нас в Фидо замечено, что одна и та же нода выдает одинаковые msgid.
DP> И что с этим делать?

Написал же в пред.письме - иметь дуполовку, которая в ключ строит по нескольким полям сообщения from+to+subj+msgid.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #13  
Старый 13.02.2024, 09:41
Dmitry Protasoff
Guest
 
Сообщений: n/a
По умолчанию MSGID

Dmitry Protasoff написал(а) к Nil A в Feb 24 05:25:19 по местному времени:

Нello, Nil!

Tuesday February 13 2024 08:08, you wrote to me:

DP>> Я с Вардом обсуждал - там был не вопрос зоны, а неговности и
DP>> неумения в PR.

NA> Z7C вменяемого тогда не было?

Он запутался в своих женщинах, мне из-за него полгода году не давали :(

DP>> Однако он повторяется, причем часто в тот же день. А чтобы что-то
DP>> добавлять - так это уже не по стандарту.

NA> Обожди, в стандарте под серийник выделили 8 hex чисел.

http://wiki.synchro.net/faq:misc#ftn_msgid

Если надо подробнее - я готов!
Просто ты из Z1, т.е. с инглишем дружишь.



Best regards,
dp.

--- GoldED+/LNX 1.1.5-b20230304
Ответить с цитированием
  #14  
Старый 13.02.2024, 10:52
Nil A
Guest
 
Сообщений: n/a
По умолчанию MSGID

Nil A написал(а) к Dmitry Protasoff в Feb 24 09:27:24 по местному времени:

Нello, Dmitry!

Tuesday February 13 2024 05:25, from Dmitry Protasoff -> Nil A:

NA>> Обожди, в стандарте под серийник выделили 8 hex чисел.
DP> http://wiki.synchro.net/faq:misc#ftn_msgid

Я читал ту страничку. Вообще мне пофиг на Синхро(фазатрон) ББС как таковую, но его вики ваще классная. Например, он собрал в одну табличку разницу разных версий pkt - https://wiki.synchro.net/ref:fidonet_packets

> 3 years is not long enough.

Ну ладно, читай как минимум 3 года. Когда эха активна, то за 3 года столько сообщений навалит, что захочется пуржить. Хотя, если взять Пушкенку за пример, типа зачем читать сообщения старше 3х лет, но ведь может потребоваться найти, какой там дизайн сам Пушкен предлагал тогда по какому-то вопросу.
Если писать аккуратно, то uint32 должно хватить дольше, чем 3 года.

> A pseudo-randomly chosen 32-bit number is obviously not a good choice

Ну да, это не GUID, короче, может совпасть когда-то.
На самом деле, мы часто msgid в паре с echotag оперируем, а не просто msgid отправленное станцией. Пример тому предложенная схема area://r50.sysop?msgid=2:6001/9+48960e52

> A 32-bit time_t

Многие так делают, когда пишут своих роботов, которые постят чаще раза в секунду. Замечают дупы быстро, задумываются о переделке.

> A system to exclusively register monotonically-incrementing message
> serial numbers

Так Хаски делает. Проблема, что сисоп удалит файлик seq? Ну, сисоп много как может накосячить если что.

> It's obviously still a problem if 2 different systems generate the same
> message-ID serialno value

Ну как это? Если msgid также включает и origaddr. Если уникальность только по цифирке serialno делать, то... нужно атомарно как-то во всём фидонете получать уникальный номер, но это не возможно. Оно так и не задумывалось.

Короче, в итоге он стал пихать больше в origaddr, ибо стандарт его в этом не ограничивает. Ну окей, флаг в руки.
Ну только ведь как ты в эхе найдёшь From адрес обычно? Правильно, по Origin. А если там всё квочено-переквочено? Правильно, по последнему. Но очень часто пишут алгоритм, чтобы искать From именно в MSGID.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #15  
Старый 13.02.2024, 11:02
Nil A
Guest
 
Сообщений: n/a
По умолчанию MSGID

Nil A написал(а) к Dmitry Protasoff в Feb 24 09:52:12 по местному времени:

Нello, Dmitry!

Tuesday February 13 2024 05:25, from Dmitry Protasoff -> Nil A:

DP> http://wiki.synchro.net/faq:misc#ftn_msgid
DP> Если надо подробнее - я готов!

А вот кстати, когда я писал rss2pkt, то сначала честно делал msgid уникальные. Потом оператор узла как-то не так что-то запустил, или как-то что-то на rss-фиде переехало, и стали дублироваться сообщения, но с разными msgid.
И тогда я заменил создание msgid на какой-то хешь от самой публикуемой статьи. Коллизии? Наверняка случаться когда-нибудь. Зато дуполовки ловили косяки, когда что-то шло не так с запуском гейтования этого. Пересекаются эти цифры с номером генерируемом другим софтом на той станции? Да и пофиг, ведь в эту данную эху постит только этот робот.

Мне сложно представить юзкейс, чтобы надо было по уникальному msgid искать по всем эхам вообще. Обычно это area+msgid всё же.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #16  
Старый 13.02.2024, 11:02
Dmitry Protasoff
Guest
 
Сообщений: n/a
По умолчанию MSGID

Dmitry Protasoff написал(а) к Nil A в Feb 24 06:54:46 по местному времени:

Нello, Nil!

Tuesday February 13 2024 09:27, you wrote to me:

NA> Я читал ту страничку. Вообще мне пофиг на Синхро(фазатрон) ББС как
NA> таковую, но его вики ваще классная. Например, он собрал в одну
NA> табличку разницу разных версий pkt -
NA> https://wiki.synchro.net/ref:fidonet_packets

Ну я вообще как "типа" DBA должен беспокоиться о уникальности данных.
И что мне с этим делать?

>> 3 years is not long enough.

NA> Ну ладно, читай как минимум 3 года. Когда эха активна, то за 3 года
NA> столько сообщений навалит, что захочется пуржить. Хотя, если взять
NA> Пушкенку за пример, типа зачем читать сообщения старше 3х лет, но ведь
NA> может потребоваться найти, какой там дизайн сам Пушкен предлагал тогда
NA> по какому-то вопросу. Если писать аккуратно, то uint32 должно хватить
NA> дольше, чем 3 года.

А что конкретно делать то? Тот, кто пишет код.. Вообщем, я считаю, что нужно поменять.

>> A 32-bit time_t

Да.

NA> Многие так делают, когда пишут своих роботов, которые постят чаще раза
NA> в секунду. Замечают дупы быстро, задумываются о переделке.

>> A system to exclusively register monotonically-incrementing message
>> serial numbers

NA> Так Хаски делает. Проблема, что сисоп удалит файлик seq? Ну, сисоп
NA> много как может накосячить если что.

Дык.

NA> Короче, в итоге он стал пихать больше в origaddr, ибо стандарт его в
NA> этом не ограничивает. Ну окей, флаг в руки. Ну только ведь как ты в
NA> эхе найдёшь From адрес обычно? Правильно, по Origin. А если там всё
NA> квочено-переквочено? Правильно, по последнему. Но очень часто пишут
NA> алгоритм, чтобы искать From именно в MSGID.

Ну нет же :( Наверное надо рисовать графические схемы..

Best regards,
dp.

--- GoldED+/LNX 1.1.5-b20230304
Ответить с цитированием
  #17  
Старый 13.02.2024, 11:02
Alexey Fayans
Guest
 
Сообщений: n/a
По умолчанию MSGID

Alexey Fayans написал(а) к Nil A в Feb 24 09:55:26 по местному времени:

Нello Nil!

On Tue, 13 Feb 2024 08:08 +0300, in a message to Dmitry Protasoff, you wrote:

NA> Обожди, в стандарте под серийник выделили 8 hex чисел.
NA> Щас математику включу, значит это 8 * 4 = 32 битное число. В
NA> беззнаковое 32битное целое число может вместиться до 2^32 =
NA> 4,294,967,295 значений. В сутках у нас 606024=86400 секунд. Итого,
NA> 4294967296 / 86400 = 49710 msg/sec надо постить чтобы uint32 overflow.
NA> Нуууу... чё могу сказать. Офигенный у вас там левонет, если вы такими
NA> объёмами шарашите.

У тебя тут уникальность в рамках суток, а по стандарту нужно в рамках трёх лет.

В стандартном DOS datetime под год выделено 7 бит, можно уменьшить до двух, тогда под секунды будет 10 бит вместо 5, что даст точность до десятой доли секунды, и уникальность будет гарантирована как раз в рамках трёх лет.


... Music Station BBS | https://bbs.bsrealm.net | telnet://bbs.bsrealm.net
--- GoldED+/W32-MSVC 1.1.5-b20230826
Ответить с цитированием
  #18  
Старый 13.02.2024, 15:12
Egor Glukhov
Guest
 
Сообщений: n/a
По умолчанию MSGID

Egor Glukhov написал(а) к Nil A в Feb 24 13:59:52 по местному времени:

Nil,

13 Feb 24 08:08, you wrote to Dmitry Protasoff:

DP>> Однако он повторяется, причем часто в тот же день. А чтобы что-то
DP>> добавлять - так это уже не по стандарту.
NA> Обожди, в стандарте под серийник выделили 8 hex чисел.

Кстати, в каком? В FTS-0009 "The serial number may be any eight character hexadecimal number" - ключевое слово "may". Есть ещё FRL-1029, но FRL - это ж типа deprecated.

Егор Глухов
--- GoldED+/LNX 1.1.5-b20230304
Ответить с цитированием
  #19  
Старый 13.02.2024, 17:51
Alexey Fayans
Guest
 
Сообщений: n/a
По умолчанию MSGID

Alexey Fayans написал(а) к Nil A в Feb 24 16:32:41 по местному времени:

Нello Nil!

On Tue, 13 Feb 2024 09:55 +0300, in a message to you, I wrote:

AF> В стандартном DOS datetime под год выделено 7 бит, можно уменьшить до
AF> двух, тогда под секунды будет 10 бит вместо 5, что даст точность до
AF> десятой доли секунды, и уникальность будет гарантирована как раз в
AF> рамках трёх лет.

Теперь skMНL так и делает. Даже чуть лучше. Уникальность в течение 4 лет, точность 1/14 секунды.

https://bit.ly/3SY5U6Н


... Music Station BBS | https://bbs.bsrealm.net | telnet://bbs.bsrealm.net
--- GoldED+/W32-MSVC 1.1.5-b20230826
Ответить с цитированием
  #20  
Старый 13.02.2024, 19:01
Nil A
Guest
 
Сообщений: n/a
По умолчанию MSGID

Nil A написал(а) к Egor Glukhov в Feb 24 17:53:42 по местному времени:

Нello, Egor!

Tuesday February 13 2024 13:59, from Egor Glukhov -> Nil A:

DP>>> Однако он повторяется, причем часто в тот же день. А чтобы
DP>>> что-то добавлять - так это уже не по стандарту.
NA>> Обожди, в стандарте под серийник выделили 8 hex чисел.

EG> Кстати, в каком? В FTS-0009 "The serial number may be any eight
EG> character hexadecimal number" - ключевое слово "may".

Я тут однозначно читаю, что
Serial поле - 8 символов
Может содержать любое НEX число. Вот тебе и слово may.

EG> Есть ещё FRL-1029, но FRL - это ж типа deprecated.

О свежак, от 2014года за авторством Michiel van der Vlist. Видел его в голдед эхе недавно.
Чёт он ничего нового не предложил, только что серийник нужно хранить в файле и защищать локом, а если что-то пойдёт не так, то переинициализировать заного (чем?), но лучше передать управление сисопу, чтобы он решал ;)
Ещё он вроде предлагает после серийника ставить пробел и 3ье поле ещё пихать что-то, ведь парсеры туда уже не смотрят.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 00:37. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot