forum.wfido.ru  

Вернуться   forum.wfido.ru > Наши (2:5023/24) локалки > HOBBIT.TEST

HOBBIT.TEST Наша локалка для тестов

Ответ
 
Опции темы Опции просмотра
  #181  
Старый 21.01.2023, 05:45
Nil A
Guest
 
Сообщений: n/a
По умолчанию Получаем ноду в зиване - квест

Nil A написал(а) к Vitaliy Aksyonov в Jan 23 02:52:44 по местному времени:

Нello, Vitaliy!

Friday January 20 2023 14:56, from Vitaliy Aksyonov -> Nil A:

VA> Квест, так квест. Хочется ж сделать все по процессу. Как в
VA> полиси прописано.

Они сами своих полисей не читают, если что.
Там написано, зайти директом с заявкой с адреса /9999.
Я зашёл, а они, сука, мне так и выдали 1:16/9999 https://nodehist.fidonet.org.ua/?address=1%3A16%2F9999

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #182  
Старый 21.01.2023, 06:52
Vitaliy Aksyonov
Guest
 
Сообщений: n/a
По умолчанию Re: Test

Vitaliy Aksyonov написал(а) к Nil A в Jan 23 19:28:08 по местному времени:


Нello Nil!

21 Jan 23 01:41, you wrote to me:


VA>> Ты перепутал с rvalues. lvalues были с самого рождения.
NA> Оговорился.

Я так и подумал. Просто поправил. ;)

VA>> Или указатели. Да и сейчас много где используется, особенно, если
VA>> объект надо отдать в несколько потоков и кто его удалит - заранее
VA>> неизвестно.
NA> Звучит как std::shared_ptr, если не известно кто и в каком потоке
NA> прибьёт. Или как в qt, есть некий parent, который держит всё
NA> остальное.

Он самый. Хоть это и не очень хороший дизайн, но иногда приходится.

VA>> Пожалуй не найдется ни одного человека в мире, включая авторов
VA>> стандарта, который может сказать, что знает плюсы на 100%.
NA> Там каждый автор в своей узкой нише хочет что-то продвинуть, и как раз
NA> нужен такой кворум, чтобы сказать, что остальные части ломаются при
NA> этом. Но чаще, они они просто говят, потому что нельзя.

Согласен на все 100%. Тут главное, чтобы команда была нужного размера. Если слишком маленькая - легко пропустить какую-то мелочь. Если слишком большая - никогда не договоришься.

NA> Кстати, FTSC ещё хуже, они говорят, низя и всё. Почему? Потому что
NA> дядя Randy Bush копирайт держит на центральный FTS-0001. А нахуй вы
NA> тогда нужны? А мы чтобы обновлять FTA-1003 регулярно.

Концепт копирайта давно устарел. Только капиталисты его так просто не отдадут.

VA>> Можно неплохо разбираться в какой-то одной-двух областях, но
VA>> полностью не знать. Он тупо оргомный.

NA> Там вопрос даже в другом, там нельзя вот так вот взять и "переписать с
NA> нуля", должно быть легаси-совместимо. Поэтому там полно костылей.
NA> Поэтому появляются всякие D языки ;-) убийцы C++.

Иногда надо выбросить легаси. Да. Это больно. Примеры есть. Тот же python 3. Никто не умер. Обратные примеры тоже есть. Netscape - отличный браузер был. Похоронили...

NA> Про всё предусмотреть, ну вот std::string, например, в c++23 добавили
NA> contains() наконец таки, в c++20 добавили startswith()/endswith(). В
NA> питонах это с версии2 ещё, с той не юникодной.

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

NA> Кстати, вот из-коробки я хочу на C++ почитать файлы, и их полочить
NA> надо, либо замапить в память, но такова нету. И даже нельзя достать
NA> int fd. Из fopen() я могу достать fileno(), а из C++ fstream никак без
NA> хака. А если я захочу почитать как корутина, например, уже в лиункс
NA> фейсбуки отдали io_uring, и даже твой любимый boost:asio так умеет. Ну
NA> окей, давайте сделаем IO thread pool (как какой-нибудь Libuv), и будет
NA> все файловые операции туда кидать, но ведь thread pool так и не
NA> завезли, только сраный std:async, который не оправдывает своего
NA> названия. Кстати, в федо, которое умерло, сегодня самый гуру линуксов
NA> - это Гремлин. Он в рулинуксе в прошлом году даже стал спорить со
NA> мной, что на epoll якобы можно повесить файловые операции асинхронно,
NA> так же как и сокеты.

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

