From: Vitaliy Aksyonov 2:5023/24.4107 21 Jan 2023 08:10 +0200
To: Vladimir Fyodorov 2:6035/3.2
Subject: pvt.luna.local
Hello Vladimir! 21 Jan 23 08:31, you wrote to Nil A: VA>>> 100% порвано. В нее никто с 2017 года не писал. NA>> Через 5020/715 мне там ответил 450/68, вот с такими симбаями и NA>> путём. Короче порвана. Я щас лонглинком выступлю между NA>> несколькими линками пожалуй. VF> Сорри, потерял нить беседы. Вы про какую эху? Это моя бывшая локалка. Так как ноду поднимаю, локалку хочется оживить. Vitaliy ... 10.0 times 0.10 is hardly ever 1.00.
From: Nil A 2:5015/46 21 Jan 2023 07:59 +0200
To: Vitaliy Aksyonov 2:5023/24.4107
Subject: Test
Hello, Vitaliy! Friday January 20 2023 22:24, from Vitaliy Aksyonov -> Nil A: VA> Главное - не полагаться, что layout этих объектов будет всегда VA> одинаковый. А то есть грамотеи, которые таким образом делают VA> сериализацию. В C++26 может быть интроспекцию добавят, или reflect она ещё может называется. Тогда compile time всякие сериализаторы можно будет фигачить, а главное, никаких дополнительных макросов не надо вставлять в структуру. Кстати, я знаешь от чего сильно пропёрся в Go? Ты объявляешь структурку, и там пишешь имена полей json, xml,... и всё, говоришь, расмаршеруй мне из буфера XML в мою структурку. Только в Go это всё случается в рантайме, там библиотека reflect, которая заглядывает внутрь типа, и может по полям все эти данные вычитывать. VA> Хе. А little/big endian как? ;) if constexpr (std::endian::native == std::endian::big) то из c++23его вызвать std::byteswap(). Вот реально, я тут зафигачил little/big endian БЕЗ ЕДИНОВА МАКРОСА, всё на модных if constexpr ;-) Best Regards, Nil
From: Vladimir Fyodorov 2:6035/3.2 21 Jan 2023 08:58 +0200
To: Vitaliy Aksyonov 2:5023/24.4107
Subject: Твиты в голдеде
Разнообразно приветствую! VA>> И режим твита не переключается, когда я новые сообщения добавляю. VA>> Может нужны еще какие-то условия? Попробуй сделать минимальный VA>> конфиг. который воспроизводит проблему. VA> Может в ru.golded переберемся с этой темой? С удовольствием. Я там уже давно описывал проблему, но разработчикам на этот редко встречающийся баг похрен. Сейчас отфорваржу, вдруг в этот раз повезёт :) -- Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр. ... Пропала несущая? Заплатите налоги!
From: Vladimir Fyodorov 2:6035/3.2 21 Jan 2023 08:52 +0200
To: Vitaliy Aksyonov 2:5023/24.4107
Subject: Получаем ноду в зиване - квест
Разнообразно приветствую! VA>>> Вот это мы нафлудили в тестовую эху. :) VF>> Переходим в RU.FIDONET.TODAY ? Наверное, все подписаны, и это VF>> всяко там более топично, нежели очередные споры windows vs linux, VF>> домашний телефон vs сотовый, binkd vs t-mail :) VA> Я непротив. На нее я подписан. Ответил в тудее :) -- Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр. ... Пропала несущая? Заплатите налоги!
From: Nil A 2:5015/46 21 Jan 2023 07:58 +0200
To: Vladimir Fyodorov 2:6035/3.2
Subject: pvt.luna.local
Hello, Vladimir! Saturday January 21 2023 08:31, from Vladimir Fyodorov -> Nil A: VA>>> 100% порвано. В нее никто с 2017 года не писал. NA>> Через 5020/715 мне там ответил 450/68, вот с такими симбаями и NA>> путём. Короче порвана. Я щас лонглинком выступлю между NA>> несколькими линками пожалуй. VF> Сорри, потерял нить беседы. Вы про какую эху? На сабж глянь. Best Regards, Nil
From: Vladimir Fyodorov 2:6035/3.2 21 Jan 2023 08:46 +0200
To: Vitaliy Aksyonov 2:5023/24.4107
Subject: Test
Разнообразно приветствую! VA> Использую версию из мастера. Не получается воспроизвести. Делаю VA> так: AREAFILE Fidoconfig VA> /home/boomer/devel/ftn/golded-plus/bin/fidoconfig twitto yes VA> twitmode skip twitname John Doe group moderated VA> member test VA> member testt VA> twitmode show VA> endgroup fidoconfig: EchoArea test VA> /home/boomer/devel/ftn/golded-plus/bin/bases/test -b jam -g N VA> EchoArea testt /home/boomer/devel/ftn/golded-plus/bin/bases/testt VA> -b squish -g N И режим твита не переключается, когда я новые VA> сообщения добавляю. Может нужны еще какие-то условия? Попробуй VA> сделать минимальный конфиг. который воспроизводит проблему. Нужно в эхе, которая описана в GROUP, написать письмо. После его сохранения в этой эхе станет работать глобальное правило, а не правило для GROUP. С минимальным конфигом я уже игрался, и выяснил, что баг зависит только от описания эхи: при описании её в голдедовском конфиге проблемы нет, при ссылке на конфиг husky проблема есть. -- Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр. ... Пропала несущая? Заплатите налоги!
From: Vitaliy Aksyonov 2:5023/24.4107 21 Jan 2023 07:37 +0200
To: Vladimir Fyodorov 2:5023/24.4107
Subject: Твиты в голдеде
Hello Vladimir! VA> И режим твита не переключается, когда я новые сообщения добавляю. VA> Может нужны еще какие-то условия? Попробуй сделать минимальный конфиг. VA> который воспроизводит проблему. Может в ru.golded переберемся с этой темой? Vitaliy ... 10.0 times 0.10 is hardly ever 1.00.
From: Vitaliy Aksyonov 2:5023/24.4107 21 Jan 2023 07:32 +0200
To: Nil A 2:5015/46
Subject: Получаем ноду в зиване - квест
Hello Nil! 21 Jan 23 08:00, you wrote to me: VA>> Ты где живешь-то? В нодлисте - Нижний Новгород. Но судя по твоим VA>> мессагам - не там. NA> Да, всё со своего старого AKA пишу, а так если считать ноду по NA> нахождению жопы сисопа, то 1:16/101. Неблизкий свет. Мне приходилось в Калифорнию на машине с планером в прицепе ехать. Вот это было путешествие. Причем два раза. Один раз на соревнования. Второй - забирали планер из ремонта. Vitaliy ... 10.0 times 0.10 is hardly ever 1.00.
From: Vitaliy Aksyonov 2:5023/24.4107 21 Jan 2023 07:24 +0200
To: Nil A 2:5015/46
Subject: Test
Hello Nil! 21 Jan 23 07:37, you wrote to me: VA>> В голову приходит одно место, где без new не обойтись. Но оно VA>> наружу не торчит. Иногда надо сделать объект, который можно VA>> использовать только через std::shared_ptr. Потому что он VA>> использует shared_from_this. Тогда я использую фабричный VA>> статический метод VA>> std::shared_ptr Create(). При этом конструктор делается VA>> приватным. И тут либо объявлять fiend, либо делать return VA>> std::shared_ptr(new A). Вот в этом месте норм. Так как этот VA>> new наружу не торчит. NA> std::make_shared же, он при этои ещё и одной аллокацией внутри NA> создаст, и управляющй блок, и сам объект Так то если ты eturn NA> std::shared_ptr(new A) делаешь, то там случается два разных new, NA> для A, и сам std::shared_ptr конструктор внутри управляющий блок NA> должен сделать. Так что вот, как раз тут new плохо писать. std::make_shared нужен публичный конструктор. А по условиям задачи он приватный. :) Так-то я везде использую make_shared, make_unique, make_optional и иже с ними. VA>> reinterpret_cast может быть очень опасен. NA> Вот и clang-tidy так же думаем. Но, во-первых, когда либу C'ную NA> используешь, там какой-нибудь char* как буфер хотят, а у тебя unsigned NA> char* везде, или новый модный std::byte. Вот и приходится кастить. NA> Кстати! Для этого случая как раз сделали в C++20 std::bit_cast, только NA> в clang у меня его похоже нет. С сишными либами выхода особо нет. Тогда локализировать и подсказки clang-tidy оставлять. Мол, я сознательно эту хрень творю. VA>> Кто его знает, как оно внутри объект сделает. NA> Только POD объекты можно как блок байтов рассматривать, т.е. NA> std::is_trivially_copyable_v<>, а более сложные объекты уже нельзя. Главное - не полагаться, что layout этих объектов будет всегда одинаковый. А то есть грамотеи, которые таким образом делают сериализацию. VA>> Это из разряда - в 99.9% случаев работает, а VA>> иногда взрывается. :) Например, на какой-то хитрой архитектуре. NA> Иногда есть void* или char*, и хочется закастить на uint32_t NA> какой-нибудь и сразу прочитать там двойное слово. И на x86 это даже NA> сработает, только с невыравненного адреса будет медленее. На Арме, NA> например, да, взорвётся если не выравнено. Вот, кстати, я завожу NA> uint32_t tmp; и делаю memcpy(&tmp, откуда, 4); А так как memcpy он NA> buildin компилятора, то он по факту сделает сразу чтение двойнова NA> слова если выравненно, а если нет, то побайтно скопирует, в том и сила NA> memcpy. Хе. А little/big endian как? ;) VA>> Похлеще, чем #define TRUE random(0.5) // Удачной отладки, суки. NA> Меня хаски удивил, знаешь как? Они там, #define min и max сделали. А NA> знаешь какая у меня ошибка? Где-то внутрях std::vector или типа таво NA> оказывается всё сломано. Какова хуя? А вот, ::max() функция NA> переопределяется. В M$ компиляторе была такая же хрень. Ручки бы поотрывать. Ломает кучу кода. VA>> boost::asio отлично с этим справляется. libuv, libevent - море VA>> их. NA> boost::asio асинхронно файлы умеет читать только на новых ядрах NA> линукса с io_uring, и вроде на венде умеет с их API. При этом он не NA> будет делать fallback на thread poll. А вот libuv сразу thread pool NA> заводит. Libevent И libev только про сокеты. Опять же - выбираем инструмент по задаче. Если существующие не подходят - пишем свой велосипед. И не факт, что свой велосипед для конкретной задачи будет хуже. Vitaliy ... 10.0 times 0.10 is hardly ever 1.00.
From: Vitaliy Aksyonov 2:5023/24.4107 21 Jan 2023 07:34 +0200
To: Vladimir Fyodorov 2:6035/3.2
Subject: Получаем ноду в зиване - квест
Hello Vladimir! 21 Jan 23 08:09, you wrote to me: VA>> В полиси написано, что по возможности надо использовать вообще VA>> /-1, если софт поддерживает. А если не поддерживает, тогда уже VA>> 9999. VF> А недавно Вард удалил из нодлиста "технические" /999 и /9999. -1 в VF> нодлисте не было. Они там все малохольные (с) VA>> Для меня это просто развлечение. Поинт есть, общаться могу. Нода VA>> не жмет. Подожду. :) Заодно софт причешу получше. VF> Для всех давно уже это damned hobby. Прикольно, что в Америке старпёры VF> больше прутся от BBS и дверных игр. Именно. А хобби часто не имеет практического смысла. И это нормально. VA>> Вот это мы нафлудили в тестовую эху. :) VF> Переходим в RU.FIDONET.TODAY ? Наверное, все подписаны, и это всяко VF> там более топично, нежели очередные споры windows vs linux, домашний VF> телефон vs сотовый, binkd vs t-mail :) Я непротив. На нее я подписан. Vitaliy ... 10.0 times 0.10 is hardly ever 1.00.