[01:22:12] <ada_ru> (I_vlxy_I) дык интернет часто по дну проложен. пусть находит кабель и присасывается к нему
[08:31:35] <nordwind> днонет
[08:35:29] <ada_ru> (d_krasilnikov) заголовки в новостях: "датацентр пробил дно"
[09:25:15] <ada_ru> (Oleg) :-)
[09:34:30] <ada_ru> (d_krasilnikov) коллеги, есть просьба… мне тут показалось полезным иметь в арсенале утилиту, которая бы в терминал выдавала qr-код на поданную строку. однако ни один (!) из имеющихся вариантов (qrcode-terminal на nodeJs, ещё какой-то на python) не умеет кодировать русский (и вообще какой-либо иной) текст, они все ограничились самым базовым вариантом кодирования (алфавитно-цифровым, не допускающим многоязычности). и, насколько я понял, даже библиотека ada-bar-code не реализовала байтовый режим кодирования (не говоря уже о выводе в терминал). может быть опытные программисты доработают?..
[18:13:19] <ada_ru> (I_vlxy_I) Адский QR!
[18:13:20] <ada_ru> (I_vlxy_I) Нужна компиляция в wasm
[18:13:22] <ada_ru> (I_vlxy_I) отвечает (Лекс) на <И как мне потом reac…>
А какая разница?
[18:13:26] <ada_ru> (Лекс) отвечает (I_vlxy_I) на <А какая разница?>
сравните как из тайпскрипта всё просто и как это делается при конпеляции в джс...
[18:13:30] <ada_ru> (Лекс) отвечает (I_vlxy_I) на <Ok. Компиляцию в js>
И как мне потом react или vue юзать? Через жопу как в purescript, не спасибо
[18:14:04] <ada_ru> (Лекс) отвечает (I_vlxy_I) на <А главное - дорога в…>
И это круто. Но AdaScript всё равно нужен, это ведь две параллели
[18:14:52] <ada_ru> (Gourytch) всегда можно взять сырцы и вызвать функцию из консольного js-приложения, не? ;)
[18:14:53] <ada_ru> (Gourytch) картинка это просто как пруф, что генератор на utf8 работает
[18:44:18] <ada_ru> (I_vlxy_I) В любом случае придётся делать биндинги из js в него.
[18:44:24] <ada_ru> (I_vlxy_I) И обратно
[18:44:47] <ada_ru> (I_vlxy_I) Система типов то принципиально разная. Понятие модульности тоже
[19:03:41] <ada_ru> (t91x0) отвечает (Лекс) на <Я не говорил что у м…>
TypeScript вообще-то очень хорош.
[19:14:45] <ada_ru> (Лекс) отвечает (t91x0) на <TypeScript вообще-то…>
Лично мне не заходит, я и говорю за себя
[19:29:28] <ada_ru> (Eugene) отвечает (Лекс) на <Я не говорил что у м…>
ЗгкуЫскшзе тогда юзай, или Elm
[19:30:51] <ada_ru> (Лекс) Мне вот интересно, почему в этом чате с незнакомыми людьми все на ты?
Уже подбешивает, если честно
[19:31:25] <ada_ru> (Максим) Чтож вас так всё бесит?
[19:32:06] <ada_ru> (AnatoliyChepiga) отвечает (Лекс) на <Мне вот интересно, п…>
Многие тут давно знакомы
[19:32:23] <ada_ru> (I_vlxy_I) отвечает (Лекс) на <Мне вот интересно, п…>
Дык с ФИДО привычка осталась :-)
[19:32:42] <ada_ru> (I_vlxy_I) Ну и корпоративная культура во многих компаниях такая. В крупных.
[19:33:25] <ada_ru> (Лекс) отвечает (Максим) на <Чтож вас так всё бес…>
Однако хорошее замечание
[19:54:43] <ada_ru> (Gourytch) отвечает (Максим) на <Чтож вас так всё бес…>
это конец рабочей недели. стресс, всё такое.
[20:12:03] <ada_ru> (Максим) А может виноваты языки программирования ;)
[20:13:07] <ada_ru> (t91x0) Работать меньше надо
[20:16:05] <ada_ru> (I_vlxy_I) отвечает (Максим) на <А может виноваты язы…>
И методы трансляции!
[20:30:10] <ada_ru> (I_vlxy_I) Хех. Никто не знает как на Аде идеалистично работать с 1000...100000 клиентами одновременно :-(
[20:31:37] <ada_ru> (zloidemon) Тебе ОС не даст открыть 100000 сокетов
[20:31:50] <ada_ru> (t91x0) отвечает (I_vlxy_I) на <Хех. Никто не знает …>
В смысле, как? Через epoll на пуле тредов
[20:31:53] <ada_ru> (t91x0) Как везде
[20:31:55] <ada_ru> (zloidemon) Надо городить типа несколько IP на одном интерфейсе
[20:32:21] <ada_ru> (zloidemon) отвечает (t91x0) на <В смысле, как? Через…>
Ну, может какой-нибудь libuv/libev взять ещё.
[20:32:34] <ada_ru> (t91x0) отвечает (zloidemon) на <Ну, может какой-нибу…>
Сразу плюсы взять
[20:32:39] <ada_ru> (I_vlxy_I) отвечает (zloidemon) на <Тебе ОС не даст откр…>
И миллион может дать
[20:32:41] <ada_ru> (zloidemon) 😃
[20:33:01] <ada_ru> (zloidemon) отвечает (I_vlxy_I) на <И миллион может дать>
Прям миллион активных на одном IP адресе?
[20:33:43] <ada_ru> (I_vlxy_I) отвечает (t91x0) на <Как везде>
Везде обычно уже корутинами фигачат. А внизу да, тредпул по числу ядер и epoll.
[20:34:07] <ada_ru> (I_vlxy_I) Я думал может для Ады что-то уже есть и не надо будет сынуля все писать.
[20:34:46] <ada_ru> (I_vlxy_I) отвечает (zloidemon) на <Прям миллион активны…>
Да. Могу нарыть статью где народ миллион соединений держал
[20:34:50] <ada_ru> (I_vlxy_I) Лет 10 назад
[20:35:07] <ada_ru> (zloidemon) У тебя всего 65535 сокетов
[20:35:14] <ada_ru> (zloidemon) Ядро больше не может сделать
[20:35:25] <ada_ru> (t91x0) отвечает (zloidemon) на <У тебя всего 65535 с…>
Там же сочетания
[20:35:35] <ada_ru> (t91x0) Два адреса и два порта
[20:37:13] <ada_ru> (I_vlxy_I) отвечает (zloidemon) на <У тебя всего 65535 с…>
Это распространённое заблуждение
[20:37:24] <ada_ru> (I_vlxy_I) отвечает (zloidemon) на <Ядро больше не может…>
Легко :-)
[20:39:01] <ada_ru> (zloidemon) Я помню точно, что решали раньше просто добавлением ip адреса ещё одного на тот же интерфейс.
[20:39:09] <ada_ru> (zloidemon) Было правда лет 10 назад
[20:55:27] <ada_ru> (zloidemon) отвечает (t91x0) на <Два адреса и два пор…>
Разобрался, на самом деле там даже больше. Вот лимит для по-умолчанию 9223372036854775807
[20:55:48] <ada_ru> (zloidemon) Еще транспорт учитывается.
[21:03:38] <ada_ru> (I_vlxy_I) именно
[21:04:01] <ada_ru> (I_vlxy_I) порты это приколюхи уровня tcp и udp. с точки зрения ip их не существует вовсе
[21:04:52] <ada_ru> (I_vlxy_I) я ж говорю - распространенное заблуждение
[22:15:23] <ada_ru> (Максим) отвечает (I_vlxy_I) на <Я думал может для Ад…>
Посмотри как в AWS сделано. Там несколько работающих потоков разгребают тучу сокетов.
[22:16:23] <ada_ru> (I_vlxy_I) и сокеты возможно персистентные, да.
но мне состояние "бизнеслогики" то как жержать для каждого клиента? yield то нету. то есть корутин.
[22:16:45] <ada_ru> (I_vlxy_I) по объекту на клиента - это такое. ручное сохранение и восстановление стейта
[22:17:02] <ada_ru> (I_vlxy_I) а хочется то комфорта и надежности, а не как 10-15 лет назад 🙂
[22:17:34] <ada_ru> (Максим) да и чтобы кто-то другой написал 😄
[22:18:09] <ada_ru> (I_vlxy_I) отвечает (Максим) на <да и чтобы кто-то др…>
ну, чтобы было не хуже чем в Го, ну или, хотя бы, не хуже чем в С++ сейчас.
Про уровень erlang'a я и мечтать не смею.
[22:20:01] <ada_ru> (I_vlxy_I) пока Ада добавляет в язык parallelizm, в другие языки добавляют concurrency, ибо это более важно сейчас.
[22:20:17] <ada_ru> (I_vlxy_I) и существенно сокращает число ошибок в коде
[22:23:34] <ada_ru> (I_vlxy_I) ибо позволяет писать асинхронный код в синхронной манере, то есть просто последовательно. при этом не блокируя остальных
[22:24:08] <ada_ru> (t91x0) Вот когда в rust засунут async-await, тогда можно будет в яве то же самое сделать
[22:24:50] <ada_ru> (zloidemon) отвечает (t91x0) на <Вот когда в rust зас…>
Я вот тоже жду, тогда будет смысл смотреть на rust
[22:25:06] <ada_ru> (I_vlxy_I) отвечает (t91x0) на <Вот когда в rust зас…>
ну, как бы в плюсы уже. co_await всякие
[22:25:52] <ada_ru> (Максим) Пишите RFC на гитхаб раз умные такие 😊
[22:28:12] <ada_ru> (I_vlxy_I) я не знаю аду достаточно, чтобы такое писать 🙂
я просто вижу, что вне авионики всякой Ада могла бы быть там же где плюсы сейчас в плане ниши - то есть это, в основном, серверсайд суровый с десятками-сотнями тысяч клиентов на одну машину.
там нужна производительность. там нужна надежность. там часто не канают сборщики мусора.
[22:28:22] <ada_ru> (I_vlxy_I) ну и туда же раст
[22:36:11] <ada_ru> (Максим) Вот Ману пытался промисы какие-то на Аде писать. Может чем-то тебе поможет. https://github.com/briot/Ada-promises
[22:39:05] <ada_ru> (I_vlxy_I) на крайняк stackfull корутины бы запилить, как в boost 🙂
Но я хз как они должны выглядить с точки зрения семантики - такие специальные таски? Или тупо по сишному? Или как-то еще?
[22:40:56] <ada_ru> (I_vlxy_I) промисы - это шаг в правильном направлении, но их категорически недостаточно (они были еще в с++11, 8 лет назад, этого недостаточно для этих задач)
[23:13:14] <ada_ru> (Oleg) отвечает (I_vlxy_I) на <порты это приколюхи …>
С тоски зрения IP и сокетов не существует
[23:13:41] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <С тоски зрения IP и …>
более того, сокетов не существует и с точки зрения tcp и udp 🙂
[23:15:24] <ada_ru> (Oleg) Ну не, у TCP всё-таки есть номера последовательности. Хотя сессию однозначно идентифицирует пара IP и портов
[23:16:34] <ada_ru> (Oleg) И да, тебе надо на какой ОС?
[23:18:26] <ada_ru> (Oleg) Есть ещё user space tcp/Ip
[23:18:30] <ada_ru> (Oleg) http://www.f-stack.org
[23:18:39] <ada_ru> (Oleg) Ох как интересно
[23:18:47] <ada_ru> (Oleg) Надо попробовать