NA> Про юникод, я хочу открыть файл, и указать кодировку, и хочу получать
NA> std::string каких-нибудь кодепоинтов, или рунов, или чего-то такова,
NA> что я обычно в python, golang,.. получаю. QString так умеет, внутри
NA> utf16, но мне пофиг на реализацию. В этом плане qt именно core, без
NA> GUI части, он мог бы закрыть многие потребности обычного с++
NA> пейсателя, то, что в libc++ сделали неудобно, или не сделали совсем.

Qt проприетарный... UTF либ и других хватает. Опять же. Кто что выбрал. В Java - UTF16 внутри использует. Плюсы же - просто байты. Ему, по большому счету по барабану, что там внутри.

VA>> memset/memcpy в плюсах вообще быть не должно. Как и new/delete.

NA> Ну я на кодревью new/delete не пропущу, но сам я пишу вон placement
NA> new в готовом буфере, некая оптимизация при принятии сетевых пакетов,
NA> например. А вот memcpy() тоже пришлось применить, ибо std::equal
NA> оказался не готов хавать std::bytes также как и unsigned char, я даже
NA> на стековерфлоу тут возмутился
NA> https://stackoverflow.com/questions/75121121

В голову приходит одно место, где без new не обойтись. Но оно наружу не торчит. Иногда надо сделать объект, который можно использовать только через std::sharedptr. Потому что он использует shared_from_this. Тогда я использую фабричный статический метод std::shared_ptr<A> Create(). При этом конструктор делается приватным. И тут либо объявлять fiend, либо делать return std::sharedptr<A>(new A). Вот в этом месте норм. Так как этот new наружу не торчит.

NA> memcpy() будет на buildin заменён компилятный, а он сука знает про ему
NA> суют, выравненно оно или нет (а то бы я сам просто
NA> reinterpretcast<uint32t>(адрес) делал бы), и он разные 256битные
NA> регистры можно использовать при копировании, если march задан не
NA> низкий.

reinterpret_cast может быть очень опасен. Кто его знает, как оно внутри объект сделает. Это из разряда - в 99.9% случаев работает, а иногда взрывается. :) Например, на какой-то хитрой архитектуре.

VA>> Когда пейсался голдед - плюсы были "C с классами". И большинство
VA>> пейсателей писали так, как привыкли на голых сях. А там особо не
VA>> развернешься.

NA> Труъ.
NA> Кстати, про стандарто-пейсателей. Я щитаю, самый большой их косяк был
NA> - это std::auto_ptr ;-) понятно что сегодня его уже депрекейтнули, но
NA> осадочек остался.

auto_ptr удивил не одного плюсовика. И принес массу "приятных" моментов. Похлеще, чем
#define TRUE random(0.5) // Удачной отладки, суки.

VA>> SFINAE - тоже прикольный пример. Например в boost::bind был
VA>> реализован просто через набор шаблонов до 20 параметров.
VA>> Еслибольше - хрен. Но это приводило к тому, что когда возникает
VA>> ошибка компиляции - вываливает тонны нечитаемого текста. Я когда
VA>> только начинал boost использовать - очень страдал от этого.
VA>> Каждая такая ошибка приводила к мучительному поиску ошибки,
VA>> которая в большинстве случаев была вообще в другом файле.
VA>> Например, попытка скопировать некопируемый класс.

NA> К сожалению, сегодняшнюю libc++ не переписали на c++20 concepts, и
NA> если там напортачить с std::optional, в котором возвращается
NA> std::uniqueptr, да ещё как-нибудь через .andthen(), то там 10
NA> экранов шаблонной магии вылезает, а могло быть всего одна строчка, что
NA> вот требование такое то не совпало. Хотя, они уже там потрудились
NA> static_assert() по максимуму понапихать, чтобы в таком виде свалилось,
NA> а не в SFINAE.

