Я люблю связку Binkd + Husky + GoldEd. Ещё я люблю визуализировать, что, если бы сегодня я клонировал репозиторий и внёс изменения.
Binkd ===== * Переделать на libuv, и пусть оно заботится о всех платформах (кроме ДОСа и ОС2), и пусть оно заботиться об всей этой асинхронщины с сокетами, а ещё и пул-воркеров создаст для файловых операций, ну чтобы писать бандлы на диск. На плюсах это было бы boost::asio (c io_ring под линксом и Windows IO completion). * Ещё надо бы сделать чтение нодлиста из-коробки, чтобы IBN все эти парсил, без заходов в DNS, и перлохуков. * Ещё можно сделать ограничения по времени работы станции по флагам. Хотя это прям никому не нужно для IP, но почему бы не следовать букве стандарту. * Перлохуки на питонхуки, следуя трендам.
Husky ===== * Починить CMake файлы, чтобы их можно было нормально импортировать как FetchContent_Declare, или даже как CPMAddPackage. У нас есть ненулевое количество активных проектов кому нужен SMAPI, который ещё и huskylib тащит, например, smapinntpd. Кстати, если вы сегодня делаете из каждой husky библиотеки отдельный .so/.dll файл, то я делаю, во-первых, unity build, во-вторых, пофиг на отдельные библиотеки, я их LTO (link time optimization) склеиваю, или инлайню, как уж угодно. * Починить X3 раза памяти при тоссинге. У меня нодовая машина с 512МБ без свопа полегла при парсинге lorapvt.bigfiles. Надо чуть-чуть zero-copy применять-таки. * Часть популярных перлохуков можно влить в Сишный код, и вообще, можно треккер чуть улучшить, чтобы как RNtrack выглядел по правилам. * Питонхуки взаместа перлохуков
GoldEd ====== *Отработка ресайза терминала, как в этих вебах, responsive web design, чтобы на SIGWINCH сигнал перересовывал под новую геометрию. Под виндой >win7 такое тоже есть. Или вообще вкорячить ncurses и под виндовз тоже и выкинуть ifdef все. * Юникод. Тут либо на iconv всё перевести, все char будут utf8 содержать, плюс подсчёт символов надо для отрисовки. Или всё перевести на стринги из какого-нибудь c++ icu.
Best Regards, Nil --- GoldED+/LNX 1.1.5 * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)