Поэтому я жду, когда мы таки доберемся до C++20 и концепты заюзаем. Хотя бы наш код будет выдавать вменяемые ошибки при компиляции.

VA>> Именно так это работает. Как книжки от "трейдеров" как
VA>> зарабатывать деньги на бирже. Если бы это реально работало, то
VA>> книги такие никто бы не печатал, тупо рубили бы бабло.

NA> Если бы экстрасенсы могли узнавать что-то через специфичный API,
NA> который они так декларируют, то они бы просто все были бы миллионерами
NA> от выигрыша в лотерею, или на фондовом рынке. :-)

Но чудес не бывает. Умные люди стригут лохов. А, как известно, лох - не мамонт, никогда не вымрет. :D

VA>> Корутины имеет смысл использовать там, где много IO. Так же, как
VA>> и асинхронное программирование. Иначе особого прироста они не
VA>> дают.

NA> Ну сокеты все. И это всё реализовано. Но часто надо ещё и фалы
NA> почитать, а вот это почитать асинхронно уже сложнее.

boost::asio отлично с этим справляется. libuv, libevent - море их.

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

NA> Ещё коруинами обзывают то, что называется генераторами на самом деле.
NA> Хотя вроде современный std::ranges::views::iota как-то без co_yield
NA> внутри вроде.

Именно. В том же питончике это просто синтаксический сахар над генераторами.

Vitaliy


... 10.0 times 0.10 is hardly ever 1.00.
--- GoldED+/LNX 1.1.5-b20220504
Ответить с цитированием
  #183  
Старый 21.01.2023, 06:52
Vitaliy Aksyonov
Guest
 
Сообщений: n/a
По умолчанию Re: Получаем ноду в зиване - квест

Vitaliy Aksyonov написал(а) к Nil A в Jan 23 19:46:26 по местному времени:


Нello Nil!

21 Jan 23 02:52, you wrote to me:

VA>> Квест, так квест. Хочется ж сделать все по процессу. Как в
VA>> полиси прописано.

NA> Они сами своих полисей не читают, если что.
NA> Там написано, зайти директом с заявкой с адреса /9999.
NA> Я зашёл, а они, сука, мне так и выдали 1:16/9999
NA> https://nodehist.fidonet.org.ua/?address=1%3A16%2F9999

https://youtu.be/pp140ciByg8 :D

В полиси написано, что по возможности надо использовать вообще /-1, если софт поддерживает. А если не поддерживает, тогда уже 9999.

Для меня это просто развлечение. Поинт есть, общаться могу. Нода не жмет. Подожду. :) Заодно софт причешу получше.

Вот это мы нафлудили в тестовую эху. :)

Ты где живешь-то? В нодлисте - Нижний Новгород. Но судя по твоим мессагам - не там.

Vitaliy


... 10.0 times 0.10 is hardly ever 1.00.
--- GoldED+/LNX 1.1.5-b20220504
Ответить с цитированием
  #184  
Старый 21.01.2023, 08:32
Nil A
Guest
 
Сообщений: n/a
По умолчанию pvt.luna.local

Nil A написал(а) к Vitaliy Aksyonov в Jan 23 07:21:24 по местному времени:

Нello, Vitaliy!

Friday January 20 2023 15:00, from Vitaliy Aksyonov -> Nil A:

VA> 100% порвано. В нее никто с 2017 года не писал.

Через 5020/715 мне там ответил 450/68, вот с такими симбаями и путём.

SEEN+BY: 450/68 5015/46 5020/400 715 1042 5034/13 5058/104
@PATН: 450/68 5020/715

Короче порвана. Я щас лонглинком выступлю между несколькими линками пожалуй.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #185  
Старый 21.01.2023, 09:01
Nil A
Guest
 
Сообщений: n/a
По умолчанию Test

Nil A написал(а) к Vitaliy Aksyonov в Jan 23 07:37:48 по местному времени:

Нello, Vitaliy!

Friday January 20 2023 19:28, from Vitaliy Aksyonov -> Nil A:

VA> В голову приходит одно место, где без new не обойтись. Но оно наружу
VA> не торчит. Иногда надо сделать объект, который можно использовать
VA> только через std::shared_ptr. Потому что он использует
VA> sharedfromthis. Тогда я использую фабричный статический метод
VA> std::shared_ptr<A> Create(). При этом конструктор делается приватным.
VA> И тут либо объявлять fiend, либо делать return std::shared_ptr<A>(new
VA> A). Вот в этом месте норм. Так как этот new наружу не торчит.

std::make_shared же, он при этои ещё и одной аллокацией внутри создаст, и управляющй блок, и сам объект
Так то если ты eturn std::sharedptr<A>(new A) делаешь, то там случается два разных new, для A, и сам std::sharedptr<A> конструктор внутри управляющий блок должен сделать.
Так что вот, как раз тут new плохо писать.

VA> reinterpret_cast может быть очень опасен.

Вот и clang-tidy так же думаем. Но, во-первых, когда либу C'ную используешь, там какой-нибудь char как буфер хотят, а у тебя unsigned char везде, или новый модный std::byte. Вот и приходится кастить. Кстати! Для этого случая как раз сделали в C++20 std::bit_cast, только в clang у меня его похоже нет.

VA> Кто его знает, как оно внутри объект сделает.

Только POD объекты можно как блок байтов рассматривать, т.е. std::istrivially_copyablev<>, а более сложные объекты уже нельзя.

VA> Это из разряда - в 99.9% случаев работает, а
VA> иногда взрывается. :) Например, на какой-то хитрой архитектуре.

Иногда есть void или char, и хочется закастить на uint32t какой-нибудь и сразу прочитать там двойное слово. И на x86 это даже сработает, только с невыравненного адреса будет медленее. На Арме, например, да, взорвётся если не выравнено. Вот, кстати, я завожу uint32t tmp; и делаю memcpy(&tmp, откуда, 4); А так как memcpy он buildin компилятора, то он по факту сделает сразу чтение двойнова слова если выравненно, а если нет, то побайтно скопирует, в том и сила memcpy.

VA> Похлеще, чем #define TRUE random(0.5) // Удачной отладки, суки.

Меня хаски удивил, знаешь как? Они там, #define min и max сделали. А знаешь какая у меня ошибка? Где-то внутрях std::vector или типа таво оказывается всё сломано. Какова хуя? А вот, ::max() функция переопределяется.

VA> boost::asio отлично с этим справляется. libuv, libevent - море их.

boost::asio асинхронно файлы умеет читать только на новых ядрах линукса с io_uring, и вроде на венде умеет с их API. При этом он не будет делать fallback на thread poll. А вот libuv сразу thread pool заводит. Libevent И libev только про сокеты.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #186  
Старый 21.01.2023, 09:01
Cheslav Osanadze
Guest
 
Сообщений: n/a
По умолчанию Test

Cheslav Osanadze написал(а) к Vladimir Fyodorov в Jan 23 06:48:51 по местному времени:

Привет Vladimir!

21 Янв 23 00:03, Vladimir Fyodorov -> Cheslav Osanadze:

VF>>> то бага нет. Кто-нибудь может объяснить, в чём тут порылась
VF>>> собака и как её избежать?
CO>> Я так глубоко не стал погружаться, что бы описывать твит для
CO>> разных эх, просто отрубаю твит руками, в нужных.:)

VF> Ну, во-первых, ты вряд ли много эх модерируешь, чтобы это заметить.

Не много. Но в некоторых отключаю даже не по модераторским соображениям, а по соображениям тематики эхи - там, где есть вменяемый модератор, там и затвитованные становятся приличными.:)

VF> Во-вторых, возможно, ты вообще не используешь твиты.

Нечего было бы отключать...

Другой вопрос, что это не очень то удобно, заранее то не вспомнишь, индикатора "Твит" подсвеченного нет.

Эхи, где нужно отключить, обычно и читаются отдельной группой.

Это всё - моё имхо, конечно же.
Мне показалось, что так проще, чем городить отдельные группы с твитом.


Cheslav.


... Пpодам тамагочи на седьмом месяце.
--- ...
Ответить с цитированием
  #187  
Старый 21.01.2023, 09:12
Cheslav Osanadze
Guest
 
Сообщений: n/a
По умолчанию Test

Cheslav Osanadze написал(а) к Vladimir Fyodorov в Jan 23 06:48:51 по местному времени:

Привет Vladimir!

21 Янв 23 00:03, Vladimir Fyodorov -> Cheslav Osanadze:

VF>>> то бага нет. Кто-нибудь может объяснить, в чём тут порылась
VF>>> собака и как её избежать?
CO>> Я так глубоко не стал погружаться, что бы описывать твит для
CO>> разных эх, просто отрубаю твит руками, в нужных.:)

VF> Ну, во-первых, ты вряд ли много эх модерируешь, чтобы это заметить.

Не много. Но в некоторых отключаю даже не по модераторским соображениям, а по соображениям тематики эхи - там, где есть вменяемый модератор, там и затвитованные становятся приличными.:)

VF> Во-вторых, возможно, ты вообще не используешь твиты.

Нечего было бы отключать...

Другой вопрос, что это не очень то удобно, заранее то не вспомнишь, индикатора "Твит" подсвеченного нет.

Эхи, где нужно отключить, обычно и читаются отдельной группой.

Это всё - моё имхо, конечно же.
Мне показалось, что так проще, чем городить отдельные группы с твитом.


Cheslav.


... Пpодам тамагочи на седьмом месяце.
--- ...
Ответить с цитированием
  #188  
Старый 21.01.2023, 09:12
Nil A
Guest
 
Сообщений: n/a
По умолчанию Получаем ноду в зиване - квест

Nil A написал(а) к Vitaliy Aksyonov в Jan 23 08:00:16 по местному времени:

Нello, Vitaliy!

Friday January 20 2023 19:46, from Vitaliy Aksyonov -> Nil A:

VA> Ты где живешь-то? В нодлисте - Нижний Новгород. Но судя по твоим
VA> мессагам - не там.

Да, всё со своего старого AKA пишу, а так если считать ноду по нахождению жопы сисопа, то 1:16/101.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #189  
Старый 21.01.2023, 09:22
Vladimir Fyodorov
Guest
 
Сообщений: n/a
По умолчанию Получаем ноду в зиване - квест

Vladimir Fyodorov написал(а) к Nil A в Jan 23 07:35:22 по местному времени:

Разнообразно приветствую!

NA> Они сами своих полисей не читают, если что. Там написано, зайти
NA> директом с заявкой с адреса /9999. Я зашёл, а они, сука, мне так и
NA> выдали 1:16/9999
NA> https://nodehist.fidonet.org.ua/?address=1%3A16%2F9999

Забавно. Можно в анналы записать :)

--
Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр.
... Пропала несущая? Заплатите налоги!
--- Нotdoged/2.13.5/Android
Ответить с цитированием
  #190  
Старый 21.01.2023, 09:22
Vladimir Fyodorov
Guest
 
Сообщений: n/a
По умолчанию Re: Получаем ноду в зиване - квест

Vladimir Fyodorov написал(а) к Vitaliy Aksyonov в Jan 23 08:09:06 по местному времени:

Разнообразно приветствую!

VA> В полиси написано, что по возможности надо использовать вообще
VA> /-1, если софт поддерживает. А если не поддерживает, тогда уже
VA> 9999.

А недавно Вард удалил из нодлиста "технические" /999 и /9999. -1 в нодлисте не было.

VA> Для меня это просто развлечение. Поинт есть, общаться могу. Нода
VA> не жмет. Подожду. :) Заодно софт причешу получше.

Для всех давно уже это damned hobby. Прикольно, что в Америке старпёры больше прутся от BBS и дверных игр.

VA> Вот это мы нафлудили в тестовую эху. :)

Переходим в RU.FIDONET.TODAY ? Наверное, все подписаны, и это всяко там более топично, нежели очередные споры windows vs linux, домашний телефон vs сотовый, binkd vs t-mail :)


--
Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр.
... Пропала несущая? Заплатите налоги!
--- Нotdoged/2.13.5/Android
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

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

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


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


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